diff --git a/apps/ui/public/r/accordion-multi-level.json b/apps/ui/public/r/accordion-multi-level.json
new file mode 100644
index 000000000..aa69491b9
--- /dev/null
+++ b/apps/ui/public/r/accordion-multi-level.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "accordion-multi-level",
+ "type": "registry:example",
+ "description": "Accordion with multiple levels",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json",
+ "https://coss.com/ui/r/collapsible.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-multi-level.tsx",
+ "content": "import { ChevronDownIcon } from \"lucide-react\"\n\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/registry/default/ui/accordion\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/registry/default/ui/collapsible\"\n\nconst items = [\n {\n id: \"1\",\n title: \"What makes coss.com ui different?\",\n collapsibles: [\n {\n title: \"What about performance?\",\n content:\n \"We optimize every component for maximum performance and minimal bundle size.\",\n },\n {\n title: \"How is the documentation?\",\n content:\n \"Our documentation is comprehensive and includes live examples for every component.\",\n },\n ],\n },\n {\n id: \"2\",\n title: \"How can I customize the components?\",\n collapsibles: [\n {\n title: \"Can I use custom themes?\",\n content:\n \"Yes, our theming system is fully customizable and supports both light and dark modes.\",\n },\n {\n title: \"What about Tailwind support?\",\n content:\n \"We have first-class support for Tailwind CSS with custom utility classes.\",\n },\n ],\n },\n {\n id: \"3\",\n title: \"Is coss.com ui optimized for performance?\",\n collapsibles: [\n {\n title: \"What's the bundle size impact?\",\n content:\n \"Our components are tree-shakeable and typically add minimal overhead to your bundle.\",\n open: true,\n },\n {\n title: \"How is code splitting handled?\",\n content:\n \"We support automatic code splitting for optimal loading performance.\",\n },\n ],\n },\n {\n id: \"4\",\n title: \"How accessible are the components?\",\n collapsibles: [\n {\n title: \"Which screen readers are supported?\",\n content:\n \"We test with NVDA, VoiceOver, and JAWS to ensure broad compatibility.\",\n },\n {\n title: \"What about keyboard navigation?\",\n content:\n \"Full keyboard navigation support is implemented following WAI-ARIA best practices.\",\n },\n ],\n },\n]\n\nexport default function Component() {\n return (\n
\n
Multi-level
\n
\n {items.map((item) => (\n \n \n {item.title}\n \n \n {item.collapsibles.map((collapsible, index) => (\n \n ))}\n \n \n ))}\n \n
\n )\n}\n\nfunction CollapsibleDemo({\n title,\n content,\n open,\n}: {\n title: string\n content: string\n open?: boolean\n}) {\n return (\n \n svg]:rotate-180\">\n \n {title}\n \n \n {content}\n \n \n )\n}\n",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+}
\ No newline at end of file
diff --git a/apps/ui/public/r/accordion-table.json b/apps/ui/public/r/accordion-table.json
new file mode 100644
index 000000000..c635e8309
--- /dev/null
+++ b/apps/ui/public/r/accordion-table.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "accordion-table",
+ "type": "registry:example",
+ "description": "Accordion with table like layout",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-table.tsx",
+ "content": "import {\n Accordion,\n AccordionItem,\n AccordionPanel,\n AccordionTrigger,\n} from \"@/registry/default/ui/accordion\"\n\nexport default function AccordionTableDemo() {\n return (\n \n \n \n What is Base UI?\n \n \n Base UI is a library of high-quality unstyled React components for\n design systems and web apps.\n \n \n \n \n How do I get started?\n \n \n Head to the \"Quick start\" guide in the docs. If you've used unstyled\n libraries before, you'll feel at home.\n \n \n \n \n Can I use it for my project?\n \n \n Of course! Base UI is free and open source.\n \n \n \n )\n}\n",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+}
\ No newline at end of file
diff --git a/apps/ui/public/r/accordion-tabs.json b/apps/ui/public/r/accordion-tabs.json
new file mode 100644
index 000000000..80c336f56
--- /dev/null
+++ b/apps/ui/public/r/accordion-tabs.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "accordion-tabs",
+ "type": "registry:example",
+ "description": "Accordion with tabs like layout",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-tabs.tsx",
+ "content": "import {\n Accordion,\n AccordionItem,\n AccordionPanel,\n AccordionTrigger,\n} from \"@/registry/default/ui/accordion\"\n\nexport default function AccordionTabsDemo() {\n return (\n \n \n \n What is Base UI?\n \n \n Base UI is a library of high-quality unstyled React components for\n design systems and web apps.\n \n \n \n \n How do I get started?\n \n \n Head to the \"Quick start\" guide in the docs. If you've used unstyled\n libraries before, you'll feel at home.\n \n \n \n \n Can I use it for my project?\n \n \n Of course! Base UI is free and open source.\n \n \n \n )\n}\n",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+}
\ No newline at end of file
diff --git a/apps/ui/public/r/accordion-with-icon.json b/apps/ui/public/r/accordion-with-icon.json
new file mode 100644
index 000000000..f84974067
--- /dev/null
+++ b/apps/ui/public/r/accordion-with-icon.json
@@ -0,0 +1,19 @@
+{
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
+ "name": "accordion-with-icon",
+ "type": "registry:example",
+ "description": "Accordion with icon",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-with-icon.tsx",
+ "content": "import { AtSignIcon, CommandIcon, EclipseIcon, ZapIcon } from \"lucide-react\"\n\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/registry/default/ui/accordion\"\n\nconst items = [\n {\n id: \"1\",\n icon: CommandIcon,\n title: \"What makes coss.com ui different?\",\n content:\n \"coss.com ui focuses on developer experience and performance. Built with TypeScript, it offers excellent type safety, follows accessibility standards, and provides comprehensive documentation with regular updates.\",\n },\n {\n id: \"2\",\n icon: EclipseIcon,\n title: \"How can I customize the components?\",\n content:\n \"Use our CSS variables for global styling, or className and style props for component-specific changes. We support CSS modules, Tailwind, and dark mode out of the box.\",\n },\n {\n id: \"3\",\n icon: ZapIcon,\n title: \"Is coss.com ui optimized for performance?\",\n content:\n \"Yes, with tree-shaking, code splitting, and minimal runtime overhead. Most components are under 5KB gzipped.\",\n },\n {\n id: \"4\",\n icon: AtSignIcon,\n title: \"How accessible are the components?\",\n content:\n \"All components follow WAI-ARIA standards, featuring proper ARIA attributes, keyboard navigation, and screen reader support. Regular testing ensures compatibility with NVDA, VoiceOver, and JAWS.\",\n },\n]\n\nexport default function Component() {\n return (\n \n {items.map((item) => (\n \n \n \n \n {item.title}\n \n \n \n {item.content}\n \n \n ))}\n \n )\n}\n",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+}
\ No newline at end of file
diff --git a/apps/ui/public/r/registry.json b/apps/ui/public/r/registry.json
index c372275d2..3928cba72 100644
--- a/apps/ui/public/r/registry.json
+++ b/apps/ui/public/r/registry.json
@@ -693,6 +693,75 @@
"accordion"
]
},
+ {
+ "name": "accordion-with-icon",
+ "description": "Accordion with icon",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-with-icon.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
+ {
+ "name": "accordion-multi-level",
+ "description": "Accordion with multiple levels",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json",
+ "https://coss.com/ui/r/collapsible.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-multi-level.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
+ {
+ "name": "accordion-table",
+ "description": "Accordion with table like layout",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-table.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
+ {
+ "name": "accordion-tabs",
+ "description": "Accordion with tabs like layout",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-tabs.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
{
"name": "accordion-single",
"description": "Accordion with one panel open",
diff --git a/apps/ui/registry.json b/apps/ui/registry.json
index c372275d2..3928cba72 100644
--- a/apps/ui/registry.json
+++ b/apps/ui/registry.json
@@ -693,6 +693,75 @@
"accordion"
]
},
+ {
+ "name": "accordion-with-icon",
+ "description": "Accordion with icon",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-with-icon.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
+ {
+ "name": "accordion-multi-level",
+ "description": "Accordion with multiple levels",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json",
+ "https://coss.com/ui/r/collapsible.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-multi-level.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
+ {
+ "name": "accordion-table",
+ "description": "Accordion with table like layout",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-table.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
+ {
+ "name": "accordion-tabs",
+ "description": "Accordion with tabs like layout",
+ "type": "registry:example",
+ "registryDependencies": [
+ "https://coss.com/ui/r/accordion.json"
+ ],
+ "files": [
+ {
+ "path": "registry/default/examples/accordion-tabs.tsx",
+ "type": "registry:example"
+ }
+ ],
+ "categories": [
+ "accordion"
+ ]
+ },
{
"name": "accordion-single",
"description": "Accordion with one panel open",
diff --git a/apps/ui/registry/__index__.tsx b/apps/ui/registry/__index__.tsx
index b8d18eee6..762e50f0e 100644
--- a/apps/ui/registry/__index__.tsx
+++ b/apps/ui/registry/__index__.tsx
@@ -834,6 +834,78 @@ export const Index: Record = {
categories: ["accordion"],
meta: undefined,
},
+ "accordion-with-icon": {
+ name: "accordion-with-icon",
+ description: "Accordion with icon",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json"],
+ files: [{
+ path: "registry/default/examples/accordion-with-icon.tsx",
+ type: "registry:example",
+ target: ""
+ }],
+ component: React.lazy(async () => {
+ const mod = await import("@/registry/default/examples/accordion-with-icon.tsx")
+ const exportName = Object.keys(mod).find(key => typeof mod[key] === 'function' || typeof mod[key] === 'object') || item.name
+ return { default: mod.default || mod[exportName] }
+ }),
+ categories: ["accordion"],
+ meta: undefined,
+ },
+ "accordion-multi-level": {
+ name: "accordion-multi-level",
+ description: "Accordion with multiple levels",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json","https://coss.com/ui/r/collapsible.json"],
+ files: [{
+ path: "registry/default/examples/accordion-multi-level.tsx",
+ type: "registry:example",
+ target: ""
+ }],
+ component: React.lazy(async () => {
+ const mod = await import("@/registry/default/examples/accordion-multi-level.tsx")
+ const exportName = Object.keys(mod).find(key => typeof mod[key] === 'function' || typeof mod[key] === 'object') || item.name
+ return { default: mod.default || mod[exportName] }
+ }),
+ categories: ["accordion"],
+ meta: undefined,
+ },
+ "accordion-table": {
+ name: "accordion-table",
+ description: "Accordion with table like layout",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json"],
+ files: [{
+ path: "registry/default/examples/accordion-table.tsx",
+ type: "registry:example",
+ target: ""
+ }],
+ component: React.lazy(async () => {
+ const mod = await import("@/registry/default/examples/accordion-table.tsx")
+ const exportName = Object.keys(mod).find(key => typeof mod[key] === 'function' || typeof mod[key] === 'object') || item.name
+ return { default: mod.default || mod[exportName] }
+ }),
+ categories: ["accordion"],
+ meta: undefined,
+ },
+ "accordion-tabs": {
+ name: "accordion-tabs",
+ description: "Accordion with tabs like layout",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json"],
+ files: [{
+ path: "registry/default/examples/accordion-tabs.tsx",
+ type: "registry:example",
+ target: ""
+ }],
+ component: React.lazy(async () => {
+ const mod = await import("@/registry/default/examples/accordion-tabs.tsx")
+ const exportName = Object.keys(mod).find(key => typeof mod[key] === 'function' || typeof mod[key] === 'object') || item.name
+ return { default: mod.default || mod[exportName] }
+ }),
+ categories: ["accordion"],
+ meta: undefined,
+ },
"accordion-single": {
name: "accordion-single",
description: "Accordion with one panel open",
diff --git a/apps/ui/registry/default/examples/accordion-multi-level.tsx b/apps/ui/registry/default/examples/accordion-multi-level.tsx
new file mode 100644
index 000000000..b1182d837
--- /dev/null
+++ b/apps/ui/registry/default/examples/accordion-multi-level.tsx
@@ -0,0 +1,138 @@
+import { ChevronDownIcon } from "lucide-react"
+
+import {
+ Accordion,
+ AccordionContent,
+ AccordionItem,
+ AccordionTrigger,
+} from "@/registry/default/ui/accordion"
+import {
+ Collapsible,
+ CollapsibleContent,
+ CollapsibleTrigger,
+} from "@/registry/default/ui/collapsible"
+
+const items = [
+ {
+ id: "1",
+ title: "What makes coss.com ui different?",
+ collapsibles: [
+ {
+ title: "What about performance?",
+ content:
+ "We optimize every component for maximum performance and minimal bundle size.",
+ },
+ {
+ title: "How is the documentation?",
+ content:
+ "Our documentation is comprehensive and includes live examples for every component.",
+ },
+ ],
+ },
+ {
+ id: "2",
+ title: "How can I customize the components?",
+ collapsibles: [
+ {
+ title: "Can I use custom themes?",
+ content:
+ "Yes, our theming system is fully customizable and supports both light and dark modes.",
+ },
+ {
+ title: "What about Tailwind support?",
+ content:
+ "We have first-class support for Tailwind CSS with custom utility classes.",
+ },
+ ],
+ },
+ {
+ id: "3",
+ title: "Is coss.com ui optimized for performance?",
+ collapsibles: [
+ {
+ title: "What's the bundle size impact?",
+ content:
+ "Our components are tree-shakeable and typically add minimal overhead to your bundle.",
+ open: true,
+ },
+ {
+ title: "How is code splitting handled?",
+ content:
+ "We support automatic code splitting for optimal loading performance.",
+ },
+ ],
+ },
+ {
+ id: "4",
+ title: "How accessible are the components?",
+ collapsibles: [
+ {
+ title: "Which screen readers are supported?",
+ content:
+ "We test with NVDA, VoiceOver, and JAWS to ensure broad compatibility.",
+ },
+ {
+ title: "What about keyboard navigation?",
+ content:
+ "Full keyboard navigation support is implemented following WAI-ARIA best practices.",
+ },
+ ],
+ },
+]
+
+export default function Component() {
+ return (
+
+
Multi-level
+
+ {items.map((item) => (
+
+
+ {item.title}
+
+
+ {item.collapsibles.map((collapsible, index) => (
+
+ ))}
+
+
+ ))}
+
+
+ )
+}
+
+function CollapsibleDemo({
+ title,
+ content,
+ open,
+}: {
+ title: string
+ content: string
+ open?: boolean
+}) {
+ return (
+
+
+
+ {title}
+
+
+ {content}
+
+
+ )
+}
diff --git a/apps/ui/registry/default/examples/accordion-table.tsx b/apps/ui/registry/default/examples/accordion-table.tsx
new file mode 100644
index 000000000..ca95ff5ea
--- /dev/null
+++ b/apps/ui/registry/default/examples/accordion-table.tsx
@@ -0,0 +1,48 @@
+import {
+ Accordion,
+ AccordionItem,
+ AccordionPanel,
+ AccordionTrigger,
+} from "@/registry/default/ui/accordion"
+
+export default function AccordionTableDemo() {
+ return (
+
+
+
+ What is Base UI?
+
+
+ Base UI is a library of high-quality unstyled React components for
+ design systems and web apps.
+
+
+
+
+ How do I get started?
+
+
+ Head to the "Quick start" guide in the docs. If you've used unstyled
+ libraries before, you'll feel at home.
+
+
+
+
+ Can I use it for my project?
+
+
+ Of course! Base UI is free and open source.
+
+
+
+ )
+}
diff --git a/apps/ui/registry/default/examples/accordion-tabs.tsx b/apps/ui/registry/default/examples/accordion-tabs.tsx
new file mode 100644
index 000000000..1a4b0602d
--- /dev/null
+++ b/apps/ui/registry/default/examples/accordion-tabs.tsx
@@ -0,0 +1,39 @@
+import {
+ Accordion,
+ AccordionItem,
+ AccordionPanel,
+ AccordionTrigger,
+} from "@/registry/default/ui/accordion"
+
+export default function AccordionTabsDemo() {
+ return (
+
+
+
+ What is Base UI?
+
+
+ Base UI is a library of high-quality unstyled React components for
+ design systems and web apps.
+
+
+
+
+ How do I get started?
+
+
+ Head to the "Quick start" guide in the docs. If you've used unstyled
+ libraries before, you'll feel at home.
+
+
+
+
+ Can I use it for my project?
+
+
+ Of course! Base UI is free and open source.
+
+
+
+ )
+}
diff --git a/apps/ui/registry/default/examples/accordion-with-icon.tsx b/apps/ui/registry/default/examples/accordion-with-icon.tsx
new file mode 100644
index 000000000..909d57f0a
--- /dev/null
+++ b/apps/ui/registry/default/examples/accordion-with-icon.tsx
@@ -0,0 +1,63 @@
+import { AtSignIcon, CommandIcon, EclipseIcon, ZapIcon } from "lucide-react"
+
+import {
+ Accordion,
+ AccordionContent,
+ AccordionItem,
+ AccordionTrigger,
+} from "@/registry/default/ui/accordion"
+
+const items = [
+ {
+ id: "1",
+ icon: CommandIcon,
+ title: "What makes coss.com ui different?",
+ content:
+ "coss.com ui focuses on developer experience and performance. Built with TypeScript, it offers excellent type safety, follows accessibility standards, and provides comprehensive documentation with regular updates.",
+ },
+ {
+ id: "2",
+ icon: EclipseIcon,
+ title: "How can I customize the components?",
+ content:
+ "Use our CSS variables for global styling, or className and style props for component-specific changes. We support CSS modules, Tailwind, and dark mode out of the box.",
+ },
+ {
+ id: "3",
+ icon: ZapIcon,
+ title: "Is coss.com ui optimized for performance?",
+ content:
+ "Yes, with tree-shaking, code splitting, and minimal runtime overhead. Most components are under 5KB gzipped.",
+ },
+ {
+ id: "4",
+ icon: AtSignIcon,
+ title: "How accessible are the components?",
+ content:
+ "All components follow WAI-ARIA standards, featuring proper ARIA attributes, keyboard navigation, and screen reader support. Regular testing ensures compatibility with NVDA, VoiceOver, and JAWS.",
+ },
+]
+
+export default function Component() {
+ return (
+
+ {items.map((item) => (
+
+
+
+
+ {item.title}
+
+
+
+ {item.content}
+
+
+ ))}
+
+ )
+}
diff --git a/apps/ui/registry/default/particles/index.tsx b/apps/ui/registry/default/particles/index.tsx
index cfa5a24b3..84c2c0cd7 100644
--- a/apps/ui/registry/default/particles/index.tsx
+++ b/apps/ui/registry/default/particles/index.tsx
@@ -2,8 +2,12 @@ import * as React from "react"
import AccordionControlled from "@/registry/default/examples/accordion-controlled"
import AccordionDemo from "@/registry/default/examples/accordion-demo"
+import AccordionMultiLevel from "@/registry/default/examples/accordion-multi-level"
import AccordionMultiple from "@/registry/default/examples/accordion-multiple"
import AccordionSingle from "@/registry/default/examples/accordion-single"
+import AccordionTable from "@/registry/default/examples/accordion-table"
+import AccordionTabs from "@/registry/default/examples/accordion-tabs"
+import AccordionWithIcon from "@/registry/default/examples/accordion-with-icon"
import AlertDemo from "@/registry/default/examples/alert-demo"
import AlertDialogDemo from "@/registry/default/examples/alert-dialog-demo"
import AlertError from "@/registry/default/examples/alert-error"
@@ -1143,6 +1147,34 @@ export const particles: ParticleItem[] = [
className:
"**:data-[slot=particle-wrapper]:w-full sm:**:data-[slot=particle-wrapper]:max-w-[80%]",
},
+ {
+ id: "accordion-tabs",
+ component: AccordionTabs,
+ category: ["accordion"],
+ className:
+ "**:data-[slot=particle-wrapper]:w-full sm:**:data-[slot=particle-wrapper]:max-w-[80%]",
+ },
+ {
+ id: "accordion-table",
+ component: AccordionTable,
+ category: ["accordion"],
+ className:
+ "**:data-[slot=particle-wrapper]:w-full sm:**:data-[slot=particle-wrapper]:max-w-[80%]",
+ },
+ {
+ id: "accordion-with-icon",
+ component: AccordionWithIcon,
+ category: ["accordion"],
+ className:
+ "**:data-[slot=particle-wrapper]:w-full sm:**:data-[slot=particle-wrapper]:max-w-[80%]",
+ },
+ {
+ id: "accordion-multi-level",
+ component: AccordionMultiLevel,
+ category: ["accordion"],
+ className:
+ "**:data-[slot=particle-wrapper]:w-full sm:**:data-[slot=particle-wrapper]:max-w-[80%]",
+ },
{
id: "tooltip-demo",
component: TooltipDemo,
diff --git a/apps/ui/registry/registry-examples.ts b/apps/ui/registry/registry-examples.ts
index 0521d1c5a..cc0a6d0fe 100644
--- a/apps/ui/registry/registry-examples.ts
+++ b/apps/ui/registry/registry-examples.ts
@@ -43,6 +43,61 @@ export const examples: Registry["items"] = [
],
categories: ["accordion"],
},
+ {
+ name: "accordion-with-icon",
+ description: "Accordion with icon",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json"],
+ files: [
+ {
+ path: "examples/accordion-with-icon.tsx",
+ type: "registry:example",
+ },
+ ],
+ categories: ["accordion"],
+ },
+ {
+ name: "accordion-multi-level",
+ description: "Accordion with multiple levels",
+ type: "registry:example",
+ registryDependencies: [
+ "https://coss.com/ui/r/accordion.json",
+ "https://coss.com/ui/r/collapsible.json",
+ ],
+ files: [
+ {
+ path: "examples/accordion-multi-level.tsx",
+ type: "registry:example",
+ },
+ ],
+ categories: ["accordion"],
+ },
+ {
+ name: "accordion-table",
+ description: "Accordion with table like layout",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json"],
+ files: [
+ {
+ path: "examples/accordion-table.tsx",
+ type: "registry:example",
+ },
+ ],
+ categories: ["accordion"],
+ },
+ {
+ name: "accordion-tabs",
+ description: "Accordion with tabs like layout",
+ type: "registry:example",
+ registryDependencies: ["https://coss.com/ui/r/accordion.json"],
+ files: [
+ {
+ path: "examples/accordion-tabs.tsx",
+ type: "registry:example",
+ },
+ ],
+ categories: ["accordion"],
+ },
{
name: "accordion-single",
description: "Accordion with one panel open",