diff --git a/packages/design-system/src/accordion.tsx b/packages/design-system/src/accordion.tsx new file mode 100644 index 00000000..ddf913e8 --- /dev/null +++ b/packages/design-system/src/accordion.tsx @@ -0,0 +1,44 @@ +import React, { forwardRef, ElementRef, ComponentPropsWithoutRef } from "react"; +import { + CloseButton, + Disclosure, + DisclosureButton, + DisclosurePanel, +} from "@headlessui/react"; +import { twMerge } from "tailwind-merge"; + +const Accordion = forwardRef< + ElementRef, + ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( +
+ +
+)); +Accordion.displayName = "Accordion"; + +const AccordionButton = forwardRef< + ElementRef, + ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AccordionButton.displayName = "AccordionButton"; + +const AccordionPanel = forwardRef< + ElementRef, + ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AccordionButton.displayName = "AccordionPanel"; + +const AccordionCloseButton = forwardRef< + ElementRef, + ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AccordionCloseButton.displayName = "AccordionCloseButton"; + +export { Accordion, AccordionButton, AccordionPanel, AccordionCloseButton };