omverse-ui

Menu

ComponentsExamplesGitHub

Getting started

IntroductionInstallationThemingDesign tokensDark mode

Form

ButtonInputSelectCheckboxRadioSwitchSlidernewDatePickernew

Display

AvatarBadgeCardChipAccordionProgressDivider

Navigation

NavbarBreadcrumbTabsPaginationStepper

Overlay

DialogTooltipToast

Other

IconIconButtonSpinner
ComponentsData DisplayAccordion

Accordion

10 variants · single + multiple · badge · icon · subtitle · image

DefaultBorderedFilledCardFlushSeparatedGradientPlus / minusNumberedImageMultiple open

Default

Live preview

Clean accordion with underline dividers — single open mode

A design system is a collection of reusable components guided by clear standards that can be assembled to build any number of applications.
App.tsx
tsx
1import { Accordion, AccordionItem } from 'omverse-ui'
2 
3<Accordion defaultValue="item-1">
4 <AccordionItem value="item-1" title="What is a design system?">
5 A design system is a collection of reusable components guided by clear
6 standards that can be assembled to build any number of applications.
7 </AccordionItem>
8 <AccordionItem value="item-2" title="How do I install the package?">
9 Run npm install @yourscope/design-system in your project directory.
10 </AccordionItem>
11 <AccordionItem value="item-3" title="Can I customize the colors?">
12 Yes! All colors are defined as CSS variables in your index.css using the @theme block.
13 </AccordionItem>
14 <AccordionItem value="item-4" title="Is TypeScript supported?">
15 Fully supported. Every component exports its props type for complete type safety.
16 </AccordionItem>
17</Accordion>

Bordered

Live preview

Full outer border with dividers between items — great for settings panels

Manage your account details, email preferences, and connected applications.
App.tsx
tsx
1<Accordion variant="bordered" defaultValue="b-1">
2 <AccordionItem value="b-1" title="Account settings">
3 Manage your account details, email preferences, and connected applications.
4 </AccordionItem>
5 <AccordionItem value="b-2" title="Privacy & security">
6 Control your privacy settings and manage two-factor authentication.
7 </AccordionItem>
8 <AccordionItem value="b-3" title="Notifications">
9 Configure how and when you receive email and push notifications.
10 </AccordionItem>
11</Accordion>

Filled

Live preview

Secondary tonal background fills the accordion container

We offer the most comprehensive design system with TypeScript, dark mode, and accessibility built in.
App.tsx
tsx
1<Accordion variant="filled" defaultValue="f-1">
2 <AccordionItem value="f-1" title="Why choose our platform?">
3 We offer the most comprehensive design system with TypeScript,
4 dark mode, and accessibility built in.
5 </AccordionItem>
6 <AccordionItem value="f-2" title="What's included in Pro?">
7 Unlimited projects, priority support, advanced analytics, and custom domains.
8 </AccordionItem>
9 <AccordionItem value="f-3" title="Is there a free trial?">
10 Yes! Start with our free plan — no credit card required.
11 </AccordionItem>
12</Accordion>

Card — with icon + badge

Live preview

Card variant supports icon, iconBg, badge, badgeColor, and subtitle on each item

Configure your workspace name, timezone, and default language settings.
App.tsx
tsx
1<Accordion variant="card" defaultValue="c-1">
2 <AccordionItem
3 value="c-1"
4 title="General settings"
5 subtitle="Manage your workspace"
6 icon="settings"
7 iconBg="bg-secondary-container"
8 >
9 Configure your workspace name, timezone, and default language settings.
10 </AccordionItem>
11 <AccordionItem
12 value="c-2"
13 title="Team members"
14 subtitle="5 members · 2 pending"
15 icon="info"
16 iconBg="bg-primary-container"
17 badge="2 pending"
18 badgeColor="default"
19 >
20 Manage team access and permissions for your workspace.
21 </AccordionItem>
22 <AccordionItem
23 value="c-3"
24 title="Security"
25 subtitle="2FA not enabled"
26 icon="alert-circle"
27 iconBg="bg-error-container"
28 badge="Action needed"
29 badgeColor="error"
30 >
31 Enable two-factor authentication to secure your account.
32 </AccordionItem>
33</Accordion>

Flush — multiple open

Live preview

No outer border, dividers only — mode=multiple allows any combination to be open

App.tsx
tsx
1<Accordion variant="flush" mode="multiple">
2 <AccordionItem value="fl-1" title="What is included?">
3 All components, dark mode, TypeScript types, and full documentation.
4 </AccordionItem>
5 <AccordionItem value="fl-2" title="How does licensing work?">
6 Single license covers unlimited projects for one developer.
7 </AccordionItem>
8 <AccordionItem value="fl-3" title="Can I use in commercial projects?">
9 Yes, the license covers commercial use without any restrictions.
10 </AccordionItem>
11</Accordion>

Separated

Live preview

Each item is an individual card separated by a gap

Install the package and follow the setup guide to get started quickly.
App.tsx
tsx
1<Accordion variant="separated" defaultValue="s-1">
2 <AccordionItem value="s-1" title="Getting started">
3 Install the package and follow the setup guide to get started quickly.
4 </AccordionItem>
5 <AccordionItem value="s-2" title="Configuration options">
6 Customize tokens, themes, and component defaults via your config file.
7 </AccordionItem>
8 <AccordionItem value="s-3" title="Advanced usage">
9 Learn about composition patterns, compound components, and more.
10 </AccordionItem>
11</Accordion>

Gradient header

Live preview

Brand gradient header on the open trigger — ideal for marketing pages

Unlimited projects
Priority support 24/7
Advanced analytics
Custom domains
Team collaboration
App.tsx
tsx
1<Accordion variant="gradient" defaultValue="g-1">
2 <AccordionItem value="g-1" title="Pro features" subtitle="Everything you need to scale">
3 {/* feature list */}
4 </AccordionItem>
5 <AccordionItem value="g-2" title="Team collaboration" subtitle="Work together seamlessly">
6 {/* feature list */}
7 </AccordionItem>
8 <AccordionItem value="g-3" title="Enterprise plan" subtitle="Custom pricing and SLAs">
9 {/* feature list */}
10 </AccordionItem>
11</Accordion>

Plus / minus — FAQ style

Live preview

iconStyle=plus replaces the chevron with a + / − toggle inside a rounded box

Yes! Our free plan includes 3 projects and all basic components.
App.tsx
tsx
1<Accordion variant="plus" iconStyle="plus" defaultValue="p-1">
2 <AccordionItem value="p-1" title="Is there a free plan?">
3 Yes! Our free plan includes 3 projects and all basic components.
4 </AccordionItem>
5 <AccordionItem value="p-2" title="Do you offer refunds?">
6 We offer a 30-day money-back guarantee, no questions asked.
7 </AccordionItem>
8 <AccordionItem value="p-3" title="How do I cancel my subscription?">
9 You can cancel anytime from your account settings page.
10 </AccordionItem>
11 <AccordionItem value="p-4" title="Can I upgrade or downgrade?">
12 Yes, plan changes take effect immediately and are prorated.
13 </AccordionItem>
14</Accordion>

Numbered — onboarding steps

Live preview

step prop shows a numbered circle before the title

Sign up with your email or continue with Google or GitHub.
App.tsx
tsx
1<Accordion variant="numbered" defaultValue="n-1">
2 <AccordionItem value="n-1" title="Create your account" step={1}>
3 Sign up with your email or continue with Google or GitHub.
4 </AccordionItem>
5 <AccordionItem value="n-2" title="Set up your workspace" step={2}>
6 Name your workspace and configure basic settings.
7 </AccordionItem>
8 <AccordionItem value="n-3" title="Invite your team" step={3}>
9 Add teammates by email and assign their roles and permissions.
10 </AccordionItem>
11 <AccordionItem value="n-4" title="Build your first project" step={4}>
12 Create a new project and start using your design system components.
13 </AccordionItem>
14</Accordion>

Image / media

Live preview

image prop shows an emoji in a gradient side panel — subtitle provides context

A complete design system with 30+ components, dark mode support, and full TypeScript definitions.

ReactTypeScriptTailwindDark mode
App.tsx
tsx
1<Accordion variant="image" defaultValue="i-1">
2 <AccordionItem
3 value="i-1"
4 title="Design system"
5 subtitle="30 components · TypeScript"
6 image="🎨"
7 >
8 A complete design system with 30+ components, dark mode support,
9 and full TypeScript definitions.
10 </AccordionItem>
11 <AccordionItem
12 value="i-2"
13 title="Starter templates"
14 subtitle="12 templates · Next.js"
15 image="🚀"
16 >
17 Production-ready templates for dashboards, landing pages, and SaaS applications.
18 </AccordionItem>
19 <AccordionItem
20 value="i-3"
21 title="Component library"
22 subtitle="50+ components · React"
23 image="⚛️"
24 >
25 Every component is accessible, typed, and follows your design tokens automatically.
26 </AccordionItem>
27</Accordion>

Multiple open at once

Live preview

mode=multiple lets any number of items be open simultaneously

This item starts open. Multiple items can be open simultaneously.
This item also starts open. All three can be open at the same time.
App.tsx
tsx
1<Accordion variant="bordered" mode="multiple" defaultValue={['m-1', 'm-3']}>
2 <AccordionItem value="m-1" title="First item — open by default">
3 This item starts open. Multiple items can be open simultaneously.
4 </AccordionItem>
5 <AccordionItem value="m-2" title="Second item — click to open">
6 Click to expand without closing other items.
7 </AccordionItem>
8 <AccordionItem value="m-3" title="Third item — also open">
9 This item also starts open. All three can be open at the same time.
10 </AccordionItem>
11</Accordion>

Accordion props

Props

PropTypeDefaultDescription
defaultValuestring | string[]Initially open item(s) — string for single, array for multiple
valuestring | string[]Controlled open item(s)
onValueChange(value: string | string[]) => voidCallback fired when open items change
mode'single' | 'multiple''single'Allow one or multiple items open at a time
variant'default' | 'bordered' | 'filled' | 'card' | 'flush' | 'separated' | 'gradient' | 'plus' | 'numbered' | 'image''default'Visual style of the accordion
iconStyle'chevron' | 'plus' | 'arrow' | 'none''chevron'Style of the expand/collapse icon
childrenReactNodeAccordionItem components

AccordionItem props

Props

PropTypeDefaultDescription
valuestringUnique identifier for this item
titlestringHeader text shown in the trigger button
subtitlestringSubtitle shown below the title
iconIconNameLeading icon name in the trigger
iconBgstringTailwind class for the icon container background
badgestringBadge label shown in the trigger
badgeColor'default' | 'error' | 'success' | 'warning''default'Color of the badge chip
stepnumberStep number badge before the title (numbered variant)
imagestringEmoji shown in a side panel (image variant)
imageAltstringAccessible alt text for the image/emoji
disabledbooleanfalsePrevents the item from being opened
childrenReactNodeContent shown when the item is open