Primitive / Moleculestable
Accordion
Expandable content sections with smooth disclosure behavior.
@glinui/uiComponent: accordion
Installation$
Package Manager$
pnpm add @glinui/ui @glinui/tokensRegistry$
pnpm dlx @glinui/cli@latest add accordionUsage$
TSX
1import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@glinui/ui"23export function AccordionBasicDemo() {4return (5 <Accordion type="single" collapsible>6 <AccordionItem value="item-1">7 <AccordionTrigger>What is Glin UI?</AccordionTrigger>8 <AccordionContent>A liquid-glass component library for React.</AccordionContent>9 </AccordionItem>10 </Accordion>11)12}
Examples$
Glass Variant$
TSX
1import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@glinui/ui"23export function AccordionGlassDemo() {4return (5 <Accordion type="single" collapsible>6 <AccordionItem value="one" variant="glass">7 <AccordionTrigger variant="glass">Setup</AccordionTrigger>8 <AccordionContent variant="glass">Install the package and import primitives.</AccordionContent>9 </AccordionItem>10 <AccordionItem value="two" variant="glass">11 <AccordionTrigger variant="glass">Theming</AccordionTrigger>12 <AccordionContent variant="glass">Use token variables for all surfaces.</AccordionContent>13 </AccordionItem>14 </Accordion>15)16}
Frosted Variant$
Heavier frost with stronger blur and an inner glow. Toggle backgrounds above to compare.
TSX
1import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@glinui/ui"23export function AccordionFrostedDemo() {4return (5 <Accordion type="single" collapsible>6 <AccordionItem value="one" variant="frosted">7 <AccordionTrigger variant="frosted">Installation</AccordionTrigger>8 <AccordionContent variant="frosted">Run pnpm add @glinui/ui @glinui/tokens to get started.</AccordionContent>9 </AccordionItem>10 <AccordionItem value="two" variant="frosted">11 <AccordionTrigger variant="frosted">Configuration</AccordionTrigger>12 <AccordionContent variant="frosted">Import the CSS tokens in your root layout file.</AccordionContent>13 </AccordionItem>14 <AccordionItem value="three" variant="frosted">15 <AccordionTrigger variant="frosted">Usage</AccordionTrigger>16 <AccordionContent variant="frosted">Import components and apply variant props.</AccordionContent>17 </AccordionItem>18 </Accordion>19)20}
Accessibility$
- Built on Radix Accordion with keyboard and ARIA semantics.
- Use concise trigger labels.
Reduced Motion$
Content transitions are reduced under prefers-reduced-motion.
API Reference$
Accordion$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Auto-generated from TypeScript source. |
AccordionItem$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from accordionItemVariants. |
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Variant option from accordionItemVariants. |
AccordionTrigger$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from accordionTriggerVariants. |
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Variant option from accordionTriggerVariants. |
AccordionContent$
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
contentSize | "sm" | "md" | "lg" | No | - | Padding size matching the trigger |
size | "sm" | "md" | "lg" | No | "md" | Variant option from accordionContentVariants. |
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Variant option from accordionContentVariants. |
Source$
TSX
1import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@glinui/ui"
Generated API Snapshot
Beta
Generated API Snapshot
BetaAuto-extracted from TypeScript source in packages/ui/src/components/accordion.tsx. This section is in beta and may lag behind hand-curated docs. Regenerate with pnpm --filter @glinui/docs api:generate.
Generated: 2026-02-19T17:59:28.468Z · Full index: /docs/api-metadata
Primary Props Type
AccordionProps
AccordionContentProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
contentSize | "sm" | "md" | "lg" | No | - | Padding size matching the trigger |
size | "sm" | "md" | "lg" | No | "md" | Variant option from accordionContentVariants. |
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Variant option from accordionContentVariants. |
AccordionItemProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from accordionItemVariants. |
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Variant option from accordionItemVariants. |
AccordionProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | - |
AccordionTriggerProps
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
size | "sm" | "md" | "lg" | No | "md" | Variant option from accordionTriggerVariants. |
variant | "default" | "glass" | "frosted" | "outline" | "ghost" | "separated" | No | "default" | Variant option from accordionTriggerVariants. |