UNPKG

ivt

Version:

Ivt Components Library

1 lines 30.4 kB
{"version":3,"file":"accordion-DN_eyopq.mjs","sources":["../../node_modules/@radix-ui/react-collapsible/dist/index.mjs","../../node_modules/@radix-ui/react-accordion/dist/index.mjs","../../src/components/ui/accordion/accordion.tsx"],"sourcesContent":["\"use client\";\n\n// src/collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef(void 0);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/accordion.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\nimport { createCollapsibleScope } from \"@radix-ui/react-collapsible\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ACCORDION_NAME = \"Accordion\";\nvar ACCORDION_KEYS = [\"Home\", \"End\", \"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\"];\nvar [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);\nvar [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope\n]);\nvar useCollapsibleScope = createCollapsibleScope();\nvar Accordion = React.forwardRef(\n (props, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps;\n const multipleProps = accordionProps;\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === \"multiple\" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });\n }\n);\nAccordion.displayName = ACCORDION_NAME;\nvar [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);\nvar [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\nvar AccordionImplSingle = React.forwardRef(\n (props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n collapsible = false,\n ...accordionSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value: React.useMemo(() => value ? [value] : [], [value]),\n onItemOpen: setValue,\n onItemClose: React.useCallback(() => collapsible && setValue(\"\"), [collapsible, setValue]),\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })\n }\n );\n }\n);\nvar AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...accordionMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: ACCORDION_NAME\n });\n const handleItemOpen = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleItemClose = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n AccordionValueProvider,\n {\n scope: props.__scopeAccordion,\n value,\n onItemOpen: handleItemOpen,\n onItemClose: handleItemClose,\n children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })\n }\n );\n});\nvar [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);\nvar AccordionImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = \"vertical\", ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n if (triggerIndex === -1) return;\n event.preventDefault();\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n switch (event.key) {\n case \"Home\":\n nextIndex = homeIndex;\n break;\n case \"End\":\n nextIndex = endIndex;\n break;\n case \"ArrowRight\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case \"ArrowDown\":\n if (orientation === \"vertical\") {\n moveNext();\n }\n break;\n case \"ArrowLeft\":\n if (orientation === \"horizontal\") {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case \"ArrowUp\":\n if (orientation === \"vertical\") {\n movePrev();\n }\n break;\n }\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n return /* @__PURE__ */ jsx(\n AccordionImplProvider,\n {\n scope: __scopeAccordion,\n disabled,\n direction: dir,\n orientation,\n children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...accordionProps,\n \"data-orientation\": orientation,\n ref: composedRefs,\n onKeyDown: disabled ? void 0 : handleKeyDown\n }\n ) })\n }\n );\n }\n);\nvar ITEM_NAME = \"AccordionItem\";\nvar [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);\nvar AccordionItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = value && valueContext.value.includes(value) || false;\n const disabled = accordionContext.disabled || props.disabled;\n return /* @__PURE__ */ jsx(\n AccordionItemProvider,\n {\n scope: __scopeAccordion,\n open,\n disabled,\n triggerId,\n children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Root,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(open),\n ...collapsibleScope,\n ...accordionItemProps,\n ref: forwardedRef,\n disabled,\n open,\n onOpenChange: (open2) => {\n if (open2) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }\n }\n )\n }\n );\n }\n);\nAccordionItem.displayName = ITEM_NAME;\nvar HEADER_NAME = \"AccordionHeader\";\nvar AccordionHeader = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return /* @__PURE__ */ jsx(\n Primitive.h3,\n {\n \"data-orientation\": accordionContext.orientation,\n \"data-state\": getState(itemContext.open),\n \"data-disabled\": itemContext.disabled ? \"\" : void 0,\n ...headerProps,\n ref: forwardedRef\n }\n );\n }\n);\nAccordionHeader.displayName = HEADER_NAME;\nvar TRIGGER_NAME = \"AccordionTrigger\";\nvar AccordionTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Trigger,\n {\n \"aria-disabled\": itemContext.open && !collapsibleContext.collapsible || void 0,\n \"data-orientation\": accordionContext.orientation,\n id: itemContext.triggerId,\n ...collapsibleScope,\n ...triggerProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nAccordionTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"AccordionContent\";\nvar AccordionContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return /* @__PURE__ */ jsx(\n CollapsiblePrimitive.Content,\n {\n role: \"region\",\n \"aria-labelledby\": itemContext.triggerId,\n \"data-orientation\": accordionContext.orientation,\n ...collapsibleScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n [\"--radix-accordion-content-height\"]: \"var(--radix-collapsible-content-height)\",\n [\"--radix-accordion-content-width\"]: \"var(--radix-collapsible-content-width)\",\n ...props.style\n }\n }\n );\n }\n);\nAccordionContent.displayName = CONTENT_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Accordion;\nvar Item = AccordionItem;\nvar Header = AccordionHeader;\nvar Trigger2 = AccordionTrigger;\nvar Content2 = AccordionContent;\nexport {\n Accordion,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n Content2 as Content,\n Header,\n Item,\n Root2 as Root,\n Trigger2 as Trigger,\n createAccordionScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport React from \"react\";\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n\treturn <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n\treturn (\n\t\t<AccordionPrimitive.Item\n\t\t\tdata-slot=\"accordion-item\"\n\t\t\tclassName={cn(\"border-b last:border-b-0\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction AccordionTrigger({\n\tclassName,\n\tchildren,\n\ticonPosition,\n\ticonSize = \"size-4\",\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger> & {\n\ticonPosition?: \"right\" | \"left\";\n\ticonSize?: string;\n}) {\n\treturn (\n\t\t<AccordionPrimitive.Header className=\"flex\">\n\t\t\t<AccordionPrimitive.Trigger\n\t\t\t\tdata-slot=\"accordion-trigger\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-1 cursor-pointer items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{iconPosition === \"left\" ? (\n\t\t\t\t\t<ChevronDownIcon className={cn(iconSize, \"shrink-0 transition-transform duration-200\")} />\n\t\t\t\t) : null}\n\n\t\t\t\t{children}\n\n\t\t\t\t{iconPosition !== \"left\" ? (\n\t\t\t\t\t<ChevronDownIcon className={cn(iconSize, \"shrink-0 transition-transform duration-200\")} />\n\t\t\t\t) : null}\n\t\t\t</AccordionPrimitive.Trigger>\n\t\t</AccordionPrimitive.Header>\n\t);\n}\n\nfunction AccordionContent({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n\treturn (\n\t\t<AccordionPrimitive.Content\n\t\t\tdata-slot=\"accordion-content\"\n\t\t\tclassName=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n\t\t</AccordionPrimitive.Content>\n\t);\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","createContextScope","CollapsibleProvider","useCollapsibleContext","Collapsible","React","forwardRef","props","forwardedRef","__scopeCollapsible","open","openProp","defaultOpen","disabled","onOpenChange","collapsibleProps","setOpen","useControllableState","prop","defaultProp","onChange","caller","jsx","scope","contentId","useId","onOpenToggle","useCallback","prevOpen","children","Primitive","div","getState","ref","displayName","TRIGGER_NAME","CollapsibleTrigger","triggerProps","context","button","type","onClick","composeEventHandlers","CONTENT_NAME","CollapsibleContent","forceMount","contentProps","Presence","present","CollapsibleContentImpl","isPresent","setIsPresent","useState","useRef","composedRefs","useComposedRefs","heightRef","height","current","widthRef","width","isOpen","isMountAnimationPreventedRef","originalStylesRef","useEffect","rAF","requestAnimationFrame","cancelAnimationFrame","useLayoutEffect","node","transitionDuration","style","animationName","rect","getBoundingClientRect","id","hidden","Root","Trigger","Content","ACCORDION_NAME","ACCORDION_KEYS","Collection","useCollection","createCollectionScope","createCollection","createAccordionContext","createAccordionScope","useCollapsibleScope","Accordion","accordionProps","singleProps","multipleProps","Provider","__scopeAccordion","AccordionImplMultiple","AccordionImplSingle","AccordionValueProvider","useAccordionValueContext","AccordionCollapsibleProvider","useAccordionCollapsibleContext","collapsible","value","valueProp","defaultValue","onValueChange","accordionSingleProps","setValue","useMemo","onItemOpen","onItemClose","AccordionImpl","accordionMultipleProps","handleItemOpen","itemValue","prevValue","handleItemClose","filter","AccordionImplProvider","useAccordionContext","dir","orientation","accordionRef","getItems","isDirectionLTR","useDirection","handleKeyDown","onKeyDown","event","includes","key","target","triggerCollection","item","triggerIndex","findIndex","triggerCount","length","preventDefault","nextIndex","endIndex","moveNext","movePrev","clampedIndex","focus","direction","Slot","ITEM_NAME","AccordionItemProvider","useAccordionItemContext","AccordionItem","accordionItemProps","accordionContext","valueContext","collapsibleScope","triggerId","CollapsiblePrimitive.Root","HEADER_NAME","AccordionHeader","headerProps","itemContext","h3","AccordionTrigger","collapsibleContext","ItemSlot","CollapsiblePrimitive.Trigger","AccordionContent","CollapsiblePrimitive.Content","role","Item","Header","createElement","AccordionPrimitive","data-slot","className","cn","iconPosition","iconSize","ChevronDownIcon"],"mappings":"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","x_google_ignoreList":[0,1]}