Recipes
Each recipe is a complete component built on the hooks and derivations, styled with nothing but class names you supply. Copy the one closest to what you need into your codebase and restyle it.
Customer portal
One page, one hook per resource, each section loading and retrying on its own. Section handles the pending and failed states once, so each card only renders data:
useTranslator resolves a payment method’s label key to the provider’s strings or translate, falling back to the English copy, so the label follows the same overrides as the drop-ins.
What each drop-in reads
Each drop-in is the fullest version of a section like the ones above. Its page documents every prop, and the hooks and derivations pages document the data underneath.
The Components page in the Schematic dashboard has reference code for each drop-in in shadcn/ui, Tailwind, and plain CSS.
Credit wallet
Each credit with what is left, its grants, and the people spending it. Buy more opens Checkout on its credits step, so render it under a CheckoutLauncherProvider:
purchasable is true only when a bundle of the credit is on offer to the company’s plan, so the button shows where there is something to buy.
Cancel at period end
A cancel button with a confirmation that says when access ends and what the customer stops paying for:
Once the cancellation lands, useCompany reloads with a cancellation date, canUnsubscribe turns false, and the button disappears.
Pricing page
The same component serves a public page and a signed-in one. Signed out, useCatalog reads the public catalog with the publishable key and every card’s action is null; signed in, it reads the company’s view and each card’s action says what the company can do with it. Selection state lives in your component, and the derivation returns what the catalog offers:
Render from table.period and table.currency rather than your own state: when the catalog does not offer what you asked for, the derivation falls back and says which it chose. checkoutSelectionFor builds the cart for a card, with its plan, period, and currency. On a public page, onSelect sends the visitor to sign up. Signed in, mount CheckoutLauncherProvider above it and open Checkout from onSelect:
Implement with AI
The Components page in the dashboard has a prompt for each drop-in. The shape of each: