@cerberus-design/react
Version:
The Cerberus Design React component library.
29 lines (26 loc) • 1.23 kB
JavaScript
'use client';
import { jsx, jsxs } from 'react/jsx-runtime';
import { splitProps } from '../../utils/index.js';
import { Show } from '../show/show.js';
import { AccordionParts } from './parts.js';
import { AccordionChevronItemIndicator } from './item-indicator.js';
function Accordion(props) {
return /* @__PURE__ */ jsx(AccordionParts.Root, { ...props });
}
function AccordionItemGroup(props) {
const [groupProps, itemProps] = splitProps(props, [
"heading",
"children",
"indicatorPosition"
]);
const indicatorPosition = groupProps.indicatorPosition ?? "end";
return /* @__PURE__ */ jsxs(AccordionParts.Item, { ...itemProps, children: [
/* @__PURE__ */ jsxs(AccordionParts.ItemTrigger, { "data-indicator-position": indicatorPosition, children: [
/* @__PURE__ */ jsx(Show, { when: indicatorPosition === "start", children: /* @__PURE__ */ jsx(AccordionChevronItemIndicator, {}) }),
groupProps.heading,
/* @__PURE__ */ jsx(Show, { when: indicatorPosition === "end", children: /* @__PURE__ */ jsx(AccordionChevronItemIndicator, {}) })
] }),
/* @__PURE__ */ jsx(AccordionParts.ItemContent, { children: groupProps.children })
] });
}
export { Accordion, AccordionItemGroup };