@tipp/ui 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  2. package/dist/alert-dialog-D1kwc80j.js +143 -0
  3. package/dist/as-child.prop-Dmk_dqBI.js +4 -0
  4. package/dist/assets/index.css +1 -0
  5. package/dist/assets/theme-provider.css +1 -0
  6. package/dist/atoms/alert-dialog.d.ts +2 -0
  7. package/dist/atoms/alert-dialog.d.ts.map +1 -0
  8. package/dist/atoms/alert-dialog.js +4 -0
  9. package/dist/atoms/aspect-ratio.d.ts +2 -0
  10. package/dist/atoms/aspect-ratio.d.ts.map +1 -0
  11. package/dist/atoms/aspect-ratio.js +4 -0
  12. package/dist/atoms/avatar.d.ts +2 -0
  13. package/dist/atoms/avatar.d.ts.map +1 -0
  14. package/dist/atoms/avatar.js +4 -0
  15. package/dist/atoms/badge.d.ts +2 -0
  16. package/dist/atoms/badge.d.ts.map +1 -0
  17. package/dist/atoms/badge.js +4 -0
  18. package/dist/atoms/blockquote.d.ts +2 -0
  19. package/dist/atoms/blockquote.d.ts.map +1 -0
  20. package/dist/atoms/blockquote.js +4 -0
  21. package/dist/atoms/box.d.ts +2 -0
  22. package/dist/atoms/box.d.ts.map +1 -0
  23. package/dist/atoms/box.js +4 -0
  24. package/dist/atoms/button.d.ts +2 -0
  25. package/dist/atoms/button.d.ts.map +1 -0
  26. package/dist/atoms/button.js +4 -0
  27. package/dist/atoms/call-out.d.ts +2 -0
  28. package/dist/atoms/call-out.d.ts.map +1 -0
  29. package/dist/atoms/call-out.js +4 -0
  30. package/dist/atoms/card.d.ts +2 -0
  31. package/dist/atoms/card.d.ts.map +1 -0
  32. package/dist/atoms/card.js +4 -0
  33. package/dist/atoms/check-box-card.d.ts +2 -0
  34. package/dist/atoms/check-box-card.d.ts.map +1 -0
  35. package/dist/atoms/check-box-card.js +4 -0
  36. package/dist/atoms/check-box-group.d.ts +2 -0
  37. package/dist/atoms/check-box-group.d.ts.map +1 -0
  38. package/dist/atoms/check-box-group.js +4 -0
  39. package/dist/atoms/check-box.d.ts +2 -0
  40. package/dist/atoms/check-box.d.ts.map +1 -0
  41. package/dist/atoms/check-box.js +4 -0
  42. package/dist/atoms/code.d.ts +2 -0
  43. package/dist/atoms/code.d.ts.map +1 -0
  44. package/dist/atoms/code.js +4 -0
  45. package/dist/atoms/container.d.ts +2 -0
  46. package/dist/atoms/container.d.ts.map +1 -0
  47. package/dist/atoms/container.js +4 -0
  48. package/dist/atoms/data-list.d.ts +2 -0
  49. package/dist/atoms/data-list.d.ts.map +1 -0
  50. package/dist/atoms/data-list.js +4 -0
  51. package/dist/atoms/date-picker/index.d.ts +7 -0
  52. package/dist/atoms/date-picker/index.d.ts.map +1 -0
  53. package/dist/atoms/date-picker/index.js +6252 -0
  54. package/dist/atoms/dialog.d.ts +2 -0
  55. package/dist/atoms/dialog.d.ts.map +1 -0
  56. package/dist/atoms/dialog.js +4 -0
  57. package/dist/atoms/dropdown-menu.d.ts +2 -0
  58. package/dist/atoms/dropdown-menu.d.ts.map +1 -0
  59. package/dist/atoms/dropdown-menu.js +4 -0
  60. package/dist/atoms/em.d.ts +2 -0
  61. package/dist/atoms/em.d.ts.map +1 -0
  62. package/dist/atoms/em.js +4 -0
  63. package/dist/atoms/flex.d.ts +2 -0
  64. package/dist/atoms/flex.d.ts.map +1 -0
  65. package/dist/atoms/flex.js +4 -0
  66. package/dist/atoms/grid.d.ts +2 -0
  67. package/dist/atoms/grid.d.ts.map +1 -0
  68. package/dist/atoms/grid.js +4 -0
  69. package/dist/atoms/heading.d.ts +2 -0
  70. package/dist/atoms/heading.d.ts.map +1 -0
  71. package/dist/atoms/heading.js +4 -0
  72. package/dist/atoms/hover-card.d.ts +2 -0
  73. package/dist/atoms/hover-card.d.ts.map +1 -0
  74. package/dist/atoms/hover-card.js +4 -0
  75. package/dist/atoms/icon-button.d.ts +2 -0
  76. package/dist/atoms/icon-button.d.ts.map +1 -0
  77. package/dist/atoms/icon-button.js +4 -0
  78. package/dist/atoms/inset.d.ts +2 -0
  79. package/dist/atoms/inset.d.ts.map +1 -0
  80. package/dist/atoms/inset.js +4 -0
  81. package/dist/atoms/kbd.d.ts +2 -0
  82. package/dist/atoms/kbd.d.ts.map +1 -0
  83. package/dist/atoms/kbd.js +4 -0
  84. package/dist/atoms/link.d.ts +2 -0
  85. package/dist/atoms/link.d.ts.map +1 -0
  86. package/dist/atoms/link.js +4 -0
  87. package/dist/atoms/popover.d.ts +2 -0
  88. package/dist/atoms/popover.d.ts.map +1 -0
  89. package/dist/atoms/popover.js +4 -0
  90. package/dist/atoms/progress.d.ts +2 -0
  91. package/dist/atoms/progress.d.ts.map +1 -0
  92. package/dist/atoms/progress.js +4 -0
  93. package/dist/atoms/quote.d.ts +2 -0
  94. package/dist/atoms/quote.d.ts.map +1 -0
  95. package/dist/atoms/quote.js +4 -0
  96. package/dist/atoms/radio-cards.d.ts +2 -0
  97. package/dist/atoms/radio-cards.d.ts.map +1 -0
  98. package/dist/atoms/radio-cards.js +4 -0
  99. package/dist/atoms/radio-group.d.ts +2 -0
  100. package/dist/atoms/radio-group.d.ts.map +1 -0
  101. package/dist/atoms/radio-group.js +4 -0
  102. package/dist/atoms/radio.d.ts +2 -0
  103. package/dist/atoms/radio.d.ts.map +1 -0
  104. package/dist/atoms/radio.js +4 -0
  105. package/dist/atoms/scroll-area.d.ts +2 -0
  106. package/dist/atoms/scroll-area.d.ts.map +1 -0
  107. package/dist/atoms/scroll-area.js +4 -0
  108. package/dist/atoms/section.d.ts +2 -0
  109. package/dist/atoms/section.d.ts.map +1 -0
  110. package/dist/atoms/section.js +4 -0
  111. package/dist/atoms/segmented-control.d.ts +2 -0
  112. package/dist/atoms/segmented-control.d.ts.map +1 -0
  113. package/dist/atoms/segmented-control.js +4 -0
  114. package/dist/atoms/select.d.ts +2 -0
  115. package/dist/atoms/select.d.ts.map +1 -0
  116. package/dist/atoms/select.js +4 -0
  117. package/dist/atoms/separator.d.ts +2 -0
  118. package/dist/atoms/separator.d.ts.map +1 -0
  119. package/dist/atoms/separator.js +4 -0
  120. package/dist/atoms/skeleton.d.ts +2 -0
  121. package/dist/atoms/skeleton.d.ts.map +1 -0
  122. package/dist/atoms/skeleton.js +4 -0
  123. package/dist/atoms/strong.d.ts +2 -0
  124. package/dist/atoms/strong.d.ts.map +1 -0
  125. package/dist/atoms/strong.js +4 -0
  126. package/dist/atoms/switch.d.ts +2 -0
  127. package/dist/atoms/switch.d.ts.map +1 -0
  128. package/dist/atoms/switch.js +4 -0
  129. package/dist/atoms/tab-nav.d.ts +2 -0
  130. package/dist/atoms/tab-nav.d.ts.map +1 -0
  131. package/dist/atoms/tab-nav.js +4 -0
  132. package/dist/atoms/tabs.d.ts +2 -0
  133. package/dist/atoms/tabs.d.ts.map +1 -0
  134. package/dist/atoms/tabs.js +4 -0
  135. package/dist/atoms/text-area.d.ts +2 -0
  136. package/dist/atoms/text-area.d.ts.map +1 -0
  137. package/dist/atoms/text-area.js +4 -0
  138. package/dist/atoms/text-field.d.ts +2 -0
  139. package/dist/atoms/text-field.d.ts.map +1 -0
  140. package/dist/atoms/text-field.js +4 -0
  141. package/dist/atoms/text.d.ts +2 -0
  142. package/dist/atoms/text.d.ts.map +1 -0
  143. package/dist/atoms/text.js +4 -0
  144. package/dist/atoms/tooltip.d.ts +2 -0
  145. package/dist/atoms/tooltip.d.ts.map +1 -0
  146. package/dist/atoms/tooltip.js +4 -0
  147. package/dist/avatar-CzjF7NU3.js +85 -0
  148. package/dist/badge-CyCKR1Mg.js +17 -0
  149. package/dist/base-button-i6PPsCdc.js +27 -0
  150. package/dist/base-checkbox.props-Bk4tRAY3.js +132 -0
  151. package/dist/base-tab-list.props-hSCtMjn2.js +6 -0
  152. package/dist/blockquote-7gbFi2zf.js +12 -0
  153. package/dist/box-C071drmz.js +15 -0
  154. package/dist/button-DpVTjBrm.js +8 -0
  155. package/dist/callout-K8Sm-FQT.js +31 -0
  156. package/dist/card-BX55hIZ3.js +14 -0
  157. package/dist/chart-BkQy6rli.js +14554 -0
  158. package/dist/charts/chart.d.ts +5 -0
  159. package/dist/charts/chart.d.ts.map +1 -0
  160. package/dist/charts/chart.js +5 -0
  161. package/dist/charts-DLVAfnBm.js +10821 -0
  162. package/dist/checkbox-DhyOlPGH.js +14 -0
  163. package/dist/checkbox-cards-C9ZL84Ml.js +30 -0
  164. package/dist/checkbox-group-CoGGFZk-.js +33 -0
  165. package/dist/checkbox-group.primitive-DuerVc21.js +33 -0
  166. package/dist/code-BJLnPPB0.js +18 -0
  167. package/dist/color.prop-C1QiQO-6.js +7 -0
  168. package/dist/components-MfAfNvnv.js +9496 -0
  169. package/dist/container-DBjG5yxq.js +25 -0
  170. package/dist/customGraphicKeyframeAnimation-BL_3uxsi.js +7247 -0
  171. package/dist/data-list-DXP5-QCf.js +36 -0
  172. package/dist/dialog-BYhSvWm4.js +35 -0
  173. package/dist/dialog.props-DOLpgre6.js +255 -0
  174. package/dist/dropdown-menu-B34afpui.js +870 -0
  175. package/dist/em-CxdNq9zL.js +14 -0
  176. package/dist/extract-props-CujC3IXc.js +36 -0
  177. package/dist/features-Dezrf84n.js +1221 -0
  178. package/dist/flex-BY0BY2TI.js +15 -0
  179. package/dist/flex.props-DNysJgUY.js +9 -0
  180. package/dist/floating-ui.dom-Pi62VK_7.js +1084 -0
  181. package/dist/gap.props-DSJMAfZN.js +4 -0
  182. package/dist/get-subtree-DW8zSv8E.js +10 -0
  183. package/dist/grid-BcK4nkHz.js +24 -0
  184. package/dist/heading-BNO0Ttlj.js +19 -0
  185. package/dist/height.props-COFNk7EY.js +4 -0
  186. package/dist/high-contrast.prop-BGHYAKb9.js +4 -0
  187. package/dist/hover-card-C86JJDjR.js +198 -0
  188. package/dist/icon-button-BiYGmnT9.js +8 -0
  189. package/dist/icon.d.ts +2 -0
  190. package/dist/icon.d.ts.map +1 -0
  191. package/dist/icon.js +11 -0
  192. package/dist/icons-B-Giprot.js +12 -0
  193. package/dist/index--Kmch3aI.js +19069 -0
  194. package/dist/index-BGHne2on.js +66 -0
  195. package/dist/index-BGU-u5wR.js +48 -0
  196. package/dist/index-BLlMKB6v.js +35 -0
  197. package/dist/index-BQ0fI5eo.js +14 -0
  198. package/dist/index-BUzFfodu.js +134 -0
  199. package/dist/index-BZPx6jYI.js +8 -0
  200. package/dist/index-CBWtNqYj.js +218 -0
  201. package/dist/index-CMas7-m1.js +32 -0
  202. package/dist/index-CWqnkG-p.js +67 -0
  203. package/dist/index-Chf_UJBH.js +27 -0
  204. package/dist/index-DIx1pnae.js +14 -0
  205. package/dist/index-DLeNytVF.js +9 -0
  206. package/dist/index-DQu1RzkN.js +41 -0
  207. package/dist/index-DbtrAyPY.js +48 -0
  208. package/dist/index-Dei2uCbS.js +16 -0
  209. package/dist/index-DgaYqXVD.js +178 -0
  210. package/dist/index-DoIe4nVR.js +42 -0
  211. package/dist/index-DxFjXziY.js +32 -0
  212. package/dist/index-J-pu07YR.js +13 -0
  213. package/dist/index-KdR831JA.js +669 -0
  214. package/dist/index-W3PwLn5U.js +531 -0
  215. package/dist/inset-B8urCQ4C.js +18 -0
  216. package/dist/kbd-D56CgGV_.js +14 -0
  217. package/dist/labelGuideHelper-CcngZb4a.js +224 -0
  218. package/dist/labelLayoutHelper-ZwNI-nB_.js +211 -0
  219. package/dist/layout.props-CKENeFj3.js +7 -0
  220. package/dist/link-C49WMJKQ.js +18 -0
  221. package/dist/main.d.ts +53 -0
  222. package/dist/main.d.ts.map +1 -0
  223. package/dist/main.js +113 -0
  224. package/dist/map-prop-values-pmPyYjFd.js +22 -0
  225. package/dist/margin.props-ClY9lUrP.js +4 -0
  226. package/dist/merge-styles-B1pWeU8q.js +68 -0
  227. package/dist/padding.props-DHz7-7K8.js +4 -0
  228. package/dist/popover-pOSzBkqq.js +251 -0
  229. package/dist/progress-WApo2WEO.js +93 -0
  230. package/dist/quote-BSvwdJNj.js +14 -0
  231. package/dist/radio-DAyHCNZG.js +16 -0
  232. package/dist/radio-cards-z3X1kLpc.js +24 -0
  233. package/dist/radio-group-B9V-hq03.js +33 -0
  234. package/dist/radius.prop-CH9lMann.js +5 -0
  235. package/dist/react-icons.esm-D7QiCqNB.js +147 -0
  236. package/dist/renderers-Bb3odh12.js +1250 -0
  237. package/dist/require-react-element-D_SFiikK.js +8 -0
  238. package/dist/scroll-area-eDccU6Jg.js +26 -0
  239. package/dist/section-DMnSE0_D.js +19 -0
  240. package/dist/segmented-control-kJXQrfMF.js +173 -0
  241. package/dist/select-BEBm0Xc8.js +832 -0
  242. package/dist/separator-Ba0Kgvyq.js +13 -0
  243. package/dist/skeleton-CUQFQIjD.js +17 -0
  244. package/dist/strong-ejFErGyG.js +14 -0
  245. package/dist/switch-BhvdoZJT.js +123 -0
  246. package/dist/tab-nav-B-m2dwou.js +608 -0
  247. package/dist/tabs-33tSzanC.js +186 -0
  248. package/dist/text-YN9kC4kc.js +19 -0
  249. package/dist/text-align.prop-BXpq--l6.js +5 -0
  250. package/dist/text-area-DBR9oL6S.js +14 -0
  251. package/dist/text-field-CgtdAE3v.js +43 -0
  252. package/dist/theme/theme-provider.d.ts +10 -0
  253. package/dist/theme/theme-provider.d.ts.map +1 -0
  254. package/dist/theme/theme-provider.js +8 -0
  255. package/dist/theme/use-theme.d.ts +2 -0
  256. package/dist/theme/use-theme.d.ts.map +1 -0
  257. package/dist/theme/use-theme.js +4 -0
  258. package/dist/theme-7Cjo8_Y6.js +795 -0
  259. package/dist/tooltip-jaEtV9Zg.js +14 -0
  260. package/dist/truncate.prop-BeER2hSO.js +5 -0
  261. package/dist/ui-props/index.d.ts +3 -0
  262. package/dist/ui-props/index.d.ts.map +1 -0
  263. package/dist/ui-props/index.js +686 -0
  264. package/dist/weight.prop-DBiHURhF.js +4 -0
  265. package/dist/width.props-BFC_4RNX.js +4 -0
  266. package/package.json +48 -0
@@ -0,0 +1,832 @@
1
+ import * as e from "react";
2
+ import { y as ee } from "./index-DoIe4nVR.js";
3
+ import { r as Me } from "./index--Kmch3aI.js";
4
+ import { c as Re, R as ht, V as vt, S as St, T as gt } from "./index-W3PwLn5U.js";
5
+ import { c as b } from "./index-DLeNytVF.js";
6
+ import { c as wt } from "./index-DbtrAyPY.js";
7
+ import { u as V } from "./index-DIx1pnae.js";
8
+ import { c as Ct } from "./index-CWqnkG-p.js";
9
+ import { u as yt } from "./index-BQ0fI5eo.js";
10
+ import { D as It } from "./index-BUzFfodu.js";
11
+ import { h as xt, u as Tt, R as Et, F as Nt } from "./index-KdR831JA.js";
12
+ import { u as Te } from "./index-J-pu07YR.js";
13
+ import { c as Ae, b as Pt, d as bt, e as Rt, f as _t, a as Mt, H as At, I as Ot } from "./theme-7Cjo8_Y6.js";
14
+ import { P as A } from "./index-BLlMKB6v.js";
15
+ import { S as Dt } from "./index-BGU-u5wR.js";
16
+ import { a as K, u as Lt } from "./index-Dei2uCbS.js";
17
+ import { u as _e } from "./index-CMas7-m1.js";
18
+ import { u as Vt } from "./index-BZPx6jYI.js";
19
+ import { V as kt } from "./index-DxFjXziY.js";
20
+ import { jsx as u, Fragment as Ee, jsxs as ce } from "react/jsx-runtime";
21
+ import { v as Oe } from "./extract-props-CujC3IXc.js";
22
+ import { r as Ht } from "./margin.props-ClY9lUrP.js";
23
+ import { t as Bt, r as Ft } from "./icons-B-Giprot.js";
24
+ import { r as De } from "./color.prop-C1QiQO-6.js";
25
+ import { o as Wt } from "./high-contrast.prop-BGHYAKb9.js";
26
+ import { r as zt } from "./radius.prop-CH9lMann.js";
27
+ var Kt = [" ", "Enter", "ArrowUp", "ArrowDown"], Ut = [" ", "Enter"], se = "Select", [de, pe, Gt] = wt(se), [te, Qo] = Ct(se, [
28
+ Gt,
29
+ Ae
30
+ ]), ue = Ae(), [$t, U] = te(se), [jt, Yt] = te(se), Le = (o) => {
31
+ const {
32
+ __scopeSelect: n,
33
+ children: t,
34
+ open: l,
35
+ defaultOpen: a,
36
+ onOpenChange: i,
37
+ value: c,
38
+ defaultValue: s,
39
+ onValueChange: r,
40
+ dir: d,
41
+ name: S,
42
+ autoComplete: y,
43
+ disabled: N,
44
+ required: E
45
+ } = o, m = ue(n), [v, x] = e.useState(null), [h, p] = e.useState(null), [g, B] = e.useState(!1), O = yt(d), [oe = !1, R] = _e({
46
+ prop: l,
47
+ defaultProp: a,
48
+ onChange: i
49
+ }), [M, $] = _e({
50
+ prop: c,
51
+ defaultProp: s,
52
+ onChange: r
53
+ }), Z = e.useRef(null), j = v ? !!v.closest("form") : !0, [D, F] = e.useState(/* @__PURE__ */ new Set()), W = Array.from(D).map((P) => P.props.value).join(";");
54
+ return /* @__PURE__ */ u(_t, { ...m, children: /* @__PURE__ */ ce(
55
+ $t,
56
+ {
57
+ required: E,
58
+ scope: n,
59
+ trigger: v,
60
+ onTriggerChange: x,
61
+ valueNode: h,
62
+ onValueNodeChange: p,
63
+ valueNodeHasChildren: g,
64
+ onValueNodeHasChildrenChange: B,
65
+ contentId: Te(),
66
+ value: M,
67
+ onValueChange: $,
68
+ open: oe,
69
+ onOpenChange: R,
70
+ dir: O,
71
+ triggerPointerDownPosRef: Z,
72
+ disabled: N,
73
+ children: [
74
+ /* @__PURE__ */ u(de.Provider, { scope: n, children: /* @__PURE__ */ u(
75
+ jt,
76
+ {
77
+ scope: o.__scopeSelect,
78
+ onNativeOptionAdd: e.useCallback((P) => {
79
+ F((L) => new Set(L).add(P));
80
+ }, []),
81
+ onNativeOptionRemove: e.useCallback((P) => {
82
+ F((L) => {
83
+ const k = new Set(L);
84
+ return k.delete(P), k;
85
+ });
86
+ }, []),
87
+ children: t
88
+ }
89
+ ) }),
90
+ j ? /* @__PURE__ */ ce(
91
+ st,
92
+ {
93
+ "aria-hidden": !0,
94
+ required: E,
95
+ tabIndex: -1,
96
+ name: S,
97
+ autoComplete: y,
98
+ value: M,
99
+ onChange: (P) => $(P.target.value),
100
+ disabled: N,
101
+ children: [
102
+ M === void 0 ? /* @__PURE__ */ u("option", { value: "" }) : null,
103
+ Array.from(D)
104
+ ]
105
+ },
106
+ W
107
+ ) : null
108
+ ]
109
+ }
110
+ ) });
111
+ };
112
+ Le.displayName = se;
113
+ var Ve = "SelectTrigger", ke = e.forwardRef(
114
+ (o, n) => {
115
+ const { __scopeSelect: t, disabled: l = !1, ...a } = o, i = ue(t), c = U(Ve, t), s = c.disabled || l, r = V(n, c.onTriggerChange), d = pe(t), [S, y, N] = at((m) => {
116
+ const v = d().filter((p) => !p.disabled), x = v.find((p) => p.value === c.value), h = lt(v, m, x);
117
+ h !== void 0 && c.onValueChange(h.value);
118
+ }), E = () => {
119
+ s || (c.onOpenChange(!0), N());
120
+ };
121
+ return /* @__PURE__ */ u(Pt, { asChild: !0, ...i, children: /* @__PURE__ */ u(
122
+ A.button,
123
+ {
124
+ type: "button",
125
+ role: "combobox",
126
+ "aria-controls": c.contentId,
127
+ "aria-expanded": c.open,
128
+ "aria-required": c.required,
129
+ "aria-autocomplete": "none",
130
+ dir: c.dir,
131
+ "data-state": c.open ? "open" : "closed",
132
+ disabled: s,
133
+ "data-disabled": s ? "" : void 0,
134
+ "data-placeholder": nt(c.value) ? "" : void 0,
135
+ ...a,
136
+ ref: r,
137
+ onClick: b(a.onClick, (m) => {
138
+ m.currentTarget.focus();
139
+ }),
140
+ onPointerDown: b(a.onPointerDown, (m) => {
141
+ const v = m.target;
142
+ v.hasPointerCapture(m.pointerId) && v.releasePointerCapture(m.pointerId), m.button === 0 && m.ctrlKey === !1 && (E(), c.triggerPointerDownPosRef.current = {
143
+ x: Math.round(m.pageX),
144
+ y: Math.round(m.pageY)
145
+ }, m.preventDefault());
146
+ }),
147
+ onKeyDown: b(a.onKeyDown, (m) => {
148
+ const v = S.current !== "";
149
+ !(m.ctrlKey || m.altKey || m.metaKey) && m.key.length === 1 && y(m.key), !(v && m.key === " ") && Kt.includes(m.key) && (E(), m.preventDefault());
150
+ })
151
+ }
152
+ ) });
153
+ }
154
+ );
155
+ ke.displayName = Ve;
156
+ var He = "SelectValue", Be = e.forwardRef(
157
+ (o, n) => {
158
+ const { __scopeSelect: t, className: l, style: a, children: i, placeholder: c = "", ...s } = o, r = U(He, t), { onValueNodeHasChildrenChange: d } = r, S = i !== void 0, y = V(n, r.onValueNodeChange);
159
+ return K(() => {
160
+ d(S);
161
+ }, [d, S]), /* @__PURE__ */ u(
162
+ A.span,
163
+ {
164
+ ...s,
165
+ ref: y,
166
+ style: { pointerEvents: "none" },
167
+ children: nt(r.value) ? /* @__PURE__ */ u(Ee, { children: c }) : i
168
+ }
169
+ );
170
+ }
171
+ );
172
+ Be.displayName = He;
173
+ var qt = "SelectIcon", Fe = e.forwardRef(
174
+ (o, n) => {
175
+ const { __scopeSelect: t, children: l, ...a } = o;
176
+ return /* @__PURE__ */ u(A.span, { "aria-hidden": !0, ...a, ref: n, children: l || "▼" });
177
+ }
178
+ );
179
+ Fe.displayName = qt;
180
+ var Xt = "SelectPortal", We = (o) => /* @__PURE__ */ u(Mt, { asChild: !0, ...o });
181
+ We.displayName = Xt;
182
+ var X = "SelectContent", ze = e.forwardRef(
183
+ (o, n) => {
184
+ const t = U(X, o.__scopeSelect), [l, a] = e.useState();
185
+ if (K(() => {
186
+ a(new DocumentFragment());
187
+ }, []), !t.open) {
188
+ const i = l;
189
+ return i ? Me.createPortal(
190
+ /* @__PURE__ */ u(Ke, { scope: o.__scopeSelect, children: /* @__PURE__ */ u(de.Slot, { scope: o.__scopeSelect, children: /* @__PURE__ */ u("div", { children: o.children }) }) }),
191
+ i
192
+ ) : null;
193
+ }
194
+ return /* @__PURE__ */ u(Ue, { ...o, ref: n });
195
+ }
196
+ );
197
+ ze.displayName = X;
198
+ var H = 10, [Ke, G] = te(X), Zt = "SelectContentImpl", Ue = e.forwardRef(
199
+ (o, n) => {
200
+ const {
201
+ __scopeSelect: t,
202
+ position: l = "item-aligned",
203
+ onCloseAutoFocus: a,
204
+ onEscapeKeyDown: i,
205
+ onPointerDownOutside: c,
206
+ //
207
+ // PopperContent props
208
+ side: s,
209
+ sideOffset: r,
210
+ align: d,
211
+ alignOffset: S,
212
+ arrowPadding: y,
213
+ collisionBoundary: N,
214
+ collisionPadding: E,
215
+ sticky: m,
216
+ hideWhenDetached: v,
217
+ avoidCollisions: x,
218
+ //
219
+ ...h
220
+ } = o, p = U(X, t), [g, B] = e.useState(null), [O, oe] = e.useState(null), R = V(n, (f) => B(f)), [M, $] = e.useState(null), [Z, j] = e.useState(
221
+ null
222
+ ), D = pe(t), [F, W] = e.useState(!1), P = e.useRef(!1);
223
+ e.useEffect(() => {
224
+ if (g) return xt(g);
225
+ }, [g]), Tt();
226
+ const L = e.useCallback(
227
+ (f) => {
228
+ const [T, ..._] = D().map((C) => C.ref.current), [I] = _.slice(-1), w = document.activeElement;
229
+ for (const C of f)
230
+ if (C === w || (C == null || C.scrollIntoView({ block: "nearest" }), C === T && O && (O.scrollTop = 0), C === I && O && (O.scrollTop = O.scrollHeight), C == null || C.focus(), document.activeElement !== w)) return;
231
+ },
232
+ [D, O]
233
+ ), k = e.useCallback(
234
+ () => L([M, g]),
235
+ [L, M, g]
236
+ );
237
+ e.useEffect(() => {
238
+ F && k();
239
+ }, [F, k]);
240
+ const { onOpenChange: J, triggerPointerDownPosRef: z } = p;
241
+ e.useEffect(() => {
242
+ if (g) {
243
+ let f = { x: 0, y: 0 };
244
+ const T = (I) => {
245
+ var w, C;
246
+ f = {
247
+ x: Math.abs(Math.round(I.pageX) - (((w = z.current) == null ? void 0 : w.x) ?? 0)),
248
+ y: Math.abs(Math.round(I.pageY) - (((C = z.current) == null ? void 0 : C.y) ?? 0))
249
+ };
250
+ }, _ = (I) => {
251
+ f.x <= 10 && f.y <= 10 ? I.preventDefault() : g.contains(I.target) || J(!1), document.removeEventListener("pointermove", T), z.current = null;
252
+ };
253
+ return z.current !== null && (document.addEventListener("pointermove", T), document.addEventListener("pointerup", _, { capture: !0, once: !0 })), () => {
254
+ document.removeEventListener("pointermove", T), document.removeEventListener("pointerup", _, { capture: !0 });
255
+ };
256
+ }
257
+ }, [g, J, z]), e.useEffect(() => {
258
+ const f = () => J(!1);
259
+ return window.addEventListener("blur", f), window.addEventListener("resize", f), () => {
260
+ window.removeEventListener("blur", f), window.removeEventListener("resize", f);
261
+ };
262
+ }, [J]);
263
+ const [fe, ae] = at((f) => {
264
+ const T = D().filter((w) => !w.disabled), _ = T.find((w) => w.ref.current === document.activeElement), I = lt(T, f, _);
265
+ I && setTimeout(() => I.ref.current.focus());
266
+ }), me = e.useCallback(
267
+ (f, T, _) => {
268
+ const I = !P.current && !_;
269
+ (p.value !== void 0 && p.value === T || I) && ($(f), I && (P.current = !0));
270
+ },
271
+ [p.value]
272
+ ), he = e.useCallback(() => g == null ? void 0 : g.focus(), [g]), Q = e.useCallback(
273
+ (f, T, _) => {
274
+ const I = !P.current && !_;
275
+ (p.value !== void 0 && p.value === T || I) && j(f);
276
+ },
277
+ [p.value]
278
+ ), le = l === "popper" ? we : Ge, re = le === we ? {
279
+ side: s,
280
+ sideOffset: r,
281
+ align: d,
282
+ alignOffset: S,
283
+ arrowPadding: y,
284
+ collisionBoundary: N,
285
+ collisionPadding: E,
286
+ sticky: m,
287
+ hideWhenDetached: v,
288
+ avoidCollisions: x
289
+ } : {};
290
+ return /* @__PURE__ */ u(
291
+ Ke,
292
+ {
293
+ scope: t,
294
+ content: g,
295
+ viewport: O,
296
+ onViewportChange: oe,
297
+ itemRefCallback: me,
298
+ selectedItem: M,
299
+ onItemLeave: he,
300
+ itemTextRefCallback: Q,
301
+ focusSelectedItem: k,
302
+ selectedItemText: Z,
303
+ position: l,
304
+ isPositioned: F,
305
+ searchRef: fe,
306
+ children: /* @__PURE__ */ u(Et, { as: Dt, allowPinchZoom: !0, children: /* @__PURE__ */ u(
307
+ Nt,
308
+ {
309
+ asChild: !0,
310
+ trapped: p.open,
311
+ onMountAutoFocus: (f) => {
312
+ f.preventDefault();
313
+ },
314
+ onUnmountAutoFocus: b(a, (f) => {
315
+ var T;
316
+ (T = p.trigger) == null || T.focus({ preventScroll: !0 }), f.preventDefault();
317
+ }),
318
+ children: /* @__PURE__ */ u(
319
+ It,
320
+ {
321
+ asChild: !0,
322
+ disableOutsidePointerEvents: !0,
323
+ onEscapeKeyDown: i,
324
+ onPointerDownOutside: c,
325
+ onFocusOutside: (f) => f.preventDefault(),
326
+ onDismiss: () => p.onOpenChange(!1),
327
+ children: /* @__PURE__ */ u(
328
+ le,
329
+ {
330
+ role: "listbox",
331
+ id: p.contentId,
332
+ "data-state": p.open ? "open" : "closed",
333
+ dir: p.dir,
334
+ onContextMenu: (f) => f.preventDefault(),
335
+ ...h,
336
+ ...re,
337
+ onPlaced: () => W(!0),
338
+ ref: R,
339
+ style: {
340
+ // flex layout so we can place the scroll buttons properly
341
+ display: "flex",
342
+ flexDirection: "column",
343
+ // reset the outline by default as the content MAY get focused
344
+ outline: "none",
345
+ ...h.style
346
+ },
347
+ onKeyDown: b(h.onKeyDown, (f) => {
348
+ const T = f.ctrlKey || f.altKey || f.metaKey;
349
+ if (f.key === "Tab" && f.preventDefault(), !T && f.key.length === 1 && ae(f.key), ["ArrowUp", "ArrowDown", "Home", "End"].includes(f.key)) {
350
+ let I = D().filter((w) => !w.disabled).map((w) => w.ref.current);
351
+ if (["ArrowUp", "End"].includes(f.key) && (I = I.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(f.key)) {
352
+ const w = f.target, C = I.indexOf(w);
353
+ I = I.slice(C + 1);
354
+ }
355
+ setTimeout(() => L(I)), f.preventDefault();
356
+ }
357
+ })
358
+ }
359
+ )
360
+ }
361
+ )
362
+ }
363
+ ) })
364
+ }
365
+ );
366
+ }
367
+ );
368
+ Ue.displayName = Zt;
369
+ var Jt = "SelectItemAlignedPosition", Ge = e.forwardRef((o, n) => {
370
+ const { __scopeSelect: t, onPlaced: l, ...a } = o, i = U(X, t), c = G(X, t), [s, r] = e.useState(null), [d, S] = e.useState(null), y = V(n, (R) => S(R)), N = pe(t), E = e.useRef(!1), m = e.useRef(!0), { viewport: v, selectedItem: x, selectedItemText: h, focusSelectedItem: p } = c, g = e.useCallback(() => {
371
+ if (i.trigger && i.valueNode && s && d && v && x && h) {
372
+ const R = i.trigger.getBoundingClientRect(), M = d.getBoundingClientRect(), $ = i.valueNode.getBoundingClientRect(), Z = h.getBoundingClientRect();
373
+ if (i.dir !== "rtl") {
374
+ const w = Z.left - M.left, C = $.left - w, Y = R.left - C, q = R.width + Y, ve = Math.max(q, M.width), Se = window.innerWidth - H, ge = Re(C, [H, Se - ve]);
375
+ s.style.minWidth = q + "px", s.style.left = ge + "px";
376
+ } else {
377
+ const w = M.right - Z.right, C = window.innerWidth - $.right - w, Y = window.innerWidth - R.right - C, q = R.width + Y, ve = Math.max(q, M.width), Se = window.innerWidth - H, ge = Re(C, [H, Se - ve]);
378
+ s.style.minWidth = q + "px", s.style.right = ge + "px";
379
+ }
380
+ const j = N(), D = window.innerHeight - H * 2, F = v.scrollHeight, W = window.getComputedStyle(d), P = parseInt(W.borderTopWidth, 10), L = parseInt(W.paddingTop, 10), k = parseInt(W.borderBottomWidth, 10), J = parseInt(W.paddingBottom, 10), z = P + L + F + J + k, fe = Math.min(x.offsetHeight * 5, z), ae = window.getComputedStyle(v), me = parseInt(ae.paddingTop, 10), he = parseInt(ae.paddingBottom, 10), Q = R.top + R.height / 2 - H, le = D - Q, re = x.offsetHeight / 2, f = x.offsetTop + re, T = P + L + f, _ = z - T;
381
+ if (T <= Q) {
382
+ const w = x === j[j.length - 1].ref.current;
383
+ s.style.bottom = "0px";
384
+ const C = d.clientHeight - v.offsetTop - v.offsetHeight, Y = Math.max(
385
+ le,
386
+ re + // viewport might have padding bottom, include it to avoid a scrollable viewport
387
+ (w ? he : 0) + C + k
388
+ ), q = T + Y;
389
+ s.style.height = q + "px";
390
+ } else {
391
+ const w = x === j[0].ref.current;
392
+ s.style.top = "0px";
393
+ const Y = Math.max(
394
+ Q,
395
+ P + v.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
396
+ (w ? me : 0) + re
397
+ ) + _;
398
+ s.style.height = Y + "px", v.scrollTop = T - Q + v.offsetTop;
399
+ }
400
+ s.style.margin = `${H}px 0`, s.style.minHeight = fe + "px", s.style.maxHeight = D + "px", l == null || l(), requestAnimationFrame(() => E.current = !0);
401
+ }
402
+ }, [
403
+ N,
404
+ i.trigger,
405
+ i.valueNode,
406
+ s,
407
+ d,
408
+ v,
409
+ x,
410
+ h,
411
+ i.dir,
412
+ l
413
+ ]);
414
+ K(() => g(), [g]);
415
+ const [B, O] = e.useState();
416
+ K(() => {
417
+ d && O(window.getComputedStyle(d).zIndex);
418
+ }, [d]);
419
+ const oe = e.useCallback(
420
+ (R) => {
421
+ R && m.current === !0 && (g(), p == null || p(), m.current = !1);
422
+ },
423
+ [g, p]
424
+ );
425
+ return /* @__PURE__ */ u(
426
+ eo,
427
+ {
428
+ scope: t,
429
+ contentWrapper: s,
430
+ shouldExpandOnScrollRef: E,
431
+ onScrollButtonChange: oe,
432
+ children: /* @__PURE__ */ u(
433
+ "div",
434
+ {
435
+ ref: r,
436
+ style: {
437
+ display: "flex",
438
+ flexDirection: "column",
439
+ position: "fixed",
440
+ zIndex: B
441
+ },
442
+ children: /* @__PURE__ */ u(
443
+ A.div,
444
+ {
445
+ ...a,
446
+ ref: y,
447
+ style: {
448
+ // When we get the height of the content, it includes borders. If we were to set
449
+ // the height without having `boxSizing: 'border-box'` it would be too big.
450
+ boxSizing: "border-box",
451
+ // We need to ensure the content doesn't get taller than the wrapper
452
+ maxHeight: "100%",
453
+ ...a.style
454
+ }
455
+ }
456
+ )
457
+ }
458
+ )
459
+ }
460
+ );
461
+ });
462
+ Ge.displayName = Jt;
463
+ var Qt = "SelectPopperPosition", we = e.forwardRef((o, n) => {
464
+ const {
465
+ __scopeSelect: t,
466
+ align: l = "start",
467
+ collisionPadding: a = H,
468
+ ...i
469
+ } = o, c = ue(t);
470
+ return /* @__PURE__ */ u(
471
+ bt,
472
+ {
473
+ ...c,
474
+ ...i,
475
+ ref: n,
476
+ align: l,
477
+ collisionPadding: a,
478
+ style: {
479
+ // Ensure border-box for floating-ui calculations
480
+ boxSizing: "border-box",
481
+ ...i.style,
482
+ "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
483
+ "--radix-select-content-available-width": "var(--radix-popper-available-width)",
484
+ "--radix-select-content-available-height": "var(--radix-popper-available-height)",
485
+ "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
486
+ "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
487
+ }
488
+ }
489
+ );
490
+ });
491
+ we.displayName = Qt;
492
+ var [eo, Ne] = te(X, {}), Ce = "SelectViewport", $e = e.forwardRef(
493
+ (o, n) => {
494
+ const { __scopeSelect: t, nonce: l, ...a } = o, i = G(Ce, t), c = Ne(Ce, t), s = V(n, i.onViewportChange), r = e.useRef(0);
495
+ return /* @__PURE__ */ ce(Ee, { children: [
496
+ /* @__PURE__ */ u(
497
+ "style",
498
+ {
499
+ dangerouslySetInnerHTML: {
500
+ __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"
501
+ },
502
+ nonce: l
503
+ }
504
+ ),
505
+ /* @__PURE__ */ u(de.Slot, { scope: t, children: /* @__PURE__ */ u(
506
+ A.div,
507
+ {
508
+ "data-radix-select-viewport": "",
509
+ role: "presentation",
510
+ ...a,
511
+ ref: s,
512
+ style: {
513
+ // we use position: 'relative' here on the `viewport` so that when we call
514
+ // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
515
+ // (independent of the scrollUpButton).
516
+ position: "relative",
517
+ flex: 1,
518
+ overflow: "auto",
519
+ ...a.style
520
+ },
521
+ onScroll: b(a.onScroll, (d) => {
522
+ const S = d.currentTarget, { contentWrapper: y, shouldExpandOnScrollRef: N } = c;
523
+ if (N != null && N.current && y) {
524
+ const E = Math.abs(r.current - S.scrollTop);
525
+ if (E > 0) {
526
+ const m = window.innerHeight - H * 2, v = parseFloat(y.style.minHeight), x = parseFloat(y.style.height), h = Math.max(v, x);
527
+ if (h < m) {
528
+ const p = h + E, g = Math.min(m, p), B = p - g;
529
+ y.style.height = g + "px", y.style.bottom === "0px" && (S.scrollTop = B > 0 ? B : 0, y.style.justifyContent = "flex-end");
530
+ }
531
+ }
532
+ }
533
+ r.current = S.scrollTop;
534
+ })
535
+ }
536
+ ) })
537
+ ] });
538
+ }
539
+ );
540
+ $e.displayName = Ce;
541
+ var je = "SelectGroup", [to, oo] = te(je), Ye = e.forwardRef(
542
+ (o, n) => {
543
+ const { __scopeSelect: t, ...l } = o, a = Te();
544
+ return /* @__PURE__ */ u(to, { scope: t, id: a, children: /* @__PURE__ */ u(A.div, { role: "group", "aria-labelledby": a, ...l, ref: n }) });
545
+ }
546
+ );
547
+ Ye.displayName = je;
548
+ var qe = "SelectLabel", Xe = e.forwardRef(
549
+ (o, n) => {
550
+ const { __scopeSelect: t, ...l } = o, a = oo(qe, t);
551
+ return /* @__PURE__ */ u(A.div, { id: a.id, ...l, ref: n });
552
+ }
553
+ );
554
+ Xe.displayName = qe;
555
+ var ie = "SelectItem", [ro, Ze] = te(ie), Je = e.forwardRef(
556
+ (o, n) => {
557
+ const {
558
+ __scopeSelect: t,
559
+ value: l,
560
+ disabled: a = !1,
561
+ textValue: i,
562
+ ...c
563
+ } = o, s = U(ie, t), r = G(ie, t), d = s.value === l, [S, y] = e.useState(i ?? ""), [N, E] = e.useState(!1), m = V(
564
+ n,
565
+ (h) => {
566
+ var p;
567
+ return (p = r.itemRefCallback) == null ? void 0 : p.call(r, h, l, a);
568
+ }
569
+ ), v = Te(), x = () => {
570
+ a || (s.onValueChange(l), s.onOpenChange(!1));
571
+ };
572
+ if (l === "")
573
+ throw new Error(
574
+ "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."
575
+ );
576
+ return /* @__PURE__ */ u(
577
+ ro,
578
+ {
579
+ scope: t,
580
+ value: l,
581
+ disabled: a,
582
+ textId: v,
583
+ isSelected: d,
584
+ onItemTextChange: e.useCallback((h) => {
585
+ y((p) => p || ((h == null ? void 0 : h.textContent) ?? "").trim());
586
+ }, []),
587
+ children: /* @__PURE__ */ u(
588
+ de.ItemSlot,
589
+ {
590
+ scope: t,
591
+ value: l,
592
+ disabled: a,
593
+ textValue: S,
594
+ children: /* @__PURE__ */ u(
595
+ A.div,
596
+ {
597
+ role: "option",
598
+ "aria-labelledby": v,
599
+ "data-highlighted": N ? "" : void 0,
600
+ "aria-selected": d && N,
601
+ "data-state": d ? "checked" : "unchecked",
602
+ "aria-disabled": a || void 0,
603
+ "data-disabled": a ? "" : void 0,
604
+ tabIndex: a ? void 0 : -1,
605
+ ...c,
606
+ ref: m,
607
+ onFocus: b(c.onFocus, () => E(!0)),
608
+ onBlur: b(c.onBlur, () => E(!1)),
609
+ onPointerUp: b(c.onPointerUp, x),
610
+ onPointerMove: b(c.onPointerMove, (h) => {
611
+ var p;
612
+ a ? (p = r.onItemLeave) == null || p.call(r) : h.currentTarget.focus({ preventScroll: !0 });
613
+ }),
614
+ onPointerLeave: b(c.onPointerLeave, (h) => {
615
+ var p;
616
+ h.currentTarget === document.activeElement && ((p = r.onItemLeave) == null || p.call(r));
617
+ }),
618
+ onKeyDown: b(c.onKeyDown, (h) => {
619
+ var g;
620
+ ((g = r.searchRef) == null ? void 0 : g.current) !== "" && h.key === " " || (Ut.includes(h.key) && x(), h.key === " " && h.preventDefault());
621
+ })
622
+ }
623
+ )
624
+ }
625
+ )
626
+ }
627
+ );
628
+ }
629
+ );
630
+ Je.displayName = ie;
631
+ var ne = "SelectItemText", Qe = e.forwardRef(
632
+ (o, n) => {
633
+ const { __scopeSelect: t, className: l, style: a, ...i } = o, c = U(ne, t), s = G(ne, t), r = Ze(ne, t), d = Yt(ne, t), [S, y] = e.useState(null), N = V(
634
+ n,
635
+ (h) => y(h),
636
+ r.onItemTextChange,
637
+ (h) => {
638
+ var p;
639
+ return (p = s.itemTextRefCallback) == null ? void 0 : p.call(s, h, r.value, r.disabled);
640
+ }
641
+ ), E = S == null ? void 0 : S.textContent, m = e.useMemo(
642
+ () => /* @__PURE__ */ u("option", { value: r.value, disabled: r.disabled, children: E }, r.value),
643
+ [r.disabled, r.value, E]
644
+ ), { onNativeOptionAdd: v, onNativeOptionRemove: x } = d;
645
+ return K(() => (v(m), () => x(m)), [v, x, m]), /* @__PURE__ */ ce(Ee, { children: [
646
+ /* @__PURE__ */ u(A.span, { id: r.textId, ...i, ref: N }),
647
+ r.isSelected && c.valueNode && !c.valueNodeHasChildren ? Me.createPortal(i.children, c.valueNode) : null
648
+ ] });
649
+ }
650
+ );
651
+ Qe.displayName = ne;
652
+ var et = "SelectItemIndicator", tt = e.forwardRef(
653
+ (o, n) => {
654
+ const { __scopeSelect: t, ...l } = o;
655
+ return Ze(et, t).isSelected ? /* @__PURE__ */ u(A.span, { "aria-hidden": !0, ...l, ref: n }) : null;
656
+ }
657
+ );
658
+ tt.displayName = et;
659
+ var ye = "SelectScrollUpButton", no = e.forwardRef((o, n) => {
660
+ const t = G(ye, o.__scopeSelect), l = Ne(ye, o.__scopeSelect), [a, i] = e.useState(!1), c = V(n, l.onScrollButtonChange);
661
+ return K(() => {
662
+ if (t.viewport && t.isPositioned) {
663
+ let s = function() {
664
+ const d = r.scrollTop > 0;
665
+ i(d);
666
+ };
667
+ const r = t.viewport;
668
+ return s(), r.addEventListener("scroll", s), () => r.removeEventListener("scroll", s);
669
+ }
670
+ }, [t.viewport, t.isPositioned]), a ? /* @__PURE__ */ u(
671
+ ot,
672
+ {
673
+ ...o,
674
+ ref: c,
675
+ onAutoScroll: () => {
676
+ const { viewport: s, selectedItem: r } = t;
677
+ s && r && (s.scrollTop = s.scrollTop - r.offsetHeight);
678
+ }
679
+ }
680
+ ) : null;
681
+ });
682
+ no.displayName = ye;
683
+ var Ie = "SelectScrollDownButton", so = e.forwardRef((o, n) => {
684
+ const t = G(Ie, o.__scopeSelect), l = Ne(Ie, o.__scopeSelect), [a, i] = e.useState(!1), c = V(n, l.onScrollButtonChange);
685
+ return K(() => {
686
+ if (t.viewport && t.isPositioned) {
687
+ let s = function() {
688
+ const d = r.scrollHeight - r.clientHeight, S = Math.ceil(r.scrollTop) < d;
689
+ i(S);
690
+ };
691
+ const r = t.viewport;
692
+ return s(), r.addEventListener("scroll", s), () => r.removeEventListener("scroll", s);
693
+ }
694
+ }, [t.viewport, t.isPositioned]), a ? /* @__PURE__ */ u(
695
+ ot,
696
+ {
697
+ ...o,
698
+ ref: c,
699
+ onAutoScroll: () => {
700
+ const { viewport: s, selectedItem: r } = t;
701
+ s && r && (s.scrollTop = s.scrollTop + r.offsetHeight);
702
+ }
703
+ }
704
+ ) : null;
705
+ });
706
+ so.displayName = Ie;
707
+ var ot = e.forwardRef((o, n) => {
708
+ const { __scopeSelect: t, onAutoScroll: l, ...a } = o, i = G("SelectScrollButton", t), c = e.useRef(null), s = pe(t), r = e.useCallback(() => {
709
+ c.current !== null && (window.clearInterval(c.current), c.current = null);
710
+ }, []);
711
+ return e.useEffect(() => () => r(), [r]), K(() => {
712
+ var S;
713
+ const d = s().find((y) => y.ref.current === document.activeElement);
714
+ (S = d == null ? void 0 : d.ref.current) == null || S.scrollIntoView({ block: "nearest" });
715
+ }, [s]), /* @__PURE__ */ u(
716
+ A.div,
717
+ {
718
+ "aria-hidden": !0,
719
+ ...a,
720
+ ref: n,
721
+ style: { flexShrink: 0, ...a.style },
722
+ onPointerDown: b(a.onPointerDown, () => {
723
+ c.current === null && (c.current = window.setInterval(l, 50));
724
+ }),
725
+ onPointerMove: b(a.onPointerMove, () => {
726
+ var d;
727
+ (d = i.onItemLeave) == null || d.call(i), c.current === null && (c.current = window.setInterval(l, 50));
728
+ }),
729
+ onPointerLeave: b(a.onPointerLeave, () => {
730
+ r();
731
+ })
732
+ }
733
+ );
734
+ }), ao = "SelectSeparator", rt = e.forwardRef(
735
+ (o, n) => {
736
+ const { __scopeSelect: t, ...l } = o;
737
+ return /* @__PURE__ */ u(A.div, { "aria-hidden": !0, ...l, ref: n });
738
+ }
739
+ );
740
+ rt.displayName = ao;
741
+ var xe = "SelectArrow", lo = e.forwardRef(
742
+ (o, n) => {
743
+ const { __scopeSelect: t, ...l } = o, a = ue(t), i = U(xe, t), c = G(xe, t);
744
+ return i.open && c.position === "popper" ? /* @__PURE__ */ u(Rt, { ...a, ...l, ref: n }) : null;
745
+ }
746
+ );
747
+ lo.displayName = xe;
748
+ function nt(o) {
749
+ return o === "" || o === void 0;
750
+ }
751
+ var st = e.forwardRef(
752
+ (o, n) => {
753
+ const { value: t, ...l } = o, a = e.useRef(null), i = V(n, a), c = Vt(t);
754
+ return e.useEffect(() => {
755
+ const s = a.current, r = window.HTMLSelectElement.prototype, S = Object.getOwnPropertyDescriptor(
756
+ r,
757
+ "value"
758
+ ).set;
759
+ if (c !== t && S) {
760
+ const y = new Event("change", { bubbles: !0 });
761
+ S.call(s, t), s.dispatchEvent(y);
762
+ }
763
+ }, [c, t]), /* @__PURE__ */ u(kt, { asChild: !0, children: /* @__PURE__ */ u("select", { ...l, ref: i, defaultValue: t }) });
764
+ }
765
+ );
766
+ st.displayName = "BubbleSelect";
767
+ function at(o) {
768
+ const n = Lt(o), t = e.useRef(""), l = e.useRef(0), a = e.useCallback(
769
+ (c) => {
770
+ const s = t.current + c;
771
+ n(s), function r(d) {
772
+ t.current = d, window.clearTimeout(l.current), d !== "" && (l.current = window.setTimeout(() => r(""), 1e3));
773
+ }(s);
774
+ },
775
+ [n]
776
+ ), i = e.useCallback(() => {
777
+ t.current = "", window.clearTimeout(l.current);
778
+ }, []);
779
+ return e.useEffect(() => () => window.clearTimeout(l.current), []), [t, a, i];
780
+ }
781
+ function lt(o, n, t) {
782
+ const a = n.length > 1 && Array.from(n).every((d) => d === n[0]) ? n[0] : n, i = t ? o.indexOf(t) : -1;
783
+ let c = co(o, Math.max(i, 0));
784
+ a.length === 1 && (c = c.filter((d) => d !== t));
785
+ const r = c.find(
786
+ (d) => d.textValue.toLowerCase().startsWith(a.toLowerCase())
787
+ );
788
+ return r !== t ? r : void 0;
789
+ }
790
+ function co(o, n) {
791
+ return o.map((t, l) => o[(n + l) % o.length]);
792
+ }
793
+ var io = Le, po = ke, uo = Be, fo = Fe, mo = We, ho = ze, vo = $e, So = Ye, go = Xe, wo = Je, Co = Qe, yo = tt, Io = rt;
794
+ const xo = ["1", "2", "3"], Pe = { size: { type: "enum", className: "rt-r-size", values: xo, default: "2", responsive: !0 } }, To = ["classic", "surface", "soft", "ghost"], Eo = { variant: { type: "enum", className: "rt-variant", values: To, default: "surface" }, ...De, ...zt, placeholder: { type: "string" } }, No = ["solid", "soft"], Po = { variant: { type: "enum", className: "rt-variant", values: No, default: "solid" }, ...De, ...Wt }, be = e.createContext({}), ct = (o) => {
795
+ const { children: n, size: t = Pe.size.default, ...l } = o;
796
+ return e.createElement(io, { ...l }, e.createElement(be.Provider, { value: e.useMemo(() => ({ size: t }), [t]) }, n));
797
+ };
798
+ ct.displayName = "Select.Root";
799
+ const it = e.forwardRef((o, n) => {
800
+ const t = e.useContext(be), { children: l, className: a, color: i, radius: c, placeholder: s, ...r } = Oe({ size: t == null ? void 0 : t.size, ...o }, { size: Pe.size }, Eo, Ht);
801
+ return e.createElement(po, { asChild: !0 }, e.createElement("button", { "data-accent-color": i, "data-radius": c, ...r, ref: n, className: ee("rt-reset", "rt-SelectTrigger", a) }, e.createElement("span", { className: "rt-SelectTriggerInner" }, e.createElement(uo, { placeholder: s }, l)), e.createElement(fo, { asChild: !0 }, e.createElement(Bt, { className: "rt-SelectIcon" }))));
802
+ });
803
+ it.displayName = "Select.Trigger";
804
+ const dt = e.forwardRef((o, n) => {
805
+ const t = e.useContext(be), { className: l, children: a, color: i, container: c, ...s } = Oe({ size: t == null ? void 0 : t.size, ...o }, { size: Pe.size }, Po), r = At(), d = i || r.accentColor;
806
+ return e.createElement(mo, { container: c }, e.createElement(Ot, { asChild: !0 }, e.createElement(ho, { "data-accent-color": d, sideOffset: 4, ...s, asChild: !1, ref: n, className: ee({ "rt-PopperContent": s.position === "popper" }, "rt-SelectContent", l) }, e.createElement(ht, { type: "auto", className: "rt-ScrollAreaRoot" }, e.createElement(vo, { asChild: !0, className: "rt-SelectViewport" }, e.createElement(vt, { className: "rt-ScrollAreaViewport", style: { overflowY: void 0 } }, a)), e.createElement(St, { className: "rt-ScrollAreaScrollbar rt-r-size-1", orientation: "vertical" }, e.createElement(gt, { className: "rt-ScrollAreaThumb" }))))));
807
+ });
808
+ dt.displayName = "Select.Content";
809
+ const pt = e.forwardRef((o, n) => {
810
+ const { className: t, children: l, ...a } = o;
811
+ return e.createElement(wo, { ...a, asChild: !1, ref: n, className: ee("rt-SelectItem", t) }, e.createElement(yo, { className: "rt-SelectItemIndicator" }, e.createElement(Ft, { className: "rt-SelectItemIndicatorIcon" })), e.createElement(Co, null, l));
812
+ });
813
+ pt.displayName = "Select.Item";
814
+ const ut = e.forwardRef(({ className: o, ...n }, t) => e.createElement(So, { ...n, asChild: !1, ref: t, className: ee("rt-SelectGroup", o) }));
815
+ ut.displayName = "Select.Group";
816
+ const ft = e.forwardRef(({ className: o, ...n }, t) => e.createElement(go, { ...n, asChild: !1, ref: t, className: ee("rt-SelectLabel", o) }));
817
+ ft.displayName = "Select.Label";
818
+ const mt = e.forwardRef(({ className: o, ...n }, t) => e.createElement(Io, { ...n, asChild: !1, ref: t, className: ee("rt-SelectSeparator", o) }));
819
+ mt.displayName = "Select.Separator";
820
+ const er = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
821
+ __proto__: null,
822
+ Content: dt,
823
+ Group: ut,
824
+ Item: pt,
825
+ Label: ft,
826
+ Root: ct,
827
+ Separator: mt,
828
+ Trigger: it
829
+ }, Symbol.toStringTag, { value: "Module" }));
830
+ export {
831
+ er as s
832
+ };