@senitix/ui 0.4.0 → 0.4.1

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 (223) hide show
  1. package/dist/avatar-BT_SPwFW.cjs +18 -0
  2. package/dist/{avatar-C0aVNCG9.cjs.map → avatar-BT_SPwFW.cjs.map} +1 -1
  3. package/dist/avatar-C5-ZWIqT.js +305 -0
  4. package/dist/{avatar-CN6wcrqY.js.map → avatar-C5-ZWIqT.js.map} +1 -1
  5. package/dist/calendar-BF5drX5u.cjs +12 -0
  6. package/dist/{calendar-BUm7YrNf.cjs.map → calendar-BF5drX5u.cjs.map} +1 -1
  7. package/dist/calendar-CUxm1K7J.js +17 -0
  8. package/dist/{calendar-ChJkFXXr.js.map → calendar-CUxm1K7J.js.map} +1 -1
  9. package/dist/calendar-D3RWU0_G.cjs +7 -0
  10. package/dist/{calendar-SwL5isYC.cjs.map → calendar-D3RWU0_G.cjs.map} +1 -1
  11. package/dist/{calendar-BFWc4IB7.js → calendar-DgnhzEfp.js} +126 -112
  12. package/dist/{calendar-BFWc4IB7.js.map → calendar-DgnhzEfp.js.map} +1 -1
  13. package/dist/{card-tMkUxpmW.cjs → card-DISL3sPJ.cjs} +2 -2
  14. package/dist/{card-tMkUxpmW.cjs.map → card-DISL3sPJ.cjs.map} +1 -1
  15. package/dist/{card-K4fxyYwE.js → card-fId5vof_.js} +2 -2
  16. package/dist/{card-K4fxyYwE.js.map → card-fId5vof_.js.map} +1 -1
  17. package/dist/{checkbox-CpOq5hkT.js → checkbox-BY2zxQVv.js} +5 -5
  18. package/dist/{checkbox-CpOq5hkT.js.map → checkbox-BY2zxQVv.js.map} +1 -1
  19. package/dist/checkbox-CL6u7vL6.cjs +2 -0
  20. package/dist/{checkbox-D7-LQyCl.cjs.map → checkbox-CL6u7vL6.cjs.map} +1 -1
  21. package/dist/chevron-down-BiUlxZA-.js +14 -0
  22. package/dist/{chevron-down-DJ1_YIFu.js.map → chevron-down-BiUlxZA-.js.map} +1 -1
  23. package/dist/chevron-down-Ce0kqXiD.cjs +7 -0
  24. package/dist/{chevron-down-DHdXqOqK.cjs.map → chevron-down-Ce0kqXiD.cjs.map} +1 -1
  25. package/dist/chevron-right-BLyGmyaF.js +14 -0
  26. package/dist/{chevron-right-B3bovvh0.js.map → chevron-right-BLyGmyaF.js.map} +1 -1
  27. package/dist/chevron-right-Bxf8i4gi.cjs +7 -0
  28. package/dist/{chevron-right-Dvyd11q0.cjs.map → chevron-right-Bxf8i4gi.cjs.map} +1 -1
  29. package/dist/chevron-up-BmYZUtrk.js +12 -0
  30. package/dist/{chevron-up-CGtXOr51.js.map → chevron-up-BmYZUtrk.js.map} +1 -1
  31. package/dist/chevron-up-C3RClqXD.cjs +7 -0
  32. package/dist/{chevron-up-B9fuiZhc.cjs.map → chevron-up-C3RClqXD.cjs.map} +1 -1
  33. package/dist/components/charts/index.cjs.js +1 -1
  34. package/dist/components/charts/index.es.js +1 -1
  35. package/dist/components/data-display/index.cjs.js +1 -1
  36. package/dist/components/data-display/index.es.js +1 -1
  37. package/dist/components/dnd/index.cjs.js +1 -1
  38. package/dist/components/dnd/index.es.js +1 -1
  39. package/dist/components/feedback/index.cjs.js +1 -1
  40. package/dist/components/feedback/index.es.js +1 -1
  41. package/dist/components/forms/index.cjs.js +1 -1
  42. package/dist/components/forms/index.es.js +1 -1
  43. package/dist/components/layouts/index.cjs.js +1 -1
  44. package/dist/components/layouts/index.es.js +1 -1
  45. package/dist/components/navigation/index.cjs.js +1 -1
  46. package/dist/components/navigation/index.es.js +1 -1
  47. package/dist/components/ui/index.cjs.js +1 -1
  48. package/dist/components/ui/index.es.js +13 -13
  49. package/dist/{createLucideIcon-BbeNo6vq.js → createLucideIcon-BC8wu-bu.js} +25 -1
  50. package/dist/{createLucideIcon-BbeNo6vq.js.map → createLucideIcon-BC8wu-bu.js.map} +1 -1
  51. package/dist/createLucideIcon-Cv8nC2E9.cjs +22 -0
  52. package/dist/{createLucideIcon-i5GEhNMV.cjs.map → createLucideIcon-Cv8nC2E9.cjs.map} +1 -1
  53. package/dist/ellipsis-6eUne95u.js +16 -0
  54. package/dist/{ellipsis-CiKEaUNP.js.map → ellipsis-6eUne95u.js.map} +1 -1
  55. package/dist/ellipsis-DkM3GBF5.cjs +7 -0
  56. package/dist/{ellipsis-BW2gWki8.cjs.map → ellipsis-DkM3GBF5.cjs.map} +1 -1
  57. package/dist/file-Cp5UoYUZ.cjs +7 -0
  58. package/dist/{file-V_hhCUhr.cjs.map → file-Cp5UoYUZ.cjs.map} +1 -1
  59. package/dist/file-Cw_u_aJB.js +15 -0
  60. package/dist/{file-wzTXnWqz.js.map → file-Cw_u_aJB.js.map} +1 -1
  61. package/dist/filter-tags-DoRzXjuY.cjs +48 -0
  62. package/dist/{filter-tags-DjUaNXHR.cjs.map → filter-tags-DoRzXjuY.cjs.map} +1 -1
  63. package/dist/{filter-tags-i_I8qV1N.js → filter-tags-zEQmRhEU.js} +353 -299
  64. package/dist/{filter-tags-i_I8qV1N.js.map → filter-tags-zEQmRhEU.js.map} +1 -1
  65. package/dist/{full-calendar-7ac2FFU6.js → full-calendar-5Z4JSj8g.js} +1176 -1143
  66. package/dist/{full-calendar-7ac2FFU6.js.map → full-calendar-5Z4JSj8g.js.map} +1 -1
  67. package/dist/full-calendar-DjAvCfuE.cjs +23 -0
  68. package/dist/{full-calendar-Cpeh5xMP.cjs.map → full-calendar-DjAvCfuE.cjs.map} +1 -1
  69. package/dist/{global-search-h1rVbP2q.js → global-search-BbZfc-VL.js} +514 -486
  70. package/dist/global-search-BbZfc-VL.js.map +1 -0
  71. package/dist/global-search-Bd74_wPV.cjs +22 -0
  72. package/dist/global-search-Bd74_wPV.cjs.map +1 -0
  73. package/dist/hooks/index.cjs.js +1 -1
  74. package/dist/hooks/index.es.js +1 -1
  75. package/dist/index-D2U2F80P.cjs +2 -0
  76. package/dist/index-D2U2F80P.cjs.map +1 -0
  77. package/dist/index-DG0KV-sw.cjs +11 -0
  78. package/dist/{index-CzVK9Zyb.cjs.map → index-DG0KV-sw.cjs.map} +1 -1
  79. package/dist/{index-Co9o9StL.js → index-Dk_Et2WJ.js} +2 -2
  80. package/dist/{index-Co9o9StL.js.map → index-Dk_Et2WJ.js.map} +1 -1
  81. package/dist/{index-CwJPJKOE.js → index-DtaLkIY8.js} +1072 -573
  82. package/dist/index-DtaLkIY8.js.map +1 -0
  83. package/dist/index-XnFSmCuh.js +299 -0
  84. package/dist/{index-l828OqQN.js.map → index-XnFSmCuh.js.map} +1 -1
  85. package/dist/{index-lT9bLt9X.cjs → index-gVbM3K4f.cjs} +2 -2
  86. package/dist/{index-lT9bLt9X.cjs.map → index-gVbM3K4f.cjs.map} +1 -1
  87. package/dist/index.cjs.js +1 -1
  88. package/dist/index.es.js +23 -23
  89. package/dist/input-BgPy-4Qu.js +3658 -0
  90. package/dist/{input-D4AoiWxo.js.map → input-BgPy-4Qu.js.map} +1 -1
  91. package/dist/input-Cfr2WB-P.cjs +47 -0
  92. package/dist/{input-CZrckPLk.cjs.map → input-Cfr2WB-P.cjs.map} +1 -1
  93. package/dist/locale-provider-BojNdf1Y.cjs +2 -0
  94. package/dist/{locale-provider-DHMwuneF.cjs.map → locale-provider-BojNdf1Y.cjs.map} +1 -1
  95. package/dist/{locale-provider-DanG6RRG.js → locale-provider-DzBeb-X3.js} +62 -61
  96. package/dist/{locale-provider-DanG6RRG.js.map → locale-provider-DzBeb-X3.js.map} +1 -1
  97. package/dist/locale-selector-BD1IWk6X.cjs +22 -0
  98. package/dist/{locale-selector-Ppe0KTi-.cjs.map → locale-selector-BD1IWk6X.cjs.map} +1 -1
  99. package/dist/locale-selector-DLRSyVye.js +1772 -0
  100. package/dist/{locale-selector-xn2GpdP9.js.map → locale-selector-DLRSyVye.js.map} +1 -1
  101. package/dist/minus-C0uyaz70.cjs +7 -0
  102. package/dist/{minus-BXBFZSZs.cjs.map → minus-C0uyaz70.cjs.map} +1 -1
  103. package/dist/minus-CiwV65ZG.js +12 -0
  104. package/dist/{minus-DvlYtl96.js.map → minus-CiwV65ZG.js.map} +1 -1
  105. package/dist/{multi-container-C2UpSw5f.js → multi-container-BZia7HCU.js} +181 -164
  106. package/dist/{multi-container-C2UpSw5f.js.map → multi-container-BZia7HCU.js.map} +1 -1
  107. package/dist/multi-container-BdNbgtPZ.cjs +7 -0
  108. package/dist/{multi-container-DMKL8c9B.cjs.map → multi-container-BdNbgtPZ.cjs.map} +1 -1
  109. package/dist/pipeline-Dh052Dvj.cjs +27 -0
  110. package/dist/{pipeline-By5_8AFg.cjs.map → pipeline-Dh052Dvj.cjs.map} +1 -1
  111. package/dist/pipeline-DqWvleNy.js +1076 -0
  112. package/dist/{pipeline-D-QNSU0U.js.map → pipeline-DqWvleNy.js.map} +1 -1
  113. package/dist/plus-BsV82JJ5.cjs +7 -0
  114. package/dist/{plus-8wKRkVu-.cjs.map → plus-BsV82JJ5.cjs.map} +1 -1
  115. package/dist/plus-DxD6rofl.js +15 -0
  116. package/dist/{plus-CJD68KQD.js.map → plus-DxD6rofl.js.map} +1 -1
  117. package/dist/popover-BgLxmm1z.cjs +7 -0
  118. package/dist/{popover-ivh-plLc.cjs.map → popover-BgLxmm1z.cjs.map} +1 -1
  119. package/dist/{popover-4V4sGe1U.js → popover-PI9jbhnS.js} +85 -75
  120. package/dist/{popover-4V4sGe1U.js.map → popover-PI9jbhnS.js.map} +1 -1
  121. package/dist/progress-CTTt_CP3.js +260 -0
  122. package/dist/{progress-D5AsrWa6.js.map → progress-CTTt_CP3.js.map} +1 -1
  123. package/dist/progress-CTWb7X1Q.cjs +37 -0
  124. package/dist/{progress-CFnuLqnS.cjs.map → progress-CTWb7X1Q.cjs.map} +1 -1
  125. package/dist/providers/index.cjs.js +1 -1
  126. package/dist/providers/index.es.js +1 -1
  127. package/dist/{scroll-area-DQeqDp3Y.js → scroll-area-A3jGu-Ta.js} +302 -280
  128. package/dist/{scroll-area-DQeqDp3Y.js.map → scroll-area-A3jGu-Ta.js.map} +1 -1
  129. package/dist/scroll-area-DzDnWIYJ.cjs +12 -0
  130. package/dist/{scroll-area-DYOiJMXh.cjs.map → scroll-area-DzDnWIYJ.cjs.map} +1 -1
  131. package/dist/select-BJpZrtep.js +989 -0
  132. package/dist/{select-C1rNBi6c.js.map → select-BJpZrtep.js.map} +1 -1
  133. package/dist/select-Ii8HRuXa.cjs +2 -0
  134. package/dist/{select-m-Mqwxu3.cjs.map → select-Ii8HRuXa.cjs.map} +1 -1
  135. package/dist/separator-BzcDE0Ei.cjs +2 -0
  136. package/dist/{separator-DBUivkHq.cjs.map → separator-BzcDE0Ei.cjs.map} +1 -1
  137. package/dist/{separator-DsfoJx-2.js → separator-DyarVo1-.js} +66 -65
  138. package/dist/{separator-DsfoJx-2.js.map → separator-DyarVo1-.js.map} +1 -1
  139. package/dist/{sheet-BVWCpq7E.js → sheet-DPSdOoE6.js} +4 -4
  140. package/dist/{sheet-BVWCpq7E.js.map → sheet-DPSdOoE6.js.map} +1 -1
  141. package/dist/{sheet-mKiFLVnK.cjs → sheet-XtjvbEMq.cjs} +2 -2
  142. package/dist/{sheet-mKiFLVnK.cjs.map → sheet-XtjvbEMq.cjs.map} +1 -1
  143. package/dist/{skeleton-BmGbfJw3.js → skeleton-Bl6FAxHT.js} +2 -2
  144. package/dist/{skeleton-BmGbfJw3.js.map → skeleton-Bl6FAxHT.js.map} +1 -1
  145. package/dist/{skeleton-BSwwYaQU.cjs → skeleton-Cb6MWerF.cjs} +2 -2
  146. package/dist/{skeleton-BSwwYaQU.cjs.map → skeleton-Cb6MWerF.cjs.map} +1 -1
  147. package/dist/sortable.esm-5DsiICDg.cjs +6 -0
  148. package/dist/{sortable.esm-DcQYlXi3.cjs.map → sortable.esm-5DsiICDg.cjs.map} +1 -1
  149. package/dist/{sortable.esm-Blhf_jh1.js → sortable.esm-Cb8oRBzU.js} +42 -42
  150. package/dist/{sortable.esm-Blhf_jh1.js.map → sortable.esm-Cb8oRBzU.js.map} +1 -1
  151. package/dist/sparkline-chart-CeCDeMNk.cjs +102 -0
  152. package/dist/{sparkline-chart-ca3uTzVK.cjs.map → sparkline-chart-CeCDeMNk.cjs.map} +1 -1
  153. package/dist/{sparkline-chart-Da-ehDGv.js → sparkline-chart-DUS4CoW_.js} +7799 -9094
  154. package/dist/{sparkline-chart-Da-ehDGv.js.map → sparkline-chart-DUS4CoW_.js.map} +1 -1
  155. package/dist/styles.css +1 -0
  156. package/dist/trending-up-BBjz_E69.cjs +7 -0
  157. package/dist/{trending-up-D3Nfrhi3.cjs.map → trending-up-BBjz_E69.cjs.map} +1 -1
  158. package/dist/trending-up-BHFXgLWy.js +15 -0
  159. package/dist/{trending-up-DPwlYzQb.js.map → trending-up-BHFXgLWy.js.map} +1 -1
  160. package/dist/{use-formatters-l1_2c8z0.js → use-formatters-Bgj3JA4i.js} +731 -746
  161. package/dist/{use-formatters-l1_2c8z0.js.map → use-formatters-Bgj3JA4i.js.map} +1 -1
  162. package/dist/use-formatters-CObUgipW.cjs +2 -0
  163. package/dist/{use-formatters-d97RVcmg.cjs.map → use-formatters-CObUgipW.cjs.map} +1 -1
  164. package/dist/utils/index.cjs.js +1 -1
  165. package/dist/utils/index.es.js +1 -1
  166. package/dist/welcome-card-CNuEa6Ck.cjs +67 -0
  167. package/dist/{welcome-card-CPolYl1D.cjs.map → welcome-card-CNuEa6Ck.cjs.map} +1 -1
  168. package/dist/{welcome-card-CxMJZ8bv.js → welcome-card-Cp6t6G3j.js} +197 -119
  169. package/dist/{welcome-card-CxMJZ8bv.js.map → welcome-card-Cp6t6G3j.js.map} +1 -1
  170. package/package.json +14 -12
  171. package/dist/avatar-C0aVNCG9.cjs +0 -2
  172. package/dist/avatar-CN6wcrqY.js +0 -288
  173. package/dist/calendar-BUm7YrNf.cjs +0 -2
  174. package/dist/calendar-ChJkFXXr.js +0 -11
  175. package/dist/calendar-SwL5isYC.cjs +0 -2
  176. package/dist/checkbox-D7-LQyCl.cjs +0 -2
  177. package/dist/chevron-down-DHdXqOqK.cjs +0 -2
  178. package/dist/chevron-down-DJ1_YIFu.js +0 -8
  179. package/dist/chevron-right-B3bovvh0.js +0 -8
  180. package/dist/chevron-right-Dvyd11q0.cjs +0 -2
  181. package/dist/chevron-up-B9fuiZhc.cjs +0 -2
  182. package/dist/chevron-up-CGtXOr51.js +0 -6
  183. package/dist/createLucideIcon-i5GEhNMV.cjs +0 -2
  184. package/dist/ellipsis-BW2gWki8.cjs +0 -2
  185. package/dist/ellipsis-CiKEaUNP.js +0 -10
  186. package/dist/file-V_hhCUhr.cjs +0 -2
  187. package/dist/file-wzTXnWqz.js +0 -9
  188. package/dist/filter-tags-DjUaNXHR.cjs +0 -5
  189. package/dist/full-calendar-Cpeh5xMP.cjs +0 -8
  190. package/dist/global-search-UNXjoFlI.cjs +0 -2
  191. package/dist/global-search-UNXjoFlI.cjs.map +0 -1
  192. package/dist/global-search-h1rVbP2q.js.map +0 -1
  193. package/dist/index-CwJPJKOE.js.map +0 -1
  194. package/dist/index-CzVK9Zyb.cjs +0 -6
  195. package/dist/index-l828OqQN.js +0 -288
  196. package/dist/index-lGzB9daF.cjs +0 -2
  197. package/dist/index-lGzB9daF.cjs.map +0 -1
  198. package/dist/input-CZrckPLk.cjs +0 -42
  199. package/dist/input-D4AoiWxo.js +0 -3629
  200. package/dist/locale-provider-DHMwuneF.cjs +0 -2
  201. package/dist/locale-selector-Ppe0KTi-.cjs +0 -2
  202. package/dist/locale-selector-xn2GpdP9.js +0 -1745
  203. package/dist/minus-BXBFZSZs.cjs +0 -2
  204. package/dist/minus-DvlYtl96.js +0 -6
  205. package/dist/multi-container-DMKL8c9B.cjs +0 -2
  206. package/dist/pipeline-By5_8AFg.cjs +0 -2
  207. package/dist/pipeline-D-QNSU0U.js +0 -1036
  208. package/dist/plus-8wKRkVu-.cjs +0 -2
  209. package/dist/plus-CJD68KQD.js +0 -9
  210. package/dist/popover-ivh-plLc.cjs +0 -2
  211. package/dist/progress-CFnuLqnS.cjs +0 -7
  212. package/dist/progress-D5AsrWa6.js +0 -222
  213. package/dist/scroll-area-DYOiJMXh.cjs +0 -2
  214. package/dist/select-C1rNBi6c.js +0 -974
  215. package/dist/select-m-Mqwxu3.cjs +0 -2
  216. package/dist/separator-DBUivkHq.cjs +0 -2
  217. package/dist/sortable.esm-DcQYlXi3.cjs +0 -6
  218. package/dist/sparkline-chart-ca3uTzVK.cjs +0 -68
  219. package/dist/trending-up-D3Nfrhi3.cjs +0 -2
  220. package/dist/trending-up-DPwlYzQb.js +0 -9
  221. package/dist/ui.css +0 -1
  222. package/dist/use-formatters-d97RVcmg.cjs +0 -2
  223. package/dist/welcome-card-CPolYl1D.cjs +0 -2
@@ -1 +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]}
1
+ {"version":3,"file":"select-Ii8HRuXa.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","_a","mayWarn","_b","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","activeItem","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":"4oBAKA,SAASA,GAAWC,EAAW,CAC7B,MAAMC,EAA4BC,GAAgBF,CAAS,EACrDG,EAAQC,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACtD,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAS,EAAKH,EAC7BI,EAAgBL,EAAM,SAAS,QAAQG,CAAQ,EAC/CG,EAAYD,EAAc,KAAKE,EAAW,EAChD,GAAID,EAAW,CACb,MAAME,EAAaF,EAAU,MAAM,SAC7BG,EAAcJ,EAAc,IAAKK,GACjCA,IAAUJ,EACRN,EAAM,SAAS,MAAMQ,CAAU,EAAI,EAAUR,EAAM,SAAS,KAAK,IAAI,EAClEA,EAAM,eAAeQ,CAAU,EAAIA,EAAW,MAAM,SAAW,KAE/DE,CAEV,EACD,OAAuBC,EAAAA,IAAId,EAAW,CAAE,GAAGO,EAAW,IAAKF,EAAc,SAAUF,EAAM,eAAeQ,CAAU,EAAIR,EAAM,aAAaQ,EAAY,OAAQC,CAAW,EAAI,KAAM,CACpL,CACA,OAAuBE,EAAAA,IAAId,EAAW,CAAE,GAAGO,EAAW,IAAKF,EAAc,SAAAC,EAAU,CACrF,CAAC,EACD,OAAAJ,EAAM,YAAc,GAAGH,CAAS,QACzBG,CACT,CAGA,SAASD,GAAgBF,EAAW,CAClC,MAAMC,EAAYG,EAAM,WAAW,CAACC,EAAOC,IAAiB,CAC1D,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAS,EAAKH,EACnC,GAAID,EAAM,eAAeG,CAAQ,EAAG,CAClC,MAAMS,EAAcC,GAAcV,CAAQ,EACpCW,EAASC,GAAWX,EAAWD,EAAS,KAAK,EACnD,OAAIA,EAAS,OAASH,EAAM,WAC1Bc,EAAO,IAAMZ,EAAec,EAAAA,YAAYd,EAAcU,CAAW,EAAIA,GAEhEZ,EAAM,aAAaG,EAAUW,CAAM,CAC5C,CACA,OAAOd,EAAM,SAAS,MAAMG,CAAQ,EAAI,EAAIH,EAAM,SAAS,KAAK,IAAI,EAAI,IAC1E,CAAC,EACD,OAAAH,EAAU,YAAc,GAAGD,CAAS,aAC7BC,CACT,CACA,IAAIoB,GAAuB,OAAO,iBAAiB,EAWnD,SAASV,GAAYG,EAAO,CAC1B,OAAOV,EAAM,eAAeU,CAAK,GAAK,OAAOA,EAAM,MAAS,YAAc,cAAeA,EAAM,MAAQA,EAAM,KAAK,YAAcO,EAClI,CACA,SAASF,GAAWX,EAAWc,EAAY,CACzC,MAAMC,EAAgB,CAAE,GAAGD,CAAU,EACrC,UAAWE,KAAYF,EAAY,CACjC,MAAMG,EAAgBjB,EAAUgB,CAAQ,EAClCE,EAAiBJ,EAAWE,CAAQ,EACxB,WAAW,KAAKA,CAAQ,EAEpCC,GAAiBC,EACnBH,EAAcC,CAAQ,EAAI,IAAIG,IAAS,CACrC,MAAMC,EAASF,EAAe,GAAGC,CAAI,EACrC,OAAAF,EAAc,GAAGE,CAAI,EACdC,CACT,EACSH,IACTF,EAAcC,CAAQ,EAAIC,GAEnBD,IAAa,QACtBD,EAAcC,CAAQ,EAAI,CAAE,GAAGC,EAAe,GAAGC,CAAc,EACtDF,IAAa,cACtBD,EAAcC,CAAQ,EAAI,CAACC,EAAeC,CAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAEtF,CACA,MAAO,CAAE,GAAGlB,EAAW,GAAGe,CAAa,CACzC,CACA,SAASN,GAAcY,EAAS,SAC9B,IAAIC,GAASC,EAAA,OAAO,yBAAyBF,EAAQ,MAAO,KAAK,IAApD,YAAAE,EAAuD,IAChEC,EAAUF,GAAU,mBAAoBA,GAAUA,EAAO,eAC7D,OAAIE,EACKH,EAAQ,KAEjBC,GAASG,EAAA,OAAO,yBAAyBJ,EAAS,KAAK,IAA9C,YAAAI,EAAiD,IAC1DD,EAAUF,GAAU,mBAAoBA,GAAUA,EAAO,eACrDE,EACKH,EAAQ,MAAM,IAEhBA,EAAQ,MAAM,KAAOA,EAAQ,IACtC,CCpEA,IAAIK,GAAY,CAAC,IAAK,QAAS,UAAW,WAAW,EACjDC,GAAiB,CAAC,IAAK,OAAO,EAC9BC,EAAc,SACd,CAACC,GAAYC,GAAeC,EAAqB,EAAIC,EAAAA,iBAAiBJ,CAAW,EACjF,CAACK,EAAsC,EAAIC,EAAAA,mBAAmBN,EAAa,CAC7EG,GACAI,EAAAA,iBACF,CAAC,EACGC,GAAiBD,EAAAA,kBAAiB,EAClC,CAACE,GAAgBC,CAAgB,EAAIL,GAAoBL,CAAW,EACpE,CAACW,GAA6BC,EAA6B,EAAIP,GAAoBL,CAAW,EAC9Fa,GAAU5C,GAAU,CACtB,KAAM,CACJ,cAAA6C,EACA,SAAA3C,EACA,KAAM4C,EACN,YAAAC,EACA,aAAAC,EACA,MAAOC,EACP,aAAAC,EACA,cAAAC,EACA,IAAAC,EACA,KAAAC,EACA,aAAAC,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,CACJ,EAAMzD,EACE0D,EAAcnB,GAAeM,CAAa,EAC1C,CAACc,EAASC,CAAU,EAAI7D,EAAM,SAAS,IAAI,EAC3C,CAAC8D,EAAWC,CAAY,EAAI/D,EAAM,SAAS,IAAI,EAC/C,CAACgE,EAAsBC,CAAuB,EAAIjE,EAAM,SAAS,EAAK,EACtEkE,GAAYC,EAAAA,aAAad,CAAG,EAC5B,CAACe,EAAMC,CAAO,EAAIC,uBAAqB,CAC3C,KAAMvB,EACN,YAAaC,GAAe,GAC5B,SAAUC,EACV,OAAQjB,CACZ,CAAG,EACK,CAACuC,EAAOC,CAAQ,EAAIF,uBAAqB,CAC7C,KAAMpB,EACN,YAAaC,EACb,SAAUC,EACV,OAAQpB,CACZ,CAAG,EACKyC,EAA2BzE,EAAM,OAAO,IAAI,EAC5C0E,EAAgBd,EAAUF,GAAQ,CAAC,CAACE,EAAQ,QAAQ,MAAM,EAAI,GAC9D,CAACe,EAAkBC,CAAmB,EAAI5E,EAAM,SAAyB,IAAI,GAAK,EAClF6E,EAAkB,MAAM,KAAKF,CAAgB,EAAE,IAAKG,GAAWA,EAAO,MAAM,KAAK,EAAE,KAAK,GAAG,EACjG,OAAuBnE,EAAAA,IAAIoE,EAAAA,MAAsB,CAAE,GAAGpB,EAAa,SAA0BqB,EAAAA,KAC3FvC,GACA,CACE,SAAAgB,EACA,MAAOX,EACP,QAAAc,EACA,gBAAiBC,EACjB,UAAAC,EACA,kBAAmBC,EACnB,qBAAAC,EACA,6BAA8BC,EAC9B,UAAWgB,EAAAA,MAAK,EAChB,MAAAV,EACA,cAAeC,EACf,KAAAJ,EACA,aAAcC,EACd,IAAKH,GACL,yBAAAO,EACA,SAAAjB,EACA,SAAU,CACQ7C,EAAAA,IAAIsB,GAAW,SAAU,CAAE,MAAOa,EAAe,SAA0BnC,EAAAA,IACzFgC,GACA,CACE,MAAO1C,EAAM,cACb,kBAAmBD,EAAM,YAAa8E,GAAW,CAC/CF,EAAqBM,GAAS,IAAI,IAAIA,CAAI,EAAE,IAAIJ,CAAM,CAAC,CACzD,EAAG,CAAA,CAAE,EACL,qBAAsB9E,EAAM,YAAa8E,GAAW,CAClDF,EAAqBM,GAAS,CAC5B,MAAMC,EAAa,IAAI,IAAID,CAAI,EAC/B,OAAAC,EAAW,OAAOL,CAAM,EACjBK,CACT,CAAC,CACH,EAAG,CAAA,CAAE,EACL,SAAAhF,CACZ,CACA,EAAW,EACHuE,EAAgCM,EAAAA,KAC9BI,GACA,CACE,cAAe,GACf,SAAA3B,EACA,SAAU,GACV,KAAAH,EACA,aAAAC,EACA,MAAAgB,EACA,SAAWc,GAAUb,EAASa,EAAM,OAAO,KAAK,EAChD,SAAA7B,EACA,KAAAE,EACA,SAAU,CACRa,IAAU,OAAyB5D,MAAI,SAAU,CAAE,MAAO,EAAE,CAAE,EAAI,KAClE,MAAM,KAAKgE,CAAgB,CACzC,CACA,EACUE,CACV,EAAY,IACZ,CACA,CACA,EAAK,CACL,EACAhC,GAAO,YAAcb,EACrB,IAAIsD,GAAe,gBACfC,GAAgBvF,EAAM,WACxB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,SAAAU,EAAW,GAAO,GAAGgC,CAAY,EAAKvF,EACvD0D,EAAcnB,GAAeM,CAAa,EAC1C2C,EAAU/C,EAAiB4C,GAAcxC,CAAa,EACtD4C,EAAaD,EAAQ,UAAYjC,EACjCmC,EAAeC,EAAAA,gBAAgB1F,EAAcuF,EAAQ,eAAe,EACpEI,EAAW3D,GAAcY,CAAa,EACtCgD,EAAiB9F,EAAM,OAAO,OAAO,EACrC,CAAC+F,EAAWC,EAAuBC,CAAc,EAAIC,GAAoBC,GAAW,CACxF,MAAMC,EAAeP,IAAW,OAAQQ,GAAS,CAACA,EAAK,QAAQ,EACzDC,EAAcF,EAAa,KAAMC,GAASA,EAAK,QAAUZ,EAAQ,KAAK,EACtEc,EAAWC,GAAaJ,EAAcD,EAAQG,CAAW,EAC3DC,IAAa,QACfd,EAAQ,cAAcc,EAAS,KAAK,CAExC,CAAC,EACKE,EAAcC,GAAiB,CAC9BhB,IACHD,EAAQ,aAAa,EAAI,EACzBQ,EAAc,GAEZS,IACFjB,EAAQ,yBAAyB,QAAU,CACzC,EAAG,KAAK,MAAMiB,EAAa,KAAK,EAChC,EAAG,KAAK,MAAMA,EAAa,KAAK,CAC1C,EAEI,EACA,OAAuB/F,EAAAA,IAAIgG,EAAAA,OAAwB,CAAE,QAAS,GAAM,GAAGhD,EAAa,SAA0BhD,EAAAA,IAC5GiG,EAAAA,UAAU,OACV,CACE,KAAM,SACN,KAAM,WACN,gBAAiBnB,EAAQ,UACzB,gBAAiBA,EAAQ,KACzB,gBAAiBA,EAAQ,SACzB,oBAAqB,OACrB,IAAKA,EAAQ,IACb,aAAcA,EAAQ,KAAO,OAAS,SACtC,SAAUC,EACV,gBAAiBA,EAAa,GAAK,OACnC,mBAAoBmB,GAAsBpB,EAAQ,KAAK,EAAI,GAAK,OAChE,GAAGD,EACH,IAAKG,EACL,QAASmB,EAAAA,qBAAqBtB,EAAa,QAAUH,GAAU,CAC7DA,EAAM,cAAc,MAAK,EACrBS,EAAe,UAAY,SAC7BW,EAAWpB,CAAK,CAEpB,CAAC,EACD,cAAeyB,EAAAA,qBAAqBtB,EAAa,cAAgBH,GAAU,CACzES,EAAe,QAAUT,EAAM,YAC/B,MAAM0B,EAAS1B,EAAM,OACjB0B,EAAO,kBAAkB1B,EAAM,SAAS,GAC1C0B,EAAO,sBAAsB1B,EAAM,SAAS,EAE1CA,EAAM,SAAW,GAAKA,EAAM,UAAY,IAASA,EAAM,cAAgB,UACzEoB,EAAWpB,CAAK,EAChBA,EAAM,eAAc,EAExB,CAAC,EACD,UAAWyB,EAAAA,qBAAqBtB,EAAa,UAAYH,GAAU,CACjE,MAAM2B,EAAgBjB,EAAU,UAAY,GAExC,EADkBV,EAAM,SAAWA,EAAM,QAAUA,EAAM,UACvCA,EAAM,IAAI,SAAW,GAAGW,EAAsBX,EAAM,GAAG,EACzE,EAAA2B,GAAiB3B,EAAM,MAAQ,MAC/BvD,GAAU,SAASuD,EAAM,GAAG,IAC9BoB,EAAU,EACVpB,EAAM,eAAc,EAExB,CAAC,CACT,CACA,EAAO,CACL,CACF,EACAE,GAAc,YAAcD,GAC5B,IAAI2B,GAAa,cACbC,GAAclH,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,UAAAqE,EAAW,MAAAC,EAAO,SAAAjH,EAAU,YAAAkH,EAAc,GAAI,GAAGC,CAAU,EAAKrH,EACjFwF,EAAU/C,EAAiBuE,GAAYnE,CAAa,EACpD,CAAE,6BAAAyE,CAA4B,EAAK9B,EACnC+B,EAAcrH,IAAa,OAC3BwF,EAAeC,EAAAA,gBAAgB1F,EAAcuF,EAAQ,iBAAiB,EAC5EgC,OAAAA,EAAAA,iBAAgB,IAAM,CACpBF,EAA6BC,CAAW,CAC1C,EAAG,CAACD,EAA8BC,CAAW,CAAC,EACvB7G,EAAAA,IACrBiG,EAAAA,UAAU,KACV,CACE,GAAGU,EACH,IAAK3B,EACL,MAAO,CAAE,cAAe,MAAM,EAC9B,SAAUkB,GAAsBpB,EAAQ,KAAK,EAAoB9E,MAAI+G,EAAAA,SAAU,CAAE,SAAUL,CAAW,CAAE,EAAIlH,CACpH,CACA,CACE,CACF,EACA+G,GAAY,YAAcD,GAC1B,IAAIU,GAAY,aACZC,GAAa5H,EAAM,WACrB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,SAAA3C,EAAU,GAAG0H,CAAS,EAAK5H,EAClD,OAAuBU,EAAAA,IAAIiG,EAAAA,UAAU,KAAM,CAAE,cAAe,GAAM,GAAGiB,EAAW,IAAK3H,EAAc,SAAUC,GAAY,GAAQ,CAAE,CACrI,CACF,EACAyH,GAAW,YAAcD,GACzB,IAAIG,GAAc,eACdC,GAAgB9H,GACKU,EAAAA,IAAIqH,EAAAA,OAAiB,CAAE,QAAS,GAAM,GAAG/H,EAAO,EAEzE8H,GAAa,YAAcD,GAC3B,IAAIG,EAAe,gBACfC,GAAgBlI,EAAM,WACxB,CAACC,EAAOC,IAAiB,CACvB,MAAMuF,EAAU/C,EAAiBuF,EAAchI,EAAM,aAAa,EAC5D,CAACkI,EAAUC,CAAW,EAAIpI,EAAM,SAAQ,EAI9C,GAHAyH,EAAAA,iBAAgB,IAAM,CACpBW,EAAY,IAAI,gBAAkB,CACpC,EAAG,CAAA,CAAE,EACD,CAAC3C,EAAQ,KAAM,CACjB,MAAM4C,EAAOF,EACb,OAAOE,EAAOC,GAAS,aACL3H,MAAI4H,GAAuB,CAAE,MAAOtI,EAAM,cAAe,SAA0BU,EAAAA,IAAIsB,GAAW,KAAM,CAAE,MAAOhC,EAAM,cAAe,SAA0BU,EAAAA,IAAI,MAAO,CAAE,SAAUV,EAAM,QAAQ,CAAE,CAAC,CAAE,EAAG,EAC7NoI,CACR,EAAU,IACN,CACA,OAAuB1H,EAAAA,IAAI6H,GAAmB,CAAE,GAAGvI,EAAO,IAAKC,EAAc,CAC/E,CACF,EACAgI,GAAc,YAAcD,EAC5B,IAAIQ,EAAiB,GACjB,CAACF,GAAuBG,CAAuB,EAAIrG,GAAoB4F,CAAY,EACnFU,GAAoB,oBACpBC,GAAOjJ,GAAW,4BAA4B,EAC9C6I,GAAoBxI,EAAM,WAC5B,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,cAAA4C,EACA,SAAA+F,EAAW,eACX,iBAAAC,EACA,gBAAAC,EACA,qBAAAC,EAGA,KAAAC,EACA,WAAAC,EACA,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,OAAAC,EACA,iBAAAC,EACA,gBAAAC,EAEA,GAAGC,CACT,EAAQ1J,EACEwF,EAAU/C,EAAiBuF,EAAcnF,CAAa,EACtD,CAAC8G,EAASC,CAAU,EAAI7J,EAAM,SAAS,IAAI,EAC3C,CAAC8J,EAAUC,EAAW,EAAI/J,EAAM,SAAS,IAAI,EAC7C2F,EAAeC,EAAAA,gBAAgB1F,EAAe8J,GAASH,EAAWG,CAAI,CAAC,EACvE,CAACC,EAAcC,CAAe,EAAIlK,EAAM,SAAS,IAAI,EACrD,CAACmK,EAAkBC,CAAmB,EAAIpK,EAAM,SACpD,IACN,EACU6F,EAAW3D,GAAcY,CAAa,EACtC,CAACuH,EAAcC,CAAe,EAAItK,EAAM,SAAS,EAAK,EACtDuK,EAAyBvK,EAAM,OAAO,EAAK,EACjDA,EAAM,UAAU,IAAM,CACpB,GAAI4J,EAAS,OAAOY,EAAAA,WAAWZ,CAAO,CACxC,EAAG,CAACA,CAAO,CAAC,EACZa,iBAAc,EACd,MAAMC,EAAa1K,EAAM,YACtB2K,GAAe,CACd,KAAM,CAACC,EAAW,GAAGC,CAAS,EAAIhF,EAAQ,EAAG,IAAKQ,GAASA,EAAK,IAAI,OAAO,EACrE,CAACyE,CAAQ,EAAID,EAAU,MAAM,EAAE,EAC/BE,EAA6B,SAAS,cAC5C,UAAWC,KAAaL,EAMtB,GALIK,IAAcD,IAClBC,GAAA,MAAAA,EAAW,eAAe,CAAE,MAAO,SAAS,GACxCA,IAAcJ,GAAad,IAAUA,EAAS,UAAY,GAC1DkB,IAAcF,GAAYhB,IAAUA,EAAS,UAAYA,EAAS,cACtEkB,GAAA,MAAAA,EAAW,QACP,SAAS,gBAAkBD,GAA4B,MAE/D,EACA,CAAClF,EAAUiE,CAAQ,CACzB,EACUmB,EAAoBjL,EAAM,YAC9B,IAAM0K,EAAW,CAACT,EAAcL,CAAO,CAAC,EACxC,CAACc,EAAYT,EAAcL,CAAO,CACxC,EACI5J,EAAM,UAAU,IAAM,CAChBqK,GACFY,EAAiB,CAErB,EAAG,CAACZ,EAAcY,CAAiB,CAAC,EACpC,KAAM,CAAE,aAAAhI,EAAc,yBAAAwB,CAAwB,EAAKgB,EACnDzF,EAAM,UAAU,IAAM,CACpB,GAAI4J,EAAS,CACX,IAAIsB,EAAmB,CAAE,EAAG,EAAG,EAAG,CAAC,EACnC,MAAMC,EAAqB9F,GAAU,SACnC6F,EAAmB,CACjB,EAAG,KAAK,IAAI,KAAK,MAAM7F,EAAM,KAAK,KAAK1D,EAAA8C,EAAyB,UAAzB,YAAA9C,EAAkC,IAAK,EAAE,EAChF,EAAG,KAAK,IAAI,KAAK,MAAM0D,EAAM,KAAK,KAAKxD,EAAA4C,EAAyB,UAAzB,YAAA5C,EAAkC,IAAK,EAAE,CAC5F,CACQ,EACMuJ,EAAmB/F,GAAU,CAC7B6F,EAAiB,GAAK,IAAMA,EAAiB,GAAK,GACpD7F,EAAM,eAAc,EAEfuE,EAAQ,SAASvE,EAAM,MAAM,GAChCpC,EAAa,EAAK,EAGtB,SAAS,oBAAoB,cAAekI,CAAiB,EAC7D1G,EAAyB,QAAU,IACrC,EACA,OAAIA,EAAyB,UAAY,OACvC,SAAS,iBAAiB,cAAe0G,CAAiB,EAC1D,SAAS,iBAAiB,YAAaC,EAAiB,CAAE,QAAS,GAAM,KAAM,GAAM,GAEhF,IAAM,CACX,SAAS,oBAAoB,cAAeD,CAAiB,EAC7D,SAAS,oBAAoB,YAAaC,EAAiB,CAAE,QAAS,GAAM,CAC9E,CACF,CACF,EAAG,CAACxB,EAAS3G,EAAcwB,CAAwB,CAAC,EACpDzE,EAAM,UAAU,IAAM,CACpB,MAAMqL,EAAQ,IAAMpI,EAAa,EAAK,EACtC,cAAO,iBAAiB,OAAQoI,CAAK,EACrC,OAAO,iBAAiB,SAAUA,CAAK,EAChC,IAAM,CACX,OAAO,oBAAoB,OAAQA,CAAK,EACxC,OAAO,oBAAoB,SAAUA,CAAK,CAC5C,CACF,EAAG,CAACpI,CAAY,CAAC,EACjB,KAAM,CAAC8C,GAAWC,EAAqB,EAAIE,GAAoBC,GAAW,CACxE,MAAMC,EAAeP,IAAW,OAAQQ,GAAS,CAACA,EAAK,QAAQ,EACzDC,EAAcF,EAAa,KAAMC,GAASA,EAAK,IAAI,UAAY,SAAS,aAAa,EACrFE,EAAWC,GAAaJ,EAAcD,EAAQG,CAAW,EAC3DC,GACF,WAAW,IAAMA,EAAS,IAAI,QAAQ,MAAK,CAAE,CAEjD,CAAC,EACK+E,GAAkBtL,EAAM,YAC5B,CAACgK,EAAMzF,EAAOf,IAAa,CACzB,MAAM+H,EAAmB,CAAChB,EAAuB,SAAW,CAAC/G,GACtCiC,EAAQ,QAAU,QAAUA,EAAQ,QAAUlB,GAC/CgH,KACpBrB,EAAgBF,CAAI,EAChBuB,IAAkBhB,EAAuB,QAAU,IAE3D,EACA,CAAC9E,EAAQ,KAAK,CACpB,EACU+F,GAAkBxL,EAAM,YAAY,IAAM4J,GAAA,YAAAA,EAAS,QAAS,CAACA,CAAO,CAAC,EACrE6B,EAAsBzL,EAAM,YAChC,CAACgK,EAAMzF,EAAOf,IAAa,CACzB,MAAM+H,EAAmB,CAAChB,EAAuB,SAAW,CAAC/G,GACtCiC,EAAQ,QAAU,QAAUA,EAAQ,QAAUlB,GAC/CgH,IACpBnB,EAAoBJ,CAAI,CAE5B,EACA,CAACvE,EAAQ,KAAK,CACpB,EACUiG,GAAiB7C,IAAa,SAAW8C,GAAuBC,GAChEC,GAAqBH,KAAmBC,GAAuB,CACnE,KAAA1C,EACA,WAAAC,EACA,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,OAAAC,EACA,iBAAAC,EACA,gBAAAC,CACN,EAAQ,CAAA,EACJ,OAAuB/I,EAAAA,IACrB4H,GACA,CACE,MAAOzF,EACP,QAAA8G,EACA,SAAAE,EACA,iBAAkBC,GAClB,gBAAAuB,GACA,aAAArB,EACA,YAAauB,GACb,oBAAAC,EACA,kBAAAR,EACA,iBAAAd,EACA,SAAAtB,EACA,aAAAwB,EACA,UAAAtE,GACA,SAA0BpF,EAAAA,IAAImL,EAAAA,kBAAc,CAAE,GAAIlD,GAAM,eAAgB,GAAM,SAA0BjI,EAAAA,IACtGoL,EAAAA,WACA,CACE,QAAS,GACT,QAAStG,EAAQ,KACjB,iBAAmBJ,GAAU,CAC3BA,EAAM,eAAc,CACtB,EACA,mBAAoByB,EAAAA,qBAAqBgC,EAAmBzD,GAAU,QACpE1D,EAAA8D,EAAQ,UAAR,MAAA9D,EAAiB,MAAM,CAAE,cAAe,EAAI,GAC5C0D,EAAM,eAAc,CACtB,CAAC,EACD,SAA0B1E,EAAAA,IACxBqL,EAAAA,iBACA,CACE,QAAS,GACT,4BAA6B,GAC7B,gBAAAjD,EACA,qBAAAC,EACA,eAAiB3D,GAAUA,EAAM,eAAc,EAC/C,UAAW,IAAMI,EAAQ,aAAa,EAAK,EAC3C,SAA0B9E,EAAAA,IACxB+K,GACA,CACE,KAAM,UACN,GAAIjG,EAAQ,UACZ,aAAcA,EAAQ,KAAO,OAAS,SACtC,IAAKA,EAAQ,IACb,cAAgBJ,GAAUA,EAAM,eAAc,EAC9C,GAAGsE,EACH,GAAGkC,GACH,SAAU,IAAMvB,EAAgB,EAAI,EACpC,IAAK3E,EACL,MAAO,CAEL,QAAS,OACT,cAAe,SAEf,QAAS,OACT,GAAGgE,EAAa,KACtC,EACoB,UAAW7C,EAAAA,qBAAqB6C,EAAa,UAAYtE,GAAU,CACjE,MAAM4G,EAAgB5G,EAAM,SAAWA,EAAM,QAAUA,EAAM,QAG7D,GAFIA,EAAM,MAAQ,OAAOA,EAAM,eAAc,EACzC,CAAC4G,GAAiB5G,EAAM,IAAI,SAAW,GAAGW,GAAsBX,EAAM,GAAG,EACzE,CAAC,UAAW,YAAa,OAAQ,KAAK,EAAE,SAASA,EAAM,GAAG,EAAG,CAE/D,IAAI6G,EADUrG,IAAW,OAAQQ,GAAS,CAACA,EAAK,QAAQ,EAC7B,IAAKA,GAASA,EAAK,IAAI,OAAO,EAIzD,GAHI,CAAC,UAAW,KAAK,EAAE,SAAShB,EAAM,GAAG,IACvC6G,EAAiBA,EAAe,MAAK,EAAG,QAAO,GAE7C,CAAC,UAAW,WAAW,EAAE,SAAS7G,EAAM,GAAG,EAAG,CAChD,MAAM8G,EAAiB9G,EAAM,OACvB+G,EAAeF,EAAe,QAAQC,CAAc,EAC1DD,EAAiBA,EAAe,MAAME,EAAe,CAAC,CACxD,CACA,WAAW,IAAM1B,EAAWwB,CAAc,CAAC,EAC3C7G,EAAM,eAAc,CACtB,CACF,CAAC,CACrB,CACA,CACA,CACA,CACA,CACA,CAAS,CAAE,CACX,CACA,CACE,CACF,EACAmD,GAAkB,YAAcG,GAChC,IAAI0D,GAA6B,4BAC7BT,GAA4B5L,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACxE,KAAM,CAAE,cAAA4C,EAAe,SAAAwJ,EAAU,GAAGC,CAAW,EAAKtM,EAC9CwF,EAAU/C,EAAiBuF,EAAcnF,CAAa,EACtD0J,EAAiB9D,EAAwBT,EAAcnF,CAAa,EACpE,CAAC2J,EAAgBC,CAAiB,EAAI1M,EAAM,SAAS,IAAI,EACzD,CAAC4J,EAASC,CAAU,EAAI7J,EAAM,SAAS,IAAI,EAC3C2F,EAAeC,EAAAA,gBAAgB1F,EAAe8J,GAASH,EAAWG,CAAI,CAAC,EACvEnE,EAAW3D,GAAcY,CAAa,EACtC6J,EAA0B3M,EAAM,OAAO,EAAK,EAC5C4M,EAAsB5M,EAAM,OAAO,EAAI,EACvC,CAAE,SAAA8J,EAAU,aAAAG,EAAc,iBAAAE,EAAkB,kBAAAc,CAAiB,EAAKuB,EAClE3D,EAAW7I,EAAM,YAAY,IAAM,CACvC,GAAIyF,EAAQ,SAAWA,EAAQ,WAAagH,GAAkB7C,GAAWE,GAAYG,GAAgBE,EAAkB,CACrH,MAAM0C,EAAcpH,EAAQ,QAAQ,sBAAqB,EACnDqH,EAAclD,EAAQ,sBAAqB,EAC3CmD,EAAgBtH,EAAQ,UAAU,sBAAqB,EACvDuH,EAAe7C,EAAiB,sBAAqB,EAC3D,GAAI1E,EAAQ,MAAQ,MAAO,CACzB,MAAMwH,EAAiBD,EAAa,KAAOF,EAAY,KACjDI,EAAOH,EAAc,KAAOE,EAC5BE,EAAYN,EAAY,KAAOK,EAC/BE,EAAkBP,EAAY,MAAQM,EACtCE,GAAe,KAAK,IAAID,EAAiBN,EAAY,KAAK,EAC1DQ,GAAY,OAAO,WAAa7E,EAChC8E,GAAcC,EAAAA,MAAMN,EAAM,CAC9BzE,EAMA,KAAK,IAAIA,EAAgB6E,GAAYD,EAAY,CAC3D,CAAS,EACDZ,EAAe,MAAM,SAAWW,EAAkB,KAClDX,EAAe,MAAM,KAAOc,GAAc,IAC5C,KAAO,CACL,MAAMN,EAAiBH,EAAY,MAAQE,EAAa,MAClDS,EAAQ,OAAO,WAAaV,EAAc,MAAQE,EAClDS,EAAa,OAAO,WAAab,EAAY,MAAQY,EACrDL,EAAkBP,EAAY,MAAQa,EACtCL,GAAe,KAAK,IAAID,EAAiBN,EAAY,KAAK,EAC1Da,GAAW,OAAO,WAAalF,EAC/BmF,GAAeJ,EAAAA,MAAMC,EAAO,CAChChF,EACA,KAAK,IAAIA,EAAgBkF,GAAWN,EAAY,CAC1D,CAAS,EACDZ,EAAe,MAAM,SAAWW,EAAkB,KAClDX,EAAe,MAAM,MAAQmB,GAAe,IAC9C,CACA,MAAMC,EAAQhI,EAAQ,EAChBiI,EAAkB,OAAO,YAAcrF,EAAiB,EACxDsF,EAAcjE,EAAS,aACvBkE,EAAgB,OAAO,iBAAiBpE,CAAO,EAC/CqE,EAAwB,SAASD,EAAc,eAAgB,EAAE,EACjEE,EAAoB,SAASF,EAAc,WAAY,EAAE,EACzDG,EAA2B,SAASH,EAAc,kBAAmB,EAAE,EACvEI,EAAuB,SAASJ,EAAc,cAAe,EAAE,EAC/DK,EAAoBJ,EAAwBC,EAAoBH,EAAcK,EAAuBD,EACrGG,GAAmB,KAAK,IAAIrE,EAAa,aAAe,EAAGoE,CAAiB,EAC5EE,GAAiB,OAAO,iBAAiBzE,CAAQ,EACjD0E,GAAqB,SAASD,GAAe,WAAY,EAAE,EAC3DE,GAAwB,SAASF,GAAe,cAAe,EAAE,EACjEG,EAAyB7B,EAAY,IAAMA,EAAY,OAAS,EAAIpE,EACpEkG,GAA4Bb,EAAkBY,EAC9CE,GAAyB3E,EAAa,aAAe,EACrD4E,EAAmB5E,EAAa,UAAY2E,GAC5CE,EAAyBb,EAAwBC,EAAoBW,EACrEE,EAA4BV,EAAoBS,EAEtD,GADoCA,GAA0BJ,EAC7B,CAC/B,MAAMM,EAAanB,EAAM,OAAS,GAAK5D,IAAiB4D,EAAMA,EAAM,OAAS,CAAC,EAAE,IAAI,QACpFpB,EAAe,MAAM,OAAS,MAC9B,MAAMwC,EAAuBrF,EAAQ,aAAeE,EAAS,UAAYA,EAAS,aAC5EoF,EAAmC,KAAK,IAC5CP,GACAC,IACCI,EAAaP,GAAwB,GAAKQ,EAAuBd,CAC5E,EACcgB,EAASL,EAAyBI,EACxCzC,EAAe,MAAM,OAAS0C,EAAS,IACzC,KAAO,CACL,MAAMC,EAAcvB,EAAM,OAAS,GAAK5D,IAAiB4D,EAAM,CAAC,EAAE,IAAI,QACtEpB,EAAe,MAAM,IAAM,MAM3B,MAAM0C,EALgC,KAAK,IACzCT,EACAT,EAAwBnE,EAAS,WAChCsF,EAAcZ,GAAqB,GAAKI,EACnD,EACuDG,EAC/CtC,EAAe,MAAM,OAAS0C,EAAS,KACvCrF,EAAS,UAAYgF,EAAyBJ,EAAyB5E,EAAS,SAClF,CACA2C,EAAe,MAAM,OAAS,GAAGhE,CAAc,OAC/CgE,EAAe,MAAM,UAAY6B,GAAmB,KACpD7B,EAAe,MAAM,UAAYqB,EAAkB,KACnDxB,GAAA,MAAAA,IACA,sBAAsB,IAAMK,EAAwB,QAAU,EAAI,CACpE,CACF,EAAG,CACD9G,EACAJ,EAAQ,QACRA,EAAQ,UACRgH,EACA7C,EACAE,EACAG,EACAE,EACA1E,EAAQ,IACR6G,CACJ,CAAG,EACD7E,EAAAA,iBAAgB,IAAMoB,IAAY,CAACA,CAAQ,CAAC,EAC5C,KAAM,CAACwG,EAAeC,CAAgB,EAAItP,EAAM,SAAQ,EACxDyH,EAAAA,iBAAgB,IAAM,CAChBmC,GAAS0F,EAAiB,OAAO,iBAAiB1F,CAAO,EAAE,MAAM,CACvE,EAAG,CAACA,CAAO,CAAC,EACZ,MAAM2F,GAA2BvP,EAAM,YACpCgK,GAAS,CACJA,GAAQ4C,EAAoB,UAAY,KAC1C/D,EAAQ,EACRoC,GAAA,MAAAA,IACA2B,EAAoB,QAAU,GAElC,EACA,CAAC/D,EAAUoC,CAAiB,CAChC,EACE,OAAuBtK,EAAAA,IACrB6O,GACA,CACE,MAAO1M,EACP,eAAA2J,EACA,wBAAAE,EACA,qBAAsB4C,GACtB,SAA0B5O,EAAAA,IACxB,MACA,CACE,IAAK+L,EACL,MAAO,CACL,QAAS,OACT,cAAe,SACf,SAAU,QACV,OAAQ2C,CACpB,EACU,SAA0B1O,EAAAA,IACxBiG,EAAAA,UAAU,IACV,CACE,GAAG2F,EACH,IAAK5G,EACL,MAAO,CAGL,UAAW,aAEX,UAAW,OACX,GAAG4G,EAAY,KAC/B,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAAC,EACDX,GAA0B,YAAcS,GACxC,IAAIoD,GAAuB,uBACvB9D,GAAuB3L,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACnE,KAAM,CACJ,cAAA4C,EACA,MAAAqG,EAAQ,QACR,iBAAAI,EAAmBd,EACnB,GAAG8D,CACP,EAAMtM,EACE0D,EAAcnB,GAAeM,CAAa,EAChD,OAAuBnC,EAAAA,IACrB+O,EAAAA,QACA,CACE,GAAG/L,EACH,GAAG4I,EACH,IAAKrM,EACL,MAAAiJ,EACA,iBAAAI,EACA,MAAO,CAEL,UAAW,aACX,GAAGgD,EAAY,MAGb,0CAA2C,uCAC3C,yCAA0C,sCAC1C,0CAA2C,uCAC3C,+BAAgC,mCAChC,gCAAiC,mCAE3C,CACA,CACA,CACA,CAAC,EACDZ,GAAqB,YAAc8D,GACnC,GAAI,CAACD,GAAwBG,EAAwB,EAAItN,GAAoB4F,EAAc,CAAA,CAAE,EACzF2H,GAAgB,iBAChBC,GAAiB7P,EAAM,WACzB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,MAAAgN,EAAO,GAAGC,CAAa,EAAK9P,EAC7CuM,EAAiB9D,EAAwBkH,GAAe9M,CAAa,EACrEkN,EAAkBL,GAAyBC,GAAe9M,CAAa,EACvE6C,EAAeC,EAAAA,gBAAgB1F,EAAcsM,EAAe,gBAAgB,EAC5EyD,EAAmBjQ,EAAM,OAAO,CAAC,EACvC,OAAuBgF,EAAAA,KAAK0C,WAAU,CAAE,SAAU,CAChC/G,EAAAA,IACd,QACA,CACE,wBAAyB,CACvB,OAAQ,2KACpB,EACU,MAAAmP,CACV,CACA,EACsBnP,EAAAA,IAAIsB,GAAW,KAAM,CAAE,MAAOa,EAAe,SAA0BnC,EAAAA,IACrFiG,EAAAA,UAAU,IACV,CACE,6BAA8B,GAC9B,KAAM,eACN,GAAGmJ,EACH,IAAKpK,EACL,MAAO,CAIL,SAAU,WACV,KAAM,EAKN,SAAU,cACV,GAAGoK,EAAc,KAC7B,EACU,SAAUjJ,EAAAA,qBAAqBiJ,EAAc,SAAW1K,GAAU,CAChE,MAAMyE,EAAWzE,EAAM,cACjB,CAAE,eAAAoH,EAAgB,wBAAAE,CAAuB,EAAKqD,EACpD,GAAIrD,GAAA,MAAAA,EAAyB,SAAWF,EAAgB,CACtD,MAAMyD,EAAa,KAAK,IAAID,EAAiB,QAAUnG,EAAS,SAAS,EACzE,GAAIoG,EAAa,EAAG,CAClB,MAAMpC,EAAkB,OAAO,YAAcrF,EAAiB,EACxD0H,EAAe,WAAW1D,EAAe,MAAM,SAAS,EACxD2D,EAAY,WAAW3D,EAAe,MAAM,MAAM,EAClD4D,EAAa,KAAK,IAAIF,EAAcC,CAAS,EACnD,GAAIC,EAAavC,EAAiB,CAChC,MAAMwC,EAAaD,EAAaH,EAC1BK,EAAoB,KAAK,IAAIzC,EAAiBwC,CAAU,EACxDE,EAAaF,EAAaC,EAChC9D,EAAe,MAAM,OAAS8D,EAAoB,KAC9C9D,EAAe,MAAM,SAAW,QAClC3C,EAAS,UAAY0G,EAAa,EAAIA,EAAa,EACnD/D,EAAe,MAAM,eAAiB,WAE1C,CACF,CACF,CACAwD,EAAiB,QAAUnG,EAAS,SACtC,CAAC,CACX,CACA,CAAO,CAAE,CACT,EAAO,CACL,CACF,EACA+F,GAAe,YAAcD,GAC7B,IAAIa,GAAa,cACb,CAACC,GAA4BC,EAAqB,EAAItO,GAAoBoO,EAAU,EACpFG,GAAc5Q,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,GAAG+N,CAAU,EAAK5Q,EACnC6Q,EAAU7L,EAAAA,MAAK,EACrB,OAAuBtE,EAAAA,IAAI+P,GAA4B,CAAE,MAAO5N,EAAe,GAAIgO,EAAS,SAA0BnQ,EAAAA,IAAIiG,EAAAA,UAAU,IAAK,CAAE,KAAM,QAAS,kBAAmBkK,EAAS,GAAGD,EAAY,IAAK3Q,CAAY,CAAE,EAAG,CAC7N,CACF,EACA0Q,GAAY,YAAcH,GAC1B,IAAIM,GAAa,cACbC,GAAchR,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,GAAGmO,CAAU,EAAKhR,EACnCiR,EAAeP,GAAsBI,GAAYjO,CAAa,EACpE,OAAuBnC,MAAIiG,EAAAA,UAAU,IAAK,CAAE,GAAIsK,EAAa,GAAI,GAAGD,EAAY,IAAK/Q,CAAY,CAAE,CACrG,CACF,EACA8Q,GAAY,YAAcD,GAC1B,IAAII,GAAY,aACZ,CAACC,GAA2BC,EAAoB,EAAIhP,GAAoB8O,EAAS,EACjFG,GAAatR,EAAM,WACrB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,cAAA4C,EACA,MAAAyB,EACA,SAAAf,EAAW,GACX,UAAW+N,EACX,GAAGC,CACT,EAAQvR,EACEwF,EAAU/C,EAAiByO,GAAWrO,CAAa,EACnD0J,EAAiB9D,EAAwByI,GAAWrO,CAAa,EACjE2O,EAAahM,EAAQ,QAAUlB,EAC/B,CAACmN,EAAWC,CAAY,EAAI3R,EAAM,SAASuR,GAAiB,EAAE,EAC9D,CAACK,EAAWC,CAAY,EAAI7R,EAAM,SAAS,EAAK,EAChD2F,EAAeC,EAAAA,gBACnB1F,EACC8J,GAAI,OAAK,OAAArI,EAAA6K,EAAe,kBAAf,YAAA7K,EAAA,KAAA6K,EAAiCxC,EAAMzF,EAAOf,GAC9D,EACUsO,EAAS7M,EAAAA,MAAK,EACda,EAAiB9F,EAAM,OAAO,OAAO,EACrC+R,EAAe,IAAM,CACpBvO,IACHiC,EAAQ,cAAclB,CAAK,EAC3BkB,EAAQ,aAAa,EAAK,EAE9B,EACA,GAAIlB,IAAU,GACZ,MAAM,IAAI,MACR,uLACR,EAEI,OAAuB5D,EAAAA,IACrByQ,GACA,CACE,MAAOtO,EACP,MAAAyB,EACA,SAAAf,EACA,OAAAsO,EACA,WAAAL,EACA,iBAAkBzR,EAAM,YAAagK,GAAS,CAC5C2H,EAAcK,GAAkBA,KAAkBhI,GAAA,YAAAA,EAAM,cAAe,IAAI,MAAM,CACnF,EAAG,CAAA,CAAE,EACL,SAA0BrJ,EAAAA,IACxBsB,GAAW,SACX,CACE,MAAOa,EACP,MAAAyB,EACA,SAAAf,EACA,UAAAkO,EACA,SAA0B/Q,EAAAA,IACxBiG,EAAAA,UAAU,IACV,CACE,KAAM,SACN,kBAAmBkL,EACnB,mBAAoBF,EAAY,GAAK,OACrC,gBAAiBH,GAAcG,EAC/B,aAAcH,EAAa,UAAY,YACvC,gBAAiBjO,GAAY,OAC7B,gBAAiBA,EAAW,GAAK,OACjC,SAAUA,EAAW,OAAS,GAC9B,GAAGgO,EACH,IAAK7L,EACL,QAASmB,EAAAA,qBAAqB0K,EAAU,QAAS,IAAMK,EAAa,EAAI,CAAC,EACzE,OAAQ/K,EAAAA,qBAAqB0K,EAAU,OAAQ,IAAMK,EAAa,EAAK,CAAC,EACxE,QAAS/K,EAAAA,qBAAqB0K,EAAU,QAAS,IAAM,CACjD1L,EAAe,UAAY,SAASiM,EAAY,CACtD,CAAC,EACD,YAAajL,EAAAA,qBAAqB0K,EAAU,YAAa,IAAM,CACzD1L,EAAe,UAAY,SAASiM,EAAY,CACtD,CAAC,EACD,cAAejL,EAAAA,qBAAqB0K,EAAU,cAAgBnM,GAAU,CACtES,EAAe,QAAUT,EAAM,WACjC,CAAC,EACD,cAAeyB,EAAAA,qBAAqB0K,EAAU,cAAgBnM,GAAU,OACtES,EAAe,QAAUT,EAAM,YAC3B7B,GACF7B,EAAA6K,EAAe,cAAf,MAAA7K,EAAA,KAAA6K,GACS1G,EAAe,UAAY,SACpCT,EAAM,cAAc,MAAM,CAAE,cAAe,EAAI,CAAE,CAErD,CAAC,EACD,eAAgByB,EAAAA,qBAAqB0K,EAAU,eAAiBnM,GAAU,OACpEA,EAAM,gBAAkB,SAAS,iBACnC1D,EAAA6K,EAAe,cAAf,MAAA7K,EAAA,KAAA6K,GAEJ,CAAC,EACD,UAAW1F,EAAAA,qBAAqB0K,EAAU,UAAYnM,GAAU,SACxC1D,EAAA6K,EAAe,YAAf,YAAA7K,EAA0B,WAAY,IACvC0D,EAAM,MAAQ,MAC/BtD,GAAe,SAASsD,EAAM,GAAG,GAAG0M,EAAY,EAChD1M,EAAM,MAAQ,KAAKA,EAAM,eAAc,EAC7C,CAAC,CACjB,CACA,CACA,CACA,CACA,CACA,CACE,CACF,EACAiM,GAAW,YAAcH,GACzB,IAAIc,GAAiB,iBACjBC,GAAiBlS,EAAM,WACzB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,UAAAqE,EAAW,MAAAC,EAAO,GAAG+K,CAAa,EAAKlS,EACxDwF,EAAU/C,EAAiBuP,GAAgBnP,CAAa,EACxD0J,EAAiB9D,EAAwBuJ,GAAgBnP,CAAa,EACtEsP,EAAcf,GAAqBY,GAAgBnP,CAAa,EAChEuP,EAAuBzP,GAA8BqP,GAAgBnP,CAAa,EAClF,CAACwP,EAAcC,CAAe,EAAIvS,EAAM,SAAS,IAAI,EACrD2F,EAAeC,EAAAA,gBACnB1F,EACC8J,GAASuI,EAAgBvI,CAAI,EAC9BoI,EAAY,iBACXpI,GAAI,OAAK,OAAArI,EAAA6K,EAAe,sBAAf,YAAA7K,EAAA,KAAA6K,EAAqCxC,EAAMoI,EAAY,MAAOA,EAAY,UAC1F,EACUI,EAAcF,GAAA,YAAAA,EAAc,YAC5BG,EAAezS,EAAM,QACzB,IAAsBW,EAAAA,IAAI,SAAU,CAAE,MAAOyR,EAAY,MAAO,SAAUA,EAAY,SAAU,SAAUI,CAAW,EAAIJ,EAAY,KAAK,EAC1I,CAACA,EAAY,SAAUA,EAAY,MAAOI,CAAW,CAC3D,EACU,CAAE,kBAAAE,EAAmB,qBAAAC,CAAoB,EAAKN,EACpD5K,OAAAA,EAAAA,iBAAgB,KACdiL,EAAkBD,CAAY,EACvB,IAAME,EAAqBF,CAAY,GAC7C,CAACC,EAAmBC,EAAsBF,CAAY,CAAC,EACnCzN,EAAAA,KAAK0C,WAAU,CAAE,SAAU,CAChC/G,EAAAA,IAAIiG,EAAAA,UAAU,KAAM,CAAE,GAAIwL,EAAY,OAAQ,GAAGD,EAAe,IAAKxM,EAAc,EACnGyM,EAAY,YAAc3M,EAAQ,WAAa,CAACA,EAAQ,qBAAuB6C,GAAS,aAAa6J,EAAc,SAAU1M,EAAQ,SAAS,EAAI,IACxJ,EAAO,CACL,CACF,EACAyM,GAAe,YAAcD,GAC7B,IAAIW,GAAsB,sBACtBC,GAAsB7S,EAAM,WAC9B,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,GAAGgQ,CAAkB,EAAK7S,EAEjD,OADoBoR,GAAqBuB,GAAqB9P,CAAa,EACxD,WAA6BnC,MAAIiG,EAAAA,UAAU,KAAM,CAAE,cAAe,GAAM,GAAGkM,EAAoB,IAAK5S,CAAY,CAAE,EAAI,IAC3I,CACF,EACA2S,GAAoB,YAAcD,GAClC,IAAIG,GAAwB,uBACxBC,GAAuBhT,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACnE,MAAMsM,EAAiB9D,EAAwBqK,GAAuB9S,EAAM,aAAa,EACnF+P,EAAkBL,GAAyBoD,GAAuB9S,EAAM,aAAa,EACrF,CAACgT,EAAaC,CAAc,EAAIlT,EAAM,SAAS,EAAK,EACpD2F,EAAeC,EAAAA,gBAAgB1F,EAAc8P,EAAgB,oBAAoB,EACvFvI,OAAAA,EAAAA,iBAAgB,IAAM,CACpB,GAAI+E,EAAe,UAAYA,EAAe,aAAc,CAC1D,IAAI2G,EAAgB,UAAW,CAC7B,MAAMC,EAAetJ,EAAS,UAAY,EAC1CoJ,EAAeE,CAAY,CAC7B,EAEA,MAAMtJ,EAAW0C,EAAe,SAChC,OAAA2G,EAAa,EACbrJ,EAAS,iBAAiB,SAAUqJ,CAAa,EAC1C,IAAMrJ,EAAS,oBAAoB,SAAUqJ,CAAa,CACnE,CACF,EAAG,CAAC3G,EAAe,SAAUA,EAAe,YAAY,CAAC,EAClDyG,EAA8BtS,EAAAA,IACnC0S,GACA,CACE,GAAGpT,EACH,IAAK0F,EACL,aAAc,IAAM,CAClB,KAAM,CAAE,SAAAmE,EAAU,aAAAG,CAAY,EAAKuC,EAC/B1C,GAAYG,IACdH,EAAS,UAAYA,EAAS,UAAYG,EAAa,aAE3D,CACN,CACA,EAAM,IACN,CAAC,EACD+I,GAAqB,YAAcD,GACnC,IAAIO,GAA0B,yBAC1BC,GAAyBvT,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACrE,MAAMsM,EAAiB9D,EAAwB4K,GAAyBrT,EAAM,aAAa,EACrF+P,EAAkBL,GAAyB2D,GAAyBrT,EAAM,aAAa,EACvF,CAACuT,EAAeC,CAAgB,EAAIzT,EAAM,SAAS,EAAK,EACxD2F,EAAeC,EAAAA,gBAAgB1F,EAAc8P,EAAgB,oBAAoB,EACvFvI,OAAAA,EAAAA,iBAAgB,IAAM,CACpB,GAAI+E,EAAe,UAAYA,EAAe,aAAc,CAC1D,IAAI2G,EAAgB,UAAW,CAC7B,MAAMO,EAAY5J,EAAS,aAAeA,EAAS,aAC7C6J,EAAiB,KAAK,KAAK7J,EAAS,SAAS,EAAI4J,EACvDD,EAAiBE,CAAc,CACjC,EAEA,MAAM7J,EAAW0C,EAAe,SAChC,OAAA2G,EAAa,EACbrJ,EAAS,iBAAiB,SAAUqJ,CAAa,EAC1C,IAAMrJ,EAAS,oBAAoB,SAAUqJ,CAAa,CACnE,CACF,EAAG,CAAC3G,EAAe,SAAUA,EAAe,YAAY,CAAC,EAClDgH,EAAgC7S,EAAAA,IACrC0S,GACA,CACE,GAAGpT,EACH,IAAK0F,EACL,aAAc,IAAM,CAClB,KAAM,CAAE,SAAAmE,EAAU,aAAAG,CAAY,EAAKuC,EAC/B1C,GAAYG,IACdH,EAAS,UAAYA,EAAS,UAAYG,EAAa,aAE3D,CACN,CACA,EAAM,IACN,CAAC,EACDsJ,GAAuB,YAAcD,GACrC,IAAID,GAAyBrT,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACrE,KAAM,CAAE,cAAA4C,EAAe,aAAA8Q,EAAc,GAAGC,CAAoB,EAAK5T,EAC3DuM,EAAiB9D,EAAwB,qBAAsB5F,CAAa,EAC5EgR,EAAqB9T,EAAM,OAAO,IAAI,EACtC6F,EAAW3D,GAAcY,CAAa,EACtCiR,EAAuB/T,EAAM,YAAY,IAAM,CAC/C8T,EAAmB,UAAY,OACjC,OAAO,cAAcA,EAAmB,OAAO,EAC/CA,EAAmB,QAAU,KAEjC,EAAG,CAAA,CAAE,EACL9T,OAAAA,EAAM,UAAU,IACP,IAAM+T,EAAoB,EAChC,CAACA,CAAoB,CAAC,EACzBtM,EAAAA,iBAAgB,IAAM,OACpB,MAAMuM,EAAanO,IAAW,KAAMQ,GAASA,EAAK,IAAI,UAAY,SAAS,aAAa,GACxF1E,EAAAqS,GAAA,YAAAA,EAAY,IAAI,UAAhB,MAAArS,EAAyB,eAAe,CAAE,MAAO,WACnD,EAAG,CAACkE,CAAQ,CAAC,EACUlF,EAAAA,IACrBiG,EAAAA,UAAU,IACV,CACE,cAAe,GACf,GAAGiN,EACH,IAAK3T,EACL,MAAO,CAAE,WAAY,EAAG,GAAG2T,EAAqB,KAAK,EACrD,cAAe/M,EAAAA,qBAAqB+M,EAAqB,cAAe,IAAM,CACxEC,EAAmB,UAAY,OACjCA,EAAmB,QAAU,OAAO,YAAYF,EAAc,EAAE,EAEpE,CAAC,EACD,cAAe9M,EAAAA,qBAAqB+M,EAAqB,cAAe,IAAM,QAC5ElS,EAAA6K,EAAe,cAAf,MAAA7K,EAAA,KAAA6K,GACIsH,EAAmB,UAAY,OACjCA,EAAmB,QAAU,OAAO,YAAYF,EAAc,EAAE,EAEpE,CAAC,EACD,eAAgB9M,EAAAA,qBAAqB+M,EAAqB,eAAgB,IAAM,CAC9EE,EAAoB,CACtB,CAAC,CACP,CACA,CACA,CAAC,EACGE,GAAiB,kBACjBC,GAAkBlU,EAAM,WAC1B,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,GAAGqR,CAAc,EAAKlU,EAC7C,OAAuBU,EAAAA,IAAIiG,YAAU,IAAK,CAAE,cAAe,GAAM,GAAGuN,EAAgB,IAAKjU,EAAc,CACzG,CACF,EACAgU,GAAgB,YAAcD,GAC9B,IAAIG,GAAa,cACbC,GAAcrU,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA4C,EAAe,GAAGwR,CAAU,EAAKrU,EACnC0D,EAAcnB,GAAeM,CAAa,EAC1C2C,EAAU/C,EAAiB0R,GAAYtR,CAAa,EACpD0J,EAAiB9D,EAAwB0L,GAAYtR,CAAa,EACxE,OAAO2C,EAAQ,MAAQ+G,EAAe,WAAa,SAA2B7L,EAAAA,IAAI4T,EAAAA,MAAuB,CAAE,GAAG5Q,EAAa,GAAG2Q,EAAY,IAAKpU,CAAY,CAAE,EAAI,IACnK,CACF,EACAmU,GAAY,YAAcD,GAC1B,IAAII,GAAoB,oBACpBpP,GAAoBpF,EAAM,WAC5B,CAAC,CAAE,cAAA8C,EAAe,MAAAyB,EAAO,GAAGtE,CAAK,EAAIC,IAAiB,CACpD,MAAMuU,EAAMzU,EAAM,OAAO,IAAI,EACvB2F,EAAeC,EAAAA,gBAAgB1F,EAAcuU,CAAG,EAChDC,EAAYC,GAAAA,YAAYpQ,CAAK,EACnCvE,OAAAA,EAAM,UAAU,IAAM,CACpB,MAAM4U,EAASH,EAAI,QACnB,GAAI,CAACG,EAAQ,OACb,MAAMC,EAAc,OAAO,kBAAkB,UAKvCrQ,EAJa,OAAO,yBACxBqQ,EACA,OACR,EACkC,IAC5B,GAAIH,IAAcnQ,GAASC,EAAU,CACnC,MAAMa,EAAQ,IAAI,MAAM,SAAU,CAAE,QAAS,GAAM,EACnDb,EAAS,KAAKoQ,EAAQrQ,CAAK,EAC3BqQ,EAAO,cAAcvP,CAAK,CAC5B,CACF,EAAG,CAACqP,EAAWnQ,CAAK,CAAC,EACE5D,EAAAA,IACrBiG,EAAAA,UAAU,OACV,CACE,GAAG3G,EACH,MAAO,CAAE,GAAG6U,GAAAA,uBAAwB,GAAG7U,EAAM,KAAK,EAClD,IAAK0F,EACL,aAAcpB,CACtB,CACA,CACE,CACF,EACAa,GAAkB,YAAcoP,GAChC,SAAS3N,GAAsBtC,EAAO,CACpC,OAAOA,IAAU,IAAMA,IAAU,MACnC,CACA,SAAS2B,GAAmB6O,EAAgB,CAC1C,MAAMC,EAAqBC,EAAAA,eAAeF,CAAc,EAClDhP,EAAY/F,EAAM,OAAO,EAAE,EAC3BkV,EAAWlV,EAAM,OAAO,CAAC,EACzBgG,EAAwBhG,EAAM,YACjCmV,GAAQ,CACP,MAAMhP,EAASJ,EAAU,QAAUoP,EACnCH,EAAmB7O,CAAM,EACxB,SAASiP,EAAa7Q,EAAO,CAC5BwB,EAAU,QAAUxB,EACpB,OAAO,aAAa2Q,EAAS,OAAO,EAChC3Q,IAAU,KAAI2Q,EAAS,QAAU,OAAO,WAAW,IAAME,EAAa,EAAE,EAAG,GAAG,EACpF,EAAGjP,CAAM,CACX,EACA,CAAC6O,CAAkB,CACvB,EACQ/O,EAAiBjG,EAAM,YAAY,IAAM,CAC7C+F,EAAU,QAAU,GACpB,OAAO,aAAamP,EAAS,OAAO,CACtC,EAAG,CAAA,CAAE,EACLlV,OAAAA,EAAM,UAAU,IACP,IAAM,OAAO,aAAakV,EAAS,OAAO,EAChD,CAAA,CAAE,EACE,CAACnP,EAAWC,EAAuBC,CAAc,CAC1D,CACA,SAASO,GAAaqH,EAAO1H,EAAQG,EAAa,CAEhD,MAAM+O,EADalP,EAAO,OAAS,GAAK,MAAM,KAAKA,CAAM,EAAE,MAAOmP,GAASA,IAASnP,EAAO,CAAC,CAAC,EACvDA,EAAO,CAAC,EAAIA,EAC5CoP,EAAmBjP,EAAcuH,EAAM,QAAQvH,CAAW,EAAI,GACpE,IAAIkP,EAAeC,GAAU5H,EAAO,KAAK,IAAI0H,EAAkB,CAAC,CAAC,EACtCF,EAAiB,SAAW,IAC/BG,EAAeA,EAAa,OAAQE,GAAMA,IAAMpP,CAAW,GACnF,MAAMC,EAAWiP,EAAa,KAC3BnP,GAASA,EAAK,UAAU,YAAW,EAAG,WAAWgP,EAAiB,YAAW,CAAE,CACpF,EACE,OAAO9O,IAAaD,EAAcC,EAAW,MAC/C,CACA,SAASkP,GAAUE,EAAOC,EAAY,CACpC,OAAOD,EAAM,IAAI,CAACE,EAAGC,IAAUH,GAAOC,EAAaE,GAASH,EAAM,MAAM,CAAC,CAC3E,CACA,IAAII,GAAQlT,GACRmT,GAAUzQ,GACV0Q,GAAQ/O,GACRgP,GAAOtO,GACPuO,GAASpO,GACTqO,GAAWlO,GACXmO,GAAWxG,GACXyG,GAAQ1F,GACR2F,GAAQvF,GACRwF,GAAOlF,GACPmF,GAAWvE,GACXwE,GAAgB7D,GAChB8D,GAAiB3D,GACjB4D,GAAmBrD,GACnBsD,GAAY3C,GChoChB,MAAMrR,GAASiU,GAETlG,GAAcmG,GAEd7P,GAAc8P,GAEdC,GAAwBC,EAAAA,IAC5B,kUACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,cACJ,GAAI,iBACJ,GAAI,cAAA,EAEN,MAAO,CACL,KAAM,SACN,KAAM,SACN,GAAI,OACJ,GAAI,OACJ,GAAI,MAAA,CACN,EAEF,gBAAiB,CACf,KAAM,KACN,MAAO,MAAA,CACT,CAEJ,EAMM3R,GAAgBvF,EAAM,WAG1B,CAAC,CAAE,UAAAmH,EAAW,SAAAhH,EAAU,KAAAgX,EAAM,MAAAC,EAAO,GAAGnX,CAAA,EAASwU,IACjDzP,EAAAA,KAACqS,GAAA,CACC,IAAA5C,EACA,UAAW6C,EAAAA,GAAGL,GAAsB,CAAE,KAAAE,EAAM,MAAAC,CAAA,CAAO,EAAGjQ,CAAS,EAC9D,GAAGlH,EAEH,SAAA,CAAAE,EACDQ,EAAAA,IAAC4W,GAAA,CAAqB,QAAO,GAC3B,SAAA5W,EAAAA,IAAC6W,eAAA,CAAY,UAAU,oBAAA,CAAqB,CAAA,CAC9C,CAAA,CAAA,CACF,CACD,EACDjS,GAAc,YAAc8R,GAAwB,YAEpD,MAAMrE,GAAuBhT,EAAM,WAGjC,CAAC,CAAE,UAAAmH,EAAW,GAAGlH,CAAA,EAASwU,IAC1B9T,EAAAA,IAAC8W,GAAA,CACC,IAAAhD,EACA,UAAW6C,EAAAA,GAAG,uDAAwDnQ,CAAS,EAC9E,GAAGlH,EAEJ,SAAAU,EAAAA,IAAC+W,GAAAA,UAAA,CAAU,UAAU,SAAA,CAAU,CAAA,CACjC,CACD,EACD1E,GAAqB,YAAcyE,GAA+B,YAElE,MAAMlE,GAAyBvT,EAAM,WAGnC,CAAC,CAAE,UAAAmH,EAAW,GAAGlH,CAAA,EAASwU,IAC1B9T,EAAAA,IAACgX,GAAA,CACC,IAAAlD,EACA,UAAW6C,EAAAA,GAAG,uDAAwDnQ,CAAS,EAC9E,GAAGlH,EAEJ,SAAAU,EAAAA,IAAC6W,GAAAA,YAAA,CAAY,UAAU,SAAA,CAAU,CAAA,CACnC,CACD,EACDjE,GAAuB,YAAcoE,GAAiC,YAEtE,MAAMzP,GAAgBlI,EAAM,WAG1B,CAAC,CAAE,UAAAmH,EAAW,SAAAhH,EAAU,SAAA0I,EAAW,SAAU,GAAG5I,GAASwU,IACzD9T,EAAAA,IAACiX,GAAA,CACC,SAAA5S,EAAAA,KAAC6S,GAAA,CACC,IAAApD,EACA,UAAW6C,EAAAA,GACT,scACAzO,IAAa,UACX,kIACF1B,CAAA,EAEF,SAAA0B,EACC,GAAG5I,EAEJ,SAAA,CAAAU,EAAAA,IAACqS,GAAA,EAAqB,EACtBrS,EAAAA,IAACmX,GAAA,CACC,UAAWR,EAAAA,GACT,MACAzO,IAAa,UACX,yFAAA,EAGH,SAAA1I,CAAA,CAAA,QAEFoT,GAAA,CAAA,CAAuB,CAAA,CAAA,CAC1B,EACF,CACD,EACDrL,GAAc,YAAc2P,GAAwB,YAEpD,MAAM7G,GAAchR,EAAM,WAGxB,CAAC,CAAE,UAAAmH,EAAW,GAAGlH,CAAA,EAASwU,IAC1B9T,EAAAA,IAACoX,GAAA,CACC,IAAAtD,EACA,UAAW6C,EAAAA,GAAG,yCAA0CnQ,CAAS,EAChE,GAAGlH,CAAA,CACN,CACD,EACD+Q,GAAY,YAAc+G,GAAsB,YAEhD,MAAMzG,GAAatR,EAAM,WAGvB,CAAC,CAAE,UAAAmH,EAAW,SAAAhH,EAAU,GAAGF,GAASwU,IACpCzP,EAAAA,KAACgT,GAAA,CACC,IAAAvD,EACA,UAAW6C,EAAAA,GACT,4NACAnQ,CAAA,EAED,GAAGlH,EAEJ,SAAA,CAAAU,EAAAA,IAAC,OAAA,CAAK,UAAU,+DACd,SAAAA,EAAAA,IAACsX,GAAA,CACC,SAAAtX,EAAAA,IAACuX,EAAAA,MAAA,CAAM,UAAU,SAAA,CAAU,CAAA,CAC7B,EACF,EAEAvX,MAACwX,GAAA,CAA0B,SAAAhY,CAAA,CAAS,CAAA,CAAA,CACtC,CACD,EACDmR,GAAW,YAAc0G,GAAqB,YAE9C,MAAM9D,GAAkBlU,EAAM,WAG5B,CAAC,CAAE,UAAAmH,EAAW,GAAGlH,CAAA,EAASwU,IAC1B9T,EAAAA,IAACyX,GAAA,CACC,IAAA3D,EACA,UAAW6C,EAAAA,GAAG,2BAA4BnQ,CAAS,EAClD,GAAGlH,CAAA,CACN,CACD,EACDiU,GAAgB,YAAckE,GAA0B","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ "use strict";const d=require("react/jsx-runtime"),W=require("react"),T=require("./scroll-area-DzDnWIYJ.cjs"),b=require("./input-Cfr2WB-P.cjs"),J=require("./index-gVbM3K4f.cjs"),H=require("./index-D2U2F80P.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})=>d.jsx(d.Fragment,{children:t});return o.displayName=`${e}.Slottable`,o.__radixId=Z,o}var[_]=T.createContextScope("Tooltip",[b.createPopperScope]),N=b.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),p=s.useRef(!1),a=s.useRef(0);return s.useEffect(()=>{const f=a.current;return()=>window.clearTimeout(f)},[]),d.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:p,onPointerInTransitChange:s.useCallback(f=>{p.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:p}=e,a=A(O,e.__scopeTooltip),f=N(o),[c,v]=s.useState(null),m=b.useId(),u=s.useRef(0),h=l??a.disableHoverableContent,y=p??a.delayDuration,x=s.useRef(!1),[C,g]=b.useControllableState({prop:r,defaultProp:n??!1,onChange:I=>{I?(a.onOpen(),document.dispatchEvent(new CustomEvent(S))):a.onClose(),i==null||i(I)},caller:O}),E=s.useMemo(()=>C?x.current?"delayed-open":"instant-open":"closed",[C]),P=s.useCallback(()=>{window.clearTimeout(u.current),u.current=0,x.current=!1,g(!0)},[g]),R=s.useCallback(()=>{window.clearTimeout(u.current),u.current=0,g(!1)},[g]),L=s.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{x.current=!0,g(!0),u.current=0},y)},[y,g]);return s.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),d.jsx(b.Root2,{...f,children:d.jsx(re,{scope:o,contentId:m,open:C,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(u.current),u.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),p=s.useRef(null),a=T.useComposedRefs(o,p,n.onTriggerChange),f=s.useRef(!1),c=s.useRef(!1),v=s.useCallback(()=>f.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),d.jsx(b.Anchor,{asChild:!0,...l,children:d.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 d.jsx(T.Presence,{present:r||l.open,children:l.disableHoverableContent?d.jsx($,{side:n,...i,ref:o}):d.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,p]=s.useState(null),{trigger:a,onClose:f}=t,c=n.current,{onPointerInTransitChange:v}=r,m=s.useCallback(()=>{p(null),v(!1)},[v]),u=s.useCallback((h,y)=>{const x=h.currentTarget,C={x:h.clientX,y:h.clientY},g=de(C,x.getBoundingClientRect()),E=pe(C,g),P=fe(y.getBoundingClientRect()),R=me([...E,...P]);p(R),v(!0)},[v]);return s.useEffect(()=>()=>m(),[m]),s.useEffect(()=>{if(a&&c){const h=x=>u(x,c),y=x=>u(x,a);return a.addEventListener("pointerleave",h),c.addEventListener("pointerleave",y),()=>{a.removeEventListener("pointerleave",h),c.removeEventListener("pointerleave",y)}}},[a,c,u,m]),s.useEffect(()=>{if(l){const h=y=>{const x=y.target,C={x:y.clientX,y:y.clientY},g=(a==null?void 0:a.contains(x))||(c==null?void 0:c.contains(x)),E=!ve(C,l);g?m():E&&(m(),f())};return document.addEventListener("pointermove",h),()=>document.removeEventListener("pointermove",h)}},[a,c,l,f,m]),d.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,...p}=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=>{const u=m.target;u!=null&&u.contains(a.trigger)&&c()};return window.addEventListener("scroll",v,{capture:!0}),()=>window.removeEventListener("scroll",v,{capture:!0})}},[a.trigger,c]),d.jsx(b.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:v=>v.preventDefault(),onDismiss:c,children:d.jsxs(b.Content,{"data-state":a.stateAttribute,...f,...p,ref:o,style:{...p.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:[d.jsx(ce,{children:r}),d.jsx(ie,{scope:t,isInside:!0,children:d.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:d.jsx(b.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 p=o[i],a=o[l],f=p.x,c=p.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,ye=z,U=G;const ge=xe,be=Te,Ce=ye,V=s.forwardRef(({className:e,sideOffset:o=4,...t},r)=>d.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,...p}=n,a=l?t:o;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(a,{...p,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,p=t?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return d.jsx(Ee.div,{"data-orientation":i,...p,...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)=>d.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=be;exports.TooltipContent=V;exports.TooltipProvider=ge;exports.TooltipTrigger=Ce;
2
+ //# sourceMappingURL=separator-BzcDE0Ei.cjs.map