skyroc-ui
Version:
A modern React UI component library built on Radix UI and Tailwind CSS
38 lines (36 loc) • 1.3 kB
JavaScript
import { cn } from "../../lib/utils.js";
import { accordionVariants } from "./accordion-variants.js";
import { forwardRef } from "react";
import { Trigger } from "@radix-ui/react-accordion";
import { jsx, jsxs } from "react/jsx-runtime";
import { Slot } from "@radix-ui/react-slot";
import { ChevronDown } from "lucide-react";
//#region src/components/accordion/AccordionTrigger.tsx
const AccordionTrigger = forwardRef((props, ref) => {
const { children, className, classNames, icon, leading, size, trailing,...rest } = props;
const { trigger, triggerIcon, triggerLeadingIcon } = accordionVariants({ size });
const mergedCls = cn(trigger(), className);
const leadingIcon = cn(triggerLeadingIcon(), classNames?.triggerLeadingIcon);
const iconCls = cn(triggerIcon(), classNames?.triggerIcon);
return /* @__PURE__ */ jsxs(Trigger, {
className: mergedCls,
ref,
...rest,
children: [
/* @__PURE__ */ jsx(Slot, {
className: leadingIcon,
children: leading
}),
children,
trailing,
/* @__PURE__ */ jsx(Slot, {
className: iconCls,
children: icon || /* @__PURE__ */ jsx(ChevronDown, {})
})
]
});
});
AccordionTrigger.displayName = Trigger.displayName;
var AccordionTrigger_default = AccordionTrigger;
//#endregion
export { AccordionTrigger_default as default };