@boxcustodia/library 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/dist/index.d.ts +6 -1
  2. package/dist/index.es10.js +1 -1
  3. package/dist/index.es100.js +4 -1062
  4. package/dist/index.es101.js +4 -3674
  5. package/dist/index.es102.js +4 -4
  6. package/dist/index.es103.js +14 -4
  7. package/dist/index.es104.js +5 -29
  8. package/dist/index.es105.js +56 -3
  9. package/dist/index.es106.js +29 -14
  10. package/dist/index.es107.js +21 -5
  11. package/dist/index.es108.js +12 -57
  12. package/dist/index.es109.js +4 -4
  13. package/dist/index.es110.js +12 -224
  14. package/dist/index.es111.js +259 -11
  15. package/dist/index.es112.js +5 -4
  16. package/dist/index.es113.js +11 -41
  17. package/dist/index.es114.js +222 -19
  18. package/dist/index.es115.js +4 -5
  19. package/dist/index.es116.js +41 -12
  20. package/dist/index.es117.js +15 -15
  21. package/dist/index.es118.js +813 -55
  22. package/dist/index.es119.js +9 -822
  23. package/dist/index.es120.js +5 -3
  24. package/dist/index.es121.js +64 -11
  25. package/dist/index.es123.js +11 -4
  26. package/dist/index.es124.js +4 -33
  27. package/dist/index.es125.js +33 -13
  28. package/dist/index.es126.js +5 -3
  29. package/dist/index.es128.js +215 -7
  30. package/dist/index.es129.js +7 -215
  31. package/dist/index.es13.js +1 -1
  32. package/dist/index.es131.js +1 -1
  33. package/dist/index.es132.js +1 -1
  34. package/dist/index.es134.js +1 -1
  35. package/dist/index.es137.js +20 -10
  36. package/dist/index.es138.js +33 -17
  37. package/dist/index.es139.js +7 -33
  38. package/dist/index.es14.js +1 -1
  39. package/dist/index.es140.js +11 -10
  40. package/dist/index.es141.js +205 -12
  41. package/dist/index.es142.js +11 -205
  42. package/dist/index.es143.js +5 -6
  43. package/dist/index.es144.js +2 -65
  44. package/dist/index.es145.js +44 -11
  45. package/dist/index.es146.js +5 -123
  46. package/dist/index.es147.js +58 -128
  47. package/dist/index.es148.js +11 -14
  48. package/dist/index.es149.js +122 -30
  49. package/dist/index.es15.js +1 -1
  50. package/dist/index.es150.js +134 -14
  51. package/dist/index.es151.js +12 -7
  52. package/dist/index.es152.js +32 -49
  53. package/dist/index.es153.js +14 -5
  54. package/dist/index.es154.js +9 -2
  55. package/dist/index.es155.js +46 -40
  56. package/dist/index.es156.js +193 -625
  57. package/dist/index.es157.js +625 -193
  58. package/dist/index.es160.js +3 -3
  59. package/dist/index.es163.js +1 -1
  60. package/dist/index.es164.js +6 -118
  61. package/dist/index.es165.js +3 -35
  62. package/dist/index.es166.js +2054 -2
  63. package/dist/index.es167.js +118 -2
  64. package/dist/index.es168.js +32 -20
  65. package/dist/index.es169.js +2 -9
  66. package/dist/index.es170.js +2 -38
  67. package/dist/index.es171.js +14 -11
  68. package/dist/index.es172.js +9 -6
  69. package/dist/index.es173.js +40 -3
  70. package/dist/index.es174.js +17 -2053
  71. package/dist/index.es179.js +1 -1
  72. package/dist/index.es180.js +1 -1
  73. package/dist/index.es181.js +2 -2
  74. package/dist/index.es182.js +1 -1
  75. package/dist/index.es184.js +1 -1
  76. package/dist/index.es186.js +3 -3
  77. package/dist/index.es188.js +7 -11
  78. package/dist/index.es189.js +5 -7
  79. package/dist/index.es190.js +4 -5
  80. package/dist/index.es191.js +17 -4
  81. package/dist/index.es192.js +5 -17
  82. package/dist/index.es193.js +5 -5
  83. package/dist/index.es194.js +8 -5
  84. package/dist/index.es195.js +6 -9
  85. package/dist/index.es196.js +7 -6
  86. package/dist/index.es197.js +15 -6
  87. package/dist/index.es198.js +13 -15
  88. package/dist/index.es199.js +12 -12
  89. package/dist/index.es200.js +6 -13
  90. package/dist/index.es201.js +6 -6
  91. package/dist/index.es202.js +6 -6
  92. package/dist/index.es203.js +4 -6
  93. package/dist/index.es204.js +515 -4
  94. package/dist/index.es205.js +48 -514
  95. package/dist/index.es206.js +18 -50
  96. package/dist/index.es207.js +9 -17
  97. package/dist/index.es208.js +19 -10
  98. package/dist/index.es209.js +8 -18
  99. package/dist/index.es210.js +7 -8
  100. package/dist/index.es211.js +7 -7
  101. package/dist/index.es212.js +5 -7
  102. package/dist/index.es213.js +6 -5
  103. package/dist/index.es214.js +9 -6
  104. package/dist/index.es215.js +5 -9
  105. package/dist/index.es216.js +8 -5
  106. package/dist/index.es217.js +12 -8
  107. package/dist/index.es218.js +9 -12
  108. package/dist/index.es219.js +8 -9
  109. package/dist/index.es220.js +10 -8
  110. package/dist/index.es221.js +14 -10
  111. package/dist/index.es222.js +6 -14
  112. package/dist/index.es223.js +6 -6
  113. package/dist/index.es224.js +6 -6
  114. package/dist/index.es225.js +6 -6
  115. package/dist/index.es226.js +6 -6
  116. package/dist/index.es227.js +9 -6
  117. package/dist/index.es228.js +84 -9
  118. package/dist/index.es229.js +65 -85
  119. package/dist/index.es230.js +38 -65
  120. package/dist/index.es231.js +9 -37
  121. package/dist/index.es232.js +8 -9
  122. package/dist/index.es233.js +6 -7
  123. package/dist/index.es234.js +10 -7
  124. package/dist/index.es235.js +7 -10
  125. package/dist/index.es236.js +7 -7
  126. package/dist/index.es237.js +6 -7
  127. package/dist/index.es238.js +5 -6
  128. package/dist/index.es239.js +15 -5
  129. package/dist/index.es240.js +11 -15
  130. package/dist/index.es241.js +1 -1
  131. package/dist/index.es242.js +5 -5
  132. package/dist/index.es243.js +5 -5
  133. package/dist/index.es245.js +195 -172
  134. package/dist/index.es246.js +20 -199
  135. package/dist/index.es247.js +25 -22
  136. package/dist/index.es248.js +369 -23
  137. package/dist/index.es249.js +171 -364
  138. package/dist/index.es27.js +1 -1
  139. package/dist/index.es273.js +2 -16
  140. package/dist/index.es274.js +398 -8
  141. package/dist/index.es275.js +723 -2
  142. package/dist/index.es276.js +276 -391
  143. package/dist/index.es277.js +60 -722
  144. package/dist/index.es278.js +8 -281
  145. package/dist/index.es279.js +28 -60
  146. package/dist/index.es28.js +3 -3
  147. package/dist/index.es280.js +199 -10
  148. package/dist/index.es281.js +15 -29
  149. package/dist/index.es282.js +3 -199
  150. package/dist/index.es283.js +16 -4
  151. package/dist/index.es284.js +8 -14
  152. package/dist/index.es285.js +4 -15
  153. package/dist/index.es286.js +13 -24
  154. package/dist/index.es287.js +15 -29
  155. package/dist/index.es288.js +5 -5
  156. package/dist/index.es289.js +56 -14
  157. package/dist/index.es29.js +6 -6
  158. package/dist/index.es290.js +28 -3
  159. package/dist/index.es291.js +46 -4
  160. package/dist/index.es292.js +64 -54
  161. package/dist/index.es293.js +32 -22
  162. package/dist/index.es294.js +13 -41
  163. package/dist/index.es295.js +48 -47
  164. package/dist/index.es296.js +50 -20
  165. package/dist/index.es297.js +63 -13
  166. package/dist/index.es298.js +43 -42
  167. package/dist/index.es299.js +26 -48
  168. package/dist/index.es300.js +26 -48
  169. package/dist/index.es301.js +37 -47
  170. package/dist/index.es302.js +25 -22
  171. package/dist/index.es303.js +34 -38
  172. package/dist/index.es304.js +53 -40
  173. package/dist/index.es305.js +50 -27
  174. package/dist/index.es306.js +88 -34
  175. package/dist/index.es307.js +32 -57
  176. package/dist/index.es308.js +35 -60
  177. package/dist/index.es309.js +38 -88
  178. package/dist/index.es31.js +2 -2
  179. package/dist/index.es310.js +23 -39
  180. package/dist/index.es311.js +22 -39
  181. package/dist/index.es312.js +22 -39
  182. package/dist/index.es313.js +19 -19
  183. package/dist/index.es314.js +18 -18
  184. package/dist/index.es315.js +18 -18
  185. package/dist/index.es316.js +14 -25
  186. package/dist/index.es317.js +38 -22
  187. package/dist/index.es318.js +38 -22
  188. package/dist/index.es319.js +14 -14
  189. package/dist/index.es32.js +2 -2
  190. package/dist/index.es320.js +14 -40
  191. package/dist/index.es321.js +23 -44
  192. package/dist/index.es322.js +29 -20
  193. package/dist/index.es323.js +5 -20
  194. package/dist/index.es325.js +1 -1
  195. package/dist/index.es326.js +5 -5
  196. package/dist/index.es327.js +1 -1
  197. package/dist/index.es34.js +6 -6
  198. package/dist/index.es342.js +2 -2
  199. package/dist/index.es344.js +2 -2
  200. package/dist/index.es347.js +1 -1
  201. package/dist/index.es348.js +1 -1
  202. package/dist/index.es35.js +2 -2
  203. package/dist/index.es350.js +3 -3
  204. package/dist/index.es38.js +51 -46
  205. package/dist/index.es381.js +29 -2
  206. package/dist/index.es382.js +5 -54
  207. package/dist/index.es383.js +2 -59
  208. package/dist/index.es384.js +54 -29
  209. package/dist/index.es385.js +59 -5
  210. package/dist/index.es386.js +68 -5
  211. package/dist/index.es387.js +31 -3
  212. package/dist/index.es388.js +9 -24
  213. package/dist/index.es389.js +152 -109
  214. package/dist/index.es39.js +2 -2
  215. package/dist/index.es390.js +107 -15
  216. package/dist/index.es391.js +19 -67
  217. package/dist/index.es392.js +101 -31
  218. package/dist/index.es393.js +47 -9
  219. package/dist/index.es394.js +62 -147
  220. package/dist/index.es395.js +26 -103
  221. package/dist/index.es396.js +16 -20
  222. package/dist/index.es397.js +139 -99
  223. package/dist/index.es398.js +113 -46
  224. package/dist/index.es399.js +5 -6
  225. package/dist/index.es40.js +3 -3
  226. package/dist/index.es400.js +3 -2
  227. package/dist/index.es401.js +23 -7
  228. package/dist/index.es402.js +108 -325
  229. package/dist/index.es403.js +15 -49
  230. package/dist/index.es404.js +518 -3
  231. package/dist/index.es405.js +126 -67
  232. package/dist/index.es406.js +126 -31
  233. package/dist/index.es407.js +6 -16
  234. package/dist/index.es408.js +2 -141
  235. package/dist/index.es409.js +8 -114
  236. package/dist/index.es41.js +1 -1
  237. package/dist/index.es410.js +305 -497
  238. package/dist/index.es411.js +48 -125
  239. package/dist/index.es412.js +3 -125
  240. package/dist/index.es419.js +6 -6
  241. package/dist/index.es42.js +1 -1
  242. package/dist/index.es437.js +25 -2
  243. package/dist/index.es438.js +11 -2
  244. package/dist/index.es439.js +32 -24
  245. package/dist/index.es44.js +1 -1
  246. package/dist/index.es440.js +29 -10
  247. package/dist/index.es441.js +10 -31
  248. package/dist/index.es442.js +272 -27
  249. package/dist/index.es443.js +79 -11
  250. package/dist/index.es444.js +157 -266
  251. package/dist/index.es445.js +2 -80
  252. package/dist/index.es446.js +2 -166
  253. package/dist/index.es447.js +1 -1
  254. package/dist/index.es448.js +3 -3
  255. package/dist/index.es449.js +5 -63
  256. package/dist/index.es45.js +4 -4
  257. package/dist/index.es450.js +16 -69
  258. package/dist/index.es451.js +28 -8
  259. package/dist/index.es452.js +13 -14
  260. package/dist/index.es453.js +2 -60
  261. package/dist/index.es454.js +75 -6
  262. package/dist/index.es455.js +92 -15
  263. package/dist/index.es456.js +51 -28
  264. package/dist/index.es457.js +7 -12
  265. package/dist/index.es458.js +5 -2
  266. package/dist/index.es459.js +48 -72
  267. package/dist/index.es46.js +1 -1
  268. package/dist/index.es460.js +61 -89
  269. package/dist/index.es461.js +67 -50
  270. package/dist/index.es462.js +9 -8
  271. package/dist/index.es463.js +14 -5
  272. package/dist/index.es464.js +59 -51
  273. package/dist/index.es467.js +1 -1
  274. package/dist/index.es468.js +2 -2
  275. package/dist/index.es469.js +2 -2
  276. package/dist/index.es47.js +4 -4
  277. package/dist/index.es476.js +1 -1
  278. package/dist/index.es477.js +1 -1
  279. package/dist/index.es50.js +2 -2
  280. package/dist/index.es51.js +1 -1
  281. package/dist/index.es52.js +4 -4
  282. package/dist/index.es55.js +1 -1
  283. package/dist/index.es56.js +1 -1
  284. package/dist/index.es57.js +3 -3
  285. package/dist/index.es59.js +2 -2
  286. package/dist/index.es61.js +1 -1
  287. package/dist/index.es62.js +1 -1
  288. package/dist/index.es63.js +2 -2
  289. package/dist/index.es64.js +1 -1
  290. package/dist/index.es65.js +3 -3
  291. package/dist/index.es66.js +2 -2
  292. package/dist/index.es67.js +2 -2
  293. package/dist/index.es69.js +1 -1
  294. package/dist/index.es7.js +1 -1
  295. package/dist/index.es754.js +7 -7
  296. package/dist/index.es759.js +2 -4
  297. package/dist/index.es760.js +2 -23
  298. package/dist/index.es761.js +4 -2
  299. package/dist/index.es762.js +23 -2
  300. package/dist/index.es763.js +24 -5
  301. package/dist/index.es764.js +8 -17
  302. package/dist/index.es765.js +66 -7
  303. package/dist/index.es766.js +50 -54
  304. package/dist/index.es767.js +69 -17
  305. package/dist/index.es768.js +2 -24
  306. package/dist/index.es769.js +2 -8
  307. package/dist/index.es770.js +5 -67
  308. package/dist/index.es771.js +16 -51
  309. package/dist/index.es772.js +7 -70
  310. package/dist/index.es773.js +56 -2
  311. package/dist/index.es774.js +19 -2
  312. package/dist/index.es779.js +6 -21
  313. package/dist/index.es78.js +1 -1
  314. package/dist/index.es780.js +20 -56
  315. package/dist/index.es781.js +49 -26
  316. package/dist/index.es782.js +34 -9
  317. package/dist/index.es783.js +9 -18
  318. package/dist/index.es784.js +18 -8
  319. package/dist/index.es785.js +8 -12
  320. package/dist/index.es786.js +11 -56
  321. package/dist/index.es787.js +57 -9
  322. package/dist/index.es788.js +9 -14
  323. package/dist/index.es789.js +14 -6
  324. package/dist/index.es79.js +1 -1
  325. package/dist/index.es790.js +7 -28
  326. package/dist/index.es791.js +28 -3
  327. package/dist/index.es792.js +3 -7
  328. package/dist/index.es797.js +1 -1
  329. package/dist/index.es798.js +1 -1
  330. package/dist/index.es799.js +1 -1
  331. package/dist/index.es800.js +1 -1
  332. package/dist/index.es801.js +1 -1
  333. package/dist/index.es802.js +1 -1
  334. package/dist/index.es804.js +1 -1
  335. package/dist/index.es806.js +10 -8
  336. package/dist/index.es807.js +7 -9
  337. package/dist/index.es808.js +2 -2
  338. package/dist/index.es809.js +8 -10
  339. package/dist/index.es810.js +9 -7
  340. package/dist/index.es823.js +1 -1
  341. package/dist/index.es825.js +38 -25
  342. package/dist/index.es826.js +25 -38
  343. package/dist/index.es827.js +1 -1
  344. package/dist/index.es829.js +1 -1
  345. package/dist/index.es830.js +1 -1
  346. package/dist/index.es831.js +1 -1
  347. package/dist/index.es84.js +1 -1
  348. package/dist/index.es86.js +54 -29
  349. package/dist/index.es87.js +55 -12
  350. package/dist/index.es88.js +90 -55
  351. package/dist/index.es89.js +37 -55
  352. package/dist/index.es90.js +22 -88
  353. package/dist/index.es91.js +29 -36
  354. package/dist/index.es92.js +32 -23
  355. package/dist/index.es93.js +46 -30
  356. package/dist/index.es94.js +29 -32
  357. package/dist/index.es95.js +26 -42
  358. package/dist/index.es96.js +9 -30
  359. package/dist/index.es97.js +12 -259
  360. package/dist/index.es98.js +1062 -12
  361. package/dist/index.es99.js +3672 -7
  362. package/package.json +2 -2
@@ -1,66 +1,824 @@
1
- import * as a from "react";
2
- import * as g from "react-dom";
3
- import { useComposedRefs as O } from "./index.es141.js";
4
- import { useLayoutEffect as l } from "./index.es158.js";
5
- function E(e, n) {
6
- return a.useReducer((o, r) => n[o][r] ?? o, e);
7
- }
8
- var M = (e) => {
9
- const { present: n, children: o } = e, r = R(n), i = typeof o == "function" ? o({ present: r.isPresent }) : a.Children.only(o), c = O(r.ref, T(i));
10
- return typeof o == "function" || r.isPresent ? a.cloneElement(i, { ref: c }) : null;
1
+ import * as t from "react";
2
+ import * as Ee from "react-dom";
3
+ import { clamp as Te } from "./index.es159.js";
4
+ import { composeEventHandlers as b } from "./index.es146.js";
5
+ import { createCollection as ot } from "./index.es160.js";
6
+ import { useComposedRefs as L } from "./index.es140.js";
7
+ import { createContextScope as nt } from "./index.es147.js";
8
+ import { useDirection as rt } from "./index.es161.js";
9
+ import { DismissableLayer as st } from "./index.es149.js";
10
+ import { useFocusGuards as lt } from "./index.es153.js";
11
+ import { FocusScope as ct } from "./index.es150.js";
12
+ import { useId as ye } from "./index.es148.js";
13
+ import { createPopperScope as Re, Anchor as it, Content as at, Arrow as dt, Root as ut } from "./index.es156.js";
14
+ import { Portal as pt } from "./index.es151.js";
15
+ import { Primitive as A } from "./index.es152.js";
16
+ import { Slot as ft } from "./index.es93.js";
17
+ import { useCallbackRef as mt } from "./index.es142.js";
18
+ import { useControllableState as Pe } from "./index.es95.js";
19
+ import { useLayoutEffect as U } from "./index.es158.js";
20
+ import { usePrevious as ht } from "./index.es162.js";
21
+ import { VisuallyHidden as vt } from "./index.es163.js";
22
+ import { hideOthers as gt } from "./index.es155.js";
23
+ import St from "./index.es154.js";
24
+ import { j as a } from "./index.es82.js";
25
+ var xt = [" ", "Enter", "ArrowUp", "ArrowDown"], wt = [" ", "Enter"], re = "Select", [ie, ae, Ct] = ot(re), [ee, lo] = nt(re, [
26
+ Ct,
27
+ Re
28
+ ]), de = Re(), [yt, K] = ee(re), [It, Tt] = ee(re), be = (n) => {
29
+ const {
30
+ __scopeSelect: i,
31
+ children: e,
32
+ open: c,
33
+ defaultOpen: l,
34
+ onOpenChange: d,
35
+ value: s,
36
+ defaultValue: r,
37
+ onValueChange: o,
38
+ dir: u,
39
+ name: g,
40
+ autoComplete: C,
41
+ disabled: E,
42
+ required: P
43
+ } = n, m = de(i), [v, I] = t.useState(null), [h, p] = t.useState(null), [S, B] = t.useState(!1), O = rt(u), [te = !1, _] = Pe({
44
+ prop: c,
45
+ defaultProp: l,
46
+ onChange: d
47
+ }), [M, z] = Pe({
48
+ prop: s,
49
+ defaultProp: r,
50
+ onChange: o
51
+ }), $ = t.useRef(null), Y = v ? !!v.closest("form") : !0, [D, H] = t.useState(/* @__PURE__ */ new Set()), F = Array.from(D).map((R) => R.props.value).join(";");
52
+ return /* @__PURE__ */ a.jsx(ut, { ...m, children: /* @__PURE__ */ a.jsxs(
53
+ yt,
54
+ {
55
+ required: P,
56
+ scope: i,
57
+ trigger: v,
58
+ onTriggerChange: I,
59
+ valueNode: h,
60
+ onValueNodeChange: p,
61
+ valueNodeHasChildren: S,
62
+ onValueNodeHasChildrenChange: B,
63
+ contentId: ye(),
64
+ value: M,
65
+ onValueChange: z,
66
+ open: te,
67
+ onOpenChange: _,
68
+ dir: O,
69
+ triggerPointerDownPosRef: $,
70
+ disabled: E,
71
+ children: [
72
+ /* @__PURE__ */ a.jsx(ie.Provider, { scope: i, children: /* @__PURE__ */ a.jsx(
73
+ It,
74
+ {
75
+ scope: n.__scopeSelect,
76
+ onNativeOptionAdd: t.useCallback((R) => {
77
+ H((j) => new Set(j).add(R));
78
+ }, []),
79
+ onNativeOptionRemove: t.useCallback((R) => {
80
+ H((j) => {
81
+ const k = new Set(j);
82
+ return k.delete(R), k;
83
+ });
84
+ }, []),
85
+ children: e
86
+ }
87
+ ) }),
88
+ Y ? /* @__PURE__ */ a.jsxs(
89
+ Qe,
90
+ {
91
+ "aria-hidden": !0,
92
+ required: P,
93
+ tabIndex: -1,
94
+ name: g,
95
+ autoComplete: C,
96
+ value: M,
97
+ onChange: (R) => z(R.target.value),
98
+ disabled: E,
99
+ children: [
100
+ M === void 0 ? /* @__PURE__ */ a.jsx("option", { value: "" }) : null,
101
+ Array.from(D)
102
+ ]
103
+ },
104
+ F
105
+ ) : null
106
+ ]
107
+ }
108
+ ) });
11
109
  };
12
- M.displayName = "Presence";
13
- function R(e) {
14
- const [n, o] = a.useState(), r = a.useRef({}), i = a.useRef(e), c = a.useRef("none"), p = e ? "mounted" : "unmounted", [N, s] = E(p, {
15
- mounted: {
16
- UNMOUNT: "unmounted",
17
- ANIMATION_OUT: "unmountSuspended"
18
- },
19
- unmountSuspended: {
20
- MOUNT: "mounted",
21
- ANIMATION_END: "unmounted"
110
+ be.displayName = re;
111
+ var _e = "SelectTrigger", Ne = t.forwardRef(
112
+ (n, i) => {
113
+ const { __scopeSelect: e, disabled: c = !1, ...l } = n, d = de(e), s = K(_e, e), r = s.disabled || c, o = L(i, s.onTriggerChange), u = ae(e), [g, C, E] = et((m) => {
114
+ const v = u().filter((p) => !p.disabled), I = v.find((p) => p.value === s.value), h = tt(v, m, I);
115
+ h !== void 0 && s.onValueChange(h.value);
116
+ }), P = () => {
117
+ r || (s.onOpenChange(!0), E());
118
+ };
119
+ return /* @__PURE__ */ a.jsx(it, { asChild: !0, ...d, children: /* @__PURE__ */ a.jsx(
120
+ A.button,
121
+ {
122
+ type: "button",
123
+ role: "combobox",
124
+ "aria-controls": s.contentId,
125
+ "aria-expanded": s.open,
126
+ "aria-required": s.required,
127
+ "aria-autocomplete": "none",
128
+ dir: s.dir,
129
+ "data-state": s.open ? "open" : "closed",
130
+ disabled: r,
131
+ "data-disabled": r ? "" : void 0,
132
+ "data-placeholder": Je(s.value) ? "" : void 0,
133
+ ...l,
134
+ ref: o,
135
+ onClick: b(l.onClick, (m) => {
136
+ m.currentTarget.focus();
137
+ }),
138
+ onPointerDown: b(l.onPointerDown, (m) => {
139
+ const v = m.target;
140
+ v.hasPointerCapture(m.pointerId) && v.releasePointerCapture(m.pointerId), m.button === 0 && m.ctrlKey === !1 && (P(), s.triggerPointerDownPosRef.current = {
141
+ x: Math.round(m.pageX),
142
+ y: Math.round(m.pageY)
143
+ }, m.preventDefault());
144
+ }),
145
+ onKeyDown: b(l.onKeyDown, (m) => {
146
+ const v = g.current !== "";
147
+ !(m.ctrlKey || m.altKey || m.metaKey) && m.key.length === 1 && C(m.key), !(v && m.key === " ") && xt.includes(m.key) && (P(), m.preventDefault());
148
+ })
149
+ }
150
+ ) });
151
+ }
152
+ );
153
+ Ne.displayName = _e;
154
+ var Me = "SelectValue", Ae = t.forwardRef(
155
+ (n, i) => {
156
+ const { __scopeSelect: e, className: c, style: l, children: d, placeholder: s = "", ...r } = n, o = K(Me, e), { onValueNodeHasChildrenChange: u } = o, g = d !== void 0, C = L(i, o.onValueNodeChange);
157
+ return U(() => {
158
+ u(g);
159
+ }, [u, g]), /* @__PURE__ */ a.jsx(
160
+ A.span,
161
+ {
162
+ ...r,
163
+ ref: C,
164
+ style: { pointerEvents: "none" },
165
+ children: Je(o.value) ? /* @__PURE__ */ a.jsx(a.Fragment, { children: s }) : d
166
+ }
167
+ );
168
+ }
169
+ );
170
+ Ae.displayName = Me;
171
+ var Pt = "SelectIcon", Oe = t.forwardRef(
172
+ (n, i) => {
173
+ const { __scopeSelect: e, children: c, ...l } = n;
174
+ return /* @__PURE__ */ a.jsx(A.span, { "aria-hidden": !0, ...l, ref: i, children: c || "▼" });
175
+ }
176
+ );
177
+ Oe.displayName = Pt;
178
+ var Et = "SelectPortal", De = (n) => /* @__PURE__ */ a.jsx(pt, { asChild: !0, ...n });
179
+ De.displayName = Et;
180
+ var Z = "SelectContent", je = t.forwardRef(
181
+ (n, i) => {
182
+ const e = K(Z, n.__scopeSelect), [c, l] = t.useState();
183
+ if (U(() => {
184
+ l(new DocumentFragment());
185
+ }, []), !e.open) {
186
+ const d = c;
187
+ return d ? Ee.createPortal(
188
+ /* @__PURE__ */ a.jsx(Le, { scope: n.__scopeSelect, children: /* @__PURE__ */ a.jsx(ie.Slot, { scope: n.__scopeSelect, children: /* @__PURE__ */ a.jsx("div", { children: n.children }) }) }),
189
+ d
190
+ ) : null;
191
+ }
192
+ return /* @__PURE__ */ a.jsx(ke, { ...n, ref: i });
193
+ }
194
+ );
195
+ je.displayName = Z;
196
+ var V = 10, [Le, G] = ee(Z), Rt = "SelectContentImpl", ke = t.forwardRef(
197
+ (n, i) => {
198
+ const {
199
+ __scopeSelect: e,
200
+ position: c = "item-aligned",
201
+ onCloseAutoFocus: l,
202
+ onEscapeKeyDown: d,
203
+ onPointerDownOutside: s,
204
+ //
205
+ // PopperContent props
206
+ side: r,
207
+ sideOffset: o,
208
+ align: u,
209
+ alignOffset: g,
210
+ arrowPadding: C,
211
+ collisionBoundary: E,
212
+ collisionPadding: P,
213
+ sticky: m,
214
+ hideWhenDetached: v,
215
+ avoidCollisions: I,
216
+ //
217
+ ...h
218
+ } = n, p = K(Z, e), [S, B] = t.useState(null), [O, te] = t.useState(null), _ = L(i, (f) => B(f)), [M, z] = t.useState(null), [$, Y] = t.useState(
219
+ null
220
+ ), D = ae(e), [H, F] = t.useState(!1), R = t.useRef(!1);
221
+ t.useEffect(() => {
222
+ if (S) return gt(S);
223
+ }, [S]), lt();
224
+ const j = t.useCallback(
225
+ (f) => {
226
+ const [T, ...N] = D().map((w) => w.ref.current), [y] = N.slice(-1), x = document.activeElement;
227
+ for (const w of f)
228
+ if (w === x || (w == null || w.scrollIntoView({ block: "nearest" }), w === T && O && (O.scrollTop = 0), w === y && O && (O.scrollTop = O.scrollHeight), w == null || w.focus(), document.activeElement !== x)) return;
229
+ },
230
+ [D, O]
231
+ ), k = t.useCallback(
232
+ () => j([M, S]),
233
+ [j, M, S]
234
+ );
235
+ t.useEffect(() => {
236
+ H && k();
237
+ }, [H, k]);
238
+ const { onOpenChange: J, triggerPointerDownPosRef: W } = p;
239
+ t.useEffect(() => {
240
+ if (S) {
241
+ let f = { x: 0, y: 0 };
242
+ const T = (y) => {
243
+ var x, w;
244
+ f = {
245
+ x: Math.abs(Math.round(y.pageX) - (((x = W.current) == null ? void 0 : x.x) ?? 0)),
246
+ y: Math.abs(Math.round(y.pageY) - (((w = W.current) == null ? void 0 : w.y) ?? 0))
247
+ };
248
+ }, N = (y) => {
249
+ f.x <= 10 && f.y <= 10 ? y.preventDefault() : S.contains(y.target) || J(!1), document.removeEventListener("pointermove", T), W.current = null;
250
+ };
251
+ return W.current !== null && (document.addEventListener("pointermove", T), document.addEventListener("pointerup", N, { capture: !0, once: !0 })), () => {
252
+ document.removeEventListener("pointermove", T), document.removeEventListener("pointerup", N, { capture: !0 });
253
+ };
254
+ }
255
+ }, [S, J, W]), t.useEffect(() => {
256
+ const f = () => J(!1);
257
+ return window.addEventListener("blur", f), window.addEventListener("resize", f), () => {
258
+ window.removeEventListener("blur", f), window.removeEventListener("resize", f);
259
+ };
260
+ }, [J]);
261
+ const [ue, se] = et((f) => {
262
+ const T = D().filter((x) => !x.disabled), N = T.find((x) => x.ref.current === document.activeElement), y = tt(T, f, N);
263
+ y && setTimeout(() => y.ref.current.focus());
264
+ }), pe = t.useCallback(
265
+ (f, T, N) => {
266
+ const y = !R.current && !N;
267
+ (p.value !== void 0 && p.value === T || y) && (z(f), y && (R.current = !0));
268
+ },
269
+ [p.value]
270
+ ), fe = t.useCallback(() => S == null ? void 0 : S.focus(), [S]), Q = t.useCallback(
271
+ (f, T, N) => {
272
+ const y = !R.current && !N;
273
+ (p.value !== void 0 && p.value === T || y) && Y(f);
274
+ },
275
+ [p.value]
276
+ ), le = c === "popper" ? ge : Ve, oe = le === ge ? {
277
+ side: r,
278
+ sideOffset: o,
279
+ align: u,
280
+ alignOffset: g,
281
+ arrowPadding: C,
282
+ collisionBoundary: E,
283
+ collisionPadding: P,
284
+ sticky: m,
285
+ hideWhenDetached: v,
286
+ avoidCollisions: I
287
+ } : {};
288
+ return /* @__PURE__ */ a.jsx(
289
+ Le,
290
+ {
291
+ scope: e,
292
+ content: S,
293
+ viewport: O,
294
+ onViewportChange: te,
295
+ itemRefCallback: pe,
296
+ selectedItem: M,
297
+ onItemLeave: fe,
298
+ itemTextRefCallback: Q,
299
+ focusSelectedItem: k,
300
+ selectedItemText: $,
301
+ position: c,
302
+ isPositioned: H,
303
+ searchRef: ue,
304
+ children: /* @__PURE__ */ a.jsx(St, { as: ft, allowPinchZoom: !0, children: /* @__PURE__ */ a.jsx(
305
+ ct,
306
+ {
307
+ asChild: !0,
308
+ trapped: p.open,
309
+ onMountAutoFocus: (f) => {
310
+ f.preventDefault();
311
+ },
312
+ onUnmountAutoFocus: b(l, (f) => {
313
+ var T;
314
+ (T = p.trigger) == null || T.focus({ preventScroll: !0 }), f.preventDefault();
315
+ }),
316
+ children: /* @__PURE__ */ a.jsx(
317
+ st,
318
+ {
319
+ asChild: !0,
320
+ disableOutsidePointerEvents: !0,
321
+ onEscapeKeyDown: d,
322
+ onPointerDownOutside: s,
323
+ onFocusOutside: (f) => f.preventDefault(),
324
+ onDismiss: () => p.onOpenChange(!1),
325
+ children: /* @__PURE__ */ a.jsx(
326
+ le,
327
+ {
328
+ role: "listbox",
329
+ id: p.contentId,
330
+ "data-state": p.open ? "open" : "closed",
331
+ dir: p.dir,
332
+ onContextMenu: (f) => f.preventDefault(),
333
+ ...h,
334
+ ...oe,
335
+ onPlaced: () => F(!0),
336
+ ref: _,
337
+ style: {
338
+ // flex layout so we can place the scroll buttons properly
339
+ display: "flex",
340
+ flexDirection: "column",
341
+ // reset the outline by default as the content MAY get focused
342
+ outline: "none",
343
+ ...h.style
344
+ },
345
+ onKeyDown: b(h.onKeyDown, (f) => {
346
+ const T = f.ctrlKey || f.altKey || f.metaKey;
347
+ if (f.key === "Tab" && f.preventDefault(), !T && f.key.length === 1 && se(f.key), ["ArrowUp", "ArrowDown", "Home", "End"].includes(f.key)) {
348
+ let y = D().filter((x) => !x.disabled).map((x) => x.ref.current);
349
+ if (["ArrowUp", "End"].includes(f.key) && (y = y.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(f.key)) {
350
+ const x = f.target, w = y.indexOf(x);
351
+ y = y.slice(w + 1);
352
+ }
353
+ setTimeout(() => j(y)), f.preventDefault();
354
+ }
355
+ })
356
+ }
357
+ )
358
+ }
359
+ )
360
+ }
361
+ ) })
362
+ }
363
+ );
364
+ }
365
+ );
366
+ ke.displayName = Rt;
367
+ var bt = "SelectItemAlignedPosition", Ve = t.forwardRef((n, i) => {
368
+ const { __scopeSelect: e, onPlaced: c, ...l } = n, d = K(Z, e), s = G(Z, e), [r, o] = t.useState(null), [u, g] = t.useState(null), C = L(i, (_) => g(_)), E = ae(e), P = t.useRef(!1), m = t.useRef(!0), { viewport: v, selectedItem: I, selectedItemText: h, focusSelectedItem: p } = s, S = t.useCallback(() => {
369
+ if (d.trigger && d.valueNode && r && u && v && I && h) {
370
+ const _ = d.trigger.getBoundingClientRect(), M = u.getBoundingClientRect(), z = d.valueNode.getBoundingClientRect(), $ = h.getBoundingClientRect();
371
+ if (d.dir !== "rtl") {
372
+ const x = $.left - M.left, w = z.left - x, q = _.left - w, X = _.width + q, me = Math.max(X, M.width), he = window.innerWidth - V, ve = Te(w, [V, he - me]);
373
+ r.style.minWidth = X + "px", r.style.left = ve + "px";
374
+ } else {
375
+ const x = M.right - $.right, w = window.innerWidth - z.right - x, q = window.innerWidth - _.right - w, X = _.width + q, me = Math.max(X, M.width), he = window.innerWidth - V, ve = Te(w, [V, he - me]);
376
+ r.style.minWidth = X + "px", r.style.right = ve + "px";
377
+ }
378
+ const Y = E(), D = window.innerHeight - V * 2, H = v.scrollHeight, F = window.getComputedStyle(u), R = parseInt(F.borderTopWidth, 10), j = parseInt(F.paddingTop, 10), k = parseInt(F.borderBottomWidth, 10), J = parseInt(F.paddingBottom, 10), W = R + j + H + J + k, ue = Math.min(I.offsetHeight * 5, W), se = window.getComputedStyle(v), pe = parseInt(se.paddingTop, 10), fe = parseInt(se.paddingBottom, 10), Q = _.top + _.height / 2 - V, le = D - Q, oe = I.offsetHeight / 2, f = I.offsetTop + oe, T = R + j + f, N = W - T;
379
+ if (T <= Q) {
380
+ const x = I === Y[Y.length - 1].ref.current;
381
+ r.style.bottom = "0px";
382
+ const w = u.clientHeight - v.offsetTop - v.offsetHeight, q = Math.max(
383
+ le,
384
+ oe + // viewport might have padding bottom, include it to avoid a scrollable viewport
385
+ (x ? fe : 0) + w + k
386
+ ), X = T + q;
387
+ r.style.height = X + "px";
388
+ } else {
389
+ const x = I === Y[0].ref.current;
390
+ r.style.top = "0px";
391
+ const q = Math.max(
392
+ Q,
393
+ R + v.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
394
+ (x ? pe : 0) + oe
395
+ ) + N;
396
+ r.style.height = q + "px", v.scrollTop = T - Q + v.offsetTop;
397
+ }
398
+ r.style.margin = `${V}px 0`, r.style.minHeight = ue + "px", r.style.maxHeight = D + "px", c == null || c(), requestAnimationFrame(() => P.current = !0);
399
+ }
400
+ }, [
401
+ E,
402
+ d.trigger,
403
+ d.valueNode,
404
+ r,
405
+ u,
406
+ v,
407
+ I,
408
+ h,
409
+ d.dir,
410
+ c
411
+ ]);
412
+ U(() => S(), [S]);
413
+ const [B, O] = t.useState();
414
+ U(() => {
415
+ u && O(window.getComputedStyle(u).zIndex);
416
+ }, [u]);
417
+ const te = t.useCallback(
418
+ (_) => {
419
+ _ && m.current === !0 && (S(), p == null || p(), m.current = !1);
22
420
  },
23
- unmounted: {
24
- MOUNT: "mounted"
421
+ [S, p]
422
+ );
423
+ return /* @__PURE__ */ a.jsx(
424
+ Nt,
425
+ {
426
+ scope: e,
427
+ contentWrapper: r,
428
+ shouldExpandOnScrollRef: P,
429
+ onScrollButtonChange: te,
430
+ children: /* @__PURE__ */ a.jsx(
431
+ "div",
432
+ {
433
+ ref: o,
434
+ style: {
435
+ display: "flex",
436
+ flexDirection: "column",
437
+ position: "fixed",
438
+ zIndex: B
439
+ },
440
+ children: /* @__PURE__ */ a.jsx(
441
+ A.div,
442
+ {
443
+ ...l,
444
+ ref: C,
445
+ style: {
446
+ // When we get the height of the content, it includes borders. If we were to set
447
+ // the height without having `boxSizing: 'border-box'` it would be too big.
448
+ boxSizing: "border-box",
449
+ // We need to ensure the content doesn't get taller than the wrapper
450
+ maxHeight: "100%",
451
+ ...l.style
452
+ }
453
+ }
454
+ )
455
+ }
456
+ )
25
457
  }
26
- });
27
- return a.useEffect(() => {
28
- const t = d(r.current);
29
- c.current = N === "mounted" ? t : "none";
30
- }, [N]), l(() => {
31
- const t = r.current, u = i.current;
32
- if (u !== e) {
33
- const A = c.current, f = d(t);
34
- e ? s("MOUNT") : f === "none" || (t == null ? void 0 : t.display) === "none" ? s("UNMOUNT") : s(u && A !== f ? "ANIMATION_OUT" : "UNMOUNT"), i.current = e;
458
+ );
459
+ });
460
+ Ve.displayName = bt;
461
+ var _t = "SelectPopperPosition", ge = t.forwardRef((n, i) => {
462
+ const {
463
+ __scopeSelect: e,
464
+ align: c = "start",
465
+ collisionPadding: l = V,
466
+ ...d
467
+ } = n, s = de(e);
468
+ return /* @__PURE__ */ a.jsx(
469
+ at,
470
+ {
471
+ ...s,
472
+ ...d,
473
+ ref: i,
474
+ align: c,
475
+ collisionPadding: l,
476
+ style: {
477
+ // Ensure border-box for floating-ui calculations
478
+ boxSizing: "border-box",
479
+ ...d.style,
480
+ "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
481
+ "--radix-select-content-available-width": "var(--radix-popper-available-width)",
482
+ "--radix-select-content-available-height": "var(--radix-popper-available-height)",
483
+ "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
484
+ "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
485
+ }
35
486
  }
36
- }, [e, s]), l(() => {
37
- if (n) {
38
- const t = (m) => {
39
- const f = d(r.current).includes(m.animationName);
40
- m.target === n && f && g.flushSync(() => s("ANIMATION_END"));
41
- }, u = (m) => {
42
- m.target === n && (c.current = d(r.current));
487
+ );
488
+ });
489
+ ge.displayName = _t;
490
+ var [Nt, Ie] = ee(Z, {}), Se = "SelectViewport", Be = t.forwardRef(
491
+ (n, i) => {
492
+ const { __scopeSelect: e, nonce: c, ...l } = n, d = G(Se, e), s = Ie(Se, e), r = L(i, d.onViewportChange), o = t.useRef(0);
493
+ return /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
494
+ /* @__PURE__ */ a.jsx(
495
+ "style",
496
+ {
497
+ dangerouslySetInnerHTML: {
498
+ __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"
499
+ },
500
+ nonce: c
501
+ }
502
+ ),
503
+ /* @__PURE__ */ a.jsx(ie.Slot, { scope: e, children: /* @__PURE__ */ a.jsx(
504
+ A.div,
505
+ {
506
+ "data-radix-select-viewport": "",
507
+ role: "presentation",
508
+ ...l,
509
+ ref: r,
510
+ style: {
511
+ // we use position: 'relative' here on the `viewport` so that when we call
512
+ // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
513
+ // (independent of the scrollUpButton).
514
+ position: "relative",
515
+ flex: 1,
516
+ overflow: "auto",
517
+ ...l.style
518
+ },
519
+ onScroll: b(l.onScroll, (u) => {
520
+ const g = u.currentTarget, { contentWrapper: C, shouldExpandOnScrollRef: E } = s;
521
+ if (E != null && E.current && C) {
522
+ const P = Math.abs(o.current - g.scrollTop);
523
+ if (P > 0) {
524
+ const m = window.innerHeight - V * 2, v = parseFloat(C.style.minHeight), I = parseFloat(C.style.height), h = Math.max(v, I);
525
+ if (h < m) {
526
+ const p = h + P, S = Math.min(m, p), B = p - S;
527
+ C.style.height = S + "px", C.style.bottom === "0px" && (g.scrollTop = B > 0 ? B : 0, C.style.justifyContent = "flex-end");
528
+ }
529
+ }
530
+ }
531
+ o.current = g.scrollTop;
532
+ })
533
+ }
534
+ ) })
535
+ ] });
536
+ }
537
+ );
538
+ Be.displayName = Se;
539
+ var He = "SelectGroup", [Mt, At] = ee(He), Fe = t.forwardRef(
540
+ (n, i) => {
541
+ const { __scopeSelect: e, ...c } = n, l = ye();
542
+ return /* @__PURE__ */ a.jsx(Mt, { scope: e, id: l, children: /* @__PURE__ */ a.jsx(A.div, { role: "group", "aria-labelledby": l, ...c, ref: i }) });
543
+ }
544
+ );
545
+ Fe.displayName = He;
546
+ var We = "SelectLabel", Ue = t.forwardRef(
547
+ (n, i) => {
548
+ const { __scopeSelect: e, ...c } = n, l = At(We, e);
549
+ return /* @__PURE__ */ a.jsx(A.div, { id: l.id, ...c, ref: i });
550
+ }
551
+ );
552
+ Ue.displayName = We;
553
+ var ce = "SelectItem", [Ot, Ke] = ee(ce), Ge = t.forwardRef(
554
+ (n, i) => {
555
+ const {
556
+ __scopeSelect: e,
557
+ value: c,
558
+ disabled: l = !1,
559
+ textValue: d,
560
+ ...s
561
+ } = n, r = K(ce, e), o = G(ce, e), u = r.value === c, [g, C] = t.useState(d ?? ""), [E, P] = t.useState(!1), m = L(
562
+ i,
563
+ (h) => {
564
+ var p;
565
+ return (p = o.itemRefCallback) == null ? void 0 : p.call(o, h, c, l);
566
+ }
567
+ ), v = ye(), I = () => {
568
+ l || (r.onValueChange(c), r.onOpenChange(!1));
569
+ };
570
+ if (c === "")
571
+ throw new Error(
572
+ "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."
573
+ );
574
+ return /* @__PURE__ */ a.jsx(
575
+ Ot,
576
+ {
577
+ scope: e,
578
+ value: c,
579
+ disabled: l,
580
+ textId: v,
581
+ isSelected: u,
582
+ onItemTextChange: t.useCallback((h) => {
583
+ C((p) => p || ((h == null ? void 0 : h.textContent) ?? "").trim());
584
+ }, []),
585
+ children: /* @__PURE__ */ a.jsx(
586
+ ie.ItemSlot,
587
+ {
588
+ scope: e,
589
+ value: c,
590
+ disabled: l,
591
+ textValue: g,
592
+ children: /* @__PURE__ */ a.jsx(
593
+ A.div,
594
+ {
595
+ role: "option",
596
+ "aria-labelledby": v,
597
+ "data-highlighted": E ? "" : void 0,
598
+ "aria-selected": u && E,
599
+ "data-state": u ? "checked" : "unchecked",
600
+ "aria-disabled": l || void 0,
601
+ "data-disabled": l ? "" : void 0,
602
+ tabIndex: l ? void 0 : -1,
603
+ ...s,
604
+ ref: m,
605
+ onFocus: b(s.onFocus, () => P(!0)),
606
+ onBlur: b(s.onBlur, () => P(!1)),
607
+ onPointerUp: b(s.onPointerUp, I),
608
+ onPointerMove: b(s.onPointerMove, (h) => {
609
+ var p;
610
+ l ? (p = o.onItemLeave) == null || p.call(o) : h.currentTarget.focus({ preventScroll: !0 });
611
+ }),
612
+ onPointerLeave: b(s.onPointerLeave, (h) => {
613
+ var p;
614
+ h.currentTarget === document.activeElement && ((p = o.onItemLeave) == null || p.call(o));
615
+ }),
616
+ onKeyDown: b(s.onKeyDown, (h) => {
617
+ var S;
618
+ ((S = o.searchRef) == null ? void 0 : S.current) !== "" && h.key === " " || (wt.includes(h.key) && I(), h.key === " " && h.preventDefault());
619
+ })
620
+ }
621
+ )
622
+ }
623
+ )
624
+ }
625
+ );
626
+ }
627
+ );
628
+ Ge.displayName = ce;
629
+ var ne = "SelectItemText", ze = t.forwardRef(
630
+ (n, i) => {
631
+ const { __scopeSelect: e, className: c, style: l, ...d } = n, s = K(ne, e), r = G(ne, e), o = Ke(ne, e), u = Tt(ne, e), [g, C] = t.useState(null), E = L(
632
+ i,
633
+ (h) => C(h),
634
+ o.onItemTextChange,
635
+ (h) => {
636
+ var p;
637
+ return (p = r.itemTextRefCallback) == null ? void 0 : p.call(r, h, o.value, o.disabled);
638
+ }
639
+ ), P = g == null ? void 0 : g.textContent, m = t.useMemo(
640
+ () => /* @__PURE__ */ a.jsx("option", { value: o.value, disabled: o.disabled, children: P }, o.value),
641
+ [o.disabled, o.value, P]
642
+ ), { onNativeOptionAdd: v, onNativeOptionRemove: I } = u;
643
+ return U(() => (v(m), () => I(m)), [v, I, m]), /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
644
+ /* @__PURE__ */ a.jsx(A.span, { id: o.textId, ...d, ref: E }),
645
+ o.isSelected && s.valueNode && !s.valueNodeHasChildren ? Ee.createPortal(d.children, s.valueNode) : null
646
+ ] });
647
+ }
648
+ );
649
+ ze.displayName = ne;
650
+ var Ye = "SelectItemIndicator", Dt = t.forwardRef(
651
+ (n, i) => {
652
+ const { __scopeSelect: e, ...c } = n;
653
+ return Ke(Ye, e).isSelected ? /* @__PURE__ */ a.jsx(A.span, { "aria-hidden": !0, ...c, ref: i }) : null;
654
+ }
655
+ );
656
+ Dt.displayName = Ye;
657
+ var xe = "SelectScrollUpButton", qe = t.forwardRef((n, i) => {
658
+ const e = G(xe, n.__scopeSelect), c = Ie(xe, n.__scopeSelect), [l, d] = t.useState(!1), s = L(i, c.onScrollButtonChange);
659
+ return U(() => {
660
+ if (e.viewport && e.isPositioned) {
661
+ let r = function() {
662
+ const u = o.scrollTop > 0;
663
+ d(u);
43
664
  };
44
- return n.addEventListener("animationstart", u), n.addEventListener("animationcancel", t), n.addEventListener("animationend", t), () => {
45
- n.removeEventListener("animationstart", u), n.removeEventListener("animationcancel", t), n.removeEventListener("animationend", t);
665
+ const o = e.viewport;
666
+ return r(), o.addEventListener("scroll", r), () => o.removeEventListener("scroll", r);
667
+ }
668
+ }, [e.viewport, e.isPositioned]), l ? /* @__PURE__ */ a.jsx(
669
+ Ze,
670
+ {
671
+ ...n,
672
+ ref: s,
673
+ onAutoScroll: () => {
674
+ const { viewport: r, selectedItem: o } = e;
675
+ r && o && (r.scrollTop = r.scrollTop - o.offsetHeight);
676
+ }
677
+ }
678
+ ) : null;
679
+ });
680
+ qe.displayName = xe;
681
+ var we = "SelectScrollDownButton", Xe = t.forwardRef((n, i) => {
682
+ const e = G(we, n.__scopeSelect), c = Ie(we, n.__scopeSelect), [l, d] = t.useState(!1), s = L(i, c.onScrollButtonChange);
683
+ return U(() => {
684
+ if (e.viewport && e.isPositioned) {
685
+ let r = function() {
686
+ const u = o.scrollHeight - o.clientHeight, g = Math.ceil(o.scrollTop) < u;
687
+ d(g);
46
688
  };
47
- } else
48
- s("ANIMATION_END");
49
- }, [n, s]), {
50
- isPresent: ["mounted", "unmountSuspended"].includes(N),
51
- ref: a.useCallback((t) => {
52
- t && (r.current = getComputedStyle(t)), o(t);
53
- }, [])
54
- };
689
+ const o = e.viewport;
690
+ return r(), o.addEventListener("scroll", r), () => o.removeEventListener("scroll", r);
691
+ }
692
+ }, [e.viewport, e.isPositioned]), l ? /* @__PURE__ */ a.jsx(
693
+ Ze,
694
+ {
695
+ ...n,
696
+ ref: s,
697
+ onAutoScroll: () => {
698
+ const { viewport: r, selectedItem: o } = e;
699
+ r && o && (r.scrollTop = r.scrollTop + o.offsetHeight);
700
+ }
701
+ }
702
+ ) : null;
703
+ });
704
+ Xe.displayName = we;
705
+ var Ze = t.forwardRef((n, i) => {
706
+ const { __scopeSelect: e, onAutoScroll: c, ...l } = n, d = G("SelectScrollButton", e), s = t.useRef(null), r = ae(e), o = t.useCallback(() => {
707
+ s.current !== null && (window.clearInterval(s.current), s.current = null);
708
+ }, []);
709
+ return t.useEffect(() => () => o(), [o]), U(() => {
710
+ var g;
711
+ const u = r().find((C) => C.ref.current === document.activeElement);
712
+ (g = u == null ? void 0 : u.ref.current) == null || g.scrollIntoView({ block: "nearest" });
713
+ }, [r]), /* @__PURE__ */ a.jsx(
714
+ A.div,
715
+ {
716
+ "aria-hidden": !0,
717
+ ...l,
718
+ ref: i,
719
+ style: { flexShrink: 0, ...l.style },
720
+ onPointerDown: b(l.onPointerDown, () => {
721
+ s.current === null && (s.current = window.setInterval(c, 50));
722
+ }),
723
+ onPointerMove: b(l.onPointerMove, () => {
724
+ var u;
725
+ (u = d.onItemLeave) == null || u.call(d), s.current === null && (s.current = window.setInterval(c, 50));
726
+ }),
727
+ onPointerLeave: b(l.onPointerLeave, () => {
728
+ o();
729
+ })
730
+ }
731
+ );
732
+ }), jt = "SelectSeparator", $e = t.forwardRef(
733
+ (n, i) => {
734
+ const { __scopeSelect: e, ...c } = n;
735
+ return /* @__PURE__ */ a.jsx(A.div, { "aria-hidden": !0, ...c, ref: i });
736
+ }
737
+ );
738
+ $e.displayName = jt;
739
+ var Ce = "SelectArrow", Lt = t.forwardRef(
740
+ (n, i) => {
741
+ const { __scopeSelect: e, ...c } = n, l = de(e), d = K(Ce, e), s = G(Ce, e);
742
+ return d.open && s.position === "popper" ? /* @__PURE__ */ a.jsx(dt, { ...l, ...c, ref: i }) : null;
743
+ }
744
+ );
745
+ Lt.displayName = Ce;
746
+ function Je(n) {
747
+ return n === "" || n === void 0;
748
+ }
749
+ var Qe = t.forwardRef(
750
+ (n, i) => {
751
+ const { value: e, ...c } = n, l = t.useRef(null), d = L(i, l), s = ht(e);
752
+ return t.useEffect(() => {
753
+ const r = l.current, o = window.HTMLSelectElement.prototype, g = Object.getOwnPropertyDescriptor(
754
+ o,
755
+ "value"
756
+ ).set;
757
+ if (s !== e && g) {
758
+ const C = new Event("change", { bubbles: !0 });
759
+ g.call(r, e), r.dispatchEvent(C);
760
+ }
761
+ }, [s, e]), /* @__PURE__ */ a.jsx(vt, { asChild: !0, children: /* @__PURE__ */ a.jsx("select", { ...c, ref: d, defaultValue: e }) });
762
+ }
763
+ );
764
+ Qe.displayName = "BubbleSelect";
765
+ function et(n) {
766
+ const i = mt(n), e = t.useRef(""), c = t.useRef(0), l = t.useCallback(
767
+ (s) => {
768
+ const r = e.current + s;
769
+ i(r), function o(u) {
770
+ e.current = u, window.clearTimeout(c.current), u !== "" && (c.current = window.setTimeout(() => o(""), 1e3));
771
+ }(r);
772
+ },
773
+ [i]
774
+ ), d = t.useCallback(() => {
775
+ e.current = "", window.clearTimeout(c.current);
776
+ }, []);
777
+ return t.useEffect(() => () => window.clearTimeout(c.current), []), [e, l, d];
55
778
  }
56
- function d(e) {
57
- return (e == null ? void 0 : e.animationName) || "none";
779
+ function tt(n, i, e) {
780
+ const l = i.length > 1 && Array.from(i).every((u) => u === i[0]) ? i[0] : i, d = e ? n.indexOf(e) : -1;
781
+ let s = kt(n, Math.max(d, 0));
782
+ l.length === 1 && (s = s.filter((u) => u !== e));
783
+ const o = s.find(
784
+ (u) => u.textValue.toLowerCase().startsWith(l.toLowerCase())
785
+ );
786
+ return o !== e ? o : void 0;
58
787
  }
59
- function T(e) {
60
- var r, i;
61
- let n = (r = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning;
62
- return o ? e.ref : (n = (i = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : i.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
788
+ function kt(n, i) {
789
+ return n.map((e, c) => n[(i + c) % n.length]);
63
790
  }
791
+ var co = be, io = Ne, ao = Ae, uo = Oe, po = De, fo = je, mo = Be, ho = Fe, vo = Ue, go = Ge, So = ze, xo = qe, wo = Xe, Co = $e;
64
792
  export {
65
- M as Presence
793
+ fo as Content,
794
+ ho as Group,
795
+ uo as Icon,
796
+ go as Item,
797
+ So as ItemText,
798
+ vo as Label,
799
+ po as Portal,
800
+ co as Root,
801
+ wo as ScrollDownButton,
802
+ xo as ScrollUpButton,
803
+ be as Select,
804
+ Lt as SelectArrow,
805
+ je as SelectContent,
806
+ Fe as SelectGroup,
807
+ Oe as SelectIcon,
808
+ Ge as SelectItem,
809
+ Dt as SelectItemIndicator,
810
+ ze as SelectItemText,
811
+ Ue as SelectLabel,
812
+ De as SelectPortal,
813
+ Xe as SelectScrollDownButton,
814
+ qe as SelectScrollUpButton,
815
+ $e as SelectSeparator,
816
+ Ne as SelectTrigger,
817
+ Ae as SelectValue,
818
+ Be as SelectViewport,
819
+ Co as Separator,
820
+ io as Trigger,
821
+ ao as Value,
822
+ mo as Viewport,
823
+ lo as createSelectScope
66
824
  };