@drjoshcsimmons/scl 0.2.2 → 0.2.3

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 (107) hide show
  1. package/dist/index100.js +181 -9
  2. package/dist/index101.js +8 -3
  3. package/dist/index102.js +27 -647
  4. package/dist/index103.js +47 -5
  5. package/dist/index104.js +3 -24
  6. package/dist/index105.js +47 -29
  7. package/dist/index106.js +6 -30
  8. package/dist/index107.js +647 -12
  9. package/dist/index108.js +30 -181
  10. package/dist/index109.js +29 -47
  11. package/dist/index11.js +2 -2
  12. package/dist/index110.js +13 -53
  13. package/dist/index111.js +25 -30
  14. package/dist/index112.js +7 -46
  15. package/dist/index114.js +1 -1
  16. package/dist/index115.js +1 -1
  17. package/dist/index116.js +1 -1
  18. package/dist/index118.js +1 -1
  19. package/dist/index12.js +1 -1
  20. package/dist/index120.js +21 -48
  21. package/dist/index121.js +3 -15
  22. package/dist/index122.js +32 -3
  23. package/dist/index123.js +12 -32
  24. package/dist/index124.js +48 -18
  25. package/dist/index13.js +2 -2
  26. package/dist/index14.js +2 -2
  27. package/dist/index142.js +1 -1
  28. package/dist/index143.js +1 -1
  29. package/dist/index148.js +21 -11
  30. package/dist/index149.js +11 -26
  31. package/dist/index15.js +2 -2
  32. package/dist/index150.js +27 -4
  33. package/dist/index151.js +4 -22
  34. package/dist/index17.js +4 -4
  35. package/dist/index18.js +2 -2
  36. package/dist/index20.js +1 -1
  37. package/dist/index21.js +1 -1
  38. package/dist/index22.js +1 -1
  39. package/dist/index23.js +2 -2
  40. package/dist/index24.js +1 -1
  41. package/dist/index25.js +4 -4
  42. package/dist/index26.js +1 -1
  43. package/dist/index27.js +2 -2
  44. package/dist/index29.js +1 -1
  45. package/dist/index31.js +1 -1
  46. package/dist/index33.js +1 -1
  47. package/dist/index36.js +1 -1
  48. package/dist/index37.js +1 -1
  49. package/dist/index4.js +2 -2
  50. package/dist/index46.js +64 -116
  51. package/dist/index47.js +57 -234
  52. package/dist/index48.js +237 -11
  53. package/dist/index49.js +11 -60
  54. package/dist/index50.js +228 -60
  55. package/dist/index51.js +71 -230
  56. package/dist/index52.js +241 -323
  57. package/dist/index53.js +94 -506
  58. package/dist/index54.js +148 -212
  59. package/dist/index55.js +336 -9
  60. package/dist/index56.js +260 -11
  61. package/dist/index57.js +5 -4
  62. package/dist/index58.js +835 -105
  63. package/dist/index59.js +9 -310
  64. package/dist/index6.js +1 -1
  65. package/dist/index60.js +2 -5
  66. package/dist/index61.js +223 -16
  67. package/dist/index62.js +11 -22
  68. package/dist/index63.js +11 -254
  69. package/dist/index64.js +12 -118
  70. package/dist/index65.js +507 -138
  71. package/dist/index66.js +18 -256
  72. package/dist/index67.js +310 -12
  73. package/dist/index68.js +12 -82
  74. package/dist/index69.js +18 -860
  75. package/dist/index7.js +1 -1
  76. package/dist/index70.js +31 -9
  77. package/dist/index71.js +236 -31
  78. package/dist/index72.js +402 -216
  79. package/dist/index73.js +225 -212
  80. package/dist/index74.js +125 -12
  81. package/dist/index75.js +111 -416
  82. package/dist/index76.js +40 -53
  83. package/dist/index77.js +10 -26
  84. package/dist/index78.js +4 -7
  85. package/dist/index79.js +30 -9
  86. package/dist/index80.js +11 -44
  87. package/dist/index81.js +64 -48
  88. package/dist/index82.js +45 -33
  89. package/dist/index83.js +26 -10
  90. package/dist/index84.js +6 -7
  91. package/dist/index85.js +49 -52
  92. package/dist/index86.js +33 -10
  93. package/dist/index87.js +11 -4
  94. package/dist/index88.js +8 -30
  95. package/dist/index89.js +123 -11
  96. package/dist/index9.js +1 -1
  97. package/dist/index90.js +12 -122
  98. package/dist/index91.js +128 -212
  99. package/dist/index92.js +218 -13
  100. package/dist/index93.js +14 -69
  101. package/dist/index94.js +68 -8
  102. package/dist/index95.js +47 -29
  103. package/dist/index96.js +50 -15
  104. package/dist/index97.js +8 -134
  105. package/dist/index98.js +51 -44
  106. package/dist/index99.js +29 -49
  107. package/package.json +1 -1
package/dist/index107.js CHANGED
@@ -1,17 +1,652 @@
1
- var m = 1, j = 0.9, k = 0.8, B = 0.17, v = 0.1, w = 0.999, D = 0.9999, G = 0.99, H = /[\\\/_+.#"@\[\(\{&]/, J = /[\\\/_+.#"@\[\(\{&]/g, K = /[\s-]/, A = /[\s-]/g;
2
- function $(t, o, e, i, n, h, u) {
3
- if (h === o.length) return n === t.length ? m : G;
4
- var s = `${n},${h}`;
5
- if (u[s] !== void 0) return u[s];
6
- for (var d = i.charAt(h), a = e.indexOf(d, n), l = 0, r, g, c, p; a >= 0; ) r = $(t, o, e, i, a + 1, h + 1, u), r > l && (a === n ? r *= m : H.test(t.charAt(a - 1)) ? (r *= k, c = t.slice(n, a - 1).match(J), c && n > 0 && (r *= Math.pow(w, c.length))) : K.test(t.charAt(a - 1)) ? (r *= j, p = t.slice(n, a - 1).match(A), p && n > 0 && (r *= Math.pow(w, p.length))) : (r *= B, n > 0 && (r *= Math.pow(w, a - n))), t.charAt(a) !== o.charAt(h) && (r *= D)), (r < v && e.charAt(a - 1) === i.charAt(h + 1) || i.charAt(h + 1) === i.charAt(h) && e.charAt(a - 1) !== i.charAt(h)) && (g = $(t, o, e, i, a + 1, h + 2, u), g * v > r && (r = g * v)), r > l && (l = r), a = e.indexOf(d, a + 1);
7
- return u[s] = l, l;
1
+ import * as r from "react";
2
+ import { composeEventHandlers as h } from "./index84.js";
3
+ import { createCollection as $e } from "./index82.js";
4
+ import { useComposedRefs as N, composeRefs as qe } from "./index83.js";
5
+ import { createContextScope as Je } from "./index81.js";
6
+ import { useDirection as Qe } from "./index88.js";
7
+ import { DismissableLayer as et } from "./index89.js";
8
+ import { useFocusGuards as tt } from "./index90.js";
9
+ import { FocusScope as nt } from "./index91.js";
10
+ import { useId as Me } from "./index87.js";
11
+ import { createPopperScope as ve, Root as Ce, Anchor as ot, Content as rt, Arrow as ct } from "./index92.js";
12
+ import { Portal as at } from "./index93.js";
13
+ import { Presence as W } from "./index94.js";
14
+ import { Primitive as F, dispatchDiscreteCustomEvent as st } from "./index86.js";
15
+ import { createRovingFocusGroupScope as ge, Item as ut, Root as it } from "./index100.js";
16
+ import { createSlot as lt } from "./index124.js";
17
+ import { useCallbackRef as ee } from "./index77.js";
18
+ import { hideOthers as dt } from "./index96.js";
19
+ import ft from "./index97.js";
20
+ import { jsx as u } from "react/jsx-runtime";
21
+ var Q = ["Enter", " "], mt = ["ArrowDown", "PageUp", "Home"], _e = ["ArrowUp", "PageDown", "End"], pt = [...mt, ..._e], Mt = {
22
+ ltr: [...Q, "ArrowRight"],
23
+ rtl: [...Q, "ArrowLeft"]
24
+ }, ht = {
25
+ ltr: ["ArrowLeft"],
26
+ rtl: ["ArrowRight"]
27
+ }, L = "Menu", [D, vt, Ct] = $e(L), [I, cn] = Je(L, [
28
+ Ct,
29
+ ve,
30
+ ge
31
+ ]), K = ve(), Re = ge(), [Se, E] = I(L), [gt, G] = I(L), Pe = (e) => {
32
+ const { __scopeMenu: n, open: t = !1, children: o, dir: s, onOpenChange: a, modal: l = !0 } = e, p = K(n), [M, m] = r.useState(null), f = r.useRef(!1), c = ee(a), d = Qe(s);
33
+ return r.useEffect(() => {
34
+ const C = () => {
35
+ f.current = !0, document.addEventListener("pointerdown", v, { capture: !0, once: !0 }), document.addEventListener("pointermove", v, { capture: !0, once: !0 });
36
+ }, v = () => f.current = !1;
37
+ return document.addEventListener("keydown", C, { capture: !0 }), () => {
38
+ document.removeEventListener("keydown", C, { capture: !0 }), document.removeEventListener("pointerdown", v, { capture: !0 }), document.removeEventListener("pointermove", v, { capture: !0 });
39
+ };
40
+ }, []), /* @__PURE__ */ u(Ce, { ...p, children: /* @__PURE__ */ u(
41
+ Se,
42
+ {
43
+ scope: n,
44
+ open: t,
45
+ onOpenChange: c,
46
+ content: M,
47
+ onContentChange: m,
48
+ children: /* @__PURE__ */ u(
49
+ gt,
50
+ {
51
+ scope: n,
52
+ onClose: r.useCallback(() => c(!1), [c]),
53
+ isUsingKeyboardRef: f,
54
+ dir: d,
55
+ modal: l,
56
+ children: o
57
+ }
58
+ )
59
+ }
60
+ ) });
61
+ };
62
+ Pe.displayName = L;
63
+ var _t = "MenuAnchor", te = r.forwardRef(
64
+ (e, n) => {
65
+ const { __scopeMenu: t, ...o } = e, s = K(t);
66
+ return /* @__PURE__ */ u(ot, { ...s, ...o, ref: n });
67
+ }
68
+ );
69
+ te.displayName = _t;
70
+ var ne = "MenuPortal", [Rt, Ee] = I(ne, {
71
+ forceMount: void 0
72
+ }), we = (e) => {
73
+ const { __scopeMenu: n, forceMount: t, children: o, container: s } = e, a = E(ne, n);
74
+ return /* @__PURE__ */ u(Rt, { scope: n, forceMount: t, children: /* @__PURE__ */ u(W, { present: t || a.open, children: /* @__PURE__ */ u(at, { asChild: !0, container: s, children: o }) }) });
75
+ };
76
+ we.displayName = ne;
77
+ var _ = "MenuContent", [St, oe] = I(_), Ie = r.forwardRef(
78
+ (e, n) => {
79
+ const t = Ee(_, e.__scopeMenu), { forceMount: o = t.forceMount, ...s } = e, a = E(_, e.__scopeMenu), l = G(_, e.__scopeMenu);
80
+ return /* @__PURE__ */ u(D.Provider, { scope: e.__scopeMenu, children: /* @__PURE__ */ u(W, { present: o || a.open, children: /* @__PURE__ */ u(D.Slot, { scope: e.__scopeMenu, children: l.modal ? /* @__PURE__ */ u(Pt, { ...s, ref: n }) : /* @__PURE__ */ u(Et, { ...s, ref: n }) }) }) });
81
+ }
82
+ ), Pt = r.forwardRef(
83
+ (e, n) => {
84
+ const t = E(_, e.__scopeMenu), o = r.useRef(null), s = N(n, o);
85
+ return r.useEffect(() => {
86
+ const a = o.current;
87
+ if (a) return dt(a);
88
+ }, []), /* @__PURE__ */ u(
89
+ re,
90
+ {
91
+ ...e,
92
+ ref: s,
93
+ trapFocus: t.open,
94
+ disableOutsidePointerEvents: t.open,
95
+ disableOutsideScroll: !0,
96
+ onFocusOutside: h(
97
+ e.onFocusOutside,
98
+ (a) => a.preventDefault(),
99
+ { checkForDefaultPrevented: !1 }
100
+ ),
101
+ onDismiss: () => t.onOpenChange(!1)
102
+ }
103
+ );
104
+ }
105
+ ), Et = r.forwardRef((e, n) => {
106
+ const t = E(_, e.__scopeMenu);
107
+ return /* @__PURE__ */ u(
108
+ re,
109
+ {
110
+ ...e,
111
+ ref: n,
112
+ trapFocus: !1,
113
+ disableOutsidePointerEvents: !1,
114
+ disableOutsideScroll: !1,
115
+ onDismiss: () => t.onOpenChange(!1)
116
+ }
117
+ );
118
+ }), wt = lt("MenuContent.ScrollLock"), re = r.forwardRef(
119
+ (e, n) => {
120
+ const {
121
+ __scopeMenu: t,
122
+ loop: o = !1,
123
+ trapFocus: s,
124
+ onOpenAutoFocus: a,
125
+ onCloseAutoFocus: l,
126
+ disableOutsidePointerEvents: p,
127
+ onEntryFocus: M,
128
+ onEscapeKeyDown: m,
129
+ onPointerDownOutside: f,
130
+ onFocusOutside: c,
131
+ onInteractOutside: d,
132
+ onDismiss: C,
133
+ disableOutsideScroll: v,
134
+ ...w
135
+ } = e, y = E(_, t), T = G(_, t), U = K(t), B = Re(t), ie = vt(t), [Xe, le] = r.useState(null), V = r.useRef(null), je = N(n, V, y.onContentChange), Y = r.useRef(0), X = r.useRef(""), He = r.useRef(0), Z = r.useRef(null), de = r.useRef("right"), $ = r.useRef(0), We = v ? ft : r.Fragment, ze = v ? { as: wt, allowPinchZoom: !0 } : void 0, Ze = (i) => {
136
+ var b, me;
137
+ const g = X.current + i, R = ie().filter((S) => !S.disabled), P = document.activeElement, q = (b = R.find((S) => S.ref.current === P)) == null ? void 0 : b.textValue, J = R.map((S) => S.textValue), fe = Lt(J, g, q), A = (me = R.find((S) => S.textValue === fe)) == null ? void 0 : me.ref.current;
138
+ (function S(pe) {
139
+ X.current = pe, window.clearTimeout(Y.current), pe !== "" && (Y.current = window.setTimeout(() => S(""), 1e3));
140
+ })(g), A && setTimeout(() => A.focus());
141
+ };
142
+ r.useEffect(() => () => window.clearTimeout(Y.current), []), tt();
143
+ const x = r.useCallback((i) => {
144
+ var R, P;
145
+ return de.current === ((R = Z.current) == null ? void 0 : R.side) && Gt(i, (P = Z.current) == null ? void 0 : P.area);
146
+ }, []);
147
+ return /* @__PURE__ */ u(
148
+ St,
149
+ {
150
+ scope: t,
151
+ searchRef: X,
152
+ onItemEnter: r.useCallback(
153
+ (i) => {
154
+ x(i) && i.preventDefault();
155
+ },
156
+ [x]
157
+ ),
158
+ onItemLeave: r.useCallback(
159
+ (i) => {
160
+ var g;
161
+ x(i) || ((g = V.current) == null || g.focus(), le(null));
162
+ },
163
+ [x]
164
+ ),
165
+ onTriggerLeave: r.useCallback(
166
+ (i) => {
167
+ x(i) && i.preventDefault();
168
+ },
169
+ [x]
170
+ ),
171
+ pointerGraceTimerRef: He,
172
+ onPointerGraceIntentChange: r.useCallback((i) => {
173
+ Z.current = i;
174
+ }, []),
175
+ children: /* @__PURE__ */ u(We, { ...ze, children: /* @__PURE__ */ u(
176
+ nt,
177
+ {
178
+ asChild: !0,
179
+ trapped: s,
180
+ onMountAutoFocus: h(a, (i) => {
181
+ var g;
182
+ i.preventDefault(), (g = V.current) == null || g.focus({ preventScroll: !0 });
183
+ }),
184
+ onUnmountAutoFocus: l,
185
+ children: /* @__PURE__ */ u(
186
+ et,
187
+ {
188
+ asChild: !0,
189
+ disableOutsidePointerEvents: p,
190
+ onEscapeKeyDown: m,
191
+ onPointerDownOutside: f,
192
+ onFocusOutside: c,
193
+ onInteractOutside: d,
194
+ onDismiss: C,
195
+ children: /* @__PURE__ */ u(
196
+ it,
197
+ {
198
+ asChild: !0,
199
+ ...B,
200
+ dir: T.dir,
201
+ orientation: "vertical",
202
+ loop: o,
203
+ currentTabStopId: Xe,
204
+ onCurrentTabStopIdChange: le,
205
+ onEntryFocus: h(M, (i) => {
206
+ T.isUsingKeyboardRef.current || i.preventDefault();
207
+ }),
208
+ preventScrollOnEntryFocus: !0,
209
+ children: /* @__PURE__ */ u(
210
+ rt,
211
+ {
212
+ role: "menu",
213
+ "aria-orientation": "vertical",
214
+ "data-state": Ye(y.open),
215
+ "data-radix-menu-content": "",
216
+ dir: T.dir,
217
+ ...U,
218
+ ...w,
219
+ ref: je,
220
+ style: { outline: "none", ...w.style },
221
+ onKeyDown: h(w.onKeyDown, (i) => {
222
+ const R = i.target.closest("[data-radix-menu-content]") === i.currentTarget, P = i.ctrlKey || i.altKey || i.metaKey, q = i.key.length === 1;
223
+ R && (i.key === "Tab" && i.preventDefault(), !P && q && Ze(i.key));
224
+ const J = V.current;
225
+ if (i.target !== J || !pt.includes(i.key)) return;
226
+ i.preventDefault();
227
+ const A = ie().filter((b) => !b.disabled).map((b) => b.ref.current);
228
+ _e.includes(i.key) && A.reverse(), Nt(A);
229
+ }),
230
+ onBlur: h(e.onBlur, (i) => {
231
+ i.currentTarget.contains(i.target) || (window.clearTimeout(Y.current), X.current = "");
232
+ }),
233
+ onPointerMove: h(
234
+ e.onPointerMove,
235
+ k((i) => {
236
+ const g = i.target, R = $.current !== i.clientX;
237
+ if (i.currentTarget.contains(g) && R) {
238
+ const P = i.clientX > $.current ? "right" : "left";
239
+ de.current = P, $.current = i.clientX;
240
+ }
241
+ })
242
+ )
243
+ }
244
+ )
245
+ }
246
+ )
247
+ }
248
+ )
249
+ }
250
+ ) })
251
+ }
252
+ );
253
+ }
254
+ );
255
+ Ie.displayName = _;
256
+ var It = "MenuGroup", ce = r.forwardRef(
257
+ (e, n) => {
258
+ const { __scopeMenu: t, ...o } = e;
259
+ return /* @__PURE__ */ u(F.div, { role: "group", ...o, ref: n });
260
+ }
261
+ );
262
+ ce.displayName = It;
263
+ var yt = "MenuLabel", ye = r.forwardRef(
264
+ (e, n) => {
265
+ const { __scopeMenu: t, ...o } = e;
266
+ return /* @__PURE__ */ u(F.div, { ...o, ref: n });
267
+ }
268
+ );
269
+ ye.displayName = yt;
270
+ var j = "MenuItem", he = "menu.itemSelect", z = r.forwardRef(
271
+ (e, n) => {
272
+ const { disabled: t = !1, onSelect: o, ...s } = e, a = r.useRef(null), l = G(j, e.__scopeMenu), p = oe(j, e.__scopeMenu), M = N(n, a), m = r.useRef(!1), f = () => {
273
+ const c = a.current;
274
+ if (!t && c) {
275
+ const d = new CustomEvent(he, { bubbles: !0, cancelable: !0 });
276
+ c.addEventListener(he, (C) => o == null ? void 0 : o(C), { once: !0 }), st(c, d), d.defaultPrevented ? m.current = !1 : l.onClose();
277
+ }
278
+ };
279
+ return /* @__PURE__ */ u(
280
+ xe,
281
+ {
282
+ ...s,
283
+ ref: M,
284
+ disabled: t,
285
+ onClick: h(e.onClick, f),
286
+ onPointerDown: (c) => {
287
+ var d;
288
+ (d = e.onPointerDown) == null || d.call(e, c), m.current = !0;
289
+ },
290
+ onPointerUp: h(e.onPointerUp, (c) => {
291
+ var d;
292
+ m.current || (d = c.currentTarget) == null || d.click();
293
+ }),
294
+ onKeyDown: h(e.onKeyDown, (c) => {
295
+ const d = p.searchRef.current !== "";
296
+ t || d && c.key === " " || Q.includes(c.key) && (c.currentTarget.click(), c.preventDefault());
297
+ })
298
+ }
299
+ );
300
+ }
301
+ );
302
+ z.displayName = j;
303
+ var xe = r.forwardRef(
304
+ (e, n) => {
305
+ const { __scopeMenu: t, disabled: o = !1, textValue: s, ...a } = e, l = oe(j, t), p = Re(t), M = r.useRef(null), m = N(n, M), [f, c] = r.useState(!1), [d, C] = r.useState("");
306
+ return r.useEffect(() => {
307
+ const v = M.current;
308
+ v && C((v.textContent ?? "").trim());
309
+ }, [a.children]), /* @__PURE__ */ u(
310
+ D.ItemSlot,
311
+ {
312
+ scope: t,
313
+ disabled: o,
314
+ textValue: s ?? d,
315
+ children: /* @__PURE__ */ u(ut, { asChild: !0, ...p, focusable: !o, children: /* @__PURE__ */ u(
316
+ F.div,
317
+ {
318
+ role: "menuitem",
319
+ "data-highlighted": f ? "" : void 0,
320
+ "aria-disabled": o || void 0,
321
+ "data-disabled": o ? "" : void 0,
322
+ ...a,
323
+ ref: m,
324
+ onPointerMove: h(
325
+ e.onPointerMove,
326
+ k((v) => {
327
+ o ? l.onItemLeave(v) : (l.onItemEnter(v), v.defaultPrevented || v.currentTarget.focus({ preventScroll: !0 }));
328
+ })
329
+ ),
330
+ onPointerLeave: h(
331
+ e.onPointerLeave,
332
+ k((v) => l.onItemLeave(v))
333
+ ),
334
+ onFocus: h(e.onFocus, () => c(!0)),
335
+ onBlur: h(e.onBlur, () => c(!1))
336
+ }
337
+ ) })
338
+ }
339
+ );
340
+ }
341
+ ), xt = "MenuCheckboxItem", be = r.forwardRef(
342
+ (e, n) => {
343
+ const { checked: t = !1, onCheckedChange: o, ...s } = e;
344
+ return /* @__PURE__ */ u(ke, { scope: e.__scopeMenu, checked: t, children: /* @__PURE__ */ u(
345
+ z,
346
+ {
347
+ role: "menuitemcheckbox",
348
+ "aria-checked": H(t) ? "mixed" : t,
349
+ ...s,
350
+ ref: n,
351
+ "data-state": ue(t),
352
+ onSelect: h(
353
+ s.onSelect,
354
+ () => o == null ? void 0 : o(H(t) ? !0 : !t),
355
+ { checkForDefaultPrevented: !1 }
356
+ )
357
+ }
358
+ ) });
359
+ }
360
+ );
361
+ be.displayName = xt;
362
+ var Te = "MenuRadioGroup", [bt, Tt] = I(
363
+ Te,
364
+ { value: void 0, onValueChange: () => {
365
+ } }
366
+ ), Ae = r.forwardRef(
367
+ (e, n) => {
368
+ const { value: t, onValueChange: o, ...s } = e, a = ee(o);
369
+ return /* @__PURE__ */ u(bt, { scope: e.__scopeMenu, value: t, onValueChange: a, children: /* @__PURE__ */ u(ce, { ...s, ref: n }) });
370
+ }
371
+ );
372
+ Ae.displayName = Te;
373
+ var Oe = "MenuRadioItem", De = r.forwardRef(
374
+ (e, n) => {
375
+ const { value: t, ...o } = e, s = Tt(Oe, e.__scopeMenu), a = t === s.value;
376
+ return /* @__PURE__ */ u(ke, { scope: e.__scopeMenu, checked: a, children: /* @__PURE__ */ u(
377
+ z,
378
+ {
379
+ role: "menuitemradio",
380
+ "aria-checked": a,
381
+ ...o,
382
+ ref: n,
383
+ "data-state": ue(a),
384
+ onSelect: h(
385
+ o.onSelect,
386
+ () => {
387
+ var l;
388
+ return (l = s.onValueChange) == null ? void 0 : l.call(s, t);
389
+ },
390
+ { checkForDefaultPrevented: !1 }
391
+ )
392
+ }
393
+ ) });
394
+ }
395
+ );
396
+ De.displayName = Oe;
397
+ var ae = "MenuItemIndicator", [ke, At] = I(
398
+ ae,
399
+ { checked: !1 }
400
+ ), Ne = r.forwardRef(
401
+ (e, n) => {
402
+ const { __scopeMenu: t, forceMount: o, ...s } = e, a = At(ae, t);
403
+ return /* @__PURE__ */ u(
404
+ W,
405
+ {
406
+ present: o || H(a.checked) || a.checked === !0,
407
+ children: /* @__PURE__ */ u(
408
+ F.span,
409
+ {
410
+ ...s,
411
+ ref: n,
412
+ "data-state": ue(a.checked)
413
+ }
414
+ )
415
+ }
416
+ );
417
+ }
418
+ );
419
+ Ne.displayName = ae;
420
+ var Ot = "MenuSeparator", Fe = r.forwardRef(
421
+ (e, n) => {
422
+ const { __scopeMenu: t, ...o } = e;
423
+ return /* @__PURE__ */ u(
424
+ F.div,
425
+ {
426
+ role: "separator",
427
+ "aria-orientation": "horizontal",
428
+ ...o,
429
+ ref: n
430
+ }
431
+ );
432
+ }
433
+ );
434
+ Fe.displayName = Ot;
435
+ var Dt = "MenuArrow", Le = r.forwardRef(
436
+ (e, n) => {
437
+ const { __scopeMenu: t, ...o } = e, s = K(t);
438
+ return /* @__PURE__ */ u(ct, { ...s, ...o, ref: n });
439
+ }
440
+ );
441
+ Le.displayName = Dt;
442
+ var se = "MenuSub", [kt, Ke] = I(se), Ge = (e) => {
443
+ const { __scopeMenu: n, children: t, open: o = !1, onOpenChange: s } = e, a = E(se, n), l = K(n), [p, M] = r.useState(null), [m, f] = r.useState(null), c = ee(s);
444
+ return r.useEffect(() => (a.open === !1 && c(!1), () => c(!1)), [a.open, c]), /* @__PURE__ */ u(Ce, { ...l, children: /* @__PURE__ */ u(
445
+ Se,
446
+ {
447
+ scope: n,
448
+ open: o,
449
+ onOpenChange: c,
450
+ content: m,
451
+ onContentChange: f,
452
+ children: /* @__PURE__ */ u(
453
+ kt,
454
+ {
455
+ scope: n,
456
+ contentId: Me(),
457
+ triggerId: Me(),
458
+ trigger: p,
459
+ onTriggerChange: M,
460
+ children: t
461
+ }
462
+ )
463
+ }
464
+ ) });
465
+ };
466
+ Ge.displayName = se;
467
+ var O = "MenuSubTrigger", Ue = r.forwardRef(
468
+ (e, n) => {
469
+ const t = E(O, e.__scopeMenu), o = G(O, e.__scopeMenu), s = Ke(O, e.__scopeMenu), a = oe(O, e.__scopeMenu), l = r.useRef(null), { pointerGraceTimerRef: p, onPointerGraceIntentChange: M } = a, m = { __scopeMenu: e.__scopeMenu }, f = r.useCallback(() => {
470
+ l.current && window.clearTimeout(l.current), l.current = null;
471
+ }, []);
472
+ return r.useEffect(() => f, [f]), r.useEffect(() => {
473
+ const c = p.current;
474
+ return () => {
475
+ window.clearTimeout(c), M(null);
476
+ };
477
+ }, [p, M]), /* @__PURE__ */ u(te, { asChild: !0, ...m, children: /* @__PURE__ */ u(
478
+ xe,
479
+ {
480
+ id: s.triggerId,
481
+ "aria-haspopup": "menu",
482
+ "aria-expanded": t.open,
483
+ "aria-controls": s.contentId,
484
+ "data-state": Ye(t.open),
485
+ ...e,
486
+ ref: qe(n, s.onTriggerChange),
487
+ onClick: (c) => {
488
+ var d;
489
+ (d = e.onClick) == null || d.call(e, c), !(e.disabled || c.defaultPrevented) && (c.currentTarget.focus(), t.open || t.onOpenChange(!0));
490
+ },
491
+ onPointerMove: h(
492
+ e.onPointerMove,
493
+ k((c) => {
494
+ a.onItemEnter(c), !c.defaultPrevented && !e.disabled && !t.open && !l.current && (a.onPointerGraceIntentChange(null), l.current = window.setTimeout(() => {
495
+ t.onOpenChange(!0), f();
496
+ }, 100));
497
+ })
498
+ ),
499
+ onPointerLeave: h(
500
+ e.onPointerLeave,
501
+ k((c) => {
502
+ var C, v;
503
+ f();
504
+ const d = (C = t.content) == null ? void 0 : C.getBoundingClientRect();
505
+ if (d) {
506
+ const w = (v = t.content) == null ? void 0 : v.dataset.side, y = w === "right", T = y ? -5 : 5, U = d[y ? "left" : "right"], B = d[y ? "right" : "left"];
507
+ a.onPointerGraceIntentChange({
508
+ area: [
509
+ // Apply a bleed on clientX to ensure that our exit point is
510
+ // consistently within polygon bounds
511
+ { x: c.clientX + T, y: c.clientY },
512
+ { x: U, y: d.top },
513
+ { x: B, y: d.top },
514
+ { x: B, y: d.bottom },
515
+ { x: U, y: d.bottom }
516
+ ],
517
+ side: w
518
+ }), window.clearTimeout(p.current), p.current = window.setTimeout(
519
+ () => a.onPointerGraceIntentChange(null),
520
+ 300
521
+ );
522
+ } else {
523
+ if (a.onTriggerLeave(c), c.defaultPrevented) return;
524
+ a.onPointerGraceIntentChange(null);
525
+ }
526
+ })
527
+ ),
528
+ onKeyDown: h(e.onKeyDown, (c) => {
529
+ var C;
530
+ const d = a.searchRef.current !== "";
531
+ e.disabled || d && c.key === " " || Mt[o.dir].includes(c.key) && (t.onOpenChange(!0), (C = t.content) == null || C.focus(), c.preventDefault());
532
+ })
533
+ }
534
+ ) });
535
+ }
536
+ );
537
+ Ue.displayName = O;
538
+ var Be = "MenuSubContent", Ve = r.forwardRef(
539
+ (e, n) => {
540
+ const t = Ee(_, e.__scopeMenu), { forceMount: o = t.forceMount, ...s } = e, a = E(_, e.__scopeMenu), l = G(_, e.__scopeMenu), p = Ke(Be, e.__scopeMenu), M = r.useRef(null), m = N(n, M);
541
+ return /* @__PURE__ */ u(D.Provider, { scope: e.__scopeMenu, children: /* @__PURE__ */ u(W, { present: o || a.open, children: /* @__PURE__ */ u(D.Slot, { scope: e.__scopeMenu, children: /* @__PURE__ */ u(
542
+ re,
543
+ {
544
+ id: p.contentId,
545
+ "aria-labelledby": p.triggerId,
546
+ ...s,
547
+ ref: m,
548
+ align: "start",
549
+ side: l.dir === "rtl" ? "left" : "right",
550
+ disableOutsidePointerEvents: !1,
551
+ disableOutsideScroll: !1,
552
+ trapFocus: !1,
553
+ onOpenAutoFocus: (f) => {
554
+ var c;
555
+ l.isUsingKeyboardRef.current && ((c = M.current) == null || c.focus()), f.preventDefault();
556
+ },
557
+ onCloseAutoFocus: (f) => f.preventDefault(),
558
+ onFocusOutside: h(e.onFocusOutside, (f) => {
559
+ f.target !== p.trigger && a.onOpenChange(!1);
560
+ }),
561
+ onEscapeKeyDown: h(e.onEscapeKeyDown, (f) => {
562
+ l.onClose(), f.preventDefault();
563
+ }),
564
+ onKeyDown: h(e.onKeyDown, (f) => {
565
+ var C;
566
+ const c = f.currentTarget.contains(f.target), d = ht[l.dir].includes(f.key);
567
+ c && d && (a.onOpenChange(!1), (C = p.trigger) == null || C.focus(), f.preventDefault());
568
+ })
569
+ }
570
+ ) }) }) });
571
+ }
572
+ );
573
+ Ve.displayName = Be;
574
+ function Ye(e) {
575
+ return e ? "open" : "closed";
576
+ }
577
+ function H(e) {
578
+ return e === "indeterminate";
579
+ }
580
+ function ue(e) {
581
+ return H(e) ? "indeterminate" : e ? "checked" : "unchecked";
582
+ }
583
+ function Nt(e) {
584
+ const n = document.activeElement;
585
+ for (const t of e)
586
+ if (t === n || (t.focus(), document.activeElement !== n)) return;
587
+ }
588
+ function Ft(e, n) {
589
+ return e.map((t, o) => e[(n + o) % e.length]);
590
+ }
591
+ function Lt(e, n, t) {
592
+ const s = n.length > 1 && Array.from(n).every((m) => m === n[0]) ? n[0] : n, a = t ? e.indexOf(t) : -1;
593
+ let l = Ft(e, Math.max(a, 0));
594
+ s.length === 1 && (l = l.filter((m) => m !== t));
595
+ const M = l.find(
596
+ (m) => m.toLowerCase().startsWith(s.toLowerCase())
597
+ );
598
+ return M !== t ? M : void 0;
599
+ }
600
+ function Kt(e, n) {
601
+ const { x: t, y: o } = e;
602
+ let s = !1;
603
+ for (let a = 0, l = n.length - 1; a < n.length; l = a++) {
604
+ const p = n[a], M = n[l], m = p.x, f = p.y, c = M.x, d = M.y;
605
+ f > o != d > o && t < (c - m) * (o - f) / (d - f) + m && (s = !s);
606
+ }
607
+ return s;
8
608
  }
9
- function x(t) {
10
- return t.toLowerCase().replace(A, " ");
609
+ function Gt(e, n) {
610
+ if (!n) return !1;
611
+ const t = { x: e.clientX, y: e.clientY };
612
+ return Kt(t, n);
11
613
  }
12
- function M(t, o, e) {
13
- return t = e && e.length > 0 ? `${t + " " + e.join(" ")}` : t, $(t, o, x(t), x(o), 0, 0, {});
614
+ function k(e) {
615
+ return (n) => n.pointerType === "mouse" ? e(n) : void 0;
14
616
  }
617
+ var an = Pe, sn = te, un = we, ln = Ie, dn = ce, fn = ye, mn = z, pn = be, Mn = Ae, hn = De, vn = Ne, Cn = Fe, gn = Le, _n = Ge, Rn = Ue, Sn = Ve;
15
618
  export {
16
- M as a
619
+ sn as Anchor,
620
+ gn as Arrow,
621
+ pn as CheckboxItem,
622
+ ln as Content,
623
+ dn as Group,
624
+ mn as Item,
625
+ vn as ItemIndicator,
626
+ fn as Label,
627
+ Pe as Menu,
628
+ te as MenuAnchor,
629
+ Le as MenuArrow,
630
+ be as MenuCheckboxItem,
631
+ Ie as MenuContent,
632
+ ce as MenuGroup,
633
+ z as MenuItem,
634
+ Ne as MenuItemIndicator,
635
+ ye as MenuLabel,
636
+ we as MenuPortal,
637
+ Ae as MenuRadioGroup,
638
+ De as MenuRadioItem,
639
+ Fe as MenuSeparator,
640
+ Ge as MenuSub,
641
+ Ve as MenuSubContent,
642
+ Ue as MenuSubTrigger,
643
+ un as Portal,
644
+ Mn as RadioGroup,
645
+ hn as RadioItem,
646
+ an as Root,
647
+ Cn as Separator,
648
+ _n as Sub,
649
+ Sn as SubContent,
650
+ Rn as SubTrigger,
651
+ cn as createMenuScope
17
652
  };