UNPKG

skyroc-ui

Version:

A modern React UI component library built on Radix UI and Tailwind CSS

38 lines (36 loc) 1.3 kB
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 };