@rpcbase/ui 0.206.0 → 0.208.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 (232) hide show
  1. package/dist/index.js +7 -7
  2. package/dist/index19.js +1 -1
  3. package/dist/index19.js.map +1 -1
  4. package/dist/index200.js +56 -55
  5. package/dist/index200.js.map +1 -1
  6. package/dist/index201.js +60 -8
  7. package/dist/index201.js.map +1 -1
  8. package/dist/index202.js +7 -15
  9. package/dist/index202.js.map +1 -1
  10. package/dist/index203.js +15 -143
  11. package/dist/index203.js.map +1 -1
  12. package/dist/index204.js +145 -4
  13. package/dist/index204.js.map +1 -1
  14. package/dist/index205.js +4 -11
  15. package/dist/index205.js.map +1 -1
  16. package/dist/index206.js +10 -104
  17. package/dist/index206.js.map +1 -1
  18. package/dist/index207.js +94 -347
  19. package/dist/index207.js.map +1 -1
  20. package/dist/index208.js +349 -87
  21. package/dist/index208.js.map +1 -1
  22. package/dist/index209.js +73 -304
  23. package/dist/index209.js.map +1 -1
  24. package/dist/index210.js +309 -193
  25. package/dist/index210.js.map +1 -1
  26. package/dist/index211.js +211 -19
  27. package/dist/index211.js.map +1 -1
  28. package/dist/index212.js +18 -27
  29. package/dist/index212.js.map +1 -1
  30. package/dist/index213.js +27 -187
  31. package/dist/index213.js.map +1 -1
  32. package/dist/index214.js +186 -16
  33. package/dist/index214.js.map +1 -1
  34. package/dist/index215.js +18 -44
  35. package/dist/index215.js.map +1 -1
  36. package/dist/index216.js +60 -8
  37. package/dist/index216.js.map +1 -1
  38. package/dist/index217.js +42 -23
  39. package/dist/index217.js.map +1 -1
  40. package/dist/index218.js +9 -44
  41. package/dist/index218.js.map +1 -1
  42. package/dist/index219.js +25 -18
  43. package/dist/index219.js.map +1 -1
  44. package/dist/index220.js +45 -3
  45. package/dist/index220.js.map +1 -1
  46. package/dist/index221.js +17 -4
  47. package/dist/index221.js.map +1 -1
  48. package/dist/index222.js +3 -21
  49. package/dist/index222.js.map +1 -1
  50. package/dist/index223.js +4 -24
  51. package/dist/index223.js.map +1 -1
  52. package/dist/index224.js +17 -64
  53. package/dist/index224.js.map +1 -1
  54. package/dist/index225.js +23 -13
  55. package/dist/index225.js.map +1 -1
  56. package/dist/index226.js +68 -4
  57. package/dist/index226.js.map +1 -1
  58. package/dist/index227.js +14 -50
  59. package/dist/index227.js.map +1 -1
  60. package/dist/index228.js +4 -6
  61. package/dist/index228.js.map +1 -1
  62. package/dist/index229.js +50 -26
  63. package/dist/index229.js.map +1 -1
  64. package/dist/index230.js +5 -13
  65. package/dist/index230.js.map +1 -1
  66. package/dist/index231.js +25 -8
  67. package/dist/index231.js.map +1 -1
  68. package/dist/index232.js +17 -3
  69. package/dist/index232.js.map +1 -0
  70. package/dist/index233.js +8 -24
  71. package/dist/index233.js.map +1 -1
  72. package/dist/index234.js +2 -71
  73. package/dist/index235.js +29 -3
  74. package/dist/index235.js.map +1 -0
  75. package/dist/index236.js +69 -12
  76. package/dist/index236.js.map +1 -1
  77. package/dist/index237.js +3 -54
  78. package/dist/index238.js +11 -114
  79. package/dist/index238.js.map +1 -1
  80. package/dist/index239.js +51 -6
  81. package/dist/index239.js.map +1 -1
  82. package/dist/index240.js +115 -13
  83. package/dist/index240.js.map +1 -1
  84. package/dist/index241.js +6 -687
  85. package/dist/index241.js.map +1 -1
  86. package/dist/index242.js +13 -253
  87. package/dist/index242.js.map +1 -1
  88. package/dist/index243.js +662 -676
  89. package/dist/index243.js.map +1 -1
  90. package/dist/index244.js +252 -7430
  91. package/dist/index244.js.map +1 -1
  92. package/dist/index245.js +700 -6
  93. package/dist/index245.js.map +1 -1
  94. package/dist/index246.js +7429 -11
  95. package/dist/index246.js.map +1 -1
  96. package/dist/index247.js +5 -4
  97. package/dist/index247.js.map +1 -1
  98. package/dist/index248.js +11 -458
  99. package/dist/index248.js.map +1 -1
  100. package/dist/index249.js +5 -37
  101. package/dist/index249.js.map +1 -1
  102. package/dist/index250.js +458 -18
  103. package/dist/index250.js.map +1 -1
  104. package/dist/index251.js +34 -24
  105. package/dist/index251.js.map +1 -1
  106. package/dist/index252.js +19 -4
  107. package/dist/index252.js.map +1 -1
  108. package/dist/index253.js +23 -54
  109. package/dist/index253.js.map +1 -1
  110. package/dist/index254.js +4 -7
  111. package/dist/index254.js.map +1 -1
  112. package/dist/index255.js +57 -11
  113. package/dist/index255.js.map +1 -1
  114. package/dist/index256.js +8 -3
  115. package/dist/index256.js.map +1 -1
  116. package/dist/index257.js +12 -16
  117. package/dist/index257.js.map +1 -1
  118. package/dist/index258.js +3 -26
  119. package/dist/index258.js.map +1 -1
  120. package/dist/index259.js +15 -42
  121. package/dist/index259.js.map +1 -1
  122. package/dist/index260.js +25 -13
  123. package/dist/index260.js.map +1 -1
  124. package/dist/index261.js +40 -22
  125. package/dist/index261.js.map +1 -1
  126. package/dist/index262.js +13 -17
  127. package/dist/index262.js.map +1 -1
  128. package/dist/index263.js +24 -34
  129. package/dist/index263.js.map +1 -1
  130. package/dist/index264.js +17 -5
  131. package/dist/index264.js.map +1 -1
  132. package/dist/index265.js +35 -9
  133. package/dist/index265.js.map +1 -1
  134. package/dist/index266.js +5 -8
  135. package/dist/index266.js.map +1 -1
  136. package/dist/index267.js +9 -9
  137. package/dist/index267.js.map +1 -1
  138. package/dist/index268.js +8 -10
  139. package/dist/index268.js.map +1 -1
  140. package/dist/index269.js +9 -7
  141. package/dist/index269.js.map +1 -1
  142. package/dist/index270.js +9 -72
  143. package/dist/index270.js.map +1 -1
  144. package/dist/index271.js +7 -171
  145. package/dist/index271.js.map +1 -1
  146. package/dist/index272.js +63 -104
  147. package/dist/index272.js.map +1 -1
  148. package/dist/index273.js +169 -12
  149. package/dist/index273.js.map +1 -1
  150. package/dist/index274.js +109 -75
  151. package/dist/index274.js.map +1 -1
  152. package/dist/index275.js +12 -44
  153. package/dist/index275.js.map +1 -1
  154. package/dist/index276.js +79 -12
  155. package/dist/index276.js.map +1 -1
  156. package/dist/index277.js +45 -15
  157. package/dist/index277.js.map +1 -1
  158. package/dist/index278.js +12 -98
  159. package/dist/index278.js.map +1 -1
  160. package/dist/index279.js +15 -55
  161. package/dist/index279.js.map +1 -1
  162. package/dist/index280.js +89 -98
  163. package/dist/index280.js.map +1 -1
  164. package/dist/index281.js +27 -42
  165. package/dist/index281.js.map +1 -1
  166. package/dist/index282.js +92 -97
  167. package/dist/index282.js.map +1 -1
  168. package/dist/index283.js +62 -46
  169. package/dist/index283.js.map +1 -1
  170. package/dist/index284.js +108 -38
  171. package/dist/index284.js.map +1 -1
  172. package/dist/index285.js +48 -135
  173. package/dist/index285.js.map +1 -1
  174. package/dist/index286.js +43 -139
  175. package/dist/index286.js.map +1 -1
  176. package/dist/index287.js +105 -217
  177. package/dist/index287.js.map +1 -1
  178. package/dist/index288.js +109 -210
  179. package/dist/index288.js.map +1 -1
  180. package/dist/index289.js +168 -212
  181. package/dist/index289.js.map +1 -1
  182. package/dist/index290.js +240 -5
  183. package/dist/index290.js.map +1 -1
  184. package/dist/index291.js +298 -6
  185. package/dist/index291.js.map +1 -1
  186. package/dist/index292.js +5 -7
  187. package/dist/index292.js.map +1 -1
  188. package/dist/index293.js +4 -4
  189. package/dist/index293.js.map +1 -1
  190. package/dist/index294.js +7 -6
  191. package/dist/index294.js.map +1 -1
  192. package/dist/index295.js +6 -21
  193. package/dist/index295.js.map +1 -1
  194. package/dist/index296.js +6 -10
  195. package/dist/index296.js.map +1 -1
  196. package/dist/index297.js +18 -123
  197. package/dist/index297.js.map +1 -1
  198. package/dist/index298.js +10 -164
  199. package/dist/index298.js.map +1 -1
  200. package/dist/index299.js +116 -58
  201. package/dist/index299.js.map +1 -1
  202. package/dist/index300.js +161 -106
  203. package/dist/index300.js.map +1 -1
  204. package/dist/index301.js +66 -489
  205. package/dist/index301.js.map +1 -1
  206. package/dist/index302.js +106 -59
  207. package/dist/index302.js.map +1 -1
  208. package/dist/index303.js +492 -4
  209. package/dist/index303.js.map +1 -1
  210. package/dist/index304.js +62 -27
  211. package/dist/index304.js.map +1 -1
  212. package/dist/index305.js +4 -66
  213. package/dist/index305.js.map +1 -1
  214. package/dist/index306.js +27 -152
  215. package/dist/index306.js.map +1 -1
  216. package/dist/index307.js +59 -555
  217. package/dist/index307.js.map +1 -1
  218. package/dist/index308.js +143 -201
  219. package/dist/index308.js.map +1 -1
  220. package/dist/index309.js +56 -326
  221. package/dist/index309.js.map +1 -1
  222. package/dist/index310.js +553 -260
  223. package/dist/index310.js.map +1 -1
  224. package/dist/index311.js +214 -0
  225. package/dist/index311.js.map +1 -0
  226. package/dist/index312.js +335 -0
  227. package/dist/index312.js.map +1 -0
  228. package/dist/index313.js +272 -0
  229. package/dist/index313.js.map +1 -0
  230. package/package.json +2 -2
  231. package/dist/index234.js.map +0 -1
  232. package/dist/index237.js.map +0 -1
package/dist/index243.js CHANGED
@@ -1,704 +1,690 @@
1
- import { useIsTouchDevice as e } from "./index4.js";
2
- import { cn as t } from "./index12.js";
3
- import { DismissableLayerBranch as n } from "./index23.js";
4
- import { Select as r, SelectContent as i, SelectItem as a, SelectTrigger as o, SelectValue as s } from "./index242.js";
5
- import { c } from "react/compiler-runtime";
6
- import * as l from "react";
7
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
8
- import { Check as f, ChevronDown as p, ChevronUp as m } from "lucide-react";
9
- import { createPortal as h } from "react-dom";
10
- import { IMaskInput as g } from "react-imask";
11
- import _, { InputMask as v } from "imask";
12
- //#region src/components/HourPickerField/index.tsx
13
- var y = _;
14
- typeof y.InputMask != "function" && (y.InputMask = v);
15
- function b(e) {
16
- return String(e).padStart(2, "0");
17
- }
18
- function x(e) {
19
- let t = e.trim();
20
- if (!t) return null;
21
- let n = /^(\d{1,2}):(\d{2})$/.exec(t);
22
- if (!n) return null;
23
- let r = Number(n[1]), i = Number(n[2]);
24
- return !Number.isFinite(r) || !Number.isFinite(i) || r < 0 || r > 23 || i < 0 || i > 59 ? null : `${b(r)}:${b(i)}`;
25
- }
26
- function ee(e) {
27
- let t = x(e);
28
- if (t) return `parsed:${t}`;
29
- let n = e.replace(/\D/g, "");
30
- if (!n) return "empty";
31
- if (n.length <= 2) return `hour:${Number(n)}`;
32
- let r = n.slice(-2), i = n.slice(0, -2);
33
- return `hour-minute:${Number(i)}:${r}`;
34
- }
35
- function te(e, t) {
36
- let n = x(e);
37
- return n ? C(t.find((e) => e.value === n)) ? {
38
- parsed: n,
39
- selectableValue: n
40
- } : {
41
- parsed: n,
42
- selectableValue: null
43
- } : null;
44
- }
45
- function S(e) {
46
- let t = /^(\d{2}):(\d{2})$/.exec(e);
47
- if (!t) return null;
48
- let n = Number(t[1]), r = Number(t[2]);
49
- return !Number.isFinite(n) || !Number.isFinite(r) ? null : n * 60 + r;
50
- }
51
- function C(e) {
52
- return e ? !e.disabled : !1;
53
- }
54
- function w(e, t) {
55
- let n = null, r = Infinity, i = -Infinity;
56
- for (let a of t) {
57
- if (!C(a)) continue;
58
- let t = S(a.value);
59
- if (t == null) continue;
60
- let o = Math.abs(t - e);
61
- (o < r || o === r && t > i) && (n = a, r = o, i = t);
62
- }
63
- return n;
64
- }
65
- function T({ direction: e, viewportRef: n, speed: r = 400, className: i }) {
66
- let [a, o] = l.useState(!0), s = l.useRef(void 0), c = l.useRef(void 0), d = l.useRef(!1), f = l.useCallback(() => {
67
- let t = n.current;
68
- if (!t) {
69
- o(!0);
70
- return;
71
- }
72
- let { scrollTop: r, scrollHeight: i, clientHeight: a } = t, s = r > 2, c = r < i - a - 2;
73
- if (!(i > a + 2)) {
74
- o(!0);
75
- return;
76
- }
77
- o(e === "up" ? !s : !c);
78
- }, [e, n]);
79
- l.useEffect(() => {
80
- let e = n.current;
81
- if (!e) return;
82
- f();
83
- let t = () => f(), r = () => f();
84
- e.addEventListener("scroll", t, { passive: !0 });
85
- let i = new ResizeObserver(r);
86
- i.observe(e);
87
- let a = new MutationObserver(r);
88
- return a.observe(e, {
89
- childList: !0,
90
- subtree: !0
91
- }), () => {
92
- e.removeEventListener("scroll", t), i.disconnect(), a.disconnect();
93
- };
94
- }, [n, f]);
95
- let h = l.useCallback(() => {
96
- s.current &&= (cancelAnimationFrame(s.current), void 0), d.current = !1, c.current = void 0;
97
- }, []), g = l.useCallback((t) => {
98
- let i = n.current;
99
- if (!i || a || !d.current) {
100
- h();
101
- return;
102
- }
103
- c.current ||= t;
104
- let o = r * (t - c.current) / 1e3;
105
- if (o < .1) {
106
- s.current = requestAnimationFrame(g);
107
- return;
108
- }
109
- let l = i.scrollTop, u = i.scrollHeight - i.clientHeight, p;
110
- p = e === "up" ? Math.max(0, l - o) : Math.min(u, l + o), i.scrollTo({ top: p }), c.current = t, (e === "up" ? p > 1 : p < u - 1) && Math.abs(p - l) > .01 ? s.current = requestAnimationFrame(g) : (h(), setTimeout(f, 16));
111
- }, [
112
- f,
113
- e,
114
- a,
115
- r,
116
- h,
117
- n
118
- ]), _ = l.useCallback(() => {
119
- a || !n.current || d.current || (d.current = !0, c.current = void 0, s.current = requestAnimationFrame(g));
120
- }, [
121
- a,
122
- g,
123
- n
124
- ]);
125
- return l.useEffect(() => h, [h]), /* @__PURE__ */ u("div", {
126
- className: t("flex items-center justify-center py-1 select-none", a ? "cursor-default opacity-40" : "cursor-pointer opacity-100 hover:bg-accent/20", i),
127
- onPointerEnter: () => {
128
- a || _();
129
- },
130
- onPointerMove: () => {
131
- !a && !d.current && _();
132
- },
133
- onPointerLeave: () => {
134
- h();
135
- },
136
- children: u(e === "up" ? m : p, {
137
- "aria-hidden": !0,
138
- className: "h-4 w-4 opacity-50"
1
+ "use client";
2
+ import { composeEventHandlers as e } from "./index17.js";
3
+ import { useComposedRefs as t } from "./index18.js";
4
+ import { Primitive as n } from "./index20.js";
5
+ import { useCallbackRef as r } from "./index21.js";
6
+ import { DismissableLayer as i } from "./index23.js";
7
+ import { clamp as a } from "./index198.js";
8
+ import { createContextScope as o } from "./index199.js";
9
+ import { createCollection as s } from "./index201.js";
10
+ import { useDirection as c } from "./index202.js";
11
+ import { useFocusGuards as l } from "./index203.js";
12
+ import { FocusScope as u } from "./index204.js";
13
+ import { useLayoutEffect2 as d } from "./index205.js";
14
+ import { useId as f } from "./index206.js";
15
+ import { Anchor as p, Arrow as m, Content as h, Root2 as g, createPopperScope as _ } from "./index214.js";
16
+ import { Portal as v } from "./index215.js";
17
+ import { createSlot as y } from "./index216.js";
18
+ import { useControllableState as b } from "./index217.js";
19
+ import { usePrevious as x } from "./index218.js";
20
+ import { VISUALLY_HIDDEN_STYLES as S } from "./index219.js";
21
+ import { hideOthers as C } from "./index220.js";
22
+ import w from "./index242.js";
23
+ import * as T from "react";
24
+ import { Fragment as E, jsx as D, jsxs as O } from "react/jsx-runtime";
25
+ import * as k from "react-dom";
26
+ //#region ../../node_modules/@radix-ui/react-select/dist/index.mjs
27
+ var A = [
28
+ " ",
29
+ "Enter",
30
+ "ArrowUp",
31
+ "ArrowDown"
32
+ ], j = [" ", "Enter"], M = "Select", [N, P, F] = s(M), [I, ee] = o(M, [F, _]), L = _(), [R, z] = I(M), [te, B] = I(M), V = (e) => {
33
+ let { __scopeSelect: t, children: n, open: r, defaultOpen: i, onOpenChange: a, value: o, defaultValue: s, onValueChange: l, dir: u, name: d, autoComplete: p, disabled: m, required: h, form: _ } = e, v = L(t), [y, x] = T.useState(null), [S, C] = T.useState(null), [w, E] = T.useState(!1), k = c(u), [A, j] = b({
34
+ prop: r,
35
+ defaultProp: i ?? !1,
36
+ onChange: a,
37
+ caller: M
38
+ }), [P, F] = b({
39
+ prop: o,
40
+ defaultProp: s,
41
+ onChange: l,
42
+ caller: M
43
+ }), I = T.useRef(null), ee = y ? _ || !!y.closest("form") : !0, [z, B] = T.useState(/* @__PURE__ */ new Set()), V = Array.from(z).map((e) => e.props.value).join(";");
44
+ return /* @__PURE__ */ D(g, {
45
+ ...v,
46
+ children: /* @__PURE__ */ O(R, {
47
+ required: h,
48
+ scope: t,
49
+ trigger: y,
50
+ onTriggerChange: x,
51
+ valueNode: S,
52
+ onValueNodeChange: C,
53
+ valueNodeHasChildren: w,
54
+ onValueNodeHasChildrenChange: E,
55
+ contentId: f(),
56
+ value: P,
57
+ onValueChange: F,
58
+ open: A,
59
+ onOpenChange: j,
60
+ dir: k,
61
+ triggerPointerDownPosRef: I,
62
+ disabled: m,
63
+ children: [/* @__PURE__ */ D(N.Provider, {
64
+ scope: t,
65
+ children: /* @__PURE__ */ D(te, {
66
+ scope: e.__scopeSelect,
67
+ onNativeOptionAdd: T.useCallback((e) => {
68
+ B((t) => new Set(t).add(e));
69
+ }, []),
70
+ onNativeOptionRemove: T.useCallback((e) => {
71
+ B((t) => {
72
+ let n = new Set(t);
73
+ return n.delete(e), n;
74
+ });
75
+ }, []),
76
+ children: n
77
+ })
78
+ }), ee ? /* @__PURE__ */ O(Re, {
79
+ "aria-hidden": !0,
80
+ required: h,
81
+ tabIndex: -1,
82
+ name: d,
83
+ autoComplete: p,
84
+ value: P,
85
+ onChange: (e) => F(e.target.value),
86
+ disabled: m,
87
+ form: _,
88
+ children: [P === void 0 ? /* @__PURE__ */ D("option", { value: "" }) : null, Array.from(z)]
89
+ }, V) : null]
139
90
  })
140
91
  });
141
- }
142
- function E({ id: e, value: r, onChange: i, onValueUpdate: a, options: o, placeholder: s = "Select time", className: c, inputClassName: p, disabled: m, readOnly: g, open: _, onOpenChange: v, triggerTestId: y, contentTestId: b, isHydrated: x }) {
143
- let ee = l.useId(), te = e ?? `hours-picker-${ee}`, S = l.useRef(null), w = l.useRef(null), E = l.useCallback((e) => {
144
- w.current = e;
145
- }, []), D = l.useRef(null), O = l.useRef(!1), [k, ne] = l.useState(null), j = l.useRef(null), M = l.useRef(null), N = l.useRef(null), [P, F] = l.useState(() => ({
146
- left: 0,
147
- top: 0,
148
- width: 0
149
- })), [I, L] = l.useState(!1), R = _ ?? I, z = v ?? L, B = l.useRef(!1);
150
- B.current = R, l.useEffect(() => {
151
- if (!R || m || g) return;
152
- let e = S.current;
153
- e instanceof HTMLInputElement && (typeof document < "u" && document.activeElement === e || e.focus({ preventScroll: !0 }));
154
- }, [
155
- m,
156
- R,
157
- g
158
- ]);
159
- let V = l.useCallback((e) => {
160
- D.current = e, ne(e);
161
- }, []), re = l.useCallback(() => {
162
- O.current = !0;
163
- }, []);
164
- l.useEffect(() => {
165
- if (!R) return;
166
- let e = o.find((e) => e.value === r);
167
- if (e && C(e)) {
168
- V(e.value);
169
- return;
170
- }
171
- V(o.find((e) => C(e))?.value ?? null);
172
- }, [
173
- R,
174
- o,
92
+ };
93
+ V.displayName = M;
94
+ var H = "SelectTrigger", U = T.forwardRef((r, i) => {
95
+ let { __scopeSelect: a, disabled: o = !1, ...s } = r, c = L(a), l = z(H, a), u = l.disabled || o, d = t(i, l.onTriggerChange), f = P(a), m = T.useRef("touch"), [h, g, _] = Be((e) => {
96
+ let t = f().filter((e) => !e.disabled), n = Ve(t, e, t.find((e) => e.value === l.value));
97
+ n !== void 0 && l.onValueChange(n.value);
98
+ }), v = (e) => {
99
+ u || (l.onOpenChange(!0), _()), e && (l.triggerPointerDownPosRef.current = {
100
+ x: Math.round(e.pageX),
101
+ y: Math.round(e.pageY)
102
+ });
103
+ };
104
+ return /* @__PURE__ */ D(p, {
105
+ asChild: !0,
106
+ ...c,
107
+ children: /* @__PURE__ */ D(n.button, {
108
+ type: "button",
109
+ role: "combobox",
110
+ "aria-controls": l.contentId,
111
+ "aria-expanded": l.open,
112
+ "aria-required": l.required,
113
+ "aria-autocomplete": "none",
114
+ dir: l.dir,
115
+ "data-state": l.open ? "open" : "closed",
116
+ disabled: u,
117
+ "data-disabled": u ? "" : void 0,
118
+ "data-placeholder": ze(l.value) ? "" : void 0,
119
+ ...s,
120
+ ref: d,
121
+ onClick: e(s.onClick, (e) => {
122
+ e.currentTarget.focus(), m.current !== "mouse" && v(e);
123
+ }),
124
+ onPointerDown: e(s.onPointerDown, (e) => {
125
+ m.current = e.pointerType;
126
+ let t = e.target;
127
+ t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId), e.button === 0 && e.ctrlKey === !1 && e.pointerType === "mouse" && (v(e), e.preventDefault());
128
+ }),
129
+ onKeyDown: e(s.onKeyDown, (e) => {
130
+ let t = h.current !== "";
131
+ !(e.ctrlKey || e.altKey || e.metaKey) && e.key.length === 1 && g(e.key), !(t && e.key === " ") && A.includes(e.key) && (v(), e.preventDefault());
132
+ })
133
+ })
134
+ });
135
+ });
136
+ U.displayName = H;
137
+ var W = "SelectValue", G = T.forwardRef((e, r) => {
138
+ let { __scopeSelect: i, className: a, style: o, children: s, placeholder: c = "", ...l } = e, u = z(W, i), { onValueNodeHasChildrenChange: f } = u, p = s !== void 0, m = t(r, u.onValueNodeChange);
139
+ return d(() => {
140
+ f(p);
141
+ }, [f, p]), /* @__PURE__ */ D(n.span, {
142
+ ...l,
143
+ ref: m,
144
+ style: { pointerEvents: "none" },
145
+ children: ze(u.value) ? /* @__PURE__ */ D(E, { children: c }) : s
146
+ });
147
+ });
148
+ G.displayName = W;
149
+ var ne = "SelectIcon", K = T.forwardRef((e, t) => {
150
+ let { __scopeSelect: r, children: i, ...a } = e;
151
+ return /* @__PURE__ */ D(n.span, {
152
+ "aria-hidden": !0,
153
+ ...a,
154
+ ref: t,
155
+ children: i || "▼"
156
+ });
157
+ });
158
+ K.displayName = ne;
159
+ var re = "SelectPortal", q = (e) => /* @__PURE__ */ D(v, {
160
+ asChild: !0,
161
+ ...e
162
+ });
163
+ q.displayName = re;
164
+ var J = "SelectContent", Y = T.forwardRef((e, t) => {
165
+ let n = z(J, e.__scopeSelect), [r, i] = T.useState();
166
+ if (d(() => {
167
+ i(new DocumentFragment());
168
+ }, []), !n.open) {
169
+ let t = r;
170
+ return t ? k.createPortal(/* @__PURE__ */ D(ie, {
171
+ scope: e.__scopeSelect,
172
+ children: /* @__PURE__ */ D(N.Slot, {
173
+ scope: e.__scopeSelect,
174
+ children: /* @__PURE__ */ D("div", { children: e.children })
175
+ })
176
+ }), t) : null;
177
+ }
178
+ return /* @__PURE__ */ D(se, {
179
+ ...e,
180
+ ref: t
181
+ });
182
+ });
183
+ Y.displayName = J;
184
+ var X = 10, [ie, Z] = I(J), ae = "SelectContentImpl", oe = y("SelectContent.RemoveScroll"), se = T.forwardRef((n, r) => {
185
+ let { __scopeSelect: a, position: o = "item-aligned", onCloseAutoFocus: s, onEscapeKeyDown: c, onPointerDownOutside: d, side: f, sideOffset: p, align: m, alignOffset: h, arrowPadding: g, collisionBoundary: _, collisionPadding: v, sticky: y, hideWhenDetached: b, avoidCollisions: x, ...S } = n, E = z(J, a), [O, k] = T.useState(null), [A, j] = T.useState(null), M = t(r, (e) => k(e)), [N, F] = T.useState(null), [I, ee] = T.useState(null), L = P(a), [R, te] = T.useState(!1), B = T.useRef(!1);
186
+ T.useEffect(() => {
187
+ if (O) return C(O);
188
+ }, [O]), l();
189
+ let V = T.useCallback((e) => {
190
+ let [t, ...n] = L().map((e) => e.ref.current), [r] = n.slice(-1), i = document.activeElement;
191
+ for (let n of e) if (n === i || (n?.scrollIntoView({ block: "nearest" }), n === t && A && (A.scrollTop = 0), n === r && A && (A.scrollTop = A.scrollHeight), n?.focus(), document.activeElement !== i)) return;
192
+ }, [L, A]), H = T.useCallback(() => V([N, O]), [
175
193
  V,
176
- r
194
+ N,
195
+ O
177
196
  ]);
178
- let ie = l.useCallback((e) => {
179
- if (e === null) {
180
- a && a(null);
181
- return;
197
+ T.useEffect(() => {
198
+ R && H();
199
+ }, [R, H]);
200
+ let { onOpenChange: U, triggerPointerDownPosRef: W } = E;
201
+ T.useEffect(() => {
202
+ if (O) {
203
+ let e = {
204
+ x: 0,
205
+ y: 0
206
+ }, t = (t) => {
207
+ e = {
208
+ x: Math.abs(Math.round(t.pageX) - (W.current?.x ?? 0)),
209
+ y: Math.abs(Math.round(t.pageY) - (W.current?.y ?? 0))
210
+ };
211
+ }, n = (n) => {
212
+ e.x <= 10 && e.y <= 10 ? n.preventDefault() : O.contains(n.target) || U(!1), document.removeEventListener("pointermove", t), W.current = null;
213
+ };
214
+ return W.current !== null && (document.addEventListener("pointermove", t), document.addEventListener("pointerup", n, {
215
+ capture: !0,
216
+ once: !0
217
+ })), () => {
218
+ document.removeEventListener("pointermove", t), document.removeEventListener("pointerup", n, { capture: !0 });
219
+ };
182
220
  }
183
- C(o.find((t) => t.value === e)) && a && a(e);
184
- }, [a, o]), H = l.useCallback((e) => {
185
- if (e === null) {
186
- a && a(null), i(null);
187
- return;
188
- }
189
- C(o.find((t) => t.value === e)) && (a && a(e), i(e));
190
- }, [
191
- i,
192
- a,
193
- o
194
- ]);
195
- l.useEffect(() => {
196
- if (!R) return;
197
- let e = j.current?.ownerDocument ?? document, t = e.defaultView ?? window, n = (e) => {
198
- let t = e.target;
199
- if (!(t instanceof Node)) return;
200
- let n = j.current;
201
- n && (n.contains(t) || M.current?.contains(t) || z(!1));
202
- }, r = (e) => {
203
- if (e.key !== "Escape" || !B.current) return;
204
- let t = e.target;
205
- if (!(t instanceof Node)) return;
206
- let n = j.current, r = M.current;
207
- !n?.contains(t) && !r?.contains(t) || (e.preventDefault(), e.stopPropagation(), z(!1));
208
- };
209
- return e.addEventListener("pointerdown", n, !0), t.addEventListener("keydown", r, !0), () => {
210
- e.removeEventListener("pointerdown", n, !0), t.removeEventListener("keydown", r, !0);
211
- };
212
- }, [R, z]), l.useEffect(() => {
213
- if (!R) return;
214
- let e = M.current;
215
- if (!e) return;
216
- let t = (e) => {
217
- let t = N.current;
218
- if (!t) return;
219
- let n = e.deltaY;
220
- if (n === 0) return;
221
- let r = Math.max(0, t.scrollHeight - t.clientHeight), i = t.scrollTop <= 0, a = t.scrollTop >= r, o = e.target;
222
- if (o instanceof Node && t.contains(o)) {
223
- (n < 0 && i || n > 0 && a) && e.preventDefault();
224
- return;
225
- }
226
- e.preventDefault(), t.scrollTop = Math.min(r, Math.max(0, t.scrollTop + n));
227
- };
228
- return e.addEventListener("wheel", t, { passive: !1 }), () => {
229
- e.removeEventListener("wheel", t);
230
- };
231
- }, [R]), l.useEffect(() => {
232
- if (!R || _ !== void 0 && !v || typeof window > "u" || !("IntersectionObserver" in window)) return;
233
- let e = S.current;
234
- if (!(e instanceof HTMLElement)) return;
235
- let t = !0, n = new IntersectionObserver((e) => {
236
- if (!t) return;
237
- let n = e[0];
238
- n && !n.isIntersecting && z(!1);
239
- });
240
- return n.observe(e), () => {
241
- t = !1, n.disconnect();
242
- };
243
221
  }, [
244
- v,
245
- R,
246
- _,
247
- z
248
- ]);
249
- let U = l.useCallback(() => {
250
- if (typeof window > "u") return;
251
- let e = S.current, t = M.current;
252
- if (!(e instanceof HTMLElement) || !t) return;
253
- let n = e.getBoundingClientRect(), r = t.offsetHeight, i = window.innerWidth ?? 0, a = window.innerHeight ?? 0, o = n.width, s = n.left;
254
- s + o > i - 8 && (s = Math.max(8, i - o - 8)), s < 8 && (s = 8);
255
- let c = n.bottom + 8, l = c + r > a - 8, u = n.top - r - 8;
256
- l && u >= 8 && (c = u), c < 8 && (c = 8), c + r > a - 8 && (c = Math.max(8, a - r - 8)), F({
257
- left: s,
258
- top: c,
259
- width: o
260
- });
261
- }, []);
262
- return l.useLayoutEffect(() => {
263
- if (!R || m || typeof window > "u") return;
264
- U();
265
- let e = window.requestAnimationFrame(U);
266
- return window.addEventListener("scroll", U, !0), window.addEventListener("resize", U), () => {
267
- window.cancelAnimationFrame(e), window.removeEventListener("scroll", U, !0), window.removeEventListener("resize", U);
222
+ O,
223
+ U,
224
+ W
225
+ ]), T.useEffect(() => {
226
+ let e = () => U(!1);
227
+ return window.addEventListener("blur", e), window.addEventListener("resize", e), () => {
228
+ window.removeEventListener("blur", e), window.removeEventListener("resize", e);
268
229
  };
269
- }, [
270
- m,
271
- R,
272
- U
273
- ]), l.useEffect(() => {
274
- if (!R) return;
275
- let e = N.current;
276
- if (!e) return;
277
- let t = requestAnimationFrame(() => {
278
- let t = e.querySelector("[role=\"option\"][data-state=\"checked\"]");
279
- if (t instanceof HTMLElement) {
280
- let n = t.offsetTop - 8, r = t.offsetTop + t.offsetHeight + 8;
281
- if (n < e.scrollTop) {
282
- e.scrollTop = Math.max(0, n);
283
- return;
284
- }
285
- r > e.scrollTop + e.clientHeight && (e.scrollTop = Math.max(0, r - e.clientHeight));
286
- return;
287
- }
288
- let n = Array.from(e.querySelectorAll("[role=\"option\"]"));
289
- if (!n.length) return;
290
- let r, i;
291
- for (let e of n) {
292
- if (!e.hasAttribute("data-disabled")) {
293
- r = e;
294
- break;
295
- }
296
- i = e;
297
- }
298
- r && (e.scrollTop = Math.max(0, (i || r).offsetTop - 8));
299
- });
300
- return () => cancelAnimationFrame(t);
301
- }, [R, o]), l.useEffect(() => {
302
- if (!R || !k || !O.current) return;
303
- let e = N.current;
304
- if (!e) return;
305
- let t = e.querySelector(`[role="option"][data-value="${k}"]`);
306
- if (!(t instanceof HTMLElement)) return;
307
- let n = t.offsetTop - 8, r = t.offsetTop + t.offsetHeight + 8;
308
- if (n < e.scrollTop) {
309
- e.scrollTop = Math.max(0, n);
310
- return;
311
- }
312
- r > e.scrollTop + e.clientHeight && (e.scrollTop = Math.max(0, r - e.clientHeight));
313
- }, [k, R]), /* @__PURE__ */ u("div", {
314
- "data-slot": "hours-picker-input",
315
- className: t("w-[150px]", c),
316
- ref: j,
317
- children: /* @__PURE__ */ d("div", {
318
- className: "relative",
319
- children: [/* @__PURE__ */ u(A, {
320
- id: te,
321
- placeholder: s,
322
- value: r,
323
- onValueUpdate: ie,
324
- onCommit: H,
325
- options: o,
326
- disabled: m,
327
- readOnly: g,
328
- open: R,
329
- setOpen: z,
330
- inputClassName: p,
331
- triggerTestId: y,
332
- isHydrated: x,
333
- highlightedValueRef: D,
334
- setHighlightedValue: V,
335
- markKeyboardNavigation: re,
336
- inputRef: (e) => {
337
- S.current = e;
230
+ }, [U]);
231
+ let [G, ne] = Be((e) => {
232
+ let t = L().filter((e) => !e.disabled), n = Ve(t, e, t.find((e) => e.ref.current === document.activeElement));
233
+ n && setTimeout(() => n.ref.current.focus());
234
+ }), K = T.useCallback((e, t, n) => {
235
+ let r = !B.current && !n;
236
+ (E.value !== void 0 && E.value === t || r) && (F(e), r && (B.current = !0));
237
+ }, [E.value]), re = T.useCallback(() => O?.focus(), [O]), q = T.useCallback((e, t, n) => {
238
+ let r = !B.current && !n;
239
+ (E.value !== void 0 && E.value === t || r) && ee(e);
240
+ }, [E.value]), Y = o === "popper" ? de : le, X = Y === de ? {
241
+ side: f,
242
+ sideOffset: p,
243
+ align: m,
244
+ alignOffset: h,
245
+ arrowPadding: g,
246
+ collisionBoundary: _,
247
+ collisionPadding: v,
248
+ sticky: y,
249
+ hideWhenDetached: b,
250
+ avoidCollisions: x
251
+ } : {};
252
+ return /* @__PURE__ */ D(ie, {
253
+ scope: a,
254
+ content: O,
255
+ viewport: A,
256
+ onViewportChange: j,
257
+ itemRefCallback: K,
258
+ selectedItem: N,
259
+ onItemLeave: re,
260
+ itemTextRefCallback: q,
261
+ focusSelectedItem: H,
262
+ selectedItemText: I,
263
+ position: o,
264
+ isPositioned: R,
265
+ searchRef: G,
266
+ children: /* @__PURE__ */ D(w, {
267
+ as: oe,
268
+ allowPinchZoom: !0,
269
+ children: /* @__PURE__ */ D(u, {
270
+ asChild: !0,
271
+ trapped: E.open,
272
+ onMountAutoFocus: (e) => {
273
+ e.preventDefault();
338
274
  },
339
- onDraftValueHandlerChange: E
340
- }), R ? (() => {
341
- let e = /* @__PURE__ */ u(n, { children: /* @__PURE__ */ d("div", {
342
- ref: M,
343
- "data-testid": b,
344
- "data-state": "open",
345
- className: t("pointer-events-auto fixed z-[60] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md", "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95"),
346
- style: {
347
- left: P.left,
348
- top: P.top,
349
- width: P.width
350
- },
351
- children: [
352
- /* @__PURE__ */ u(T, {
353
- direction: "up",
354
- viewportRef: N
355
- }),
356
- /* @__PURE__ */ u("div", {
357
- ref: N,
358
- role: "listbox",
359
- className: "max-h-64 overflow-y-auto p-1 [overscroll-behavior:contain] [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",
360
- children: o.map((e) => {
361
- let n = e.value === r;
362
- return /* @__PURE__ */ d("div", {
363
- role: "option",
364
- "aria-selected": n,
365
- "data-value": e.value,
366
- "data-state": n ? "checked" : "unchecked",
367
- "data-disabled": e.disabled ? "" : void 0,
368
- className: t("relative flex w-full select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none cursor-pointer", e.disabled && "pointer-events-none opacity-50", k === e.value && "bg-accent text-accent-foreground"),
369
- onMouseDown: (e) => {
370
- e.preventDefault();
371
- },
372
- onClick: () => {
373
- e.disabled || (w.current?.(e.value), V(e.value), S.current?.focus({ preventScroll: !0 }), H(e.value), z(!1));
374
- },
375
- onPointerEnter: () => {
376
- O.current || (O.current = !1, V(e.value));
377
- },
378
- onPointerMove: (t) => {
379
- O.current && t.movementX === 0 && t.movementY === 0 || (O.current = !1, V(e.value));
380
- },
381
- children: [/* @__PURE__ */ u("span", {
382
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
383
- children: n ? /* @__PURE__ */ u(f, {
384
- "aria-hidden": !0,
385
- className: "h-4 w-4"
386
- }) : null
387
- }), /* @__PURE__ */ d("div", {
388
- className: "flex flex-col",
389
- children: [/* @__PURE__ */ u("span", { children: e.label }), e.description == null ? null : /* @__PURE__ */ u("span", {
390
- "data-slot": "description",
391
- className: "text-xs text-muted-foreground",
392
- children: e.description
393
- })]
394
- })]
395
- }, e.value);
396
- })
397
- }),
398
- /* @__PURE__ */ u(T, {
399
- direction: "down",
400
- viewportRef: N
275
+ onUnmountAutoFocus: e(s, (e) => {
276
+ E.trigger?.focus({ preventScroll: !0 }), e.preventDefault();
277
+ }),
278
+ children: /* @__PURE__ */ D(i, {
279
+ asChild: !0,
280
+ disableOutsidePointerEvents: !0,
281
+ onEscapeKeyDown: c,
282
+ onPointerDownOutside: d,
283
+ onFocusOutside: (e) => e.preventDefault(),
284
+ onDismiss: () => E.onOpenChange(!1),
285
+ children: /* @__PURE__ */ D(Y, {
286
+ role: "listbox",
287
+ id: E.contentId,
288
+ "data-state": E.open ? "open" : "closed",
289
+ dir: E.dir,
290
+ onContextMenu: (e) => e.preventDefault(),
291
+ ...S,
292
+ ...X,
293
+ onPlaced: () => te(!0),
294
+ ref: M,
295
+ style: {
296
+ display: "flex",
297
+ flexDirection: "column",
298
+ outline: "none",
299
+ ...S.style
300
+ },
301
+ onKeyDown: e(S.onKeyDown, (e) => {
302
+ let t = e.ctrlKey || e.altKey || e.metaKey;
303
+ if (e.key === "Tab" && e.preventDefault(), !t && e.key.length === 1 && ne(e.key), [
304
+ "ArrowUp",
305
+ "ArrowDown",
306
+ "Home",
307
+ "End"
308
+ ].includes(e.key)) {
309
+ let t = L().filter((e) => !e.disabled).map((e) => e.ref.current);
310
+ if (["ArrowUp", "End"].includes(e.key) && (t = t.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(e.key)) {
311
+ let n = e.target, r = t.indexOf(n);
312
+ t = t.slice(r + 1);
313
+ }
314
+ setTimeout(() => V(t)), e.preventDefault();
315
+ }
401
316
  })
402
- ]
403
- }) });
404
- return typeof document > "u" ? e : h(e, document.body);
405
- })() : null]
317
+ })
318
+ })
319
+ })
406
320
  })
407
321
  });
408
- }
409
- E.displayName = "HourPickerInput";
410
- function D(e) {
411
- let n = c(36), { id: a, value: l, onChange: f, onValueUpdate: p, options: m, placeholder: h, className: g, inputClassName: _, disabled: v, open: y, onOpenChange: b, triggerTestId: x, contentTestId: ee, isHydrated: te } = e, S = h === void 0 ? "Select time" : h, w;
412
- n[0] !== f || n[1] !== p || n[2] !== m ? (w = (e) => {
413
- C(m.find((t) => t.value === e)) && (p && p(e), f(e));
414
- }, n[0] = f, n[1] = p, n[2] = m, n[3] = w) : w = n[3];
415
- let T = w, E;
416
- n[4] === g ? E = n[5] : (E = t("w-[150px]", g), n[4] = g, n[5] = E);
417
- let D = l ?? "", k;
418
- n[6] === T ? k = n[7] : (k = (e) => T(e), n[6] = T, n[7] = k);
419
- let A = te ? "true" : void 0, ne = !l && "text-muted-foreground", j = y && "ring-2 ring-primary ring-offset-2", M;
420
- n[8] !== _ || n[9] !== ne || n[10] !== j ? (M = t("transition-colors hover:bg-accent hover:text-accent-foreground", ne, j, "[&_[data-slot='description']]:hidden", _), n[8] = _, n[9] = ne, n[10] = j, n[11] = M) : M = n[11];
421
- let N;
422
- n[12] === S ? N = n[13] : (N = /* @__PURE__ */ u(s, { placeholder: S }), n[12] = S, n[13] = N);
423
- let P;
424
- n[14] !== a || n[15] !== N || n[16] !== A || n[17] !== M || n[18] !== x ? (P = /* @__PURE__ */ u(o, {
425
- id: a,
426
- "data-testid": x,
427
- "data-hydrated": A,
428
- className: M,
429
- children: N
430
- }), n[14] = a, n[15] = N, n[16] = A, n[17] = M, n[18] = x, n[19] = P) : P = n[19];
431
- let F;
432
- n[20] === m ? F = n[21] : (F = m.map(O), n[20] = m, n[21] = F);
433
- let I;
434
- n[22] !== ee || n[23] !== F ? (I = /* @__PURE__ */ u(i, {
435
- "data-testid": ee,
436
- autoScroll: "firstEnabledWithContext",
437
- className: "max-h-64 overflow-y-auto",
438
- children: F
439
- }), n[22] = ee, n[23] = F, n[24] = I) : I = n[24];
440
- let L;
441
- n[25] !== v || n[26] !== b || n[27] !== y || n[28] !== P || n[29] !== I || n[30] !== D || n[31] !== k ? (L = /* @__PURE__ */ d(r, {
442
- disabled: v,
443
- open: y,
444
- onOpenChange: b,
445
- value: D,
446
- onValueChange: k,
447
- children: [P, I]
448
- }), n[25] = v, n[26] = b, n[27] = y, n[28] = P, n[29] = I, n[30] = D, n[31] = k, n[32] = L) : L = n[32];
449
- let R;
450
- return n[33] !== L || n[34] !== E ? (R = /* @__PURE__ */ u("div", {
451
- "data-slot": "hours-picker-field",
452
- className: E,
453
- children: L
454
- }), n[33] = L, n[34] = E, n[35] = R) : R = n[35], R;
455
- }
456
- function O(e) {
457
- return /* @__PURE__ */ d(a, {
458
- value: e.value,
459
- disabled: e.disabled,
460
- children: [/* @__PURE__ */ u("span", { children: e.label }), e.description == null ? null : /* @__PURE__ */ u("span", {
461
- "data-slot": "description",
462
- className: "block text-xs text-muted-foreground",
463
- children: e.description
464
- })]
465
- }, e.value);
466
- }
467
- function k(t) {
468
- let n = c(4);
469
- if (e()) {
470
- let e;
471
- return n[0] === t ? e = n[1] : (e = /* @__PURE__ */ u(D, { ...t }), n[0] = t, n[1] = e), e;
472
- }
473
- let r;
474
- return n[2] === t ? r = n[3] : (r = /* @__PURE__ */ u(E, { ...t }), n[2] = t, n[3] = r), r;
475
- }
476
- k.displayName = "HourPickerField";
477
- function A(e) {
478
- let n = c(93), { id: r, placeholder: i, value: a, onValueUpdate: o, onCommit: s, options: f, disabled: m, readOnly: h, open: _, setOpen: v, inputClassName: y, triggerTestId: x, isHydrated: T, highlightedValueRef: E, setHighlightedValue: D, markKeyboardNavigation: O, inputRef: k, onDraftValueHandlerChange: A } = e, N = l.useRef(!1), P = l.useRef(!1), F = l.useRef(!1), I = l.useRef(null), L = l.useRef(null), R = l.useRef(!1), z;
479
- n[0] === a ? z = n[1] : (z = () => a || "", n[0] = a, n[1] = z);
480
- let [B, V] = l.useState(z), re, ie;
481
- n[2] === A ? (re = n[3], ie = n[4]) : (re = () => (A((e) => {
482
- V(e);
483
- }), () => {
484
- A(null);
485
- }), ie = [A], n[2] = A, n[3] = re, n[4] = ie), l.useEffect(re, ie);
486
- let H;
487
- n[5] !== E || n[6] !== o || n[7] !== f || n[8] !== D || n[9] !== a ? (H = (e) => {
488
- let t = E.current ?? a ?? "", n = f.findIndex((e) => e.value === t);
489
- n === -1 && (n = e === 1 ? -1 : f.length);
490
- for (let t = n + e; t >= 0 && t < f.length; t += e) {
491
- let e = f[t];
492
- if (C(e)) {
493
- D(e.value), I.current = e.value, V(e.value), o(e.value);
494
- return;
322
+ });
323
+ se.displayName = ae;
324
+ var ce = "SelectItemAlignedPosition", le = T.forwardRef((e, r) => {
325
+ let { __scopeSelect: i, onPlaced: o, ...s } = e, c = z(J, i), l = Z(J, i), [u, f] = T.useState(null), [p, m] = T.useState(null), h = t(r, (e) => m(e)), g = P(i), _ = T.useRef(!1), v = T.useRef(!0), { viewport: y, selectedItem: b, selectedItemText: x, focusSelectedItem: S } = l, C = T.useCallback(() => {
326
+ if (c.trigger && c.valueNode && u && p && y && b && x) {
327
+ let e = c.trigger.getBoundingClientRect(), t = p.getBoundingClientRect(), n = c.valueNode.getBoundingClientRect(), r = x.getBoundingClientRect();
328
+ if (c.dir !== "rtl") {
329
+ let i = r.left - t.left, o = n.left - i, s = e.left - o, c = e.width + s, l = Math.max(c, t.width), d = window.innerWidth - X, f = a(o, [X, Math.max(X, d - l)]);
330
+ u.style.minWidth = c + "px", u.style.left = f + "px";
331
+ } else {
332
+ let i = t.right - r.right, o = window.innerWidth - n.right - i, s = window.innerWidth - e.right - o, c = e.width + s, l = Math.max(c, t.width), d = window.innerWidth - X, f = a(o, [X, Math.max(X, d - l)]);
333
+ u.style.minWidth = c + "px", u.style.right = f + "px";
495
334
  }
496
- }
497
- }, n[5] = E, n[6] = o, n[7] = f, n[8] = D, n[9] = a, n[10] = H) : H = n[10];
498
- let U = H, ae, oe;
499
- n[11] === a ? (ae = n[12], oe = n[13]) : (ae = () => {
500
- N.current || V(a || "");
501
- }, oe = [a], n[11] = a, n[12] = ae, n[13] = oe), l.useEffect(ae, oe);
502
- let se, ce;
503
- n[14] === B ? (se = n[15], ce = n[16]) : (se = () => {
504
- L.current = ee(B);
505
- }, ce = [B], n[14] = B, n[15] = se, n[16] = ce), l.useEffect(se, ce);
506
- let le, ue;
507
- n[17] === a ? (le = n[18], ue = n[19]) : (ue = () => {
508
- a === null && (R.current = !1);
509
- }, le = [a], n[17] = a, n[18] = le, n[19] = ue), l.useEffect(ue, le);
510
- let de = !B && "text-muted-foreground", fe = _ && "ring-2 ring-primary ring-offset-2", pe;
511
- n[20] !== y || n[21] !== de || n[22] !== fe ? (pe = t("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 pr-10 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "transition-colors group-hover:bg-accent group-hover:text-accent-foreground", de, fe, "[&_[data-slot='description']]:hidden", y), n[20] = y, n[21] = de, n[22] = fe, n[23] = pe) : pe = n[23];
512
- let me = pe, he = T ? "true" : void 0, ge;
513
- n[24] === Symbol.for("react.memo_cache_sentinel") ? (ge = [{
514
- mask: "00:00",
515
- lazy: !0
516
- }, {
517
- mask: "0:00",
518
- lazy: !0
519
- }], n[24] = ge) : ge = n[24];
520
- let W;
521
- n[25] === f ? W = n[26] : (W = (e, t) => {
522
- let n = (t.value + e).replace(/\D/g, "");
523
- if (n.length <= 2 || n.length >= 4) return t.compiledMasks[0];
524
- let r = b(Number(n.slice(0, 2)));
525
- return f.some((e) => e.value.startsWith(`${r}:`)) ? t.compiledMasks[0] : t.compiledMasks[1];
526
- }, n[25] = f, n[26] = W);
527
- let G;
528
- n[27] !== s || n[28] !== a ? (G = (e, t, n) => {
529
- if (!n) return;
530
- let r = typeof e == "string" ? e : String(e ?? ""), i = r.replace(/\D/g, ""), o = ee(r);
531
- if (L.current !== o) {
532
- if (L.current = o, V(r), i.length !== 0) {
533
- R.current = !1;
534
- return;
335
+ let i = g(), s = window.innerHeight - X * 2, l = y.scrollHeight, d = window.getComputedStyle(p), f = parseInt(d.borderTopWidth, 10), m = parseInt(d.paddingTop, 10), h = parseInt(d.borderBottomWidth, 10), v = parseInt(d.paddingBottom, 10), S = f + m + l + v + h, C = Math.min(b.offsetHeight * 5, S), w = window.getComputedStyle(y), T = parseInt(w.paddingTop, 10), E = parseInt(w.paddingBottom, 10), D = e.top + e.height / 2 - X, O = s - D, k = b.offsetHeight / 2, A = b.offsetTop + k, j = f + m + A, M = S - j;
336
+ if (j <= D) {
337
+ let e = i.length > 0 && b === i[i.length - 1].ref.current;
338
+ u.style.bottom = "0px";
339
+ let t = p.clientHeight - y.offsetTop - y.offsetHeight, n = j + Math.max(O, k + (e ? E : 0) + t + h);
340
+ u.style.height = n + "px";
341
+ } else {
342
+ let e = i.length > 0 && b === i[0].ref.current;
343
+ u.style.top = "0px";
344
+ let t = Math.max(D, f + y.offsetTop + (e ? T : 0) + k) + M;
345
+ u.style.height = t + "px", y.scrollTop = j - D + y.offsetTop;
535
346
  }
536
- a && !R.current && (R.current = !0, s(null));
537
- }
538
- }, n[27] = s, n[28] = a, n[29] = G) : G = n[29];
539
- let K;
540
- n[30] !== s || n[31] !== f || n[32] !== D || n[33] !== a ? (K = (e, t, n) => {
541
- if (!n) return;
542
- let r = typeof e == "string" ? e : String(e ?? "");
543
- if (I.current === r) {
544
- I.current = null;
545
- return;
347
+ u.style.margin = `${X}px 0`, u.style.minHeight = C + "px", u.style.maxHeight = s + "px", o?.(), requestAnimationFrame(() => _.current = !0);
546
348
  }
547
- let i = te(r, f);
548
- if (!i) return;
549
- if (i.selectableValue) {
550
- if (D(i.selectableValue), V(i.selectableValue), a === i.selectableValue) return;
551
- s(i.selectableValue);
552
- return;
553
- }
554
- let o = S(i.parsed);
555
- if (o == null) return;
556
- let c = w(o, f);
557
- c && D(c.value);
558
- }, n[30] = s, n[31] = f, n[32] = D, n[33] = a, n[34] = K) : K = n[34];
559
- let q, J, Y;
560
- n[35] !== m || n[36] !== _ || n[37] !== v ? (q = () => {
561
- P.current = !0, !m && (_ || v(!0));
562
- }, J = (e) => {
563
- P.current = !0, F.current = typeof document < "u" && document.activeElement === e.currentTarget, !m && (_ || v(!0));
564
- }, Y = () => {
565
- m || _ || v(!0);
566
- }, n[35] = m, n[36] = _, n[37] = v, n[38] = q, n[39] = J, n[40] = Y) : (q = n[38], J = n[39], Y = n[40]);
567
- let X;
568
- n[41] !== m || n[42] !== B || n[43] !== E || n[44] !== O || n[45] !== U || n[46] !== s || n[47] !== _ || n[48] !== f || n[49] !== D || n[50] !== v ? (X = (e) => {
569
- if (!m) {
570
- if (e.key === "Tab" && _ && !e.defaultPrevented) {
571
- v(!1);
572
- return;
573
- }
574
- if (e.key === "Escape") {
575
- if (!_) return;
576
- e.preventDefault(), v(!1);
577
- return;
578
- }
579
- if (!_ && !e.defaultPrevented && (e.key.length === 1 || e.key === "Backspace" || e.key === "Delete") && !e.ctrlKey && !e.metaKey && !e.altKey && v(!0), e.key === "ArrowDown" || e.key === "ArrowUp") {
580
- if (O(), e.preventDefault(), !_) {
581
- v(!0);
582
- return;
583
- }
584
- U(e.key === "ArrowDown" ? 1 : -1);
585
- return;
586
- }
587
- if (e.key === "Enter") {
588
- O();
589
- let t = te(B, f);
590
- if (!t) {
591
- if (!_ || B.trim() !== "") return;
592
- let t = f.find((e) => e.value === E.current), n = (C(t) ? t?.value : void 0) ?? f.find(M)?.value;
593
- if (!n) return;
594
- e.preventDefault(), D(n), V(n), s(n), v(!1);
595
- return;
596
- }
597
- if (t.selectableValue) {
598
- e.preventDefault(), D(t.selectableValue), V(t.selectableValue), s(t.selectableValue), v(!1);
599
- return;
349
+ }, [
350
+ g,
351
+ c.trigger,
352
+ c.valueNode,
353
+ u,
354
+ p,
355
+ y,
356
+ b,
357
+ x,
358
+ c.dir,
359
+ o
360
+ ]);
361
+ d(() => C(), [C]);
362
+ let [w, E] = T.useState();
363
+ return d(() => {
364
+ p && E(window.getComputedStyle(p).zIndex);
365
+ }, [p]), /* @__PURE__ */ D(fe, {
366
+ scope: i,
367
+ contentWrapper: u,
368
+ shouldExpandOnScrollRef: _,
369
+ onScrollButtonChange: T.useCallback((e) => {
370
+ e && v.current === !0 && (C(), S?.(), v.current = !1);
371
+ }, [C, S]),
372
+ children: /* @__PURE__ */ D("div", {
373
+ ref: f,
374
+ style: {
375
+ display: "flex",
376
+ flexDirection: "column",
377
+ position: "fixed",
378
+ zIndex: w
379
+ },
380
+ children: /* @__PURE__ */ D(n.div, {
381
+ ...s,
382
+ ref: h,
383
+ style: {
384
+ boxSizing: "border-box",
385
+ maxHeight: "100%",
386
+ ...s.style
600
387
  }
601
- let n = S(t.parsed);
602
- if (n == null) return;
603
- let r = w(n, f);
604
- if (!r) return;
605
- e.preventDefault(), D(r.value), V(r.value), s(r.value), v(!1);
606
- return;
607
- }
388
+ })
389
+ })
390
+ });
391
+ });
392
+ le.displayName = ce;
393
+ var ue = "SelectPopperPosition", de = T.forwardRef((e, t) => {
394
+ let { __scopeSelect: n, align: r = "start", collisionPadding: i = X, ...a } = e;
395
+ return /* @__PURE__ */ D(h, {
396
+ ...L(n),
397
+ ...a,
398
+ ref: t,
399
+ align: r,
400
+ collisionPadding: i,
401
+ style: {
402
+ boxSizing: "border-box",
403
+ ...a.style,
404
+ "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
405
+ "--radix-select-content-available-width": "var(--radix-popper-available-width)",
406
+ "--radix-select-content-available-height": "var(--radix-popper-available-height)",
407
+ "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
408
+ "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
608
409
  }
609
- }, n[41] = m, n[42] = B, n[43] = E, n[44] = O, n[45] = U, n[46] = s, n[47] = _, n[48] = f, n[49] = D, n[50] = v, n[51] = X) : X = n[51];
610
- let Z;
611
- n[52] !== m || n[53] !== _ || n[54] !== v ? (Z = (e) => {
612
- let t = !P.current || !F.current;
613
- if (P.current = !1, F.current = !1, N.current = !0, t) {
614
- let t = e.currentTarget;
615
- requestAnimationFrame(() => t.select());
410
+ });
411
+ });
412
+ de.displayName = ue;
413
+ var [fe, pe] = I(J, {}), me = "SelectViewport", he = T.forwardRef((r, i) => {
414
+ let { __scopeSelect: a, nonce: o, ...s } = r, c = Z(me, a), l = pe(me, a), u = t(i, c.onViewportChange), d = T.useRef(0);
415
+ return /* @__PURE__ */ O(E, { children: [/* @__PURE__ */ D("style", {
416
+ dangerouslySetInnerHTML: { __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}" },
417
+ nonce: o
418
+ }), /* @__PURE__ */ D(N.Slot, {
419
+ scope: a,
420
+ children: /* @__PURE__ */ D(n.div, {
421
+ "data-radix-select-viewport": "",
422
+ role: "presentation",
423
+ ...s,
424
+ ref: u,
425
+ style: {
426
+ position: "relative",
427
+ flex: 1,
428
+ overflow: "hidden auto",
429
+ ...s.style
430
+ },
431
+ onScroll: e(s.onScroll, (e) => {
432
+ let t = e.currentTarget, { contentWrapper: n, shouldExpandOnScrollRef: r } = l;
433
+ if (r?.current && n) {
434
+ let e = Math.abs(d.current - t.scrollTop);
435
+ if (e > 0) {
436
+ let r = window.innerHeight - X * 2, i = parseFloat(n.style.minHeight), a = parseFloat(n.style.height), o = Math.max(i, a);
437
+ if (o < r) {
438
+ let i = o + e, a = Math.min(r, i), s = i - a;
439
+ n.style.height = a + "px", n.style.bottom === "0px" && (t.scrollTop = s > 0 ? s : 0, n.style.justifyContent = "flex-end");
440
+ }
441
+ }
442
+ }
443
+ d.current = t.scrollTop;
444
+ })
445
+ })
446
+ })] });
447
+ });
448
+ he.displayName = me;
449
+ var ge = "SelectGroup", [_e, ve] = I(ge), ye = T.forwardRef((e, t) => {
450
+ let { __scopeSelect: r, ...i } = e, a = f();
451
+ return /* @__PURE__ */ D(_e, {
452
+ scope: r,
453
+ id: a,
454
+ children: /* @__PURE__ */ D(n.div, {
455
+ role: "group",
456
+ "aria-labelledby": a,
457
+ ...i,
458
+ ref: t
459
+ })
460
+ });
461
+ });
462
+ ye.displayName = ge;
463
+ var be = "SelectLabel", xe = T.forwardRef((e, t) => {
464
+ let { __scopeSelect: r, ...i } = e, a = ve(be, r);
465
+ return /* @__PURE__ */ D(n.div, {
466
+ id: a.id,
467
+ ...i,
468
+ ref: t
469
+ });
470
+ });
471
+ xe.displayName = be;
472
+ var Q = "SelectItem", [Se, Ce] = I(Q), we = T.forwardRef((r, i) => {
473
+ let { __scopeSelect: a, value: o, disabled: s = !1, textValue: c, ...l } = r, u = z(Q, a), d = Z(Q, a), p = u.value === o, [m, h] = T.useState(c ?? ""), [g, _] = T.useState(!1), v = t(i, (e) => d.itemRefCallback?.(e, o, s)), y = f(), b = T.useRef("touch"), x = () => {
474
+ s || (u.onValueChange(o), u.onOpenChange(!1));
475
+ };
476
+ if (o === "") throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");
477
+ return /* @__PURE__ */ D(Se, {
478
+ scope: a,
479
+ value: o,
480
+ disabled: s,
481
+ textId: y,
482
+ isSelected: p,
483
+ onItemTextChange: T.useCallback((e) => {
484
+ h((t) => t || (e?.textContent ?? "").trim());
485
+ }, []),
486
+ children: /* @__PURE__ */ D(N.ItemSlot, {
487
+ scope: a,
488
+ value: o,
489
+ disabled: s,
490
+ textValue: m,
491
+ children: /* @__PURE__ */ D(n.div, {
492
+ role: "option",
493
+ "aria-labelledby": y,
494
+ "data-highlighted": g ? "" : void 0,
495
+ "aria-selected": p && g,
496
+ "data-state": p ? "checked" : "unchecked",
497
+ "aria-disabled": s || void 0,
498
+ "data-disabled": s ? "" : void 0,
499
+ tabIndex: s ? void 0 : -1,
500
+ ...l,
501
+ ref: v,
502
+ onFocus: e(l.onFocus, () => _(!0)),
503
+ onBlur: e(l.onBlur, () => _(!1)),
504
+ onClick: e(l.onClick, () => {
505
+ b.current !== "mouse" && x();
506
+ }),
507
+ onPointerUp: e(l.onPointerUp, () => {
508
+ b.current === "mouse" && x();
509
+ }),
510
+ onPointerDown: e(l.onPointerDown, (e) => {
511
+ b.current = e.pointerType;
512
+ }),
513
+ onPointerMove: e(l.onPointerMove, (e) => {
514
+ b.current = e.pointerType, s ? d.onItemLeave?.() : b.current === "mouse" && e.currentTarget.focus({ preventScroll: !0 });
515
+ }),
516
+ onPointerLeave: e(l.onPointerLeave, (e) => {
517
+ e.currentTarget === document.activeElement && d.onItemLeave?.();
518
+ }),
519
+ onKeyDown: e(l.onKeyDown, (e) => {
520
+ d.searchRef?.current !== "" && e.key === " " || (j.includes(e.key) && x(), e.key === " " && e.preventDefault());
521
+ })
522
+ })
523
+ })
524
+ });
525
+ });
526
+ we.displayName = Q;
527
+ var $ = "SelectItemText", Te = T.forwardRef((e, r) => {
528
+ let { __scopeSelect: i, className: a, style: o, ...s } = e, c = z($, i), l = Z($, i), u = Ce($, i), f = B($, i), [p, m] = T.useState(null), h = t(r, (e) => m(e), u.onItemTextChange, (e) => l.itemTextRefCallback?.(e, u.value, u.disabled)), g = p?.textContent, _ = T.useMemo(() => /* @__PURE__ */ D("option", {
529
+ value: u.value,
530
+ disabled: u.disabled,
531
+ children: g
532
+ }, u.value), [
533
+ u.disabled,
534
+ u.value,
535
+ g
536
+ ]), { onNativeOptionAdd: v, onNativeOptionRemove: y } = f;
537
+ return d(() => (v(_), () => y(_)), [
538
+ v,
539
+ y,
540
+ _
541
+ ]), /* @__PURE__ */ O(E, { children: [/* @__PURE__ */ D(n.span, {
542
+ id: u.textId,
543
+ ...s,
544
+ ref: h
545
+ }), u.isSelected && c.valueNode && !c.valueNodeHasChildren ? k.createPortal(s.children, c.valueNode) : null] });
546
+ });
547
+ Te.displayName = $;
548
+ var Ee = "SelectItemIndicator", De = T.forwardRef((e, t) => {
549
+ let { __scopeSelect: r, ...i } = e;
550
+ return Ce(Ee, r).isSelected ? /* @__PURE__ */ D(n.span, {
551
+ "aria-hidden": !0,
552
+ ...i,
553
+ ref: t
554
+ }) : null;
555
+ });
556
+ De.displayName = Ee;
557
+ var Oe = "SelectScrollUpButton", ke = T.forwardRef((e, n) => {
558
+ let r = Z(Oe, e.__scopeSelect), i = pe(Oe, e.__scopeSelect), [a, o] = T.useState(!1), s = t(n, i.onScrollButtonChange);
559
+ return d(() => {
560
+ if (r.viewport && r.isPositioned) {
561
+ let e = function() {
562
+ o(t.scrollTop > 0);
563
+ }, t = r.viewport;
564
+ return e(), t.addEventListener("scroll", e), () => t.removeEventListener("scroll", e);
616
565
  }
617
- m || _ || v(!0);
618
- }, n[52] = m, n[53] = _, n[54] = v, n[55] = Z) : Z = n[55];
619
- let Q;
620
- n[56] !== B || n[57] !== s || n[58] !== f || n[59] !== a ? (Q = () => {
621
- N.current = !1;
622
- let e = B.trim();
623
- if (!e) {
624
- V(a || "");
625
- return;
566
+ }, [r.viewport, r.isPositioned]), a ? /* @__PURE__ */ D(Me, {
567
+ ...e,
568
+ ref: s,
569
+ onAutoScroll: () => {
570
+ let { viewport: e, selectedItem: t } = r;
571
+ e && t && (e.scrollTop -= t.offsetHeight);
626
572
  }
627
- let t = te(e, f);
628
- if (!t) {
629
- V(a || "");
630
- return;
573
+ }) : null;
574
+ });
575
+ ke.displayName = Oe;
576
+ var Ae = "SelectScrollDownButton", je = T.forwardRef((e, n) => {
577
+ let r = Z(Ae, e.__scopeSelect), i = pe(Ae, e.__scopeSelect), [a, o] = T.useState(!1), s = t(n, i.onScrollButtonChange);
578
+ return d(() => {
579
+ if (r.viewport && r.isPositioned) {
580
+ let e = function() {
581
+ let e = t.scrollHeight - t.clientHeight;
582
+ o(Math.ceil(t.scrollTop) < e);
583
+ }, t = r.viewport;
584
+ return e(), t.addEventListener("scroll", e), () => t.removeEventListener("scroll", e);
631
585
  }
632
- if (!t.selectableValue) {
633
- V(a || "");
634
- return;
586
+ }, [r.viewport, r.isPositioned]), a ? /* @__PURE__ */ D(Me, {
587
+ ...e,
588
+ ref: s,
589
+ onAutoScroll: () => {
590
+ let { viewport: e, selectedItem: t } = r;
591
+ e && t && (e.scrollTop += t.offsetHeight);
635
592
  }
636
- V(t.selectableValue), a !== t.selectableValue && s(t.selectableValue);
637
- }, n[56] = B, n[57] = s, n[58] = f, n[59] = a, n[60] = Q) : Q = n[60];
638
- let $;
639
- n[61] !== m || n[62] !== B || n[63] !== r || n[64] !== k || n[65] !== i || n[66] !== h || n[67] !== he || n[68] !== W || n[69] !== G || n[70] !== K || n[71] !== q || n[72] !== J || n[73] !== Y || n[74] !== X || n[75] !== Z || n[76] !== Q || n[77] !== me || n[78] !== x ? ($ = /* @__PURE__ */ u(g, {
640
- id: r,
641
- "data-testid": x,
642
- "data-hydrated": he,
643
- type: "text",
644
- disabled: m,
645
- readOnly: h,
646
- inputRef: k,
647
- autoComplete: "off",
648
- mask: ge,
649
- dispatch: W,
650
- placeholder: i,
651
- value: B,
652
- className: me,
653
- onAccept: G,
654
- onComplete: K,
655
- onPointerDown: q,
656
- onMouseDown: J,
657
- onClick: Y,
658
- onKeyDown: X,
659
- onFocus: Z,
660
- onBlur: Q
661
- }), n[61] = m, n[62] = B, n[63] = r, n[64] = k, n[65] = i, n[66] = h, n[67] = he, n[68] = W, n[69] = G, n[70] = K, n[71] = q, n[72] = J, n[73] = Y, n[74] = X, n[75] = Z, n[76] = Q, n[77] = me, n[78] = x, n[79] = $) : $ = n[79];
662
- let _e;
663
- n[80] === Symbol.for("react.memo_cache_sentinel") ? (_e = t("absolute right-1 top-1/2 inline-flex size-8 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"), n[80] = _e) : _e = n[80];
664
- let ve = _ ? "Close time picker" : "Open time picker", ye;
665
- n[81] !== m || n[82] !== _ || n[83] !== v ? (ye = () => {
666
- m || v(!_);
667
- }, n[81] = m, n[82] = _, n[83] = v, n[84] = ye) : ye = n[84];
668
- let be;
669
- n[85] === Symbol.for("react.memo_cache_sentinel") ? (be = /* @__PURE__ */ u(p, {
593
+ }) : null;
594
+ });
595
+ je.displayName = Ae;
596
+ var Me = T.forwardRef((t, r) => {
597
+ let { __scopeSelect: i, onAutoScroll: a, ...o } = t, s = Z("SelectScrollButton", i), c = T.useRef(null), l = P(i), u = T.useCallback(() => {
598
+ c.current !== null && (window.clearInterval(c.current), c.current = null);
599
+ }, []);
600
+ return T.useEffect(() => () => u(), [u]), d(() => {
601
+ l().find((e) => e.ref.current === document.activeElement)?.ref.current?.scrollIntoView({ block: "nearest" });
602
+ }, [l]), /* @__PURE__ */ D(n.div, {
670
603
  "aria-hidden": !0,
671
- className: "size-4"
672
- }), n[85] = be) : be = n[85];
673
- let xe;
674
- n[86] !== m || n[87] !== ve || n[88] !== ye ? (xe = /* @__PURE__ */ u("button", {
675
- type: "button",
676
- tabIndex: -1,
677
- disabled: m,
678
- "data-slot": "hours-picker-input-toggle",
679
- className: _e,
680
- "aria-label": ve,
681
- onPointerDown: j,
682
- onMouseDown: ne,
683
- onClick: ye,
684
- children: be
685
- }), n[86] = m, n[87] = ve, n[88] = ye, n[89] = xe) : xe = n[89];
686
- let Se;
687
- return n[90] !== $ || n[91] !== xe ? (Se = /* @__PURE__ */ d("div", {
688
- className: "relative group",
689
- children: [$, xe]
690
- }), n[90] = $, n[91] = xe, n[92] = Se) : Se = n[92], Se;
604
+ ...o,
605
+ ref: r,
606
+ style: {
607
+ flexShrink: 0,
608
+ ...o.style
609
+ },
610
+ onPointerDown: e(o.onPointerDown, () => {
611
+ c.current === null && (c.current = window.setInterval(a, 50));
612
+ }),
613
+ onPointerMove: e(o.onPointerMove, () => {
614
+ s.onItemLeave?.(), c.current === null && (c.current = window.setInterval(a, 50));
615
+ }),
616
+ onPointerLeave: e(o.onPointerLeave, () => {
617
+ u();
618
+ })
619
+ });
620
+ }), Ne = "SelectSeparator", Pe = T.forwardRef((e, t) => {
621
+ let { __scopeSelect: r, ...i } = e;
622
+ return /* @__PURE__ */ D(n.div, {
623
+ "aria-hidden": !0,
624
+ ...i,
625
+ ref: t
626
+ });
627
+ });
628
+ Pe.displayName = Ne;
629
+ var Fe = "SelectArrow", Ie = T.forwardRef((e, t) => {
630
+ let { __scopeSelect: n, ...r } = e, i = L(n), a = z(Fe, n), o = Z(Fe, n);
631
+ return a.open && o.position === "popper" ? /* @__PURE__ */ D(m, {
632
+ ...i,
633
+ ...r,
634
+ ref: t
635
+ }) : null;
636
+ });
637
+ Ie.displayName = Fe;
638
+ var Le = "SelectBubbleInput", Re = T.forwardRef(({ __scopeSelect: e, value: r, ...i }, a) => {
639
+ let o = T.useRef(null), s = t(a, o), c = x(r);
640
+ return T.useEffect(() => {
641
+ let e = o.current;
642
+ if (!e) return;
643
+ let t = window.HTMLSelectElement.prototype, n = Object.getOwnPropertyDescriptor(t, "value").set;
644
+ if (c !== r && n) {
645
+ let t = new Event("change", { bubbles: !0 });
646
+ n.call(e, r), e.dispatchEvent(t);
647
+ }
648
+ }, [c, r]), /* @__PURE__ */ D(n.select, {
649
+ ...i,
650
+ style: {
651
+ ...S,
652
+ ...i.style
653
+ },
654
+ ref: s,
655
+ defaultValue: r
656
+ });
657
+ });
658
+ Re.displayName = Le;
659
+ function ze(e) {
660
+ return e === "" || e === void 0;
691
661
  }
692
- function ne(e) {
693
- e.preventDefault();
662
+ function Be(e) {
663
+ let t = r(e), n = T.useRef(""), i = T.useRef(0), a = T.useCallback((e) => {
664
+ let r = n.current + e;
665
+ t(r), (function e(t) {
666
+ n.current = t, window.clearTimeout(i.current), t !== "" && (i.current = window.setTimeout(() => e(""), 1e3));
667
+ })(r);
668
+ }, [t]), o = T.useCallback(() => {
669
+ n.current = "", window.clearTimeout(i.current);
670
+ }, []);
671
+ return T.useEffect(() => () => window.clearTimeout(i.current), []), [
672
+ n,
673
+ a,
674
+ o
675
+ ];
694
676
  }
695
- function j(e) {
696
- e.preventDefault();
677
+ function Ve(e, t, n) {
678
+ let r = t.length > 1 && Array.from(t).every((e) => e === t[0]) ? t[0] : t, i = n ? e.indexOf(n) : -1, a = He(e, Math.max(i, 0));
679
+ r.length === 1 && (a = a.filter((e) => e !== n));
680
+ let o = a.find((e) => e.textValue.toLowerCase().startsWith(r.toLowerCase()));
681
+ return o === n ? void 0 : o;
697
682
  }
698
- function M(e) {
699
- return C(e);
683
+ function He(e, t) {
684
+ return e.map((n, r) => e[(t + r) % e.length]);
700
685
  }
686
+ var Ue = V, We = U, Ge = G, Ke = K, qe = q, Je = Y, Ye = he, Xe = ye, Ze = xe, Qe = we, $e = Te, et = De, tt = Pe;
701
687
  //#endregion
702
- export { k as HourPickerField, E as HourPickerInput };
688
+ export { Je as Content2, Xe as Group, Ke as Icon, Qe as Item, et as ItemIndicator, $e as ItemText, Ze as Label, qe as Portal, Ue as Root2, tt as Separator, We as Trigger, Ge as Value, Ye as Viewport };
703
689
 
704
690
  //# sourceMappingURL=index243.js.map