Primitive / Moleculestable

Accordion

Expandable content sections with smooth disclosure behavior.

@glinui/uiComponent: accordion

Installation$

Package Manager$

pnpm add @glinui/ui @glinui/tokens

Registry$

pnpm dlx @glinui/cli@latest add accordion

Usage$

TSX
1import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "@glinui/ui"
2
3export 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"
2
3export 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"
2
3export 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$

PropTypeRequiredDefaultDescription
variant"default" | "glass" | "frosted" | "outline" | "ghost" | "separated"No"default"Auto-generated from TypeScript source.

AccordionItem$

PropTypeRequiredDefaultDescription
size"sm" | "md" | "lg"No"md"Variant option from accordionItemVariants.
variant"default" | "glass" | "frosted" | "outline" | "ghost" | "separated"No"default"Variant option from accordionItemVariants.

AccordionTrigger$

PropTypeRequiredDefaultDescription
size"sm" | "md" | "lg"No"md"Variant option from accordionTriggerVariants.
variant"default" | "glass" | "frosted" | "outline" | "ghost" | "separated"No"default"Variant option from accordionTriggerVariants.

AccordionContent$

PropTypeRequiredDefaultDescription
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

Auto-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

PropTypeRequiredDefaultDescription
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

PropTypeRequiredDefaultDescription
size"sm" | "md" | "lg"No"md"Variant option from accordionItemVariants.
variant"default" | "glass" | "frosted" | "outline" | "ghost" | "separated"No"default"Variant option from accordionItemVariants.

AccordionProps

PropTypeRequiredDefaultDescription
variant"default" | "glass" | "frosted" | "outline" | "ghost" | "separated"No"default"-

AccordionTriggerProps

PropTypeRequiredDefaultDescription
size"sm" | "md" | "lg"No"md"Variant option from accordionTriggerVariants.
variant"default" | "glass" | "frosted" | "outline" | "ghost" | "separated"No"default"Variant option from accordionTriggerVariants.