ivt 0.0.7 → 0.0.9

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 (196) hide show
  1. package/dist/accordion/index.d.ts +5 -5
  2. package/dist/accordion/index.mjs +1 -1
  3. package/dist/alert/index.d.ts +13 -0
  4. package/dist/alert/index.mjs +2 -0
  5. package/dist/alert/index.mjs.map +1 -0
  6. package/dist/avatar/index.d.ts +9 -0
  7. package/dist/avatar/index.mjs +2 -0
  8. package/dist/avatar/index.mjs.map +1 -0
  9. package/dist/badge/index.d.ts +6 -2
  10. package/dist/badge/index.mjs +1 -1
  11. package/dist/badge/index.mjs.map +1 -1
  12. package/dist/base/index.d.ts +15 -4
  13. package/dist/base/index.mjs +1 -1
  14. package/dist/base/index.mjs.map +1 -1
  15. package/dist/button/index.mjs +1 -1
  16. package/dist/calendar/index.d.ts +2 -2
  17. package/dist/calendar/index.mjs +1 -1
  18. package/dist/card/index.d.ts +8 -8
  19. package/dist/card/index.mjs +1 -1
  20. package/dist/card/index.mjs.map +1 -1
  21. package/dist/checkbox/index.d.ts +2 -2
  22. package/dist/checkbox/index.mjs +1 -1
  23. package/dist/checkbox/index.mjs.map +1 -1
  24. package/dist/chunks/Combination-CaCdPc0V.mjs +2 -0
  25. package/dist/chunks/{Combination-CyYyS_SM.mjs.map → Combination-CaCdPc0V.mjs.map} +1 -1
  26. package/dist/chunks/{TextWrap-aRTaok1G.mjs → TextWrap-Dl2hdlNW.mjs} +2 -2
  27. package/dist/chunks/TextWrap-Dl2hdlNW.mjs.map +1 -0
  28. package/dist/chunks/accordion-CmREbOZu.mjs +2 -0
  29. package/dist/chunks/{accordion-DpawKek3.mjs.map → accordion-CmREbOZu.mjs.map} +1 -1
  30. package/dist/chunks/badge-C8zgs_tL.mjs +2 -0
  31. package/dist/chunks/badge-C8zgs_tL.mjs.map +1 -0
  32. package/dist/chunks/{bundle-mjs-DnMeAVOT.mjs → bundle-mjs-AZJHj4Ev.mjs} +1 -1
  33. package/dist/chunks/{bundle-mjs-DnMeAVOT.mjs.map → bundle-mjs-AZJHj4Ev.mjs.map} +1 -1
  34. package/dist/chunks/{button-CUUUd-GC.mjs → button-nH1thepn.mjs} +2 -2
  35. package/dist/chunks/button-nH1thepn.mjs.map +1 -0
  36. package/dist/chunks/calendar-kXnIApaf.mjs +2 -0
  37. package/dist/chunks/{calendar-Bgc5EEL2.mjs.map → calendar-kXnIApaf.mjs.map} +1 -1
  38. package/dist/chunks/check-1SKm0QUI.mjs +2 -0
  39. package/dist/chunks/{check-0el77MKz.mjs.map → check-1SKm0QUI.mjs.map} +1 -1
  40. package/dist/chunks/chevron-down-i6P9lr6K.mjs +2 -0
  41. package/dist/chunks/{chevron-down-D5Xyp48A.mjs.map → chevron-down-i6P9lr6K.mjs.map} +1 -1
  42. package/dist/chunks/chevron-left-kY7-JEU4.mjs +2 -0
  43. package/dist/chunks/{chevron-left-DSinxt9A.mjs.map → chevron-left-kY7-JEU4.mjs.map} +1 -1
  44. package/dist/chunks/chevron-right-BCy8nVMg.mjs +2 -0
  45. package/dist/chunks/{chevron-right-DvIJOX9A.mjs.map → chevron-right-BCy8nVMg.mjs.map} +1 -1
  46. package/dist/chunks/command-DGFeu1l0.mjs +2 -0
  47. package/dist/chunks/command-DGFeu1l0.mjs.map +1 -0
  48. package/dist/chunks/{createLucideIcon-De2tZJhv.mjs → createLucideIcon-NXzoJfn7.mjs} +1 -1
  49. package/dist/chunks/{createLucideIcon-De2tZJhv.mjs.map → createLucideIcon-NXzoJfn7.mjs.map} +1 -1
  50. package/dist/chunks/dialog-CK4LXN-o.mjs +2 -0
  51. package/dist/chunks/dialog-CK4LXN-o.mjs.map +1 -0
  52. package/dist/chunks/hover-card-CQqdx2Ss.mjs +2 -0
  53. package/dist/chunks/hover-card-CQqdx2Ss.mjs.map +1 -0
  54. package/dist/chunks/{index-CmGsz_8M.mjs → index-5xCD9zck.mjs} +1 -1
  55. package/dist/chunks/{index-CmGsz_8M.mjs.map → index-5xCD9zck.mjs.map} +1 -1
  56. package/dist/chunks/index-BXYIPnYd.mjs +2 -0
  57. package/dist/chunks/{index-Eo-UV7HL.mjs.map → index-BXYIPnYd.mjs.map} +1 -1
  58. package/dist/chunks/index-B_Oam-QU.mjs +2 -0
  59. package/dist/chunks/{index-BuGzJybI.mjs.map → index-B_Oam-QU.mjs.map} +1 -1
  60. package/dist/chunks/{index-BGhqW2Il.mjs → index-BkrjWCcN.mjs} +1 -1
  61. package/dist/chunks/{index-BGhqW2Il.mjs.map → index-BkrjWCcN.mjs.map} +1 -1
  62. package/dist/chunks/index-BzUzK8k1.mjs +2 -0
  63. package/dist/chunks/index-BzUzK8k1.mjs.map +1 -0
  64. package/dist/chunks/index-CBuWa3V_.mjs +2 -0
  65. package/dist/chunks/index-CBuWa3V_.mjs.map +1 -0
  66. package/dist/chunks/{index-0ulImjdF.mjs → index-CRTXCtD-.mjs} +2 -2
  67. package/dist/chunks/{index-0ulImjdF.mjs.map → index-CRTXCtD-.mjs.map} +1 -1
  68. package/dist/chunks/{index-SI7n7FwH.mjs → index-Cj8SbPde.mjs} +2 -2
  69. package/dist/chunks/{index-SI7n7FwH.mjs.map → index-Cj8SbPde.mjs.map} +1 -1
  70. package/dist/chunks/index-DFm8Tejm.mjs +2 -0
  71. package/dist/chunks/{index-CVTJI-8T.mjs.map → index-DFm8Tejm.mjs.map} +1 -1
  72. package/dist/chunks/{index-CllKujAS.mjs → index-DU2SqYv7.mjs} +2 -2
  73. package/dist/chunks/{index-CllKujAS.mjs.map → index-DU2SqYv7.mjs.map} +1 -1
  74. package/dist/chunks/{index-C5go0LX8.mjs → index-DXDEMoyA.mjs} +1 -1
  75. package/dist/chunks/{index-C5go0LX8.mjs.map → index-DXDEMoyA.mjs.map} +1 -1
  76. package/dist/chunks/index-DagWVwpf.mjs +2 -0
  77. package/dist/chunks/{index-DhIMkiDX.mjs.map → index-DagWVwpf.mjs.map} +1 -1
  78. package/dist/chunks/{index-DMXVIqDM.mjs → index-VNeBf_qQ.mjs} +2 -2
  79. package/dist/chunks/{index-DMXVIqDM.mjs.map → index-VNeBf_qQ.mjs.map} +1 -1
  80. package/dist/chunks/input-C42RCjiu.mjs +2 -0
  81. package/dist/chunks/input-C42RCjiu.mjs.map +1 -0
  82. package/dist/chunks/label-CYa-od6V.mjs +2 -0
  83. package/dist/chunks/label-CYa-od6V.mjs.map +1 -0
  84. package/dist/chunks/pagination-CA8cg0Ef.mjs +2 -0
  85. package/dist/chunks/pagination-CA8cg0Ef.mjs.map +1 -0
  86. package/dist/chunks/popover-Bnsc9Msi.mjs +2 -0
  87. package/dist/chunks/{popover-C5RxsRcQ.mjs.map → popover-Bnsc9Msi.mjs.map} +1 -1
  88. package/dist/chunks/progress-D3QmAjD-.mjs +2 -0
  89. package/dist/chunks/{progress-D1bk3yWe.mjs.map → progress-D3QmAjD-.mjs.map} +1 -1
  90. package/dist/chunks/scroll-area-BQVIH3mC.mjs +2 -0
  91. package/dist/chunks/{scroll-area-00P-K3zA.mjs.map → scroll-area-BQVIH3mC.mjs.map} +1 -1
  92. package/dist/chunks/select-D7mWN4gA.mjs +2 -0
  93. package/dist/chunks/select-D7mWN4gA.mjs.map +1 -0
  94. package/dist/chunks/skeleton-m5uG2KMb.mjs +2 -0
  95. package/dist/chunks/skeleton-m5uG2KMb.mjs.map +1 -0
  96. package/dist/chunks/{sortable-BfuXuKfa.mjs → sortable-DtvuiJmc.mjs} +2 -2
  97. package/dist/chunks/{sortable-BfuXuKfa.mjs.map → sortable-DtvuiJmc.mjs.map} +1 -1
  98. package/dist/chunks/table-BaYgiNHD.mjs +2 -0
  99. package/dist/chunks/table-BaYgiNHD.mjs.map +1 -0
  100. package/dist/chunks/{tslib.es6-BF29wwud.mjs → tslib.es6-DnJNy3VA.mjs} +1 -1
  101. package/dist/chunks/{tslib.es6-BF29wwud.mjs.map → tslib.es6-DnJNy3VA.mjs.map} +1 -1
  102. package/dist/chunks/{utils-ihtedRak.mjs → utils-DRGc21x1.mjs} +2 -2
  103. package/dist/chunks/utils-DRGc21x1.mjs.map +1 -0
  104. package/dist/chunks/x-DjF9gicP.mjs +2 -0
  105. package/dist/chunks/{x-CTH8w2xf.mjs.map → x-DjF9gicP.mjs.map} +1 -1
  106. package/dist/command/index.d.ts +11 -11
  107. package/dist/command/index.mjs +1 -1
  108. package/dist/data-table/index.d.ts +8 -2
  109. package/dist/data-table/index.mjs +1 -1
  110. package/dist/data-table/index.mjs.map +1 -1
  111. package/dist/dialog/index.d.ts +11 -11
  112. package/dist/dialog/index.mjs +1 -1
  113. package/dist/dropdown-menu/index.d.ts +16 -16
  114. package/dist/dropdown-menu/index.mjs +1 -1
  115. package/dist/dropdown-menu/index.mjs.map +1 -1
  116. package/dist/dropzone/index.d.ts +10 -1
  117. package/dist/dropzone/index.mjs +2 -2
  118. package/dist/dropzone/index.mjs.map +1 -1
  119. package/dist/form/index.d.ts +1 -1
  120. package/dist/form/index.mjs +1 -1
  121. package/dist/form/index.mjs.map +1 -1
  122. package/dist/hover-card/index.d.ts +9 -0
  123. package/dist/hover-card/index.mjs +2 -0
  124. package/dist/hover-card/index.mjs.map +1 -0
  125. package/dist/icon/index.mjs +1 -1
  126. package/dist/icon/index.mjs.map +1 -1
  127. package/dist/index.css +1 -1
  128. package/dist/input/index.d.ts +2 -2
  129. package/dist/input/index.mjs +1 -1
  130. package/dist/label/index.d.ts +2 -2
  131. package/dist/label/index.mjs +1 -1
  132. package/dist/pagination/index.d.ts +8 -8
  133. package/dist/pagination/index.mjs +1 -1
  134. package/dist/popover/index.d.ts +5 -5
  135. package/dist/popover/index.mjs +1 -1
  136. package/dist/progress/index.d.ts +2 -2
  137. package/dist/progress/index.mjs +1 -1
  138. package/dist/scroll-area/index.d.ts +3 -3
  139. package/dist/scroll-area/index.mjs +1 -1
  140. package/dist/select/index.d.ts +11 -11
  141. package/dist/select/index.mjs +1 -1
  142. package/dist/separator/index.d.ts +2 -2
  143. package/dist/separator/index.mjs +1 -1
  144. package/dist/separator/index.mjs.map +1 -1
  145. package/dist/sheet/index.d.ts +9 -9
  146. package/dist/sheet/index.mjs +1 -1
  147. package/dist/sheet/index.mjs.map +1 -1
  148. package/dist/skeleton/index.mjs +1 -1
  149. package/dist/sortable/index.mjs +1 -1
  150. package/dist/table/index.d.ts +9 -9
  151. package/dist/table/index.mjs +1 -1
  152. package/dist/tabs/index.d.ts +5 -5
  153. package/dist/tabs/index.mjs +1 -1
  154. package/dist/tabs/index.mjs.map +1 -1
  155. package/dist/toast/index.mjs +1 -1
  156. package/dist/toast/index.mjs.map +1 -1
  157. package/dist/tooltip/index.d.ts +5 -5
  158. package/dist/tooltip/index.mjs +1 -1
  159. package/dist/tooltip/index.mjs.map +1 -1
  160. package/package.json +38 -7
  161. package/dist/chunks/Combination-CyYyS_SM.mjs +0 -2
  162. package/dist/chunks/TextWrap-aRTaok1G.mjs.map +0 -1
  163. package/dist/chunks/accordion-DpawKek3.mjs +0 -2
  164. package/dist/chunks/button-CUUUd-GC.mjs.map +0 -1
  165. package/dist/chunks/calendar-Bgc5EEL2.mjs +0 -2
  166. package/dist/chunks/check-0el77MKz.mjs +0 -2
  167. package/dist/chunks/chevron-down-D5Xyp48A.mjs +0 -2
  168. package/dist/chunks/chevron-left-DSinxt9A.mjs +0 -2
  169. package/dist/chunks/chevron-right-DvIJOX9A.mjs +0 -2
  170. package/dist/chunks/command-BkvrXopz.mjs +0 -2
  171. package/dist/chunks/command-BkvrXopz.mjs.map +0 -1
  172. package/dist/chunks/dialog-Ci5YNXh2.mjs +0 -2
  173. package/dist/chunks/dialog-Ci5YNXh2.mjs.map +0 -1
  174. package/dist/chunks/index-BuGzJybI.mjs +0 -2
  175. package/dist/chunks/index-CVTJI-8T.mjs +0 -2
  176. package/dist/chunks/index-DhIMkiDX.mjs +0 -2
  177. package/dist/chunks/index-Eo-UV7HL.mjs +0 -2
  178. package/dist/chunks/index-wbuw6FYR.mjs +0 -2
  179. package/dist/chunks/index-wbuw6FYR.mjs.map +0 -1
  180. package/dist/chunks/input-YYNIX4HJ.mjs +0 -2
  181. package/dist/chunks/input-YYNIX4HJ.mjs.map +0 -1
  182. package/dist/chunks/label-xCRg1H88.mjs +0 -2
  183. package/dist/chunks/label-xCRg1H88.mjs.map +0 -1
  184. package/dist/chunks/pagination-CJBX9rpr.mjs +0 -2
  185. package/dist/chunks/pagination-CJBX9rpr.mjs.map +0 -1
  186. package/dist/chunks/popover-C5RxsRcQ.mjs +0 -2
  187. package/dist/chunks/progress-D1bk3yWe.mjs +0 -2
  188. package/dist/chunks/scroll-area-00P-K3zA.mjs +0 -2
  189. package/dist/chunks/select-3Bu7wZI4.mjs +0 -2
  190. package/dist/chunks/select-3Bu7wZI4.mjs.map +0 -1
  191. package/dist/chunks/skeleton-Cug3TaOR.mjs +0 -2
  192. package/dist/chunks/skeleton-Cug3TaOR.mjs.map +0 -1
  193. package/dist/chunks/table-BEFxdl4s.mjs +0 -2
  194. package/dist/chunks/table-BEFxdl4s.mjs.map +0 -1
  195. package/dist/chunks/utils-ihtedRak.mjs.map +0 -1
  196. package/dist/chunks/x-CTH8w2xf.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"popover-C5RxsRcQ.mjs","sources":["../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../src/components/ui/popover/popover.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/popover/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 { Slot } 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 = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\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 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 React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\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 cursor-pointer rounded-md border p-4 shadow-md outline-none\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"names":["POPOVER_NAME","createPopoverContext","createPopoverScope","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","props","__scopePopover","children","open","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","React","useRef","hasCustomAnchor","setHasCustomAnchor","useState","setOpen","useControllableState","prop","defaultProp","onChange","jsx","PopperPrimitive.Root","scope","contentId","useId","onOpenToggle","useCallback","prevOpen","onCustomAnchorAdd","onCustomAnchorRemove","displayName","ANCHOR_NAME","PopoverAnchor","forwardRef","forwardedRef","anchorProps","context","useEffect","PopperPrimitive.Anchor","ref","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","button","type","getState","onClick","composeEventHandlers","asChild","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","PopoverPortal","container","Presence","present","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","contentRef","composedRefs","isRightClickOutsideRef","content","current","hideOthers","RemoveScroll","as","Slot","allowPinchZoom","PopoverContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","isRightClick","checkForDefaultPrevented","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","onEscapeKeyDown","useFocusGuards","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","onDismiss","PopperPrimitive.Content","role","id","style","CLOSE_NAME","closeProps","arrowProps","PopperPrimitive.Arrow","Root","Anchor","Trigger","Portal","Content","createElement","PopoverPrimitive","data-slot","className","align","sideOffset","cn"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"popover-Bnsc9Msi.mjs","sources":["../../node_modules/@radix-ui/react-popover/dist/index.mjs","../../src/components/ui/popover/popover.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/popover/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 { Slot } 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 = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\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 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 { cn } from \"@/lib/utils\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport React from \"react\";\n\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n\treturn <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n\treturn <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n\tclassName,\n\talign = \"center\",\n\tsideOffset = 4,\n\t...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n\treturn (\n\t\t<PopoverPrimitive.Portal>\n\t\t\t<PopoverPrimitive.Content\n\t\t\t\tdata-slot=\"popover-content\"\n\t\t\t\talign={align}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"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 cursor-pointer rounded-md border p-4 shadow-md outline-none\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</PopoverPrimitive.Portal>\n\t);\n}\n\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n\treturn <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"names":["POPOVER_NAME","createPopoverContext","createPopoverScope","createContextScope","createPopperScope","usePopperScope","PopoverProvider","usePopoverContext","Popover","props","__scopePopover","children","open","openProp","defaultOpen","onOpenChange","modal","popperScope","triggerRef","React","useRef","hasCustomAnchor","setHasCustomAnchor","useState","setOpen","useControllableState","prop","defaultProp","onChange","jsx","PopperPrimitive.Root","scope","contentId","useId","onOpenToggle","useCallback","prevOpen","onCustomAnchorAdd","onCustomAnchorRemove","displayName","ANCHOR_NAME","PopoverAnchor","forwardRef","forwardedRef","anchorProps","context","useEffect","PopperPrimitive.Anchor","ref","TRIGGER_NAME","PopoverTrigger","triggerProps","composedTriggerRef","useComposedRefs","trigger","Primitive","button","type","getState","onClick","composeEventHandlers","asChild","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","PopoverPortal","container","Presence","present","PortalPrimitive","CONTENT_NAME","PopoverContent","portalContext","contentProps","PopoverContentModal","PopoverContentNonModal","contentRef","composedRefs","isRightClickOutsideRef","content","current","hideOthers","RemoveScroll","as","Slot","allowPinchZoom","PopoverContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","isRightClick","checkForDefaultPrevented","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","onEscapeKeyDown","useFocusGuards","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","onDismiss","PopperPrimitive.Content","role","id","style","CLOSE_NAME","closeProps","arrowProps","PopperPrimitive.Arrow","Root","Anchor","Trigger","Portal","Content","createElement","PopoverPrimitive","data-slot","className","align","sideOffset","cn"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./utils-DRGc21x1.mjs";import*as a from"react";import r from"react";import{c as t}from"./index-BkrjWCcN.mjs";import{P as o}from"./index-5xCD9zck.mjs";import{jsx as n}from"react/jsx-runtime";var l="Progress",s=100,[i,u]=t(l),[m,d]=i(l),f=a.forwardRef(((e,a)=>{const{__scopeProgress:r,value:t=null,max:l,getValueLabel:i=c,...u}=e;!l&&0!==l||h(l)||console.error(`Invalid prop \`max\` of value \`${`${l}`}\` supplied to \`${"Progress"}\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`);const d=h(l)?l:s;null===t||N(t,d)||console.error(function(e,a){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${a}\`. The \`value\` prop must be:\n - a positive number\n - less than the value passed to \`max\` (or 100 if no \`max\` prop is set)\n - \`null\` or \`undefined\` if the progress is indeterminate.\n\nDefaulting to \`null\`.`}(`${t}`,"Progress"));const f=N(t,d)?t:null,p=x(f)?i(f,d):void 0;return n(m,{scope:r,value:f,max:d,children:n(o.div,{"aria-valuemax":d,"aria-valuemin":0,"aria-valuenow":x(f)?f:void 0,"aria-valuetext":p,role:"progressbar","data-state":g(f,d),"data-value":f??void 0,"data-max":d,...u,ref:a})})}));f.displayName=l;var p="ProgressIndicator",v=a.forwardRef(((e,a)=>{const{__scopeProgress:r,...t}=e,l=d(p,r);return n(o.div,{"data-state":g(l.value,l.max),"data-value":l.value??void 0,"data-max":l.max,...t,ref:a})}));function c(e,a){return`${Math.round(e/a*100)}%`}function g(e,a){return null==e?"indeterminate":e===a?"complete":"loading"}function x(e){return"number"==typeof e}function h(e){return x(e)&&!isNaN(e)&&e>0}function N(e,a){return x(e)&&!isNaN(e)&&e<=a&&e>=0}v.displayName=p;var b=f,P=v;function $({className:a,value:t,...o}){return r.createElement(b,{"data-slot":"progress",className:e("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",a),...o},r.createElement(P,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}}))}export{$ as P};
2
+ //# sourceMappingURL=progress-D3QmAjD-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-D1bk3yWe.mjs","sources":["../../node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/ui/progress/progress.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/progress/src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-primary h-full w-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"names":["PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","forwardRef","props","forwardedRef","__scopeProgress","value","valueProp","max","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","console","error","isValidValueNumber","propValue","componentName","getInvalidValueError","valueLabel","isNumber","jsx","scope","children","Primitive","div","role","getProgressState","ref","displayName","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","Math","round","maxValue","isNaN","Root","Indicator","className","createElement","ProgressPrimitive","data-slot","cn","style","transform"],"mappings":"2LAUA,IAAMA,EAAgB,WAChBC,EAAc,KAGbC,EAAuBC,GAAuBC,EAAmBJ,IAIjEK,EAAkBC,GACvBJ,EAA4CF,GAUxCO,EAAiBC,EAAAC,YACrB,CAACC,EAAmCC,KAClC,MAAMC,gBACJA,EACAC,MAAOC,EAAY,KACnBC,IAAKC,EAAAC,cACLA,EAAgBC,KACbC,GACDT,GAECM,GAAW,IAAAA,GAAmBI,EAAiBJ,IAClDK,QAAQC,MA+FL,mCA/F8B,GAAGN,uBAAW,0FAGjD,MAAMD,EAAMK,EAAiBJ,GAAWA,EAAUf,EAEhC,OAAda,GAAuBS,EAAmBT,EAAWC,IACvDM,QAAQC,MA4Fd,SAA8BE,EAAmBC,GAC/C,MAAO,qCAAqCD,qBAA6BC,mOAM3E,CAnGoBC,CAAqB,GAAGZ,IAAa,aAGrD,MAAMD,EAAQU,EAAmBT,EAAWC,GAAOD,EAAY,KACzDa,EAAaC,EAASf,GAASI,EAAcJ,EAAOE,QAAO,EAEjE,OACEc,EAACxB,EAAA,CAAiByB,MAAOlB,EAAiBC,QAAcE,MACtDgB,SAAAF,EAACG,EAAUC,IAAV,CACC,gBAAelB,EACf,gBAAe,EACf,gBAAea,EAASf,GAASA,OAAQ,EACzC,iBAAgBc,EAChBO,KAAK,cACL,aAAYC,EAAiBtB,EAAOE,GACpC,aAAYF,QAAS,EACrB,WAAUE,KACNI,EACJiB,IAAKzB,KAET,IAKNJ,EAAS8B,YAAcrC,EAMvB,IAAMsC,EAAiB,oBAKjBC,EAA0B/B,EAAAC,YAC9B,CAACC,EAA4CC,KAC3C,MAAMC,gBAAEA,KAAoB4B,GAAmB9B,EACzC+B,EAAUnC,EAAmBgC,EAAgB1B,GACnD,OACEiB,EAACG,EAAUC,IAAV,CACC,aAAYE,EAAiBM,EAAQ5B,MAAO4B,EAAQ1B,KACpD,aAAY0B,EAAQ5B,YAAS,EAC7B,WAAU4B,EAAQ1B,OACdyB,EACJJ,IAAKzB,GAAA,IAUb,SAASO,EAAqBL,EAAeE,GAC3C,MAAO,GAAG2B,KAAKC,MAAO9B,EAAQE,EAAO,OACvC,CAEA,SAASoB,EAAiBtB,EAAkC+B,GAC1D,OAAgB,MAAT/B,EAAgB,gBAAkBA,IAAU+B,EAAW,WAAa,SAC7E,CAEA,SAAShB,EAASf,GAChB,MAAwB,iBAAVA,CAChB,CAEA,SAASO,EAAiBL,GAExB,OACEa,EAASb,KACR8B,MAAM9B,IACPA,EAAM,CAEV,CAEA,SAASQ,EAAmBV,EAAYE,GAEtC,OACEa,EAASf,KACRgC,MAAMhC,IACPA,GAASE,GACTF,GAAS,CAEb,CAjCA0B,EAAkBF,YAAcC,EAiDhC,IAAMQ,EAAOvC,EACPwC,EAAYR,EC/IlB,SAAShC,GAASyC,UAChBA,EAASnC,MACTA,KACGH,IAEH,OACEF,EAAAyC,cAACC,EAAsB,CACrBC,YAAU,WACVH,UAAWI,EACT,iEACAJ,MAEEtC,GAEJF,EAAAyC,cAACC,EAA2B,CAC1BC,YAAU,qBACVH,UAAU,iDACVK,MAAO,CAAEC,UAAW,eAAe,KAAOzC,GAAS,UAI3D","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"progress-D3QmAjD-.mjs","sources":["../../node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/ui/progress/progress.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/progress/src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport React from \"react\";\n\nfunction Progress({\n\tclassName,\n\tvalue,\n\t...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={cn(\"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tdata-slot=\"progress-indicator\"\n\t\t\t\tclassName=\"bg-primary h-full w-full flex-1 transition-all\"\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t);\n}\n\nexport { Progress };\n"],"names":["PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","forwardRef","props","forwardedRef","__scopeProgress","value","valueProp","max","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","console","error","isValidValueNumber","propValue","componentName","getInvalidValueError","valueLabel","isNumber","jsx","scope","children","Primitive","div","role","getProgressState","ref","displayName","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","Math","round","maxValue","isNaN","Root","Indicator","className","createElement","ProgressPrimitive","data-slot","cn","style","transform"],"mappings":"gNAUA,IAAMA,EAAgB,WAChBC,EAAc,KAGbC,EAAuBC,GAAuBC,EAAmBJ,IAIjEK,EAAkBC,GACvBJ,EAA4CF,GAUxCO,EAAiBC,EAAAC,YACrB,CAACC,EAAmCC,KAClC,MAAMC,gBACJA,EACAC,MAAOC,EAAY,KACnBC,IAAKC,EAAAC,cACLA,EAAgBC,KACbC,GACDT,GAECM,GAAW,IAAAA,GAAmBI,EAAiBJ,IAClDK,QAAQC,MA+FL,mCA/F8B,GAAGN,uBAAW,0FAGjD,MAAMD,EAAMK,EAAiBJ,GAAWA,EAAUf,EAEhC,OAAda,GAAuBS,EAAmBT,EAAWC,IACvDM,QAAQC,MA4Fd,SAA8BE,EAAmBC,GAC/C,MAAO,qCAAqCD,qBAA6BC,mOAM3E,CAnGoBC,CAAqB,GAAGZ,IAAa,aAGrD,MAAMD,EAAQU,EAAmBT,EAAWC,GAAOD,EAAY,KACzDa,EAAaC,EAASf,GAASI,EAAcJ,EAAOE,QAAO,EAEjE,OACEc,EAACxB,EAAA,CAAiByB,MAAOlB,EAAiBC,QAAcE,MACtDgB,SAAAF,EAACG,EAAUC,IAAV,CACC,gBAAelB,EACf,gBAAe,EACf,gBAAea,EAASf,GAASA,OAAQ,EACzC,iBAAgBc,EAChBO,KAAK,cACL,aAAYC,EAAiBtB,EAAOE,GACpC,aAAYF,QAAS,EACrB,WAAUE,KACNI,EACJiB,IAAKzB,KAET,IAKNJ,EAAS8B,YAAcrC,EAMvB,IAAMsC,EAAiB,oBAKjBC,EAA0B/B,EAAAC,YAC9B,CAACC,EAA4CC,KAC3C,MAAMC,gBAAEA,KAAoB4B,GAAmB9B,EACzC+B,EAAUnC,EAAmBgC,EAAgB1B,GACnD,OACEiB,EAACG,EAAUC,IAAV,CACC,aAAYE,EAAiBM,EAAQ5B,MAAO4B,EAAQ1B,KACpD,aAAY0B,EAAQ5B,YAAS,EAC7B,WAAU4B,EAAQ1B,OACdyB,EACJJ,IAAKzB,GAAA,IAUb,SAASO,EAAqBL,EAAeE,GAC3C,MAAO,GAAG2B,KAAKC,MAAO9B,EAAQE,EAAO,OACvC,CAEA,SAASoB,EAAiBtB,EAAkC+B,GAC1D,OAAgB,MAAT/B,EAAgB,gBAAkBA,IAAU+B,EAAW,WAAa,SAC7E,CAEA,SAAShB,EAASf,GAChB,MAAwB,iBAAVA,CAChB,CAEA,SAASO,EAAiBL,GAExB,OACEa,EAASb,KACR8B,MAAM9B,IACPA,EAAM,CAEV,CAEA,SAASQ,EAAmBV,EAAYE,GAEtC,OACEa,EAASf,KACRgC,MAAMhC,IACPA,GAASE,GACTF,GAAS,CAEb,CAjCA0B,EAAkBF,YAAcC,EAiDhC,IAAMQ,EAAOvC,EACPwC,EAAYR,EChJlB,SAAShC,GAASyC,UACjBA,EAASnC,MACTA,KACGH,IAEH,OACCF,EAAAyC,cAACC,EAAsB,CACtBC,YAAU,WACVH,UAAWI,EAAG,iEAAkEJ,MAC5EtC,GAEJF,EAAAyC,cAACC,EAA2B,CAC3BC,YAAU,qBACVH,UAAU,iDACVK,MAAO,CAAEC,UAAW,eAAe,KAAOzC,GAAS,UAIvD","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./utils-DRGc21x1.mjs";import*as r from"react";import t from"react";import{P as o}from"./index-5xCD9zck.mjs";import{u as n,P as l,c as i}from"./index-BzUzK8k1.mjs";import{c as a}from"./index-BkrjWCcN.mjs";import{u as s,a as c}from"./index-CBuWa3V_.mjs";import{u as d}from"./index-DXDEMoyA.mjs";import{jsx as u,jsxs as p,Fragment as f}from"react/jsx-runtime";var h="ScrollArea",[v,w]=a(h),[m,b]=v(h),g=r.forwardRef(((e,t)=>{const{__scopeScrollArea:l,type:i="hover",dir:a,scrollHideDelay:s=600,...c}=e,[p,f]=r.useState(null),[h,v]=r.useState(null),[w,b]=r.useState(null),[g,S]=r.useState(null),[E,y]=r.useState(null),[T,C]=r.useState(0),[R,P]=r.useState(0),[_,x]=r.useState(!1),[L,D]=r.useState(!1),A=n(t,(e=>f(e))),z=d(a);return u(m,{scope:l,type:i,dir:z,scrollHideDelay:s,scrollArea:p,viewport:h,onViewportChange:v,content:w,onContentChange:b,scrollbarX:g,onScrollbarXChange:S,scrollbarXEnabled:_,onScrollbarXEnabledChange:x,scrollbarY:E,onScrollbarYChange:y,scrollbarYEnabled:L,onScrollbarYEnabledChange:D,onCornerWidthChange:C,onCornerHeightChange:P,children:u(o.div,{dir:z,...c,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":T+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})}));g.displayName=h;var S="ScrollAreaViewport",E=r.forwardRef(((e,t)=>{const{__scopeScrollArea:l,children:i,nonce:a,...s}=e,c=b(S,l),d=r.useRef(null),h=n(t,d,c.onViewportChange);return p(f,{children:[u("style",{dangerouslySetInnerHTML:{__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}"},nonce:a}),u(o.div,{"data-radix-scroll-area-viewport":"",...s,ref:h,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:u("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})}));E.displayName=S;var y="ScrollAreaScrollbar",T=r.forwardRef(((e,t)=>{const{forceMount:o,...n}=e,l=b(y,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=l,s="horizontal"===e.orientation;return r.useEffect((()=>(s?i(!0):a(!0),()=>{s?i(!1):a(!1)})),[s,i,a]),"hover"===l.type?u(C,{...n,ref:t,forceMount:o}):"scroll"===l.type?u(R,{...n,ref:t,forceMount:o}):"auto"===l.type?u(P,{...n,ref:t,forceMount:o}):"always"===l.type?u(_,{...n,ref:t}):null}));T.displayName=y;var C=r.forwardRef(((e,t)=>{const{forceMount:o,...n}=e,i=b(y,e.__scopeScrollArea),[a,s]=r.useState(!1);return r.useEffect((()=>{const e=i.scrollArea;let r=0;if(e){const t=()=>{window.clearTimeout(r),s(!0)},o=()=>{r=window.setTimeout((()=>s(!1)),i.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",o)}}}),[i.scrollArea,i.scrollHideDelay]),u(l,{present:o||a,children:u(P,{"data-state":a?"visible":"hidden",...n,ref:t})})})),R=r.forwardRef(((e,t)=>{const{forceMount:o,...n}=e,a=b(y,e.__scopeScrollArea),s="horizontal"===e.orientation,c=V((()=>p("SCROLL_END")),100),[d,p]=(f="hidden",h={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer(((e,r)=>h[e][r]??e),f));var f,h;return r.useEffect((()=>{if("idle"===d){const e=window.setTimeout((()=>p("HIDE")),a.scrollHideDelay);return()=>window.clearTimeout(e)}}),[d,a.scrollHideDelay,p]),r.useEffect((()=>{const e=a.viewport,r=s?"scrollLeft":"scrollTop";if(e){let t=e[r];const o=()=>{const o=e[r];t!==o&&(p("SCROLL"),c()),t=o};return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}}),[a.viewport,s,p,c]),u(l,{present:o||"hidden"!==d,children:u(_,{"data-state":"hidden"===d?"hidden":"visible",...n,ref:t,onPointerEnter:i(e.onPointerEnter,(()=>p("POINTER_ENTER"))),onPointerLeave:i(e.onPointerLeave,(()=>p("POINTER_LEAVE")))})})})),P=r.forwardRef(((e,t)=>{const o=b(y,e.__scopeScrollArea),{forceMount:n,...i}=e,[a,s]=r.useState(!1),c="horizontal"===e.orientation,d=V((()=>{if(o.viewport){const e=o.viewport.offsetWidth<o.viewport.scrollWidth,r=o.viewport.offsetHeight<o.viewport.scrollHeight;s(c?e:r)}}),10);return q(o.viewport,d),q(o.content,d),u(l,{present:n||a,children:u(_,{"data-state":a?"visible":"hidden",...i,ref:t})})})),_=r.forwardRef(((e,t)=>{const{orientation:o="vertical",...n}=e,l=b(y,e.__scopeScrollArea),i=r.useRef(null),a=r.useRef(0),[s,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=O(s.viewport,s.content),p={...n,sizes:s,onSizesChange:c,hasThumb:Boolean(d>0&&d<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function f(e,r){return function(e,r,t,o="ltr"){const n=U(t),l=n/2,i=r||l,a=n-i,s=t.scrollbar.paddingStart+i,c=t.scrollbar.size-t.scrollbar.paddingEnd-a,d=t.content-t.viewport,u="ltr"===o?[0,d]:[-1*d,0];return B([s,c],u)(e)}(e,a.current,s,r)}return"horizontal"===o?u(x,{...p,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){const e=k(l.viewport.scrollLeft,s,l.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=f(e,l.dir))}}):"vertical"===o?u(L,{...p,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){const e=k(l.viewport.scrollTop,s);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=f(e))}}):null})),x=r.forwardRef(((e,t)=>{const{sizes:o,onSizesChange:l,...i}=e,a=b(y,e.__scopeScrollArea),[s,c]=r.useState(),d=r.useRef(null),p=n(t,d,a.onScrollbarXChange);return r.useEffect((()=>{d.current&&c(getComputedStyle(d.current))}),[d]),u(z,{"data-orientation":"horizontal",...i,ref:p,sizes:o,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":U(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(a.viewport){const o=a.viewport.scrollLeft+r.deltaX;e.onWheelScroll(o),j(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&l({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:I(s.paddingLeft),paddingEnd:I(s.paddingRight)}})}})})),L=r.forwardRef(((e,t)=>{const{sizes:o,onSizesChange:l,...i}=e,a=b(y,e.__scopeScrollArea),[s,c]=r.useState(),d=r.useRef(null),p=n(t,d,a.onScrollbarYChange);return r.useEffect((()=>{d.current&&c(getComputedStyle(d.current))}),[d]),u(z,{"data-orientation":"vertical",...i,ref:p,sizes:o,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":U(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(a.viewport){const o=a.viewport.scrollTop+r.deltaY;e.onWheelScroll(o),j(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&l({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:I(s.paddingTop),paddingEnd:I(s.paddingBottom)}})}})})),[D,A]=v(y),z=r.forwardRef(((e,t)=>{const{__scopeScrollArea:l,sizes:a,hasThumb:c,onThumbChange:d,onThumbPointerUp:p,onThumbPointerDown:f,onThumbPositionChange:h,onDragScroll:v,onWheelScroll:w,onResize:m,...g}=e,S=b(y,l),[E,T]=r.useState(null),C=n(t,(e=>T(e))),R=r.useRef(null),P=r.useRef(""),_=S.viewport,x=a.content-a.viewport,L=s(w),A=s(h),z=V(m,10);function N(e){if(R.current){const r=e.clientX-R.current.left,t=e.clientY-R.current.top;v({x:r,y:t})}}return r.useEffect((()=>{const e=e=>{const r=e.target,t=E?.contains(r);t&&L(e,x)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})}),[_,E,x,L]),r.useEffect(A,[a,A]),q(E,z),q(S.content,z),u(D,{scope:l,scrollbar:E,hasThumb:c,onThumbChange:s(d),onThumbPointerUp:s(p),onThumbPositionChange:A,onThumbPointerDown:s(f),children:u(o.div,{...g,ref:C,style:{position:"absolute",...g.style},onPointerDown:i(e.onPointerDown,(e=>{if(0===e.button){e.target.setPointerCapture(e.pointerId),R.current=E.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",S.viewport&&(S.viewport.style.scrollBehavior="auto"),N(e)}})),onPointerMove:i(e.onPointerMove,N),onPointerUp:i(e.onPointerUp,(e=>{const r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,S.viewport&&(S.viewport.style.scrollBehavior=""),R.current=null}))})})})),N="ScrollAreaThumb",H=r.forwardRef(((e,r)=>{const{forceMount:t,...o}=e,n=A(N,e.__scopeScrollArea);return u(l,{present:t||n.hasThumb,children:u(W,{ref:r,...o})})})),W=r.forwardRef(((e,t)=>{const{__scopeScrollArea:l,style:a,...s}=e,c=b(N,l),d=A(N,l),{onThumbPositionChange:p}=d,f=n(t,(e=>d.onThumbChange(e))),h=r.useRef(void 0),v=V((()=>{h.current&&(h.current(),h.current=void 0)}),100);return r.useEffect((()=>{const e=c.viewport;if(e){const r=()=>{if(v(),!h.current){const r=F(e,p);h.current=r,p()}};return p(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}}),[c.viewport,v,p]),u(o.div,{"data-state":d.hasThumb?"visible":"hidden",...s,ref:f,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:i(e.onPointerDownCapture,(e=>{const r=e.target.getBoundingClientRect(),t=e.clientX-r.left,o=e.clientY-r.top;d.onThumbPointerDown({x:t,y:o})})),onPointerUp:i(e.onPointerUp,d.onThumbPointerUp)})}));H.displayName=N;var M="ScrollAreaCorner",X=r.forwardRef(((e,r)=>{const t=b(M,e.__scopeScrollArea),o=Boolean(t.scrollbarX&&t.scrollbarY);return"scroll"!==t.type&&o?u(Y,{...e,ref:r}):null}));X.displayName=M;var Y=r.forwardRef(((e,t)=>{const{__scopeScrollArea:n,...l}=e,i=b(M,n),[a,s]=r.useState(0),[c,d]=r.useState(0),p=Boolean(a&&c);return q(i.scrollbarX,(()=>{const e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),d(e)})),q(i.scrollbarY,(()=>{const e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)})),p?u(o.div,{...l,ref:t,style:{width:a,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null}));function I(e){return e?parseInt(e,10):0}function O(e,r){const t=e/r;return isNaN(t)?0:t}function U(e){const r=O(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-t)*r;return Math.max(o,18)}function k(e,r,t="ltr"){const o=U(r),n=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=r.scrollbar.size-n,i=r.content-r.viewport,a=l-o,s=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,i]:[-1*i,0]);return B([0,i],[0,a])(s)}function B(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];const o=(r[1]-r[0])/(e[1]-e[0]);return r[0]+o*(t-e[0])}}function j(e,r){return e>0&&e<r}var F=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},o=0;return function n(){const l={left:e.scrollLeft,top:e.scrollTop},i=t.left!==l.left,a=t.top!==l.top;(i||a)&&r(),t=l,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function V(e,t){const o=s(e),n=r.useRef(0);return r.useEffect((()=>()=>window.clearTimeout(n.current)),[]),r.useCallback((()=>{window.clearTimeout(n.current),n.current=window.setTimeout(o,t)}),[o,t])}function q(e,r){const t=s(r);c((()=>{let r=0;if(e){const o=new ResizeObserver((()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)}));return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}}),[e,t])}var $=g,G=E,J=X;function K({className:r,children:o,...n}){return t.createElement($,{"data-slot":"scroll-area",className:e("relative",r),...n},t.createElement(G,{"data-slot":"scroll-area-viewport",className:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1"},o),t.createElement(Q,null),t.createElement(J,null))}function Q({className:r,orientation:o="vertical",...n}){return t.createElement(T,{"data-slot":"scroll-area-scrollbar",orientation:o,className:e("flex touch-none p-px transition-colors select-none","vertical"===o&&"h-full w-2.5 border-l border-l-transparent","horizontal"===o&&"h-2.5 flex-col border-t border-t-transparent",r),...n},t.createElement(H,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"}))}export{K as S,Q as a};
2
+ //# sourceMappingURL=scroll-area-BQVIH3mC.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-00P-K3zA.mjs","sources":["../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../node_modules/@radix-ui/number/dist/index.mjs","../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/scroll-area/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// packages/react/scroll-area/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// packages/react/scroll-area/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","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","forwardRef","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","useState","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","scope","onViewportChange","onContentChange","onScrollbarXChange","onScrollbarXEnabledChange","onScrollbarYChange","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","children","Primitive","div","ref","style","position","displayName","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","context","useRef","jsxs","Fragment","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","display","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","isHorizontal","orientation","useEffect","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","window","clearTimeout","handlePointerLeave","setTimeout","addEventListener","removeEventListener","Presence","present","debounceScrollEnd","useDebounceCallback","send","state","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","scrollDirection","prevScrollPos","handleScroll","scrollPos","onPointerEnter","composeEventHandlers","onPointerLeave","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","scrollbar","size","paddingStart","paddingEnd","thumbRatio","getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","current","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","pointerOffset","thumbSizePx","getThumbSize","thumbCenter","offset","thumbOffsetFromEnd","minPointerPos","maxPointerPos","maxScrollPos","scrollRange","linearScale","interpolate","getScrollPositionFromPointer","ScrollAreaScrollbarX","onThumbPositionChange","getThumbOffsetFromScroll","scrollLeft","transform","onWheelScroll","onDragScroll","ScrollAreaScrollbarY","scrollTop","computedStyle","setComputedStyle","composeRefs","getComputedStyle","ScrollAreaScrollbarImpl","bottom","left","right","x","event","deltaX","isScrollingWithinScrollbarBounds","preventDefault","onResize","clientWidth","toInt","paddingLeft","paddingRight","top","y","deltaY","clientHeight","paddingTop","paddingBottom","ScrollbarProvider","useScrollbarContext","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","element","target","isScrollbarWheel","contains","document","passive","onPointerDown","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","scrollBehavior","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","setWidth","setHeight","hasSize","value","parseInt","viewportSize","contentSize","ratio","isNaN","scrollbarPadding","thumbSize","Math","max","maxThumbPos","scrollWithoutMomentum","min","clamp","input","output","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","callback","delay","handleCallback","debounceTimerRef","useCallback","useLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","Root","Viewport","Corner","className","React","createElement","ScrollAreaPrimitive","data-slot","cn","ScrollBar"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"scroll-area-BQVIH3mC.mjs","sources":["../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../node_modules/@radix-ui/number/dist/index.mjs","../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/scroll-area/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// packages/react/scroll-area/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// packages/react/scroll-area/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","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport React from \"react\";\n\nfunction ScrollArea({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName=\"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({\n\tclassName,\n\torientation = \"vertical\",\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex touch-none p-px transition-colors select-none\",\n\t\t\t\torientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n\t\t\t\torientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb\n\t\t\t\tdata-slot=\"scroll-area-thumb\"\n\t\t\t\tclassName=\"bg-border relative flex-1 rounded-full\"\n\t\t\t/>\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","forwardRef","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","useState","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","scope","onViewportChange","onContentChange","onScrollbarXChange","onScrollbarXEnabledChange","onScrollbarYChange","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","children","Primitive","div","ref","style","position","displayName","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","context","useRef","jsxs","Fragment","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","display","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","isHorizontal","orientation","useEffect","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","window","clearTimeout","handlePointerLeave","setTimeout","addEventListener","removeEventListener","Presence","present","debounceScrollEnd","useDebounceCallback","send","state","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","scrollDirection","prevScrollPos","handleScroll","scrollPos","onPointerEnter","composeEventHandlers","onPointerLeave","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","scrollbar","size","paddingStart","paddingEnd","thumbRatio","getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","current","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","pointerOffset","thumbSizePx","getThumbSize","thumbCenter","offset","thumbOffsetFromEnd","minPointerPos","maxPointerPos","maxScrollPos","scrollRange","linearScale","interpolate","getScrollPositionFromPointer","ScrollAreaScrollbarX","onThumbPositionChange","getThumbOffsetFromScroll","scrollLeft","transform","onWheelScroll","onDragScroll","ScrollAreaScrollbarY","scrollTop","computedStyle","setComputedStyle","composeRefs","getComputedStyle","ScrollAreaScrollbarImpl","bottom","left","right","x","event","deltaX","isScrollingWithinScrollbarBounds","preventDefault","onResize","clientWidth","toInt","paddingLeft","paddingRight","top","y","deltaY","clientHeight","paddingTop","paddingBottom","ScrollbarProvider","useScrollbarContext","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","element","target","isScrollbarWheel","contains","document","passive","onPointerDown","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","scrollBehavior","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","setWidth","setHeight","hasSize","value","parseInt","viewportSize","contentSize","ratio","isNaN","scrollbarPadding","thumbSize","Math","max","maxThumbPos","scrollWithoutMomentum","min","clamp","input","output","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","callback","delay","handleCallback","debounceTimerRef","useCallback","useLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","Root","Viewport","Corner","className","React","createElement","ScrollAreaPrimitive","data-slot","cn","ScrollBar"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./utils-DRGc21x1.mjs";import*as t from"@radix-ui/react-select";import a from"react";import{C as s}from"./check-1SKm0QUI.mjs";import{C as r}from"./chevron-down-i6P9lr6K.mjs";import{c as o}from"./createLucideIcon-NXzoJfn7.mjs";const l=o("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function n({...e}){return a.createElement(t.Root,{"data-slot":"select",...e})}function c({...e}){return a.createElement(t.Group,{"data-slot":"select-group",...e})}function i({...e}){return a.createElement(t.Value,{"data-slot":"select-value",...e})}function m({className:s,children:o,...l}){return a.createElement(t.Trigger,{"data-slot":"select-trigger",className:e("border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full cursor-pointer items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...l},o,a.createElement(t.Icon,{asChild:!0},a.createElement(r,{className:"size-4 opacity-50"})))}function d({className:s,children:r,position:o="popper",...l}){return a.createElement(t.Portal,null,a.createElement(t.Content,{"data-slot":"select-content",className:e("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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===o&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:o,...l},a.createElement(g,null),a.createElement(t.Viewport,{className:e("p-1","popper"===o&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")},r),a.createElement(b,null)))}function u({className:s,...r}){return a.createElement(t.Label,{"data-slot":"select-label",className:e("py-1.5 pr-2 pl-8 text-sm font-semibold",s),...r})}function p({className:r,children:o,...l}){return a.createElement(t.Item,{"data-slot":"select-item",className:e("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l},a.createElement("span",{className:"absolute left-2 flex size-3.5 items-center justify-center"},a.createElement(t.ItemIndicator,null,a.createElement(s,{className:"size-4"}))),a.createElement(t.ItemText,null,o))}function f({className:s,...r}){return a.createElement(t.Separator,{"data-slot":"select-separator",className:e("bg-muted -mx-1 my-1 h-px",s),...r})}function g({className:s,...r}){return a.createElement(t.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:e("flex cursor-default items-center justify-center py-1",s),...r},a.createElement(l,{className:"size-4"}))}function b({className:s,...o}){return a.createElement(t.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:e("flex cursor-default items-center justify-center py-1",s),...o},a.createElement(r,{className:"size-4"}))}export{n as S,d as a,c as b,p as c,u as d,b as e,g as f,f as g,m as h,i};
2
+ //# sourceMappingURL=select-D7mWN4gA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-D7mWN4gA.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-up.js","../../src/components/ui/select/select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"ChevronUp\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n","import { cn } from \"@/lib/utils\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport React from \"react\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full cursor-pointer items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDownIcon className=\"size-4 opacity-50\" />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t);\n}\n\nfunction SelectContent({\n\tclassName,\n\tchildren,\n\tposition = \"popper\",\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n\treturn (\n\t\t<SelectPrimitive.Portal>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"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 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",\n\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t);\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn (\n\t\t<SelectPrimitive.Label\n\t\t\tdata-slot=\"select-label\"\n\t\t\tclassName={cn(\"py-1.5 pr-2 pl-8 text-sm font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t);\n}\n\nfunction SelectSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectScrollUpButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronUpIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t);\n}\n\nfunction SelectScrollDownButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronDownIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t);\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n"],"names":["ChevronUp","createLucideIcon","d","key","Select","props","React","createElement","SelectPrimitive","Root","data-slot","SelectGroup","Group","SelectValue","Value","SelectTrigger","className","children","Trigger","cn","Icon","asChild","ChevronDownIcon","SelectContent","position","Portal","Content","SelectScrollUpButton","Viewport","SelectScrollDownButton","SelectLabel","Label","SelectItem","Item","span","ItemIndicator","CheckIcon","ItemText","SelectSeparator","Separator","ScrollUpButton","ChevronUpIcon","ScrollDownButton"],"mappings":"oPAGa,MAaPA,EAAYC,EAAiB,YAbC,CAAC,CAAC,OAAQ,CAAEC,EAAG,iBAAkBC,IAAK,aCE1E,SAASC,MAAYC,IACpB,OAAOC,EAAAC,cAACC,EAAgBC,KAAI,CAACC,YAAU,YAAaL,GACrD,CAEA,SAASM,MAAiBN,IACzB,OAAOC,EAAAC,cAACC,EAAgBI,MAAK,CAACF,YAAU,kBAAmBL,GAC5D,CAEA,SAASQ,MAAiBR,IACzB,OAAOC,EAAAC,cAACC,EAAgBM,MAAK,CAACJ,YAAU,kBAAmBL,GAC5D,CAEA,SAASU,GAAcC,UACtBA,EAASC,SACTA,KACGZ,IAEH,OACCC,EAAAC,cAACC,EAAgBU,QAAO,CACvBR,YAAU,iBACVM,UAAWG,EACV,gWACAH,MAEGX,GAEHY,EACDX,EAAAC,cAACC,EAAgBY,KAAI,CAACC,SAAAA,GACrBf,EAACgB,cAAAA,EAAAA,CAAgBN,UAAU,uBAI/B,CAEA,SAASO,GAAcP,UACtBA,EAASC,SACTA,EAAQO,SACRA,EAAW,YACRnB,IAEH,OACCC,gBAACE,EAAgBiB,OAChB,KAAAnB,EAAAC,cAACC,EAAgBkB,QAAO,CACvBhB,YAAU,iBACVM,UAAWG,EACV,scACa,WAAbK,GACC,kIACDR,GAEDQ,SAAUA,KACNnB,GAEJC,EAACqB,cAAAA,EAAAA,MACDrB,EAACE,cAAAA,EAAgBoB,SAAQ,CACxBZ,UAAWG,EACV,MACa,WAAbK,GACC,wGAGDP,GAEFX,EAACuB,cAAAA,EAAAA,OAIL,CAEA,SAASC,GAAYd,UAAEA,KAAcX,IACpC,OACCC,EAAAC,cAACC,EAAgBuB,MAAK,CACrBrB,YAAU,eACVM,UAAWG,EAAG,yCAA0CH,MACpDX,GAGP,CAEA,SAAS2B,GAAWhB,UACnBA,EAASC,SACTA,KACGZ,IAEH,OACCC,EAAAC,cAACC,EAAgByB,KAAI,CACpBvB,YAAU,cACVM,UAAWG,EACV,4NACAH,MAEGX,GAEJC,EAAC4B,cAAAA,OAAAA,CAAKlB,UAAU,6DACfV,EAACE,cAAAA,EAAgB2B,cAAa,KAC7B7B,EAAC8B,cAAAA,EAAAA,CAAUpB,UAAU,aAGvBV,EAACE,cAAAA,EAAgB6B,SAAUpB,KAAAA,GAG9B,CAEA,SAASqB,GAAgBtB,UACxBA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgB+B,UAAS,CACzB7B,YAAU,mBACVM,UAAWG,EAAG,2BAA4BH,MACtCX,GAGP,CAEA,SAASsB,GAAqBX,UAC7BA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgBgC,eAAc,CAC9B9B,YAAU,0BACVM,UAAWG,EAAG,uDAAwDH,MAClEX,GAEJC,EAACmC,cAAAA,EAAAA,CAAczB,UAAU,WAG5B,CAEA,SAASa,GAAuBb,UAC/BA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgBkC,iBAAgB,CAChChC,YAAU,4BACVM,UAAWG,EAAG,uDAAwDH,MAClEX,GAEJC,EAACgB,cAAAA,EAAAA,CAAgBN,UAAU,WAG9B","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./utils-DRGc21x1.mjs";import t from"react";function a({className:a,...m}){return t.createElement("div",{"data-slot":"skeleton",className:e("bg-muted animate-pulse rounded-md",a),...m})}export{a as S};
2
+ //# sourceMappingURL=skeleton-m5uG2KMb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-m5uG2KMb.mjs","sources":["../../src/components/ui/skeleton/skeleton.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport React from \"react\";\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"skeleton\"\n\t\t\tclassName={cn(\"bg-muted animate-pulse rounded-md\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Skeleton };\n"],"names":["Skeleton","className","props","React","div","data-slot","cn"],"mappings":"8DAEA,SAASA,GAASC,UAAEA,KAAcC,IACjC,OACCC,EAACC,cAAAA,MAAAA,CACAC,YAAU,WACVJ,UAAWK,EAAG,oCAAqCL,MAC/CC,GAGP"}