@datawire-ai/busyfile-design-library 1.30.4 → 1.30.5

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