Accordion
Sections that open under their headings, one at a time or several.
Seats, invoices and receipts, billed monthly.
Invite people, remove them, and assign their roles.
Mint a key per service, scope it, and revoke it.
forSlots(AccordionSlots)(Recipes.Accordion({}))
Usage
The function that drew the preview, over the theme module Create a theme writes. The preview passes it the style picked above instead of its default.
export const AccordionStyle = forSlots(AccordionSlots)(Recipes.Accordion({}))
export const accordion = <Message>(
style: NamedStyle<typeof AccordionSlots>,
open: ReadonlyArray<string>,
onToggle: (id: string) => Message,
h: HtmlBuilder<Message>,
): Html =>
Accordion.view(
{
id: 'faq',
items: [
{
id: 'billing',
title: 'Billing',
content: 'Seats, invoices and receipts, billed monthly.',
},
{
id: 'team',
title: 'Team',
content: 'Invite people, remove them, and assign their roles.',
},
{
id: 'keys',
title: 'API keys',
content: 'Mint a key per service, scope it, and revoke it.',
},
],
open,
onToggle,
style,
},
h,
)