@senitix/ui 0.4.0

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 (206) hide show
  1. package/dist/avatar-C0aVNCG9.cjs +2 -0
  2. package/dist/avatar-C0aVNCG9.cjs.map +1 -0
  3. package/dist/avatar-CN6wcrqY.js +288 -0
  4. package/dist/avatar-CN6wcrqY.js.map +1 -0
  5. package/dist/calendar-BFWc4IB7.js +1182 -0
  6. package/dist/calendar-BFWc4IB7.js.map +1 -0
  7. package/dist/calendar-BUm7YrNf.cjs +2 -0
  8. package/dist/calendar-BUm7YrNf.cjs.map +1 -0
  9. package/dist/calendar-ChJkFXXr.js +11 -0
  10. package/dist/calendar-ChJkFXXr.js.map +1 -0
  11. package/dist/calendar-SwL5isYC.cjs +2 -0
  12. package/dist/calendar-SwL5isYC.cjs.map +1 -0
  13. package/dist/card-K4fxyYwE.js +51 -0
  14. package/dist/card-K4fxyYwE.js.map +1 -0
  15. package/dist/card-tMkUxpmW.cjs +2 -0
  16. package/dist/card-tMkUxpmW.cjs.map +1 -0
  17. package/dist/checkbox-CpOq5hkT.js +289 -0
  18. package/dist/checkbox-CpOq5hkT.js.map +1 -0
  19. package/dist/checkbox-D7-LQyCl.cjs +2 -0
  20. package/dist/checkbox-D7-LQyCl.cjs.map +1 -0
  21. package/dist/chevron-down-DHdXqOqK.cjs +2 -0
  22. package/dist/chevron-down-DHdXqOqK.cjs.map +1 -0
  23. package/dist/chevron-down-DJ1_YIFu.js +8 -0
  24. package/dist/chevron-down-DJ1_YIFu.js.map +1 -0
  25. package/dist/chevron-right-B3bovvh0.js +8 -0
  26. package/dist/chevron-right-B3bovvh0.js.map +1 -0
  27. package/dist/chevron-right-Dvyd11q0.cjs +2 -0
  28. package/dist/chevron-right-Dvyd11q0.cjs.map +1 -0
  29. package/dist/chevron-up-B9fuiZhc.cjs +2 -0
  30. package/dist/chevron-up-B9fuiZhc.cjs.map +1 -0
  31. package/dist/chevron-up-CGtXOr51.js +6 -0
  32. package/dist/chevron-up-CGtXOr51.js.map +1 -0
  33. package/dist/components/charts/index.cjs.js +2 -0
  34. package/dist/components/charts/index.cjs.js.map +1 -0
  35. package/dist/components/charts/index.es.js +12 -0
  36. package/dist/components/charts/index.es.js.map +1 -0
  37. package/dist/components/data-display/index.cjs.js +2 -0
  38. package/dist/components/data-display/index.cjs.js.map +1 -0
  39. package/dist/components/data-display/index.es.js +25 -0
  40. package/dist/components/data-display/index.es.js.map +1 -0
  41. package/dist/components/dnd/index.cjs.js +2 -0
  42. package/dist/components/dnd/index.cjs.js.map +1 -0
  43. package/dist/components/dnd/index.es.js +9 -0
  44. package/dist/components/dnd/index.es.js.map +1 -0
  45. package/dist/components/feedback/index.cjs.js +2 -0
  46. package/dist/components/feedback/index.cjs.js.map +1 -0
  47. package/dist/components/feedback/index.es.js +16 -0
  48. package/dist/components/feedback/index.es.js.map +1 -0
  49. package/dist/components/forms/index.cjs.js +2 -0
  50. package/dist/components/forms/index.cjs.js.map +1 -0
  51. package/dist/components/forms/index.es.js +27 -0
  52. package/dist/components/forms/index.es.js.map +1 -0
  53. package/dist/components/layouts/index.cjs.js +2 -0
  54. package/dist/components/layouts/index.cjs.js.map +1 -0
  55. package/dist/components/layouts/index.es.js +25 -0
  56. package/dist/components/layouts/index.es.js.map +1 -0
  57. package/dist/components/navigation/index.cjs.js +2 -0
  58. package/dist/components/navigation/index.cjs.js.map +1 -0
  59. package/dist/components/navigation/index.es.js +42 -0
  60. package/dist/components/navigation/index.es.js.map +1 -0
  61. package/dist/components/ui/index.cjs.js +2 -0
  62. package/dist/components/ui/index.cjs.js.map +1 -0
  63. package/dist/components/ui/index.es.js +165 -0
  64. package/dist/components/ui/index.es.js.map +1 -0
  65. package/dist/createLucideIcon-BbeNo6vq.js +56 -0
  66. package/dist/createLucideIcon-BbeNo6vq.js.map +1 -0
  67. package/dist/createLucideIcon-i5GEhNMV.cjs +2 -0
  68. package/dist/createLucideIcon-i5GEhNMV.cjs.map +1 -0
  69. package/dist/ellipsis-BW2gWki8.cjs +2 -0
  70. package/dist/ellipsis-BW2gWki8.cjs.map +1 -0
  71. package/dist/ellipsis-CiKEaUNP.js +10 -0
  72. package/dist/ellipsis-CiKEaUNP.js.map +1 -0
  73. package/dist/file-V_hhCUhr.cjs +2 -0
  74. package/dist/file-V_hhCUhr.cjs.map +1 -0
  75. package/dist/file-wzTXnWqz.js +9 -0
  76. package/dist/file-wzTXnWqz.js.map +1 -0
  77. package/dist/filter-tags-DjUaNXHR.cjs +5 -0
  78. package/dist/filter-tags-DjUaNXHR.cjs.map +1 -0
  79. package/dist/filter-tags-i_I8qV1N.js +2658 -0
  80. package/dist/filter-tags-i_I8qV1N.js.map +1 -0
  81. package/dist/full-calendar-7ac2FFU6.js +3518 -0
  82. package/dist/full-calendar-7ac2FFU6.js.map +1 -0
  83. package/dist/full-calendar-Cpeh5xMP.cjs +8 -0
  84. package/dist/full-calendar-Cpeh5xMP.cjs.map +1 -0
  85. package/dist/global-search-UNXjoFlI.cjs +2 -0
  86. package/dist/global-search-UNXjoFlI.cjs.map +1 -0
  87. package/dist/global-search-h1rVbP2q.js +1188 -0
  88. package/dist/global-search-h1rVbP2q.js.map +1 -0
  89. package/dist/hooks/index.cjs.js +2 -0
  90. package/dist/hooks/index.cjs.js.map +1 -0
  91. package/dist/hooks/index.es.js +13 -0
  92. package/dist/hooks/index.es.js.map +1 -0
  93. package/dist/index-Co9o9StL.js +33 -0
  94. package/dist/index-Co9o9StL.js.map +1 -0
  95. package/dist/index-CwJPJKOE.js +2278 -0
  96. package/dist/index-CwJPJKOE.js.map +1 -0
  97. package/dist/index-CzVK9Zyb.cjs +6 -0
  98. package/dist/index-CzVK9Zyb.cjs.map +1 -0
  99. package/dist/index-l828OqQN.js +288 -0
  100. package/dist/index-l828OqQN.js.map +1 -0
  101. package/dist/index-lGzB9daF.cjs +2 -0
  102. package/dist/index-lGzB9daF.cjs.map +1 -0
  103. package/dist/index-lT9bLt9X.cjs +2 -0
  104. package/dist/index-lT9bLt9X.cjs.map +1 -0
  105. package/dist/index.cjs.js +2 -0
  106. package/dist/index.cjs.js.map +1 -0
  107. package/dist/index.es.js +332 -0
  108. package/dist/index.es.js.map +1 -0
  109. package/dist/input-CZrckPLk.cjs +42 -0
  110. package/dist/input-CZrckPLk.cjs.map +1 -0
  111. package/dist/input-D4AoiWxo.js +3629 -0
  112. package/dist/input-D4AoiWxo.js.map +1 -0
  113. package/dist/locale-provider-DHMwuneF.cjs +2 -0
  114. package/dist/locale-provider-DHMwuneF.cjs.map +1 -0
  115. package/dist/locale-provider-DanG6RRG.js +1012 -0
  116. package/dist/locale-provider-DanG6RRG.js.map +1 -0
  117. package/dist/locale-selector-Ppe0KTi-.cjs +2 -0
  118. package/dist/locale-selector-Ppe0KTi-.cjs.map +1 -0
  119. package/dist/locale-selector-xn2GpdP9.js +1745 -0
  120. package/dist/locale-selector-xn2GpdP9.js.map +1 -0
  121. package/dist/minus-BXBFZSZs.cjs +2 -0
  122. package/dist/minus-BXBFZSZs.cjs.map +1 -0
  123. package/dist/minus-DvlYtl96.js +6 -0
  124. package/dist/minus-DvlYtl96.js.map +1 -0
  125. package/dist/multi-container-C2UpSw5f.js +731 -0
  126. package/dist/multi-container-C2UpSw5f.js.map +1 -0
  127. package/dist/multi-container-DMKL8c9B.cjs +2 -0
  128. package/dist/multi-container-DMKL8c9B.cjs.map +1 -0
  129. package/dist/pipeline-By5_8AFg.cjs +2 -0
  130. package/dist/pipeline-By5_8AFg.cjs.map +1 -0
  131. package/dist/pipeline-D-QNSU0U.js +1036 -0
  132. package/dist/pipeline-D-QNSU0U.js.map +1 -0
  133. package/dist/plus-8wKRkVu-.cjs +2 -0
  134. package/dist/plus-8wKRkVu-.cjs.map +1 -0
  135. package/dist/plus-CJD68KQD.js +9 -0
  136. package/dist/plus-CJD68KQD.js.map +1 -0
  137. package/dist/popover-4V4sGe1U.js +765 -0
  138. package/dist/popover-4V4sGe1U.js.map +1 -0
  139. package/dist/popover-ivh-plLc.cjs +2 -0
  140. package/dist/popover-ivh-plLc.cjs.map +1 -0
  141. package/dist/progress-CFnuLqnS.cjs +7 -0
  142. package/dist/progress-CFnuLqnS.cjs.map +1 -0
  143. package/dist/progress-D5AsrWa6.js +222 -0
  144. package/dist/progress-D5AsrWa6.js.map +1 -0
  145. package/dist/providers/index.cjs.js +2 -0
  146. package/dist/providers/index.cjs.js.map +1 -0
  147. package/dist/providers/index.es.js +9 -0
  148. package/dist/providers/index.es.js.map +1 -0
  149. package/dist/scroll-area-DQeqDp3Y.js +952 -0
  150. package/dist/scroll-area-DQeqDp3Y.js.map +1 -0
  151. package/dist/scroll-area-DYOiJMXh.cjs +2 -0
  152. package/dist/scroll-area-DYOiJMXh.cjs.map +1 -0
  153. package/dist/select-C1rNBi6c.js +974 -0
  154. package/dist/select-C1rNBi6c.js.map +1 -0
  155. package/dist/select-m-Mqwxu3.cjs +2 -0
  156. package/dist/select-m-Mqwxu3.cjs.map +1 -0
  157. package/dist/separator-DBUivkHq.cjs +2 -0
  158. package/dist/separator-DBUivkHq.cjs.map +1 -0
  159. package/dist/separator-DsfoJx-2.js +395 -0
  160. package/dist/separator-DsfoJx-2.js.map +1 -0
  161. package/dist/sheet-BVWCpq7E.js +84 -0
  162. package/dist/sheet-BVWCpq7E.js.map +1 -0
  163. package/dist/sheet-mKiFLVnK.cjs +2 -0
  164. package/dist/sheet-mKiFLVnK.cjs.map +1 -0
  165. package/dist/skeleton-BSwwYaQU.cjs +2 -0
  166. package/dist/skeleton-BSwwYaQU.cjs.map +1 -0
  167. package/dist/skeleton-BmGbfJw3.js +9 -0
  168. package/dist/skeleton-BmGbfJw3.js.map +1 -0
  169. package/dist/sortable.esm-Blhf_jh1.js +3391 -0
  170. package/dist/sortable.esm-Blhf_jh1.js.map +1 -0
  171. package/dist/sortable.esm-DcQYlXi3.cjs +6 -0
  172. package/dist/sortable.esm-DcQYlXi3.cjs.map +1 -0
  173. package/dist/sparkline-chart-Da-ehDGv.js +21082 -0
  174. package/dist/sparkline-chart-Da-ehDGv.js.map +1 -0
  175. package/dist/sparkline-chart-ca3uTzVK.cjs +68 -0
  176. package/dist/sparkline-chart-ca3uTzVK.cjs.map +1 -0
  177. package/dist/trending-up-D3Nfrhi3.cjs +2 -0
  178. package/dist/trending-up-D3Nfrhi3.cjs.map +1 -0
  179. package/dist/trending-up-DPwlYzQb.js +9 -0
  180. package/dist/trending-up-DPwlYzQb.js.map +1 -0
  181. package/dist/ui.css +1 -0
  182. package/dist/use-formatters-d97RVcmg.cjs +2 -0
  183. package/dist/use-formatters-d97RVcmg.cjs.map +1 -0
  184. package/dist/use-formatters-l1_2c8z0.js +6682 -0
  185. package/dist/use-formatters-l1_2c8z0.js.map +1 -0
  186. package/dist/use-local-storage-BjlrKzE-.js +42 -0
  187. package/dist/use-local-storage-BjlrKzE-.js.map +1 -0
  188. package/dist/use-local-storage-q-1odzIu.cjs +2 -0
  189. package/dist/use-local-storage-q-1odzIu.cjs.map +1 -0
  190. package/dist/use-mobile-C-LMK4T8.js +15 -0
  191. package/dist/use-mobile-C-LMK4T8.js.map +1 -0
  192. package/dist/use-mobile-DY7TJ5lx.cjs +2 -0
  193. package/dist/use-mobile-DY7TJ5lx.cjs.map +1 -0
  194. package/dist/use-toast-DG2qdYhl.js +97 -0
  195. package/dist/use-toast-DG2qdYhl.js.map +1 -0
  196. package/dist/use-toast-DxZJ8uUm.cjs +2 -0
  197. package/dist/use-toast-DxZJ8uUm.cjs.map +1 -0
  198. package/dist/utils/index.cjs.js +2 -0
  199. package/dist/utils/index.cjs.js.map +1 -0
  200. package/dist/utils/index.es.js +5 -0
  201. package/dist/utils/index.es.js.map +1 -0
  202. package/dist/welcome-card-CPolYl1D.cjs +2 -0
  203. package/dist/welcome-card-CPolYl1D.cjs.map +1 -0
  204. package/dist/welcome-card-CxMJZ8bv.js +963 -0
  205. package/dist/welcome-card-CxMJZ8bv.js.map +1 -0
  206. package/package.json +179 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-C1rNBi6c.js","sources":["../node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-select/dist/index.mjs","../src/components/ui/select.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\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 { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst selectTriggerVariants = cva(\n 'flex items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-all duration-200',\n {\n variants: {\n size: {\n sm: 'h-8 text-sm',\n md: 'h-10 text-base',\n lg: 'h-12 text-lg',\n },\n width: {\n auto: 'w-auto',\n full: 'w-full',\n sm: 'w-24',\n md: 'w-32',\n lg: 'w-48',\n },\n },\n defaultVariants: {\n size: 'md',\n width: 'full',\n },\n }\n)\n\nexport interface SelectTriggerProps\n extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {}\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, children, size, width, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(selectTriggerVariants({ size, width }), className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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',\n position === 'popper' &&\n '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 className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-muted', className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn","OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","SelectBubbleInput","event","TRIGGER_NAME","SelectTrigger","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","Slot","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","BUBBLE_INPUT_NAME","ref","prevValue","usePrevious","select","selectProto","VISUALLY_HIDDEN_STYLES","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton","Separator","SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","selectTriggerVariants","cva","size","width","SelectPrimitive.Trigger","cn","SelectPrimitive.Icon","ChevronDown","SelectPrimitive.ScrollUpButton","ChevronUp","SelectPrimitive.ScrollDownButton","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Viewport","SelectPrimitive.Label","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","Check","SelectPrimitive.ItemText","SelectPrimitive.Separator"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ "use strict";const l=require("react/jsx-runtime"),mt=require("react"),ht=require("react-dom"),u=require("./scroll-area-DYOiJMXh.cjs"),P=require("./input-CZrckPLk.cjs"),vt=require("./checkbox-D7-LQyCl.cjs"),gt=require("./index-lT9bLt9X.cjs"),q=require("./index-lGzB9daF.cjs"),Ee=require("./chevron-down-DHdXqOqK.cjs"),St=require("./chevron-up-B9fuiZhc.cjs");function be(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(o,e,s.get?s:{enumerable:!0,get:()=>t[e]})}}return o.default=t,Object.freeze(o)}const n=be(mt),Te=be(ht);function xt(t){const o=wt(t),e=n.forwardRef((s,r)=>{const{children:d,...c}=s,a=n.Children.toArray(d),i=a.find(Ct);if(i){const f=i.props.children,g=a.map(x=>x===i?n.Children.count(f)>1?n.Children.only(null):n.isValidElement(f)?f.props.children:null:x);return l.jsx(o,{...c,ref:r,children:n.isValidElement(f)?n.cloneElement(f,void 0,g):null})}return l.jsx(o,{...c,ref:r,children:d})});return e.displayName=`${t}.Slot`,e}function wt(t){const o=n.forwardRef((e,s)=>{const{children:r,...d}=e;if(n.isValidElement(r)){const c=Et(r),a=It(d,r.props);return r.type!==n.Fragment&&(a.ref=s?u.composeRefs(s,c):c),n.cloneElement(r,a)}return n.Children.count(r)>1?n.Children.only(null):null});return o.displayName=`${t}.SlotClone`,o}var yt=Symbol("radix.slottable");function Ct(t){return n.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===yt}function It(t,o){const e={...o};for(const s in o){const r=t[s],d=o[s];/^on[A-Z]/.test(s)?r&&d?e[s]=(...a)=>{const i=d(...a);return r(...a),i}:r&&(e[s]=r):s==="style"?e[s]={...r,...d}:s==="className"&&(e[s]=[r,d].filter(Boolean).join(" "))}return{...t,...e}}function Et(t){let o=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,e=o&&"isReactWarning"in o&&o.isReactWarning;return e?t.ref:(o=Object.getOwnPropertyDescriptor(t,"ref")?.get,e=o&&"isReactWarning"in o&&o.isReactWarning,e?t.props.ref:t.props.ref||t.ref)}var bt=[" ","Enter","ArrowUp","ArrowDown"],Tt=[" ","Enter"],X="Select",[ce,ae,Pt]=P.createCollection(X),[ee]=u.createContextScope(X,[Pt,P.createPopperScope]),ie=P.createPopperScope(),[Rt,z]=ee(X),[Nt,_t]=ee(X),Pe=t=>{const{__scopeSelect:o,children:e,open:s,defaultOpen:r,onOpenChange:d,value:c,defaultValue:a,onValueChange:i,dir:f,name:g,autoComplete:x,disabled:R,required:b,form:I}=t,p=ie(o),[v,w]=n.useState(null),[h,S]=n.useState(null),[W,O]=n.useState(!1),te=u.useDirection(f),[N,A]=P.useControllableState({prop:s,defaultProp:r??!1,onChange:d,caller:X}),[U,$]=P.useControllableState({prop:c,defaultProp:a,onChange:i,caller:X}),L=n.useRef(null),H=v?I||!!v.closest("form"):!0,[F,V]=n.useState(new Set),k=Array.from(F).map(_=>_.props.value).join(";");return l.jsx(P.Root2,{...p,children:l.jsxs(Rt,{required:b,scope:o,trigger:v,onTriggerChange:w,valueNode:h,onValueNodeChange:S,valueNodeHasChildren:W,onValueNodeHasChildrenChange:O,contentId:P.useId(),value:U,onValueChange:$,open:N,onOpenChange:A,dir:te,triggerPointerDownPosRef:L,disabled:R,children:[l.jsx(ce.Provider,{scope:o,children:l.jsx(Nt,{scope:t.__scopeSelect,onNativeOptionAdd:n.useCallback(_=>{V(D=>new Set(D).add(_))},[]),onNativeOptionRemove:n.useCallback(_=>{V(D=>{const B=new Set(D);return B.delete(_),B})},[]),children:e})}),H?l.jsxs(Je,{"aria-hidden":!0,required:b,tabIndex:-1,name:g,autoComplete:x,value:U,onChange:_=>$(_.target.value),disabled:R,form:I,children:[U===void 0?l.jsx("option",{value:""}):null,Array.from(F)]},k):null]})})};Pe.displayName=X;var Re="SelectTrigger",Ne=n.forwardRef((t,o)=>{const{__scopeSelect:e,disabled:s=!1,...r}=t,d=ie(e),c=z(Re,e),a=c.disabled||s,i=u.useComposedRefs(o,c.onTriggerChange),f=ae(e),g=n.useRef("touch"),[x,R,b]=et(p=>{const v=f().filter(S=>!S.disabled),w=v.find(S=>S.value===c.value),h=tt(v,p,w);h!==void 0&&c.onValueChange(h.value)}),I=p=>{a||(c.onOpenChange(!0),b()),p&&(c.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return l.jsx(P.Anchor,{asChild:!0,...d,children:l.jsx(u.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:a,"data-disabled":a?"":void 0,"data-placeholder":Qe(c.value)?"":void 0,...r,ref:i,onClick:u.composeEventHandlers(r.onClick,p=>{p.currentTarget.focus(),g.current!=="mouse"&&I(p)}),onPointerDown:u.composeEventHandlers(r.onPointerDown,p=>{g.current=p.pointerType;const v=p.target;v.hasPointerCapture(p.pointerId)&&v.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(I(p),p.preventDefault())}),onKeyDown:u.composeEventHandlers(r.onKeyDown,p=>{const v=x.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&R(p.key),!(v&&p.key===" ")&&bt.includes(p.key)&&(I(),p.preventDefault())})})})});Ne.displayName=Re;var _e="SelectValue",je=n.forwardRef((t,o)=>{const{__scopeSelect:e,className:s,style:r,children:d,placeholder:c="",...a}=t,i=z(_e,e),{onValueNodeHasChildrenChange:f}=i,g=d!==void 0,x=u.useComposedRefs(o,i.onValueNodeChange);return u.useLayoutEffect2(()=>{f(g)},[f,g]),l.jsx(u.Primitive.span,{...a,ref:x,style:{pointerEvents:"none"},children:Qe(i.value)?l.jsx(l.Fragment,{children:c}):d})});je.displayName=_e;var jt="SelectIcon",Oe=n.forwardRef((t,o)=>{const{__scopeSelect:e,children:s,...r}=t;return l.jsx(u.Primitive.span,{"aria-hidden":!0,...r,ref:o,children:s||"▼"})});Oe.displayName=jt;var Ot="SelectPortal",Me=t=>l.jsx(P.Portal,{asChild:!0,...t});Me.displayName=Ot;var J="SelectContent",Ae=n.forwardRef((t,o)=>{const e=z(J,t.__scopeSelect),[s,r]=n.useState();if(u.useLayoutEffect2(()=>{r(new DocumentFragment)},[]),!e.open){const d=s;return d?Te.createPortal(l.jsx(De,{scope:t.__scopeSelect,children:l.jsx(ce.Slot,{scope:t.__scopeSelect,children:l.jsx("div",{children:t.children})})}),d):null}return l.jsx(Le,{...t,ref:o})});Ae.displayName=J;var M=10,[De,G]=ee(J),Mt="SelectContentImpl",At=xt("SelectContent.RemoveScroll"),Le=n.forwardRef((t,o)=>{const{__scopeSelect:e,position:s="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:d,onPointerDownOutside:c,side:a,sideOffset:i,align:f,alignOffset:g,arrowPadding:x,collisionBoundary:R,collisionPadding:b,sticky:I,hideWhenDetached:p,avoidCollisions:v,...w}=t,h=z(J,e),[S,W]=n.useState(null),[O,te]=n.useState(null),N=u.useComposedRefs(o,m=>W(m)),[A,U]=n.useState(null),[$,L]=n.useState(null),H=ae(e),[F,V]=n.useState(!1),k=n.useRef(!1);n.useEffect(()=>{if(S)return P.hideOthers(S)},[S]),P.useFocusGuards();const _=n.useCallback(m=>{const[E,...j]=H().map(T=>T.ref.current),[y]=j.slice(-1),C=document.activeElement;for(const T of m)if(T===C||(T?.scrollIntoView({block:"nearest"}),T===E&&O&&(O.scrollTop=0),T===y&&O&&(O.scrollTop=O.scrollHeight),T?.focus(),document.activeElement!==C))return},[H,O]),D=n.useCallback(()=>_([A,S]),[_,A,S]);n.useEffect(()=>{F&&D()},[F,D]);const{onOpenChange:B,triggerPointerDownPosRef:K}=h;n.useEffect(()=>{if(S){let m={x:0,y:0};const E=y=>{m={x:Math.abs(Math.round(y.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(y.pageY)-(K.current?.y??0))}},j=y=>{m.x<=10&&m.y<=10?y.preventDefault():S.contains(y.target)||B(!1),document.removeEventListener("pointermove",E),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",E),document.addEventListener("pointerup",j,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",E),document.removeEventListener("pointerup",j,{capture:!0})}}},[S,B,K]),n.useEffect(()=>{const m=()=>B(!1);return window.addEventListener("blur",m),window.addEventListener("resize",m),()=>{window.removeEventListener("blur",m),window.removeEventListener("resize",m)}},[B]);const[de,re]=et(m=>{const E=H().filter(C=>!C.disabled),j=E.find(C=>C.ref.current===document.activeElement),y=tt(E,m,j);y&&setTimeout(()=>y.ref.current.focus())}),ue=n.useCallback((m,E,j)=>{const y=!k.current&&!j;(h.value!==void 0&&h.value===E||y)&&(U(m),y&&(k.current=!0))},[h.value]),pe=n.useCallback(()=>S?.focus(),[S]),Q=n.useCallback((m,E,j)=>{const y=!k.current&&!j;(h.value!==void 0&&h.value===E||y)&&L(m)},[h.value]),se=s==="popper"?ve:He,oe=se===ve?{side:a,sideOffset:i,align:f,alignOffset:g,arrowPadding:x,collisionBoundary:R,collisionPadding:b,sticky:I,hideWhenDetached:p,avoidCollisions:v}:{};return l.jsx(De,{scope:e,content:S,viewport:O,onViewportChange:te,itemRefCallback:ue,selectedItem:A,onItemLeave:pe,itemTextRefCallback:Q,focusSelectedItem:D,selectedItemText:$,position:s,isPositioned:F,searchRef:de,children:l.jsx(P.ReactRemoveScroll,{as:At,allowPinchZoom:!0,children:l.jsx(P.FocusScope,{asChild:!0,trapped:h.open,onMountAutoFocus:m=>{m.preventDefault()},onUnmountAutoFocus:u.composeEventHandlers(r,m=>{h.trigger?.focus({preventScroll:!0}),m.preventDefault()}),children:l.jsx(P.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:c,onFocusOutside:m=>m.preventDefault(),onDismiss:()=>h.onOpenChange(!1),children:l.jsx(se,{role:"listbox",id:h.contentId,"data-state":h.open?"open":"closed",dir:h.dir,onContextMenu:m=>m.preventDefault(),...w,...oe,onPlaced:()=>V(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:u.composeEventHandlers(w.onKeyDown,m=>{const E=m.ctrlKey||m.altKey||m.metaKey;if(m.key==="Tab"&&m.preventDefault(),!E&&m.key.length===1&&re(m.key),["ArrowUp","ArrowDown","Home","End"].includes(m.key)){let y=H().filter(C=>!C.disabled).map(C=>C.ref.current);if(["ArrowUp","End"].includes(m.key)&&(y=y.slice().reverse()),["ArrowUp","ArrowDown"].includes(m.key)){const C=m.target,T=y.indexOf(C);y=y.slice(T+1)}setTimeout(()=>_(y)),m.preventDefault()}})})})})})})});Le.displayName=Mt;var Dt="SelectItemAlignedPosition",He=n.forwardRef((t,o)=>{const{__scopeSelect:e,onPlaced:s,...r}=t,d=z(J,e),c=G(J,e),[a,i]=n.useState(null),[f,g]=n.useState(null),x=u.useComposedRefs(o,N=>g(N)),R=ae(e),b=n.useRef(!1),I=n.useRef(!0),{viewport:p,selectedItem:v,selectedItemText:w,focusSelectedItem:h}=c,S=n.useCallback(()=>{if(d.trigger&&d.valueNode&&a&&f&&p&&v&&w){const N=d.trigger.getBoundingClientRect(),A=f.getBoundingClientRect(),U=d.valueNode.getBoundingClientRect(),$=w.getBoundingClientRect();if(d.dir!=="rtl"){const C=$.left-A.left,T=U.left-C,Y=N.left-T,Z=N.width+Y,fe=Math.max(Z,A.width),me=window.innerWidth-M,he=u.clamp(T,[M,Math.max(M,me-fe)]);a.style.minWidth=Z+"px",a.style.left=he+"px"}else{const C=A.right-$.right,T=window.innerWidth-U.right-C,Y=window.innerWidth-N.right-T,Z=N.width+Y,fe=Math.max(Z,A.width),me=window.innerWidth-M,he=u.clamp(T,[M,Math.max(M,me-fe)]);a.style.minWidth=Z+"px",a.style.right=he+"px"}const L=R(),H=window.innerHeight-M*2,F=p.scrollHeight,V=window.getComputedStyle(f),k=parseInt(V.borderTopWidth,10),_=parseInt(V.paddingTop,10),D=parseInt(V.borderBottomWidth,10),B=parseInt(V.paddingBottom,10),K=k+_+F+B+D,de=Math.min(v.offsetHeight*5,K),re=window.getComputedStyle(p),ue=parseInt(re.paddingTop,10),pe=parseInt(re.paddingBottom,10),Q=N.top+N.height/2-M,se=H-Q,oe=v.offsetHeight/2,m=v.offsetTop+oe,E=k+_+m,j=K-E;if(E<=Q){const C=L.length>0&&v===L[L.length-1].ref.current;a.style.bottom="0px";const T=f.clientHeight-p.offsetTop-p.offsetHeight,Y=Math.max(se,oe+(C?pe:0)+T+D),Z=E+Y;a.style.height=Z+"px"}else{const C=L.length>0&&v===L[0].ref.current;a.style.top="0px";const Y=Math.max(Q,k+p.offsetTop+(C?ue:0)+oe)+j;a.style.height=Y+"px",p.scrollTop=E-Q+p.offsetTop}a.style.margin=`${M}px 0`,a.style.minHeight=de+"px",a.style.maxHeight=H+"px",s?.(),requestAnimationFrame(()=>b.current=!0)}},[R,d.trigger,d.valueNode,a,f,p,v,w,d.dir,s]);u.useLayoutEffect2(()=>S(),[S]);const[W,O]=n.useState();u.useLayoutEffect2(()=>{f&&O(window.getComputedStyle(f).zIndex)},[f]);const te=n.useCallback(N=>{N&&I.current===!0&&(S(),h?.(),I.current=!1)},[S,h]);return l.jsx(Ht,{scope:e,contentWrapper:a,shouldExpandOnScrollRef:b,onScrollButtonChange:te,children:l.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:W},children:l.jsx(u.Primitive.div,{...r,ref:x,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});He.displayName=Dt;var Lt="SelectPopperPosition",ve=n.forwardRef((t,o)=>{const{__scopeSelect:e,align:s="start",collisionPadding:r=M,...d}=t,c=ie(e);return l.jsx(P.Content,{...c,...d,ref:o,align:s,collisionPadding:r,style:{boxSizing:"border-box",...d.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ve.displayName=Lt;var[Ht,ye]=ee(J,{}),ge="SelectViewport",Ve=n.forwardRef((t,o)=>{const{__scopeSelect:e,nonce:s,...r}=t,d=G(ge,e),c=ye(ge,e),a=u.useComposedRefs(o,d.onViewportChange),i=n.useRef(0);return l.jsxs(l.Fragment,{children:[l.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),l.jsx(ce.Slot,{scope:e,children:l.jsx(u.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:a,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:u.composeEventHandlers(r.onScroll,f=>{const g=f.currentTarget,{contentWrapper:x,shouldExpandOnScrollRef:R}=c;if(R?.current&&x){const b=Math.abs(i.current-g.scrollTop);if(b>0){const I=window.innerHeight-M*2,p=parseFloat(x.style.minHeight),v=parseFloat(x.style.height),w=Math.max(p,v);if(w<I){const h=w+b,S=Math.min(I,h),W=h-S;x.style.height=S+"px",x.style.bottom==="0px"&&(g.scrollTop=W>0?W:0,x.style.justifyContent="flex-end")}}}i.current=g.scrollTop})})})]})});Ve.displayName=ge;var ke="SelectGroup",[Vt,kt]=ee(ke),Be=n.forwardRef((t,o)=>{const{__scopeSelect:e,...s}=t,r=P.useId();return l.jsx(Vt,{scope:e,id:r,children:l.jsx(u.Primitive.div,{role:"group","aria-labelledby":r,...s,ref:o})})});Be.displayName=ke;var We="SelectLabel",Ue=n.forwardRef((t,o)=>{const{__scopeSelect:e,...s}=t,r=kt(We,e);return l.jsx(u.Primitive.div,{id:r.id,...s,ref:o})});Ue.displayName=We;var le="SelectItem",[Bt,Fe]=ee(le),Ke=n.forwardRef((t,o)=>{const{__scopeSelect:e,value:s,disabled:r=!1,textValue:d,...c}=t,a=z(le,e),i=G(le,e),f=a.value===s,[g,x]=n.useState(d??""),[R,b]=n.useState(!1),I=u.useComposedRefs(o,h=>i.itemRefCallback?.(h,s,r)),p=P.useId(),v=n.useRef("touch"),w=()=>{r||(a.onValueChange(s),a.onOpenChange(!1))};if(s==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return l.jsx(Bt,{scope:e,value:s,disabled:r,textId:p,isSelected:f,onItemTextChange:n.useCallback(h=>{x(S=>S||(h?.textContent??"").trim())},[]),children:l.jsx(ce.ItemSlot,{scope:e,value:s,disabled:r,textValue:g,children:l.jsx(u.Primitive.div,{role:"option","aria-labelledby":p,"data-highlighted":R?"":void 0,"aria-selected":f&&R,"data-state":f?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...c,ref:I,onFocus:u.composeEventHandlers(c.onFocus,()=>b(!0)),onBlur:u.composeEventHandlers(c.onBlur,()=>b(!1)),onClick:u.composeEventHandlers(c.onClick,()=>{v.current!=="mouse"&&w()}),onPointerUp:u.composeEventHandlers(c.onPointerUp,()=>{v.current==="mouse"&&w()}),onPointerDown:u.composeEventHandlers(c.onPointerDown,h=>{v.current=h.pointerType}),onPointerMove:u.composeEventHandlers(c.onPointerMove,h=>{v.current=h.pointerType,r?i.onItemLeave?.():v.current==="mouse"&&h.currentTarget.focus({preventScroll:!0})}),onPointerLeave:u.composeEventHandlers(c.onPointerLeave,h=>{h.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:u.composeEventHandlers(c.onKeyDown,h=>{i.searchRef?.current!==""&&h.key===" "||(Tt.includes(h.key)&&w(),h.key===" "&&h.preventDefault())})})})})});Ke.displayName=le;var ne="SelectItemText",qe=n.forwardRef((t,o)=>{const{__scopeSelect:e,className:s,style:r,...d}=t,c=z(ne,e),a=G(ne,e),i=Fe(ne,e),f=_t(ne,e),[g,x]=n.useState(null),R=u.useComposedRefs(o,w=>x(w),i.onItemTextChange,w=>a.itemTextRefCallback?.(w,i.value,i.disabled)),b=g?.textContent,I=n.useMemo(()=>l.jsx("option",{value:i.value,disabled:i.disabled,children:b},i.value),[i.disabled,i.value,b]),{onNativeOptionAdd:p,onNativeOptionRemove:v}=f;return u.useLayoutEffect2(()=>(p(I),()=>v(I)),[p,v,I]),l.jsxs(l.Fragment,{children:[l.jsx(u.Primitive.span,{id:i.textId,...d,ref:R}),i.isSelected&&c.valueNode&&!c.valueNodeHasChildren?Te.createPortal(d.children,c.valueNode):null]})});qe.displayName=ne;var ze="SelectItemIndicator",Ge=n.forwardRef((t,o)=>{const{__scopeSelect:e,...s}=t;return Fe(ze,e).isSelected?l.jsx(u.Primitive.span,{"aria-hidden":!0,...s,ref:o}):null});Ge.displayName=ze;var Se="SelectScrollUpButton",$e=n.forwardRef((t,o)=>{const e=G(Se,t.__scopeSelect),s=ye(Se,t.__scopeSelect),[r,d]=n.useState(!1),c=u.useComposedRefs(o,s.onScrollButtonChange);return u.useLayoutEffect2(()=>{if(e.viewport&&e.isPositioned){let a=function(){const f=i.scrollTop>0;d(f)};const i=e.viewport;return a(),i.addEventListener("scroll",a),()=>i.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),r?l.jsx(Ze,{...t,ref:c,onAutoScroll:()=>{const{viewport:a,selectedItem:i}=e;a&&i&&(a.scrollTop=a.scrollTop-i.offsetHeight)}}):null});$e.displayName=Se;var xe="SelectScrollDownButton",Ye=n.forwardRef((t,o)=>{const e=G(xe,t.__scopeSelect),s=ye(xe,t.__scopeSelect),[r,d]=n.useState(!1),c=u.useComposedRefs(o,s.onScrollButtonChange);return u.useLayoutEffect2(()=>{if(e.viewport&&e.isPositioned){let a=function(){const f=i.scrollHeight-i.clientHeight,g=Math.ceil(i.scrollTop)<f;d(g)};const i=e.viewport;return a(),i.addEventListener("scroll",a),()=>i.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),r?l.jsx(Ze,{...t,ref:c,onAutoScroll:()=>{const{viewport:a,selectedItem:i}=e;a&&i&&(a.scrollTop=a.scrollTop+i.offsetHeight)}}):null});Ye.displayName=xe;var Ze=n.forwardRef((t,o)=>{const{__scopeSelect:e,onAutoScroll:s,...r}=t,d=G("SelectScrollButton",e),c=n.useRef(null),a=ae(e),i=n.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return n.useEffect(()=>()=>i(),[i]),u.useLayoutEffect2(()=>{a().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[a]),l.jsx(u.Primitive.div,{"aria-hidden":!0,...r,ref:o,style:{flexShrink:0,...r.style},onPointerDown:u.composeEventHandlers(r.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(s,50))}),onPointerMove:u.composeEventHandlers(r.onPointerMove,()=>{d.onItemLeave?.(),c.current===null&&(c.current=window.setInterval(s,50))}),onPointerLeave:u.composeEventHandlers(r.onPointerLeave,()=>{i()})})}),Wt="SelectSeparator",Xe=n.forwardRef((t,o)=>{const{__scopeSelect:e,...s}=t;return l.jsx(u.Primitive.div,{"aria-hidden":!0,...s,ref:o})});Xe.displayName=Wt;var we="SelectArrow",Ut=n.forwardRef((t,o)=>{const{__scopeSelect:e,...s}=t,r=ie(e),d=z(we,e),c=G(we,e);return d.open&&c.position==="popper"?l.jsx(P.Arrow,{...r,...s,ref:o}):null});Ut.displayName=we;var Ft="SelectBubbleInput",Je=n.forwardRef(({__scopeSelect:t,value:o,...e},s)=>{const r=n.useRef(null),d=u.useComposedRefs(s,r),c=vt.usePrevious(o);return n.useEffect(()=>{const a=r.current;if(!a)return;const i=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(i,"value").set;if(c!==o&&g){const x=new Event("change",{bubbles:!0});g.call(a,o),a.dispatchEvent(x)}},[c,o]),l.jsx(u.Primitive.select,{...e,style:{...gt.VISUALLY_HIDDEN_STYLES,...e.style},ref:d,defaultValue:o})});Je.displayName=Ft;function Qe(t){return t===""||t===void 0}function et(t){const o=u.useCallbackRef(t),e=n.useRef(""),s=n.useRef(0),r=n.useCallback(c=>{const a=e.current+c;o(a),(function i(f){e.current=f,window.clearTimeout(s.current),f!==""&&(s.current=window.setTimeout(()=>i(""),1e3))})(a)},[o]),d=n.useCallback(()=>{e.current="",window.clearTimeout(s.current)},[]);return n.useEffect(()=>()=>window.clearTimeout(s.current),[]),[e,r,d]}function tt(t,o,e){const r=o.length>1&&Array.from(o).every(f=>f===o[0])?o[0]:o,d=e?t.indexOf(e):-1;let c=Kt(t,Math.max(d,0));r.length===1&&(c=c.filter(f=>f!==e));const i=c.find(f=>f.textValue.toLowerCase().startsWith(r.toLowerCase()));return i!==e?i:void 0}function Kt(t,o){return t.map((e,s)=>t[(o+s)%t.length])}var qt=Pe,ot=Ne,zt=je,Gt=Oe,$t=Me,nt=Ae,Yt=Ve,Zt=Be,rt=Ue,st=Ke,Xt=qe,Jt=Ge,lt=$e,ct=Ye,at=Xe;const Qt=qt,eo=Zt,to=zt,oo=u.cva("flex items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-all duration-200",{variants:{size:{sm:"h-8 text-sm",md:"h-10 text-base",lg:"h-12 text-lg"},width:{auto:"w-auto",full:"w-full",sm:"w-24",md:"w-32",lg:"w-48"}},defaultVariants:{size:"md",width:"full"}}),it=n.forwardRef(({className:t,children:o,size:e,width:s,...r},d)=>l.jsxs(ot,{ref:d,className:q.cn(oo({size:e,width:s}),t),...r,children:[o,l.jsx(Gt,{asChild:!0,children:l.jsx(Ee.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));it.displayName=ot.displayName;const Ce=n.forwardRef(({className:t,...o},e)=>l.jsx(lt,{ref:e,className:q.cn("flex cursor-default items-center justify-center py-1",t),...o,children:l.jsx(St.ChevronUp,{className:"h-4 w-4"})}));Ce.displayName=lt.displayName;const Ie=n.forwardRef(({className:t,...o},e)=>l.jsx(ct,{ref:e,className:q.cn("flex cursor-default items-center justify-center py-1",t),...o,children:l.jsx(Ee.ChevronDown,{className:"h-4 w-4"})}));Ie.displayName=ct.displayName;const dt=n.forwardRef(({className:t,children:o,position:e="popper",...s},r)=>l.jsx($t,{children:l.jsxs(nt,{ref:r,className:q.cn("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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",e==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:e,...s,children:[l.jsx(Ce,{}),l.jsx(Yt,{className:q.cn("p-1",e==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:o}),l.jsx(Ie,{})]})}));dt.displayName=nt.displayName;const ut=n.forwardRef(({className:t,...o},e)=>l.jsx(rt,{ref:e,className:q.cn("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...o}));ut.displayName=rt.displayName;const pt=n.forwardRef(({className:t,children:o,...e},s)=>l.jsxs(st,{ref:s,className:q.cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...e,children:[l.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:l.jsx(Jt,{children:l.jsx(u.Check,{className:"h-4 w-4"})})}),l.jsx(Xt,{children:o})]}));pt.displayName=st.displayName;const ft=n.forwardRef(({className:t,...o},e)=>l.jsx(at,{ref:e,className:q.cn("-mx-1 my-1 h-px bg-muted",t),...o}));ft.displayName=at.displayName;exports.Select=Qt;exports.SelectContent=dt;exports.SelectGroup=eo;exports.SelectItem=pt;exports.SelectLabel=ut;exports.SelectScrollDownButton=Ie;exports.SelectScrollUpButton=Ce;exports.SelectSeparator=ft;exports.SelectTrigger=it;exports.SelectValue=to;
2
+ //# sourceMappingURL=select-m-Mqwxu3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-m-Mqwxu3.cjs","sources":["../node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-select/dist/index.mjs","../src/components/ui/select.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\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 { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst selectTriggerVariants = cva(\n 'flex items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-all duration-200',\n {\n variants: {\n size: {\n sm: 'h-8 text-sm',\n md: 'h-10 text-base',\n lg: 'h-12 text-lg',\n },\n width: {\n auto: 'w-auto',\n full: 'w-full',\n sm: 'w-24',\n md: 'w-32',\n lg: 'w-48',\n },\n },\n defaultVariants: {\n size: 'md',\n width: 'full',\n },\n }\n)\n\nexport interface SelectTriggerProps\n extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {}\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, children, size, width, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(selectTriggerVariants({ size, width }), className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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',\n position === 'popper' &&\n '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 className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-muted', className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn","OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","SelectBubbleInput","event","TRIGGER_NAME","SelectTrigger","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","Slot","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","BUBBLE_INPUT_NAME","ref","prevValue","usePrevious","select","selectProto","VISUALLY_HIDDEN_STYLES","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton","Separator","SelectPrimitive.Root","SelectPrimitive.Group","SelectPrimitive.Value","selectTriggerVariants","cva","size","width","SelectPrimitive.Trigger","cn","SelectPrimitive.Icon","ChevronDown","SelectPrimitive.ScrollUpButton","ChevronUp","SelectPrimitive.ScrollDownButton","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Viewport","SelectPrimitive.Label","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","Check","SelectPrimitive.ItemText","SelectPrimitive.Separator"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ "use strict";const u=require("react/jsx-runtime"),W=require("react"),T=require("./scroll-area-DYOiJMXh.cjs"),C=require("./input-CZrckPLk.cjs"),J=require("./index-lT9bLt9X.cjs"),H=require("./index-lGzB9daF.cjs");require("react-dom");function Q(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const s=Q(W);var Z=Symbol("radix.slottable");function ee(e){const o=({children:t})=>u.jsx(u.Fragment,{children:t});return o.displayName=`${e}.Slottable`,o.__radixId=Z,o}var[_]=T.createContextScope("Tooltip",[C.createPopperScope]),N=C.createPopperScope(),M="TooltipProvider",te=700,S="tooltip.open",[oe,A]=_(M),q=e=>{const{__scopeTooltip:o,delayDuration:t=te,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:i}=e,l=s.useRef(!0),d=s.useRef(!1),a=s.useRef(0);return s.useEffect(()=>{const f=a.current;return()=>window.clearTimeout(f)},[]),u.jsx(oe,{scope:o,isOpenDelayedRef:l,delayDuration:t,onOpen:s.useCallback(()=>{window.clearTimeout(a.current),l.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:d,onPointerInTransitChange:s.useCallback(f=>{d.current=f},[]),disableHoverableContent:n,children:i})};q.displayName=M;var O="Tooltip",[re,D]=_(O),F=e=>{const{__scopeTooltip:o,children:t,open:r,defaultOpen:n,onOpenChange:i,disableHoverableContent:l,delayDuration:d}=e,a=A(O,e.__scopeTooltip),f=N(o),[c,v]=s.useState(null),m=C.useId(),p=s.useRef(0),h=l??a.disableHoverableContent,g=d??a.delayDuration,x=s.useRef(!1),[b,y]=C.useControllableState({prop:r,defaultProp:n??!1,onChange:I=>{I?(a.onOpen(),document.dispatchEvent(new CustomEvent(S))):a.onClose(),i?.(I)},caller:O}),E=s.useMemo(()=>b?x.current?"delayed-open":"instant-open":"closed",[b]),P=s.useCallback(()=>{window.clearTimeout(p.current),p.current=0,x.current=!1,y(!0)},[y]),R=s.useCallback(()=>{window.clearTimeout(p.current),p.current=0,y(!1)},[y]),L=s.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{x.current=!0,y(!0),p.current=0},g)},[g,y]);return s.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),u.jsx(C.Root2,{...f,children:u.jsx(re,{scope:o,contentId:m,open:b,stateAttribute:E,trigger:c,onTriggerChange:v,onTriggerEnter:s.useCallback(()=>{a.isOpenDelayedRef.current?L():P()},[a.isOpenDelayedRef,L,P]),onTriggerLeave:s.useCallback(()=>{h?R():(window.clearTimeout(p.current),p.current=0)},[R,h]),onOpen:P,onClose:R,disableHoverableContent:h,children:t})})};F.displayName=O;var j="TooltipTrigger",z=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=D(j,t),i=A(j,t),l=N(t),d=s.useRef(null),a=T.useComposedRefs(o,d,n.onTriggerChange),f=s.useRef(!1),c=s.useRef(!1),v=s.useCallback(()=>f.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),u.jsx(C.Anchor,{asChild:!0,...l,children:u.jsx(T.Primitive.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:a,onPointerMove:T.composeEventHandlers(e.onPointerMove,m=>{m.pointerType!=="touch"&&!c.current&&!i.isPointerInTransitRef.current&&(n.onTriggerEnter(),c.current=!0)}),onPointerLeave:T.composeEventHandlers(e.onPointerLeave,()=>{n.onTriggerLeave(),c.current=!1}),onPointerDown:T.composeEventHandlers(e.onPointerDown,()=>{n.open&&n.onClose(),f.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:T.composeEventHandlers(e.onFocus,()=>{f.current||n.onOpen()}),onBlur:T.composeEventHandlers(e.onBlur,n.onClose),onClick:T.composeEventHandlers(e.onClick,n.onClose)})})});z.displayName=j;var ne="TooltipPortal",[_e,se]=_(ne,{forceMount:void 0}),w="TooltipContent",G=s.forwardRef((e,o)=>{const t=se(w,e.__scopeTooltip),{forceMount:r=t.forceMount,side:n="top",...i}=e,l=D(w,e.__scopeTooltip);return u.jsx(T.Presence,{present:r||l.open,children:l.disableHoverableContent?u.jsx($,{side:n,...i,ref:o}):u.jsx(ae,{side:n,...i,ref:o})})}),ae=s.forwardRef((e,o)=>{const t=D(w,e.__scopeTooltip),r=A(w,e.__scopeTooltip),n=s.useRef(null),i=T.useComposedRefs(o,n),[l,d]=s.useState(null),{trigger:a,onClose:f}=t,c=n.current,{onPointerInTransitChange:v}=r,m=s.useCallback(()=>{d(null),v(!1)},[v]),p=s.useCallback((h,g)=>{const x=h.currentTarget,b={x:h.clientX,y:h.clientY},y=de(b,x.getBoundingClientRect()),E=pe(b,y),P=fe(g.getBoundingClientRect()),R=me([...E,...P]);d(R),v(!0)},[v]);return s.useEffect(()=>()=>m(),[m]),s.useEffect(()=>{if(a&&c){const h=x=>p(x,c),g=x=>p(x,a);return a.addEventListener("pointerleave",h),c.addEventListener("pointerleave",g),()=>{a.removeEventListener("pointerleave",h),c.removeEventListener("pointerleave",g)}}},[a,c,p,m]),s.useEffect(()=>{if(l){const h=g=>{const x=g.target,b={x:g.clientX,y:g.clientY},y=a?.contains(x)||c?.contains(x),E=!ve(b,l);y?m():E&&(m(),f())};return document.addEventListener("pointermove",h),()=>document.removeEventListener("pointermove",h)}},[a,c,l,f,m]),u.jsx($,{...e,ref:i})}),[ie,le]=_(O,{isInside:!1}),ce=ee("TooltipContent"),$=s.forwardRef((e,o)=>{const{__scopeTooltip:t,children:r,"aria-label":n,onEscapeKeyDown:i,onPointerDownOutside:l,...d}=e,a=D(w,t),f=N(t),{onClose:c}=a;return s.useEffect(()=>(document.addEventListener(S,c),()=>document.removeEventListener(S,c)),[c]),s.useEffect(()=>{if(a.trigger){const v=m=>{m.target?.contains(a.trigger)&&c()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[a.trigger,c]),u.jsx(C.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:v=>v.preventDefault(),onDismiss:c,children:u.jsxs(C.Content,{"data-state":a.stateAttribute,...f,...d,ref:o,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[u.jsx(ce,{children:r}),u.jsx(ie,{scope:t,isInside:!0,children:u.jsx(J.Root,{id:a.contentId,role:"tooltip",children:n||r})})]})})});G.displayName=w;var B="TooltipArrow",ue=s.forwardRef((e,o)=>{const{__scopeTooltip:t,...r}=e,n=N(t);return le(B,t).isInside?null:u.jsx(C.Arrow,{...n,...r,ref:o})});ue.displayName=B;function de(e,o){const t=Math.abs(o.top-e.y),r=Math.abs(o.bottom-e.y),n=Math.abs(o.right-e.x),i=Math.abs(o.left-e.x);switch(Math.min(t,r,n,i)){case i:return"left";case n:return"right";case t:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function pe(e,o,t=5){const r=[];switch(o){case"top":r.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":r.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":r.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":r.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return r}function fe(e){const{top:o,right:t,bottom:r,left:n}=e;return[{x:n,y:o},{x:t,y:o},{x:t,y:r},{x:n,y:r}]}function ve(e,o){const{x:t,y:r}=e;let n=!1;for(let i=0,l=o.length-1;i<o.length;l=i++){const d=o[i],a=o[l],f=d.x,c=d.y,v=a.x,m=a.y;c>r!=m>r&&t<(v-f)*(r-c)/(m-c)+f&&(n=!n)}return n}function me(e){const o=e.slice();return o.sort((t,r)=>t.x<r.x?-1:t.x>r.x?1:t.y<r.y?-1:t.y>r.y?1:0),he(o)}function he(e){if(e.length<=1)return e.slice();const o=[];for(let r=0;r<e.length;r++){const n=e[r];for(;o.length>=2;){const i=o[o.length-1],l=o[o.length-2];if((i.x-l.x)*(n.y-l.y)>=(i.y-l.y)*(n.x-l.x))o.pop();else break}o.push(n)}o.pop();const t=[];for(let r=e.length-1;r>=0;r--){const n=e[r];for(;t.length>=2;){const i=t[t.length-1],l=t[t.length-2];if((i.x-l.x)*(n.y-l.y)>=(i.y-l.y)*(n.x-l.x))t.pop();else break}t.push(n)}return t.pop(),o.length===1&&t.length===1&&o[0].x===t[0].x&&o[0].y===t[0].y?o:o.concat(t)}var xe=q,Te=F,ge=z,U=G;const ye=xe,Ce=Te,be=ge,V=s.forwardRef(({className:e,sideOffset:o=4,...t},r)=>u.jsx(U,{ref:r,sideOffset:o,className:H.cn("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",e),...t}));V.displayName=U.displayName;var we=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ee=we.reduce((e,o)=>{const t=T.createSlot(`Primitive.${o}`),r=s.forwardRef((n,i)=>{const{asChild:l,...d}=n,a=l?t:o;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(a,{...d,ref:i})});return r.displayName=`Primitive.${o}`,{...e,[o]:r}},{}),Pe="Separator",k="horizontal",Re=["horizontal","vertical"],Y=s.forwardRef((e,o)=>{const{decorative:t,orientation:r=k,...n}=e,i=Oe(r)?r:k,d=t?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return u.jsx(Ee.div,{"data-orientation":i,...d,...n,ref:o})});Y.displayName=Pe;function Oe(e){return Re.includes(e)}var X=Y;const K=s.forwardRef(({className:e,orientation:o="horizontal",decorative:t=!0,...r},n)=>u.jsx(X,{ref:n,decorative:t,orientation:o,className:H.cn("shrink-0 bg-border",o==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));K.displayName=X.displayName;exports.Separator=K;exports.Tooltip=Ce;exports.TooltipContent=V;exports.TooltipProvider=ye;exports.TooltipTrigger=be;
2
+ //# sourceMappingURL=separator-DBUivkHq.cjs.map