dgz-ui 1.4.6 → 1.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/breadcrumb/index.cjs.js +1 -1
  2. package/dist/breadcrumb/index.es.js +1 -1
  3. package/dist/carousel/index.cjs.js +12 -0
  4. package/dist/carousel/index.cjs.js.map +1 -0
  5. package/dist/carousel/index.es.js +1440 -0
  6. package/dist/carousel/index.es.js.map +1 -0
  7. package/dist/chunks/alert-dialog-CI_hZyxN.es.js.map +1 -1
  8. package/dist/chunks/alert-dialog-CYT3LDhH.cjs.js.map +1 -1
  9. package/dist/chunks/{breadcrumb-RLwumNZG.cjs.js → breadcrumb-BoUD4-AY.cjs.js} +2 -2
  10. package/dist/chunks/breadcrumb-BoUD4-AY.cjs.js.map +1 -0
  11. package/dist/chunks/{breadcrumb-D-Wgwp2Z.es.js → breadcrumb-CRK9Ctmz.es.js} +6 -6
  12. package/dist/chunks/breadcrumb-CRK9Ctmz.es.js.map +1 -0
  13. package/dist/chunks/card-B87RYuvO.es.js.map +1 -1
  14. package/dist/chunks/card-Dokrjefn.cjs.js.map +1 -1
  15. package/dist/chunks/collapsible-CBOSWBKB.cjs.js.map +1 -1
  16. package/dist/chunks/collapsible-Ddd6kxXS.es.js.map +1 -1
  17. package/dist/chunks/dialog-B3q0NLcE.es.js.map +1 -1
  18. package/dist/chunks/dialog-OejLEg29.cjs.js.map +1 -1
  19. package/dist/chunks/dropdown-menu-BNURsvIJ.cjs.js.map +1 -1
  20. package/dist/chunks/dropdown-menu-CJTcrFP2.es.js.map +1 -1
  21. package/dist/chunks/pagination-CLm98Oot.es.js.map +1 -1
  22. package/dist/chunks/pagination-DsZd3LTv.cjs.js.map +1 -1
  23. package/dist/chunks/popover-ChtTV2vy.es.js.map +1 -1
  24. package/dist/chunks/popover-cRDGBSyg.cjs.js.map +1 -1
  25. package/dist/chunks/scroll-area-sLp4wPce.cjs.js.map +1 -1
  26. package/dist/chunks/scroll-area-x2hiTYmL.es.js.map +1 -1
  27. package/dist/chunks/separator-DndNTVv8.es.js.map +1 -1
  28. package/dist/chunks/separator-uzP1VAwc.cjs.js.map +1 -1
  29. package/dist/chunks/skeleton-DV_2OytH.es.js.map +1 -1
  30. package/dist/chunks/skeleton-ZHnXbbz7.cjs.js.map +1 -1
  31. package/dist/chunks/table-C-g7CjMt.cjs.js.map +1 -1
  32. package/dist/chunks/table-QbNlEa1M.es.js.map +1 -1
  33. package/dist/chunks/tabs-BNEY7wMF.cjs.js.map +1 -1
  34. package/dist/chunks/tabs-DUuliV4A.es.js.map +1 -1
  35. package/dist/chunks/textarea-C2I19p_j.cjs.js.map +1 -1
  36. package/dist/chunks/textarea-D9gE4ALW.es.js.map +1 -1
  37. package/dist/chunks/timepicker-Ba47st2A.cjs.js.map +1 -1
  38. package/dist/chunks/timepicker-tBjjq8Ap.es.js.map +1 -1
  39. package/dist/chunks/tooltip-DD-snel0.cjs.js.map +1 -1
  40. package/dist/chunks/tooltip-DHg9332v.es.js.map +1 -1
  41. package/dist/index.cjs.js +1 -1
  42. package/dist/index.es.js +1 -1
  43. package/dist/progress/index.cjs.js.map +1 -1
  44. package/dist/progress/index.es.js.map +1 -1
  45. package/dist/styles.css +1 -1
  46. package/dist/types/stories/Button.d.ts +15 -0
  47. package/dist/types/stories/Button.d.ts.map +1 -0
  48. package/dist/types/stories/Button.stories.d.ts +24 -0
  49. package/dist/types/stories/Button.stories.d.ts.map +1 -0
  50. package/dist/types/stories/Header.d.ts +12 -0
  51. package/dist/types/stories/Header.d.ts.map +1 -0
  52. package/dist/types/stories/Header.stories.d.ts +19 -0
  53. package/dist/types/stories/Header.stories.d.ts.map +1 -0
  54. package/dist/types/stories/Page.d.ts +3 -0
  55. package/dist/types/stories/Page.d.ts.map +1 -0
  56. package/dist/types/stories/Page.stories.d.ts +13 -0
  57. package/dist/types/stories/Page.stories.d.ts.map +1 -0
  58. package/dist/types/types/element-data.type.d.ts +4 -0
  59. package/dist/types/types/element-data.type.d.ts.map +1 -1
  60. package/dist/types/ui/alert-dialog/alert-dialog.d.ts +8 -0
  61. package/dist/types/ui/alert-dialog/alert-dialog.d.ts.map +1 -1
  62. package/dist/types/ui/breadcrumb/breadcrumb.d.ts +6 -4
  63. package/dist/types/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
  64. package/dist/types/ui/calendar/datepicker.d.ts +1 -1
  65. package/dist/types/ui/calendar/timepicker.d.ts +5 -2
  66. package/dist/types/ui/calendar/timepicker.d.ts.map +1 -1
  67. package/dist/types/ui/card/card.d.ts +8 -0
  68. package/dist/types/ui/card/card.d.ts.map +1 -1
  69. package/dist/types/ui/carousel/carousel.d.ts +73 -0
  70. package/dist/types/ui/carousel/carousel.d.ts.map +1 -0
  71. package/dist/types/ui/carousel/index.d.ts +2 -0
  72. package/dist/types/ui/carousel/index.d.ts.map +1 -0
  73. package/dist/types/ui/collapsible/collapsible.d.ts +3 -0
  74. package/dist/types/ui/collapsible/collapsible.d.ts.map +1 -1
  75. package/dist/types/ui/dialog/dialog.d.ts +19 -0
  76. package/dist/types/ui/dialog/dialog.d.ts.map +1 -1
  77. package/dist/types/ui/dropdown/dropdown-menu.d.ts +18 -0
  78. package/dist/types/ui/dropdown/dropdown-menu.d.ts.map +1 -1
  79. package/dist/types/ui/form/checkbox.d.ts +3 -1
  80. package/dist/types/ui/form/checkbox.d.ts.map +1 -1
  81. package/dist/types/ui/form/input.d.ts +13 -0
  82. package/dist/types/ui/form/input.d.ts.map +1 -1
  83. package/dist/types/ui/form/label.d.ts +1 -1
  84. package/dist/types/ui/form/radio-group.d.ts +2 -1
  85. package/dist/types/ui/form/radio-group.d.ts.map +1 -1
  86. package/dist/types/ui/form/select.d.ts +43 -0
  87. package/dist/types/ui/form/select.d.ts.map +1 -1
  88. package/dist/types/ui/form/switch.d.ts +3 -1
  89. package/dist/types/ui/form/switch.d.ts.map +1 -1
  90. package/dist/types/ui/form/textarea.d.ts +1 -0
  91. package/dist/types/ui/form/textarea.d.ts.map +1 -1
  92. package/dist/types/ui/pagination/pagination.d.ts +7 -7
  93. package/dist/types/ui/popover/popover.d.ts +3 -1
  94. package/dist/types/ui/popover/popover.d.ts.map +1 -1
  95. package/dist/types/ui/progress/progress.d.ts +1 -1
  96. package/dist/types/ui/scroll-area/scroll-area.d.ts +2 -2
  97. package/dist/types/ui/separator/separator.d.ts +1 -1
  98. package/dist/types/ui/skeleton/skeleton.d.ts +1 -0
  99. package/dist/types/ui/skeleton/skeleton.d.ts.map +1 -1
  100. package/dist/types/ui/tab/tabs.d.ts +3 -1
  101. package/dist/types/ui/tab/tabs.d.ts.map +1 -1
  102. package/dist/types/ui/table/table.d.ts +8 -0
  103. package/dist/types/ui/table/table.d.ts.map +1 -1
  104. package/dist/types/ui/tooltip/tooltip.d.ts +1 -0
  105. package/dist/types/ui/tooltip/tooltip.d.ts.map +1 -1
  106. package/package.json +26 -3
  107. package/dist/chunks/breadcrumb-D-Wgwp2Z.es.js.map +0 -1
  108. package/dist/chunks/breadcrumb-RLwumNZG.cjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"popover-ChtTV2vy.es.js","sources":["../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../src/ui/popover/popover.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\nimport { cn } from '../../lib';\nimport type { ElementDataType } from '../../types';\n\n/**\n * Popover primitives for floating content triggered by another element.\n */\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\n/**\n * PopoverContent - The floating panel that appears near the trigger.\n *\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the popover content.\n * @param {'start' | 'center' | 'end'} [props.align='center'] - The alignment of the popover content relative to the trigger.\n * @param {number} [props.sideOffset=4] - The distance between the trigger and the popover content.\n */\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\n/**\n * Props aggregation for components that wrap Popover primitives.\n * Useful for high-level components needing to forward props to specific Popover parts.\n */\ninterface PopoverContainerProps {\n triggerProps?: React.ComponentPropsWithoutRef<typeof PopoverTrigger> &\n ElementDataType;\n contentProps?: React.ComponentPropsWithoutRef<typeof PopoverContent> &\n ElementDataType;\n}\n\nexport { Popover, PopoverContent, PopoverTrigger, type PopoverContainerProps };\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","_a","mayWarn","_b","POPOVER_NAME","createPopoverContext","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","open","setOpen","useControllableState","PopperPrimitive.Root","useId","prevOpen","ANCHOR_NAME","PopoverAnchor","anchorProps","context","onCustomAnchorAdd","onCustomAnchorRemove","PopperPrimitive.Anchor","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","PopoverPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","hideOthers","RemoveScroll","PopoverContentImpl","event","originalEvent","ctrlLeftClick","isRightClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","useFocusGuards","FocusScope","DismissableLayer","PopperPrimitive.Content","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","PopperPrimitive.Arrow","Root2","Trigger","Portal","Content2","PopoverPrimitive.Root","PopoverPrimitive.Trigger","className","align","sideOffset","ref","PopoverPrimitive.Portal","PopoverPrimitive.Content","cn"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"popover-ChtTV2vy.es.js","sources":["../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../src/ui/popover/popover.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\nimport { cn } from '../../lib';\nimport type { ElementDataType } from '../../types';\n\n/**\n * Popover primitives for floating content triggered by another element.\n */\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\n/**\n * PopoverContent - The floating panel that appears near the trigger.\n * @returns {JSX.Element} The rendered PopoverContent component.\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the popover content.\n * @param {'start' | 'center' | 'end'} [props.align='center'] - The alignment of the popover content relative to the trigger.\n * @param {number} [props.sideOffset=4] - The distance between the trigger and the popover content.\n */\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\n/**\n * Props aggregation for components that wrap Popover primitives.\n * Useful for high-level components needing to forward props to specific Popover parts.\n * @property {React.ComponentPropsWithoutRef<typeof PopoverTrigger> & ElementDataType} [triggerProps] - Props for the PopoverTrigger component.\n * @property {React.ComponentPropsWithoutRef<typeof PopoverContent> & ElementDataType} [contentProps] - Props for the PopoverContent component.\n */\ninterface PopoverContainerProps {\n triggerProps?: React.ComponentPropsWithoutRef<typeof PopoverTrigger> &\n ElementDataType;\n contentProps?: React.ComponentPropsWithoutRef<typeof PopoverContent> &\n ElementDataType;\n}\n\nexport { Popover, PopoverContent, PopoverTrigger, type PopoverContainerProps };\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","_a","mayWarn","_b","POPOVER_NAME","createPopoverContext","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","open","setOpen","useControllableState","PopperPrimitive.Root","useId","prevOpen","ANCHOR_NAME","PopoverAnchor","anchorProps","context","onCustomAnchorAdd","onCustomAnchorRemove","PopperPrimitive.Anchor","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","PopoverPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","hideOthers","RemoveScroll","PopoverContentImpl","event","originalEvent","ctrlLeftClick","isRightClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","useFocusGuards","FocusScope","DismissableLayer","PopperPrimitive.Content","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","PopperPrimitive.Arrow","Root2","Trigger","Portal","Content2","PopoverPrimitive.Root","PopoverPrimitive.Trigger","className","align","sideOffset","ref","PopoverPrimitive.Portal","PopoverPrimitive.Content","cn"],"mappings":";;;;;;;;;;AAKA,SAASA,EAAWC,GAAW;AAC7B,QAAMC,IAA4B,gBAAAC,EAAgBF,CAAS,GACrDG,IAAQC,EAAM,WAAW,CAACC,GAAOC,MAAiB;AACtD,UAAM,EAAE,UAAAC,GAAU,GAAGC,EAAS,IAAKH,GAC7BI,IAAgBL,EAAM,SAAS,QAAQG,CAAQ,GAC/CG,IAAYD,EAAc,KAAKE,EAAW;AAChD,QAAID,GAAW;AACb,YAAME,IAAaF,EAAU,MAAM,UAC7BG,IAAcJ,EAAc,IAAI,CAACK,MACjCA,MAAUJ,IACRN,EAAM,SAAS,MAAMQ,CAAU,IAAI,IAAUR,EAAM,SAAS,KAAK,IAAI,IAClEA,EAAM,eAAeQ,CAAU,IAAIA,EAAW,MAAM,WAAW,OAE/DE,CAEV;AACD,aAAuB,gBAAAC,EAAId,GAAW,EAAE,GAAGO,GAAW,KAAKF,GAAc,UAAUF,EAAM,eAAeQ,CAAU,IAAIR,EAAM,aAAaQ,GAAY,QAAQC,CAAW,IAAI,MAAM;AAAA,IACpL;AACA,WAAuB,gBAAAE,EAAId,GAAW,EAAE,GAAGO,GAAW,KAAKF,GAAc,UAAAC,GAAU;AAAA,EACrF,CAAC;AACD,SAAAJ,EAAM,cAAc,GAAGH,CAAS,SACzBG;AACT;AAAA;AAGA,SAASD,EAAgBF,GAAW;AAClC,QAAMC,IAAYG,EAAM,WAAW,CAACC,GAAOC,MAAiB;AAC1D,UAAM,EAAE,UAAAC,GAAU,GAAGC,EAAS,IAAKH;AACnC,QAAID,EAAM,eAAeG,CAAQ,GAAG;AAClC,YAAMS,IAAcC,GAAcV,CAAQ,GACpCW,IAASC,GAAWX,GAAWD,EAAS,KAAK;AACnD,aAAIA,EAAS,SAASH,EAAM,aAC1Bc,EAAO,MAAMZ,IAAec,EAAYd,GAAcU,CAAW,IAAIA,IAEhEZ,EAAM,aAAaG,GAAUW,CAAM;AAAA,IAC5C;AACA,WAAOd,EAAM,SAAS,MAAMG,CAAQ,IAAI,IAAIH,EAAM,SAAS,KAAK,IAAI,IAAI;AAAA,EAC1E,CAAC;AACD,SAAAH,EAAU,cAAc,GAAGD,CAAS,cAC7BC;AACT;AACA,IAAIoB,KAAuB,OAAO,iBAAiB;AAWnD,SAASV,GAAYG,GAAO;AAC1B,SAAOV,EAAM,eAAeU,CAAK,KAAK,OAAOA,EAAM,QAAS,cAAc,eAAeA,EAAM,QAAQA,EAAM,KAAK,cAAcO;AAClI;AACA,SAASF,GAAWX,GAAWc,GAAY;AACzC,QAAMC,IAAgB,EAAE,GAAGD,EAAU;AACrC,aAAWE,KAAYF,GAAY;AACjC,UAAMG,IAAgBjB,EAAUgB,CAAQ,GAClCE,IAAiBJ,EAAWE,CAAQ;AAE1C,IADkB,WAAW,KAAKA,CAAQ,IAEpCC,KAAiBC,IACnBH,EAAcC,CAAQ,IAAI,IAAIG,MAAS;AACrC,YAAMC,IAASF,EAAe,GAAGC,CAAI;AACrC,aAAAF,EAAc,GAAGE,CAAI,GACdC;AAAA,IACT,IACSH,MACTF,EAAcC,CAAQ,IAAIC,KAEnBD,MAAa,UACtBD,EAAcC,CAAQ,IAAI,EAAE,GAAGC,GAAe,GAAGC,EAAc,IACtDF,MAAa,gBACtBD,EAAcC,CAAQ,IAAI,CAACC,GAAeC,CAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AACA,SAAO,EAAE,GAAGlB,GAAW,GAAGe,EAAa;AACzC;AACA,SAASN,GAAcY,GAAS;;AAC9B,MAAIC,KAASC,IAAA,OAAO,yBAAyBF,EAAQ,OAAO,KAAK,MAApD,gBAAAE,EAAuD,KAChEC,IAAUF,KAAU,oBAAoBA,KAAUA,EAAO;AAC7D,SAAIE,IACKH,EAAQ,OAEjBC,KAASG,IAAA,OAAO,yBAAyBJ,GAAS,KAAK,MAA9C,gBAAAI,EAAiD,KAC1DD,IAAUF,KAAU,oBAAoBA,KAAUA,EAAO,gBACrDE,IACKH,EAAQ,MAAM,MAEhBA,EAAQ,MAAM,OAAOA,EAAQ;AACtC;AC3EA,IAAIK,IAAe,WACf,CAACC,CAAwC,IAAIC,EAAmBF,GAAc;AAAA,EAChFG;AACF,CAAC,GACGC,IAAiBD,EAAiB,GAClC,CAACE,IAAiBC,CAAiB,IAAIL,EAAqBD,CAAY,GACxEO,IAAU,CAACpC,MAAU;AACvB,QAAM;AAAA,IACJ,gBAAAqC;AAAA,IACA,UAAAnC;AAAA,IACA,MAAMoC;AAAA,IACN,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,EACZ,IAAMzC,GACE0C,IAAcT,EAAeI,CAAc,GAC3CM,IAAa5C,EAAM,OAAO,IAAI,GAC9B,CAAC6C,GAAiBC,CAAkB,IAAI9C,EAAM,SAAS,EAAK,GAC5D,CAAC+C,GAAMC,CAAO,IAAIC,EAAqB;AAAA,IAC3C,MAAMV;AAAA,IACN,aAAaC,KAAe;AAAA,IAC5B,UAAUC;AAAA,IACV,QAAQX;AAAA,EACZ,CAAG;AACD,SAAuB,gBAAAnB,EAAIuC,GAAsB,EAAE,GAAGP,GAAa,UAA0B,gBAAAhC;AAAA,IAC3FwB;AAAA,IACA;AAAA,MACE,OAAOG;AAAA,MACP,WAAWa,EAAK;AAAA,MAChB,YAAAP;AAAA,MACA,MAAAG;AAAA,MACA,cAAcC;AAAA,MACd,cAAchD,EAAM,YAAY,MAAMgD,EAAQ,CAACI,MAAa,CAACA,CAAQ,GAAG,CAACJ,CAAO,CAAC;AAAA,MACjF,iBAAAH;AAAA,MACA,mBAAmB7C,EAAM,YAAY,MAAM8C,EAAmB,EAAI,GAAG,EAAE;AAAA,MACvE,sBAAsB9C,EAAM,YAAY,MAAM8C,EAAmB,EAAK,GAAG,EAAE;AAAA,MAC3E,OAAAJ;AAAA,MACA,UAAAvC;AAAA,IACN;AAAA,EACA,GAAK;AACL;AACAkC,EAAQ,cAAcP;AACtB,IAAIuB,IAAc,iBACdC,KAAgBtD,EAAM;AAAA,EACxB,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,gBAAAoC,GAAgB,GAAGiB,EAAW,IAAKtD,GACrCuD,IAAUpB,EAAkBiB,GAAaf,CAAc,GACvDK,IAAcT,EAAeI,CAAc,GAC3C,EAAE,mBAAAmB,GAAmB,sBAAAC,EAAoB,IAAKF;AACpDxD,WAAAA,EAAM,UAAU,OACdyD,EAAiB,GACV,MAAMC,EAAoB,IAChC,CAACD,GAAmBC,CAAoB,CAAC,GACrB,gBAAA/C,EAAIgD,GAAwB,EAAE,GAAGhB,GAAa,GAAGY,GAAa,KAAKrD,GAAc;AAAA,EAC1G;AACF;AACAoD,GAAc,cAAcD;AAC5B,IAAIO,IAAe,kBACfC,IAAiB7D,EAAM;AAAA,EACzB,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,gBAAAoC,GAAgB,GAAGwB,EAAY,IAAK7D,GACtCuD,IAAUpB,EAAkBwB,GAActB,CAAc,GACxDK,IAAcT,EAAeI,CAAc,GAC3CyB,IAAqBC,EAAgB9D,GAAcsD,EAAQ,UAAU,GACrES,IAA0B,gBAAAtD;AAAA,MAC9BuD,EAAU;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,iBAAiBV,EAAQ;AAAA,QACzB,iBAAiBA,EAAQ;AAAA,QACzB,cAAcW,EAASX,EAAQ,IAAI;AAAA,QACnC,GAAGM;AAAA,QACH,KAAKC;AAAA,QACL,SAASK,EAAqBnE,EAAM,SAASuD,EAAQ,YAAY;AAAA,MACzE;AAAA,IACA;AACI,WAAOA,EAAQ,kBAAkBS,IAA0B,gBAAAtD,EAAIgD,GAAwB,EAAE,SAAS,IAAM,GAAGhB,GAAa,UAAUsB,EAAO,CAAE;AAAA,EAC7I;AACF;AACAJ,EAAe,cAAcD;AAC7B,IAAIS,IAAc,iBACd,CAACC,IAAgBC,EAAgB,IAAIxC,EAAqBsC,GAAa;AAAA,EACzE,YAAY;AACd,CAAC,GACGG,IAAgB,CAACvE,MAAU;AAC7B,QAAM,EAAE,gBAAAqC,GAAgB,YAAAmC,GAAY,UAAAtE,GAAU,WAAAuE,EAAS,IAAKzE,GACtDuD,IAAUpB,EAAkBiC,GAAa/B,CAAc;AAC7D,SAAuB,gBAAA3B,EAAI2D,IAAgB,EAAE,OAAOhC,GAAgB,YAAAmC,GAAY,UAA0B,gBAAA9D,EAAIgE,GAAU,EAAE,SAASF,KAAcjB,EAAQ,MAAM,UAA0B,gBAAA7C,EAAIiE,GAAiB,EAAE,SAAS,IAAM,WAAAF,GAAW,UAAAvE,GAAU,EAAC,CAAE,EAAC,CAAE;AAC5P;AACAqE,EAAc,cAAcH;AAC5B,IAAIQ,IAAe,kBACfC,IAAiB9E,EAAM;AAAA,EACzB,CAACC,GAAOC,MAAiB;AACvB,UAAM6E,IAAgBR,GAAiBM,GAAc5E,EAAM,cAAc,GACnE,EAAE,YAAAwE,IAAaM,EAAc,YAAY,GAAGC,EAAY,IAAK/E,GAC7DuD,IAAUpB,EAAkByC,GAAc5E,EAAM,cAAc;AACpE,WAAuB,gBAAAU,EAAIgE,GAAU,EAAE,SAASF,KAAcjB,EAAQ,MAAM,UAAUA,EAAQ,QAAwB,gBAAA7C,EAAIsE,IAAqB,EAAE,GAAGD,GAAc,KAAK9E,EAAY,CAAE,IAAoB,gBAAAS,EAAIuE,IAAwB,EAAE,GAAGF,GAAc,KAAK9E,EAAY,CAAE,EAAC,CAAE;AAAA,EAChR;AACF;AACA4E,EAAe,cAAcD;AAC7B,IAAIM,KAAO,gBAAAxF,EAAW,6BAA6B,GAC/CsF,KAAsBjF,EAAM;AAAA,EAC9B,CAACC,GAAOC,MAAiB;AACvB,UAAMsD,IAAUpB,EAAkByC,GAAc5E,EAAM,cAAc,GAC9DmF,IAAapF,EAAM,OAAO,IAAI,GAC9BqF,IAAerB,EAAgB9D,GAAckF,CAAU,GACvDE,IAAyBtF,EAAM,OAAO,EAAK;AACjDA,WAAAA,EAAM,UAAU,MAAM;AACpB,YAAMuF,IAAUH,EAAW;AAC3B,UAAIG,EAAS,QAAOC,EAAWD,CAAO;AAAA,IACxC,GAAG,CAAA,CAAE,GACkB,gBAAA5E,EAAI8E,GAAc,EAAE,IAAIN,IAAM,gBAAgB,IAAM,UAA0B,gBAAAxE;AAAA,MACnG+E;AAAA,MACA;AAAA,QACE,GAAGzF;AAAA,QACH,KAAKoF;AAAA,QACL,WAAW7B,EAAQ;AAAA,QACnB,6BAA6B;AAAA,QAC7B,kBAAkBY,EAAqBnE,EAAM,kBAAkB,CAAC0F,MAAU;;AACxE,UAAAA,EAAM,eAAc,GACfL,EAAuB,YAAS3D,IAAA6B,EAAQ,WAAW,YAAnB,QAAA7B,EAA4B;AAAA,QACnE,CAAC;AAAA,QACD,sBAAsByC;AAAA,UACpBnE,EAAM;AAAA,UACN,CAAC0F,MAAU;AACT,kBAAMC,IAAgBD,EAAM,OAAO,eAC7BE,IAAgBD,EAAc,WAAW,KAAKA,EAAc,YAAY,IACxEE,IAAeF,EAAc,WAAW,KAAKC;AACnD,YAAAP,EAAuB,UAAUQ;AAAA,UACnC;AAAA,UACA,EAAE,0BAA0B,GAAK;AAAA,QAC3C;AAAA,QACQ,gBAAgB1B;AAAA,UACdnE,EAAM;AAAA,UACN,CAAC0F,MAAUA,EAAM,eAAc;AAAA,UAC/B,EAAE,0BAA0B,GAAK;AAAA,QAC3C;AAAA,MACA;AAAA,IACA,GAAO;AAAA,EACL;AACF,GACIT,KAAyBlF,EAAM;AAAA,EACjC,CAACC,GAAOC,MAAiB;AACvB,UAAMsD,IAAUpB,EAAkByC,GAAc5E,EAAM,cAAc,GAC9D8F,IAA0B/F,EAAM,OAAO,EAAK,GAC5CgG,IAA2BhG,EAAM,OAAO,EAAK;AACnD,WAAuB,gBAAAW;AAAA,MACrB+E;AAAA,MACA;AAAA,QACE,GAAGzF;AAAA,QACH,KAAKC;AAAA,QACL,WAAW;AAAA,QACX,6BAA6B;AAAA,QAC7B,kBAAkB,CAACyF,MAAU;;AAC3B,WAAAhE,IAAA1B,EAAM,qBAAN,QAAA0B,EAAA,KAAA1B,GAAyB0F,IACpBA,EAAM,qBACJI,EAAwB,YAASlE,IAAA2B,EAAQ,WAAW,YAAnB,QAAA3B,EAA4B,SAClE8D,EAAM,eAAc,IAEtBI,EAAwB,UAAU,IAClCC,EAAyB,UAAU;AAAA,QACrC;AAAA,QACA,mBAAmB,CAACL,MAAU;;AAC5B,WAAAhE,IAAA1B,EAAM,sBAAN,QAAA0B,EAAA,KAAA1B,GAA0B0F,IACrBA,EAAM,qBACTI,EAAwB,UAAU,IAC9BJ,EAAM,OAAO,cAAc,SAAS,kBACtCK,EAAyB,UAAU;AAGvC,gBAAMC,IAASN,EAAM;AAErB,YADwB9D,IAAA2B,EAAQ,WAAW,YAAnB,gBAAA3B,EAA4B,SAASoE,OACxCN,EAAM,eAAc,GACrCA,EAAM,OAAO,cAAc,SAAS,aAAaK,EAAyB,WAC5EL,EAAM,eAAc;AAAA,QAExB;AAAA,MACR;AAAA,IACA;AAAA,EACE;AACF,GACID,IAAqB1F,EAAM;AAAA,EAC7B,CAACC,GAAOC,MAAiB;AACvB,UAAM;AAAA,MACJ,gBAAAoC;AAAA,MACA,WAAA4D;AAAA,MACA,iBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,6BAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,GAAGzB;AAAA,IACT,IAAQ/E,GACEuD,IAAUpB,EAAkByC,GAAcvC,CAAc,GACxDK,IAAcT,EAAeI,CAAc;AACjD,WAAAoE,EAAc,GACS,gBAAA/F;AAAA,MACrBgG;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAST;AAAA,QACT,kBAAkBC;AAAA,QAClB,oBAAoBC;AAAA,QACpB,UAA0B,gBAAAzF;AAAA,UACxBiG;AAAA,UACA;AAAA,YACE,SAAS;AAAA,YACT,6BAAAP;AAAA,YACA,mBAAAI;AAAA,YACA,iBAAAH;AAAA,YACA,sBAAAC;AAAA,YACA,gBAAAC;AAAA,YACA,WAAW,MAAMhD,EAAQ,aAAa,EAAK;AAAA,YAC3C,UAA0B,gBAAA7C;AAAA,cACxBkG;AAAAA,cACA;AAAA,gBACE,cAAc1C,EAASX,EAAQ,IAAI;AAAA,gBACnC,MAAM;AAAA,gBACN,IAAIA,EAAQ;AAAA,gBACZ,GAAGb;AAAA,gBACH,GAAGqC;AAAA,gBACH,KAAK9E;AAAA,gBACL,OAAO;AAAA,kBACL,GAAG8E,EAAa;AAAA,kBAGd,4CAA4C;AAAA,kBAC5C,2CAA2C;AAAA,kBAC3C,4CAA4C;AAAA,kBAC5C,iCAAiC;AAAA,kBACjC,kCAAkC;AAAA,gBAEtD;AAAA,cACA;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF,GACI8B,IAAa,gBACbC,KAAe/G,EAAM;AAAA,EACvB,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,gBAAAoC,GAAgB,GAAG0E,EAAU,IAAK/G,GACpCuD,IAAUpB,EAAkB0E,GAAYxE,CAAc;AAC5D,WAAuB,gBAAA3B;AAAA,MACrBuD,EAAU;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,GAAG8C;AAAA,QACH,KAAK9G;AAAA,QACL,SAASkE,EAAqBnE,EAAM,SAAS,MAAMuD,EAAQ,aAAa,EAAK,CAAC;AAAA,MACtF;AAAA,IACA;AAAA,EACE;AACF;AACAuD,GAAa,cAAcD;AAC3B,IAAIG,KAAa,gBACbC,KAAelH,EAAM;AAAA,EACvB,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,gBAAAoC,GAAgB,GAAG6E,EAAU,IAAKlH,GACpC0C,IAAcT,EAAeI,CAAc;AACjD,WAAuB,gBAAA3B,EAAIyG,GAAuB,EAAE,GAAGzE,GAAa,GAAGwE,GAAY,KAAKjH,GAAc;AAAA,EACxG;AACF;AACAgH,GAAa,cAAcD;AAC3B,SAAS9C,EAASpB,GAAM;AACtB,SAAOA,IAAO,SAAS;AACzB;AACA,IAAIsE,KAAQhF,GAERiF,KAAUzD,GACV0D,KAAS/C,GACTgD,IAAW1C;ACnSf,MAAMzC,KAAUoF,IAEV5D,KAAiB6D,IAUjB5C,KAAiB9E,EAAM,WAG3B,CAAC,EAAE,WAAA2H,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAG5H,EAAA,GAAS6H,MAC5D,gBAAAnH,EAACoH,IAAA,EACC,UAAA,gBAAApH;AAAA,EAACqH;AAAAA,EAAA;AAAA,IACC,KAAAF;AAAA,IACA,OAAAF;AAAA,IACA,YAAAC;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAG1H;AAAA,EAAA;AACN,GACF,CACD;AACD6E,GAAe,cAAckD,EAAyB;","x_google_ignoreList":[0,1]}
@@ -1 +1 @@
1
- {"version":3,"file":"popover-cRDGBSyg.cjs.js","sources":["../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../src/ui/popover/popover.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\nimport { cn } from '../../lib';\nimport type { ElementDataType } from '../../types';\n\n/**\n * Popover primitives for floating content triggered by another element.\n */\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\n/**\n * PopoverContent - The floating panel that appears near the trigger.\n *\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the popover content.\n * @param {'start' | 'center' | 'end'} [props.align='center'] - The alignment of the popover content relative to the trigger.\n * @param {number} [props.sideOffset=4] - The distance between the trigger and the popover content.\n */\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\n/**\n * Props aggregation for components that wrap Popover primitives.\n * Useful for high-level components needing to forward props to specific Popover parts.\n */\ninterface PopoverContainerProps {\n triggerProps?: React.ComponentPropsWithoutRef<typeof PopoverTrigger> &\n ElementDataType;\n contentProps?: React.ComponentPropsWithoutRef<typeof PopoverContent> &\n ElementDataType;\n}\n\nexport { Popover, PopoverContent, PopoverTrigger, type PopoverContainerProps };\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","_a","mayWarn","_b","POPOVER_NAME","createPopoverContext","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","open","setOpen","useControllableState","PopperPrimitive.Root","useId","prevOpen","ANCHOR_NAME","PopoverAnchor","anchorProps","context","onCustomAnchorAdd","onCustomAnchorRemove","PopperPrimitive.Anchor","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","PopoverPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","hideOthers","RemoveScroll","PopoverContentImpl","event","originalEvent","ctrlLeftClick","isRightClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","useFocusGuards","FocusScope","DismissableLayer","PopperPrimitive.Content","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","PopperPrimitive.Arrow","Root2","Trigger","Portal","Content2","PopoverPrimitive.Root","PopoverPrimitive.Trigger","className","align","sideOffset","ref","PopoverPrimitive.Portal","PopoverPrimitive.Content","cn"],"mappings":"8nBAKA,SAASA,EAAWC,EAAW,CAC7B,MAAMC,EAA4BC,EAAgBF,CAAS,EACrDG,EAAQC,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACtD,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAS,EAAKH,EAC7BI,EAAgBL,EAAM,SAAS,QAAQG,CAAQ,EAC/CG,EAAYD,EAAc,KAAKE,CAAW,EAChD,GAAID,EAAW,CACb,MAAME,EAAaF,EAAU,MAAM,SAC7BG,EAAcJ,EAAc,IAAKK,GACjCA,IAAUJ,EACRN,EAAM,SAAS,MAAMQ,CAAU,EAAI,EAAUR,EAAM,SAAS,KAAK,IAAI,EAClEA,EAAM,eAAeQ,CAAU,EAAIA,EAAW,MAAM,SAAW,KAE/DE,CAEV,EACD,OAAuBC,EAAAA,IAAId,EAAW,CAAE,GAAGO,EAAW,IAAKF,EAAc,SAAUF,EAAM,eAAeQ,CAAU,EAAIR,EAAM,aAAaQ,EAAY,OAAQC,CAAW,EAAI,KAAM,CACpL,CACA,OAAuBE,EAAAA,IAAId,EAAW,CAAE,GAAGO,EAAW,IAAKF,EAAc,SAAAC,EAAU,CACrF,CAAC,EACD,OAAAJ,EAAM,YAAc,GAAGH,CAAS,QACzBG,CACT,CAGA,SAASD,EAAgBF,EAAW,CAClC,MAAMC,EAAYG,EAAM,WAAW,CAACC,EAAOC,IAAiB,CAC1D,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAS,EAAKH,EACnC,GAAID,EAAM,eAAeG,CAAQ,EAAG,CAClC,MAAMS,EAAcC,EAAcV,CAAQ,EACpCW,EAASC,EAAWX,EAAWD,EAAS,KAAK,EACnD,OAAIA,EAAS,OAASH,EAAM,WAC1Bc,EAAO,IAAMZ,EAAec,EAAAA,YAAYd,EAAcU,CAAW,EAAIA,GAEhEZ,EAAM,aAAaG,EAAUW,CAAM,CAC5C,CACA,OAAOd,EAAM,SAAS,MAAMG,CAAQ,EAAI,EAAIH,EAAM,SAAS,KAAK,IAAI,EAAI,IAC1E,CAAC,EACD,OAAAH,EAAU,YAAc,GAAGD,CAAS,aAC7BC,CACT,CACA,IAAIoB,EAAuB,OAAO,iBAAiB,EAWnD,SAASV,EAAYG,EAAO,CAC1B,OAAOV,EAAM,eAAeU,CAAK,GAAK,OAAOA,EAAM,MAAS,YAAc,cAAeA,EAAM,MAAQA,EAAM,KAAK,YAAcO,CAClI,CACA,SAASF,EAAWX,EAAWc,EAAY,CACzC,MAAMC,EAAgB,CAAE,GAAGD,CAAU,EACrC,UAAWE,KAAYF,EAAY,CACjC,MAAMG,EAAgBjB,EAAUgB,CAAQ,EAClCE,EAAiBJ,EAAWE,CAAQ,EACxB,WAAW,KAAKA,CAAQ,EAEpCC,GAAiBC,EACnBH,EAAcC,CAAQ,EAAI,IAAIG,IAAS,CACrC,MAAMC,EAASF,EAAe,GAAGC,CAAI,EACrC,OAAAF,EAAc,GAAGE,CAAI,EACdC,CACT,EACSH,IACTF,EAAcC,CAAQ,EAAIC,GAEnBD,IAAa,QACtBD,EAAcC,CAAQ,EAAI,CAAE,GAAGC,EAAe,GAAGC,CAAc,EACtDF,IAAa,cACtBD,EAAcC,CAAQ,EAAI,CAACC,EAAeC,CAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAEtF,CACA,MAAO,CAAE,GAAGlB,EAAW,GAAGe,CAAa,CACzC,CACA,SAASN,EAAcY,EAAS,SAC9B,IAAIC,GAASC,EAAA,OAAO,yBAAyBF,EAAQ,MAAO,KAAK,IAApD,YAAAE,EAAuD,IAChEC,EAAUF,GAAU,mBAAoBA,GAAUA,EAAO,eAC7D,OAAIE,EACKH,EAAQ,KAEjBC,GAASG,EAAA,OAAO,yBAAyBJ,EAAS,KAAK,IAA9C,YAAAI,EAAiD,IAC1DD,EAAUF,GAAU,mBAAoBA,GAAUA,EAAO,eACrDE,EACKH,EAAQ,MAAM,IAEhBA,EAAQ,MAAM,KAAOA,EAAQ,IACtC,CC3EA,IAAIK,EAAe,UACf,CAACC,CAAwC,EAAIC,EAAAA,mBAAmBF,EAAc,CAChFG,EAAAA,iBACF,CAAC,EACGC,EAAiBD,EAAAA,kBAAiB,EAClC,CAACE,EAAiBC,CAAiB,EAAIL,EAAqBD,CAAY,EACxEO,EAAWpC,GAAU,CACvB,KAAM,CACJ,eAAAqC,EACA,SAAAnC,EACA,KAAMoC,EACN,YAAAC,EACA,aAAAC,EACA,MAAAC,EAAQ,EACZ,EAAMzC,EACE0C,EAAcT,EAAeI,CAAc,EAC3CM,EAAa5C,EAAM,OAAO,IAAI,EAC9B,CAAC6C,EAAiBC,CAAkB,EAAI9C,EAAM,SAAS,EAAK,EAC5D,CAAC+C,EAAMC,CAAO,EAAIC,uBAAqB,CAC3C,KAAMV,EACN,YAAaC,GAAe,GAC5B,SAAUC,EACV,OAAQX,CACZ,CAAG,EACD,OAAuBnB,EAAAA,IAAIuC,EAAAA,MAAsB,CAAE,GAAGP,EAAa,SAA0BhC,EAAAA,IAC3FwB,EACA,CACE,MAAOG,EACP,UAAWa,EAAAA,MAAK,EAChB,WAAAP,EACA,KAAAG,EACA,aAAcC,EACd,aAAchD,EAAM,YAAY,IAAMgD,EAASI,GAAa,CAACA,CAAQ,EAAG,CAACJ,CAAO,CAAC,EACjF,gBAAAH,EACA,kBAAmB7C,EAAM,YAAY,IAAM8C,EAAmB,EAAI,EAAG,EAAE,EACvE,qBAAsB9C,EAAM,YAAY,IAAM8C,EAAmB,EAAK,EAAG,EAAE,EAC3E,MAAAJ,EACA,SAAAvC,CACN,CACA,EAAK,CACL,EACAkC,EAAQ,YAAcP,EACtB,IAAIuB,EAAc,gBACdC,EAAgBtD,EAAM,WACxB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,eAAAoC,EAAgB,GAAGiB,CAAW,EAAKtD,EACrCuD,EAAUpB,EAAkBiB,EAAaf,CAAc,EACvDK,EAAcT,EAAeI,CAAc,EAC3C,CAAE,kBAAAmB,EAAmB,qBAAAC,CAAoB,EAAKF,EACpDxD,OAAAA,EAAM,UAAU,KACdyD,EAAiB,EACV,IAAMC,EAAoB,GAChC,CAACD,EAAmBC,CAAoB,CAAC,EACrB/C,EAAAA,IAAIgD,EAAAA,OAAwB,CAAE,GAAGhB,EAAa,GAAGY,EAAa,IAAKrD,EAAc,CAC1G,CACF,EACAoD,EAAc,YAAcD,EAC5B,IAAIO,EAAe,iBACfC,EAAiB7D,EAAM,WACzB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,eAAAoC,EAAgB,GAAGwB,CAAY,EAAK7D,EACtCuD,EAAUpB,EAAkBwB,EAActB,CAAc,EACxDK,EAAcT,EAAeI,CAAc,EAC3CyB,EAAqBC,EAAAA,gBAAgB9D,EAAcsD,EAAQ,UAAU,EACrES,EAA0BtD,EAAAA,IAC9BuD,EAAAA,UAAU,OACV,CACE,KAAM,SACN,gBAAiB,SACjB,gBAAiBV,EAAQ,KACzB,gBAAiBA,EAAQ,UACzB,aAAcW,EAASX,EAAQ,IAAI,EACnC,GAAGM,EACH,IAAKC,EACL,QAASK,EAAAA,qBAAqBnE,EAAM,QAASuD,EAAQ,YAAY,CACzE,CACA,EACI,OAAOA,EAAQ,gBAAkBS,EAA0BtD,EAAAA,IAAIgD,EAAAA,OAAwB,CAAE,QAAS,GAAM,GAAGhB,EAAa,SAAUsB,CAAO,CAAE,CAC7I,CACF,EACAJ,EAAe,YAAcD,EAC7B,IAAIS,EAAc,gBACd,CAACC,EAAgBC,CAAgB,EAAIxC,EAAqBsC,EAAa,CACzE,WAAY,MACd,CAAC,EACGG,EAAiBvE,GAAU,CAC7B,KAAM,CAAE,eAAAqC,EAAgB,WAAAmC,EAAY,SAAAtE,EAAU,UAAAuE,CAAS,EAAKzE,EACtDuD,EAAUpB,EAAkBiC,EAAa/B,CAAc,EAC7D,OAAuB3B,MAAI2D,EAAgB,CAAE,MAAOhC,EAAgB,WAAAmC,EAAY,SAA0B9D,EAAAA,IAAIgE,WAAU,CAAE,QAASF,GAAcjB,EAAQ,KAAM,SAA0B7C,MAAIiE,EAAAA,OAAiB,CAAE,QAAS,GAAM,UAAAF,EAAW,SAAAvE,EAAU,CAAC,CAAE,CAAC,CAAE,CAC5P,EACAqE,EAAc,YAAcH,EAC5B,IAAIQ,EAAe,iBACfC,EAAiB9E,EAAM,WACzB,CAACC,EAAOC,IAAiB,CACvB,MAAM6E,EAAgBR,EAAiBM,EAAc5E,EAAM,cAAc,EACnE,CAAE,WAAAwE,EAAaM,EAAc,WAAY,GAAGC,CAAY,EAAK/E,EAC7DuD,EAAUpB,EAAkByC,EAAc5E,EAAM,cAAc,EACpE,OAAuBU,MAAIgE,EAAAA,SAAU,CAAE,QAASF,GAAcjB,EAAQ,KAAM,SAAUA,EAAQ,MAAwB7C,EAAAA,IAAIsE,EAAqB,CAAE,GAAGD,EAAc,IAAK9E,CAAY,CAAE,EAAoBS,EAAAA,IAAIuE,GAAwB,CAAE,GAAGF,EAAc,IAAK9E,CAAY,CAAE,CAAC,CAAE,CAChR,CACF,EACA4E,EAAe,YAAcD,EAC7B,IAAIM,EAAOxF,EAAW,6BAA6B,EAC/CsF,EAAsBjF,EAAM,WAC9B,CAACC,EAAOC,IAAiB,CACvB,MAAMsD,EAAUpB,EAAkByC,EAAc5E,EAAM,cAAc,EAC9DmF,EAAapF,EAAM,OAAO,IAAI,EAC9BqF,EAAerB,EAAAA,gBAAgB9D,EAAckF,CAAU,EACvDE,EAAyBtF,EAAM,OAAO,EAAK,EACjDA,OAAAA,EAAM,UAAU,IAAM,CACpB,MAAMuF,EAAUH,EAAW,QAC3B,GAAIG,EAAS,OAAOC,EAAAA,WAAWD,CAAO,CACxC,EAAG,CAAA,CAAE,EACkB5E,EAAAA,IAAI8E,EAAAA,kBAAc,CAAE,GAAIN,EAAM,eAAgB,GAAM,SAA0BxE,EAAAA,IACnG+E,EACA,CACE,GAAGzF,EACH,IAAKoF,EACL,UAAW7B,EAAQ,KACnB,4BAA6B,GAC7B,iBAAkBY,EAAAA,qBAAqBnE,EAAM,iBAAmB0F,GAAU,OACxEA,EAAM,eAAc,EACfL,EAAuB,UAAS3D,EAAA6B,EAAQ,WAAW,UAAnB,MAAA7B,EAA4B,OACnE,CAAC,EACD,qBAAsByC,EAAAA,qBACpBnE,EAAM,qBACL0F,GAAU,CACT,MAAMC,EAAgBD,EAAM,OAAO,cAC7BE,EAAgBD,EAAc,SAAW,GAAKA,EAAc,UAAY,GACxEE,EAAeF,EAAc,SAAW,GAAKC,EACnDP,EAAuB,QAAUQ,CACnC,EACA,CAAE,yBAA0B,EAAK,CAC3C,EACQ,eAAgB1B,EAAAA,qBACdnE,EAAM,eACL0F,GAAUA,EAAM,eAAc,EAC/B,CAAE,yBAA0B,EAAK,CAC3C,CACA,CACA,EAAO,CACL,CACF,EACIT,GAAyBlF,EAAM,WACjC,CAACC,EAAOC,IAAiB,CACvB,MAAMsD,EAAUpB,EAAkByC,EAAc5E,EAAM,cAAc,EAC9D8F,EAA0B/F,EAAM,OAAO,EAAK,EAC5CgG,EAA2BhG,EAAM,OAAO,EAAK,EACnD,OAAuBW,EAAAA,IACrB+E,EACA,CACE,GAAGzF,EACH,IAAKC,EACL,UAAW,GACX,4BAA6B,GAC7B,iBAAmByF,GAAU,UAC3BhE,EAAA1B,EAAM,mBAAN,MAAA0B,EAAA,KAAA1B,EAAyB0F,GACpBA,EAAM,mBACJI,EAAwB,UAASlE,EAAA2B,EAAQ,WAAW,UAAnB,MAAA3B,EAA4B,QAClE8D,EAAM,eAAc,GAEtBI,EAAwB,QAAU,GAClCC,EAAyB,QAAU,EACrC,EACA,kBAAoBL,GAAU,UAC5BhE,EAAA1B,EAAM,oBAAN,MAAA0B,EAAA,KAAA1B,EAA0B0F,GACrBA,EAAM,mBACTI,EAAwB,QAAU,GAC9BJ,EAAM,OAAO,cAAc,OAAS,gBACtCK,EAAyB,QAAU,KAGvC,MAAMC,EAASN,EAAM,SACG9D,EAAA2B,EAAQ,WAAW,UAAnB,YAAA3B,EAA4B,SAASoE,KACxCN,EAAM,eAAc,EACrCA,EAAM,OAAO,cAAc,OAAS,WAAaK,EAAyB,SAC5EL,EAAM,eAAc,CAExB,CACR,CACA,CACE,CACF,EACID,EAAqB1F,EAAM,WAC7B,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,eAAAoC,EACA,UAAA4D,EACA,gBAAAC,EACA,iBAAAC,EACA,4BAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,eAAAC,EACA,kBAAAC,EACA,GAAGzB,CACT,EAAQ/E,EACEuD,EAAUpB,EAAkByC,EAAcvC,CAAc,EACxDK,EAAcT,EAAeI,CAAc,EACjDoE,OAAAA,iBAAc,EACS/F,EAAAA,IACrBgG,EAAAA,WACA,CACE,QAAS,GACT,KAAM,GACN,QAAST,EACT,iBAAkBC,EAClB,mBAAoBC,EACpB,SAA0BzF,EAAAA,IACxBiG,EAAAA,iBACA,CACE,QAAS,GACT,4BAAAP,EACA,kBAAAI,EACA,gBAAAH,EACA,qBAAAC,EACA,eAAAC,EACA,UAAW,IAAMhD,EAAQ,aAAa,EAAK,EAC3C,SAA0B7C,EAAAA,IACxBkG,EAAAA,QACA,CACE,aAAc1C,EAASX,EAAQ,IAAI,EACnC,KAAM,SACN,GAAIA,EAAQ,UACZ,GAAGb,EACH,GAAGqC,EACH,IAAK9E,EACL,MAAO,CACL,GAAG8E,EAAa,MAGd,2CAA4C,uCAC5C,0CAA2C,sCAC3C,2CAA4C,uCAC5C,gCAAiC,mCACjC,iCAAkC,mCAEtD,CACA,CACA,CACA,CACA,CACA,CACA,CACE,CACF,EACI8B,EAAa,eACbC,GAAe/G,EAAM,WACvB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,eAAAoC,EAAgB,GAAG0E,CAAU,EAAK/G,EACpCuD,EAAUpB,EAAkB0E,EAAYxE,CAAc,EAC5D,OAAuB3B,EAAAA,IACrBuD,EAAAA,UAAU,OACV,CACE,KAAM,SACN,GAAG8C,EACH,IAAK9G,EACL,QAASkE,EAAAA,qBAAqBnE,EAAM,QAAS,IAAMuD,EAAQ,aAAa,EAAK,CAAC,CACtF,CACA,CACE,CACF,EACAuD,GAAa,YAAcD,EAC3B,IAAIG,GAAa,eACbC,GAAelH,EAAM,WACvB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,eAAAoC,EAAgB,GAAG6E,CAAU,EAAKlH,EACpC0C,EAAcT,EAAeI,CAAc,EACjD,OAAuB3B,EAAAA,IAAIyG,EAAAA,MAAuB,CAAE,GAAGzE,EAAa,GAAGwE,EAAY,IAAKjH,EAAc,CACxG,CACF,EACAgH,GAAa,YAAcD,GAC3B,SAAS9C,EAASpB,EAAM,CACtB,OAAOA,EAAO,OAAS,QACzB,CACA,IAAIsE,GAAQhF,EAERiF,GAAUzD,EACV0D,GAAS/C,EACTgD,EAAW1C,ECnSf,MAAMzC,GAAUoF,GAEV5D,GAAiB6D,GAUjB5C,EAAiB9E,EAAM,WAG3B,CAAC,CAAE,UAAA2H,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAG5H,CAAA,EAAS6H,IAC5DnH,EAAAA,IAACoH,GAAA,CACC,SAAApH,EAAAA,IAACqH,EAAA,CACC,IAAAF,EACA,MAAAF,EACA,WAAAC,EACA,UAAWI,EAAAA,GACT,6aACAN,CAAA,EAED,GAAG1H,CAAA,CACN,EACF,CACD,EACD6E,EAAe,YAAckD,EAAyB","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"popover-cRDGBSyg.cjs.js","sources":["../../node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../src/ui/popover/popover.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\nimport { cn } from '../../lib';\nimport type { ElementDataType } from '../../types';\n\n/**\n * Popover primitives for floating content triggered by another element.\n */\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\n/**\n * PopoverContent - The floating panel that appears near the trigger.\n * @returns {JSX.Element} The rendered PopoverContent component.\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the popover content.\n * @param {'start' | 'center' | 'end'} [props.align='center'] - The alignment of the popover content relative to the trigger.\n * @param {number} [props.sideOffset=4] - The distance between the trigger and the popover content.\n */\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\n/**\n * Props aggregation for components that wrap Popover primitives.\n * Useful for high-level components needing to forward props to specific Popover parts.\n * @property {React.ComponentPropsWithoutRef<typeof PopoverTrigger> & ElementDataType} [triggerProps] - Props for the PopoverTrigger component.\n * @property {React.ComponentPropsWithoutRef<typeof PopoverContent> & ElementDataType} [contentProps] - Props for the PopoverContent component.\n */\ninterface PopoverContainerProps {\n triggerProps?: React.ComponentPropsWithoutRef<typeof PopoverTrigger> &\n ElementDataType;\n contentProps?: React.ComponentPropsWithoutRef<typeof PopoverContent> &\n ElementDataType;\n}\n\nexport { Popover, PopoverContent, PopoverTrigger, type PopoverContainerProps };\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","_a","mayWarn","_b","POPOVER_NAME","createPopoverContext","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","__scopePopover","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","hasCustomAnchor","setHasCustomAnchor","open","setOpen","useControllableState","PopperPrimitive.Root","useId","prevOpen","ANCHOR_NAME","PopoverAnchor","anchorProps","context","onCustomAnchorAdd","onCustomAnchorRemove","PopperPrimitive.Anchor","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","PopoverPortal","forceMount","container","Presence","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","Slot","contentRef","composedRefs","isRightClickOutsideRef","content","hideOthers","RemoveScroll","PopoverContentImpl","event","originalEvent","ctrlLeftClick","isRightClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","useFocusGuards","FocusScope","DismissableLayer","PopperPrimitive.Content","CLOSE_NAME","PopoverClose","closeProps","ARROW_NAME","PopoverArrow","arrowProps","PopperPrimitive.Arrow","Root2","Trigger","Portal","Content2","PopoverPrimitive.Root","PopoverPrimitive.Trigger","className","align","sideOffset","ref","PopoverPrimitive.Portal","PopoverPrimitive.Content","cn"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-sLp4wPce.cjs.js","sources":["../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\nimport { cn } from '../../lib';\n\n/**\n * ScrollArea - Container providing custom scrollbars for overflowing content.\n *\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the scroll area.\n * @param {React.ReactNode} [props.children] - The content to be rendered inside the scroll area.\n */\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-auto', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\n/**\n * ScrollBar - Styled scrollbar that adapts to orientation.\n *\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the scrollbar.\n * @param {'vertical' | 'horizontal'} [props.orientation='vertical'] - The orientation of the scrollbar.\n */\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none transition-colors select-none',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"bg-border relative flex-1 rounded-full\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","_a","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner","className","ScrollAreaPrimitive.Root","cn","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"scroll-area-sLp4wPce.cjs.js","sources":["../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\nimport { cn } from '../../lib';\n\n/**\n * ScrollArea - Container providing custom scrollbars for overflowing content.\n * @returns {JSX.Element} The rendered ScrollArea component.\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the scroll area.\n * @param {React.ReactNode} [props.children] - The content to be rendered inside the scroll area.\n */\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-auto', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\n/**\n * ScrollBar - Styled scrollbar that adapts to orientation.\n * @returns {JSX.Element} The rendered ScrollBar component.\n * @param {object} props - The properties for the component.\n * @param {string} [props.className] - Additional classes for the scrollbar.\n * @param {'vertical' | 'horizontal'} [props.orientation='vertical'] - The orientation of the scrollbar.\n */\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none transition-colors select-none',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"bg-border relative flex-1 rounded-full\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"],"names":["useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","_a","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner","className","ScrollAreaPrimitive.Root","cn","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":"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","x_google_ignoreList":[0]}