@iamfiro/design 0.1.0 → 0.3.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 (160) hide show
  1. package/AGENTS.md +1 -0
  2. package/agents/INDEX.md +1 -0
  3. package/agents/brand-icon/AGENTS.md +2 -2
  4. package/agents/social-login-button/AGENTS.md +156 -0
  5. package/lib/components/Accordion/Accordion2.js +135 -0
  6. package/lib/components/ActionBar/ActionBar2.js +65 -0
  7. package/lib/components/Alert/Alert2.js +131 -0
  8. package/lib/components/AppShell/AppShell2.js +94 -0
  9. package/lib/components/AreaChart/AreaChart.js +59 -0
  10. package/lib/components/BarChart/BarChart2.js +243 -0
  11. package/lib/components/BarList/BarList2.js +172 -0
  12. package/lib/components/Breadcrumb/Breadcrumb2.js +87 -0
  13. package/lib/components/Calendar/Calendar2.js +309 -0
  14. package/lib/components/Calendar/DatePicker2.js +229 -0
  15. package/lib/components/Calendar/date.js +121 -0
  16. package/lib/components/Card/Card2.js +104 -0
  17. package/lib/components/CardFrame/CardFrame2.js +72 -0
  18. package/lib/components/Chart/ChartParts.js +150 -0
  19. package/lib/components/Chart/chart2.js +96 -0
  20. package/lib/components/Chart/useChartInteraction.js +94 -0
  21. package/lib/components/ChatBubble/ChatBubble2.js +174 -0
  22. package/lib/components/ChatBubble/formatChatTime.js +53 -0
  23. package/lib/components/ChatComposer/ChatComposer2.js +153 -0
  24. package/lib/components/CodeBlock/CodeBlock2.js +93 -0
  25. package/lib/components/CodeBlock/highlight.js +114 -0
  26. package/lib/components/ColorPicker/ColorPicker2.js +610 -0
  27. package/lib/components/ColorPicker/color.js +180 -0
  28. package/lib/components/ColorPicker/presets.js +75 -0
  29. package/lib/components/Combobox/Combobox2.js +229 -0
  30. package/lib/components/CommandMenu/CommandMenu.js +267 -0
  31. package/lib/components/Comment/Comment2.js +134 -0
  32. package/lib/components/ContextMenu/ContextMenu2.js +168 -0
  33. package/lib/components/DataGrid/DataGrid2.js +1996 -0
  34. package/lib/components/DataGrid/GridPopover.js +154 -0
  35. package/lib/components/DataGrid/anchor.js +50 -0
  36. package/lib/components/DataGrid/model.js +558 -0
  37. package/lib/components/DataGrid/panels.js +703 -0
  38. package/lib/components/DataGrid/typeMeta.js +76 -0
  39. package/lib/components/DataGrid/types.js +54 -0
  40. package/lib/components/DescriptionList/DescriptionList2.js +180 -0
  41. package/lib/components/Dialog/AlertDialog.js +118 -0
  42. package/lib/components/Dialog/Dialog2.js +109 -0
  43. package/lib/components/Dialog/modal.js +92 -0
  44. package/lib/components/Drawer/Drawer2.js +244 -0
  45. package/lib/components/DropdownMenu/DropdownMenu2.js +394 -0
  46. package/lib/components/DropdownMenu/menuCore.js +63 -0
  47. package/lib/components/Dropzone/Dropzone2.js +144 -0
  48. package/lib/components/EmptyState/EmptyState2.js +72 -0
  49. package/lib/components/FileChip/FileChip2.js +118 -0
  50. package/lib/components/FileUpload/FileUpload.js +258 -0
  51. package/lib/components/FilterChips/FilterChips2.js +101 -0
  52. package/lib/components/FunnelChart/FunnelChart2.js +283 -0
  53. package/lib/components/FunnelChart/funnel.js +69 -0
  54. package/lib/components/Highlight/Highlight2.js +100 -0
  55. package/lib/components/HoverCard/HoverCard.js +134 -0
  56. package/lib/components/InlineDiff/InlineDiff2.js +215 -0
  57. package/lib/components/InlineDiff/diff.js +126 -0
  58. package/lib/components/InlineDiff/useDiffReview.js +109 -0
  59. package/lib/components/Kanban/Kanban2.js +691 -0
  60. package/lib/components/Kanban/KanbanCard.js +159 -0
  61. package/lib/components/Kanban/move.js +69 -0
  62. package/lib/components/LineChart/LineChart2.js +342 -0
  63. package/lib/components/List/List2.js +133 -0
  64. package/lib/components/Listbox/Listbox2.js +163 -0
  65. package/lib/components/Marker/Marker2.js +82 -0
  66. package/lib/components/Menubar/Menubar2.js +223 -0
  67. package/lib/components/MultiSelect/MultiSelect2.js +204 -0
  68. package/lib/components/NavigationMenu/NavigationMenu2.js +481 -0
  69. package/lib/components/NoticeStack/NoticeStack2.js +178 -0
  70. package/lib/components/NumberStepper/NumberStepper2.js +129 -0
  71. package/lib/components/OtpInput/OtpInput2.js +122 -0
  72. package/lib/components/Pagination/Pagination2.js +210 -0
  73. package/lib/components/Pagination/paginationRange.js +53 -0
  74. package/lib/components/PhoneInput/PhoneInput.js +175 -0
  75. package/lib/components/PieChart/PieChart2.js +246 -0
  76. package/lib/components/PieChart/arc.js +66 -0
  77. package/lib/components/PieChart/useArcTween.js +94 -0
  78. package/lib/components/Popover/Popover2.js +112 -0
  79. package/lib/components/ProgressTracker/ProgressTracker2.js +226 -0
  80. package/lib/components/Rating/Rating2.js +186 -0
  81. package/lib/components/Resizable/Resizable2.js +236 -0
  82. package/lib/components/Resizable/layout.js +115 -0
  83. package/lib/components/ScaledPreview/ScaledPreview2.js +100 -0
  84. package/lib/components/ScatterChart/ScatterChart2.js +356 -0
  85. package/lib/components/ScatterChart/scatter.js +83 -0
  86. package/lib/components/ScrollArea/ScrollArea2.js +218 -0
  87. package/lib/components/Select/Select2.js +153 -0
  88. package/lib/components/Sidebar/Sidebar2.js +127 -0
  89. package/lib/components/Skeleton/Skeleton2.js +91 -0
  90. package/lib/components/Slider/Slider2.js +142 -0
  91. package/lib/components/SocialLoginButton/SocialLoginButton.js +85 -0
  92. package/lib/components/SparkChart/SparkChart2.js +217 -0
  93. package/lib/components/SparkChart/spark.js +76 -0
  94. package/lib/components/Sparkbar/Sparkbar2.js +111 -0
  95. package/lib/components/SplitView/SplitView2.js +95 -0
  96. package/lib/components/Stat/Stat2.js +164 -0
  97. package/lib/components/StepList/StepList2.js +131 -0
  98. package/lib/components/Table/Table2.js +104 -0
  99. package/lib/components/Tabs/Tabs2.js +131 -0
  100. package/lib/components/TagInput/TagInput2.js +360 -0
  101. package/lib/components/TimePicker/TimePicker2.js +388 -0
  102. package/lib/components/TimePicker/time.js +83 -0
  103. package/lib/components/Timeline/Timeline2.js +369 -0
  104. package/lib/components/Timeline/scale.js +83 -0
  105. package/lib/components/Toast/Toaster.js +212 -0
  106. package/lib/components/Toast/store.js +129 -0
  107. package/lib/components/ToggleGroup/ToggleGroup2.js +125 -0
  108. package/lib/components/Toolbar/Toolbar2.js +281 -0
  109. package/lib/components/Tracker/Tracker2.js +172 -0
  110. package/lib/components/TreeDiagram/TreeDiagram2.js +223 -0
  111. package/lib/components/TreeView/TreeView2.js +284 -0
  112. package/lib/hooks/timing.js +55 -0
  113. package/lib/hooks/useControllableState.js +49 -0
  114. package/lib/hooks/useCountdown.js +80 -0
  115. package/lib/hooks/useDigitInput.js +105 -0
  116. package/lib/hooks/useDismiss.js +71 -0
  117. package/lib/hooks/useElapsed.js +83 -0
  118. package/lib/hooks/useFloating.js +70 -0
  119. package/lib/hooks/useFocusTrap.js +61 -0
  120. package/lib/hooks/usePresence.js +60 -0
  121. package/lib/hooks/usePressToOpen.js +69 -0
  122. package/lib/hooks/useScrollLock.js +70 -0
  123. package/lib/hooks/useSelection.js +68 -0
  124. package/lib/index.js +175 -17911
  125. package/lib/primitives/AspectRatio2.js +80 -0
  126. package/lib/primitives/BrandIcon.js +245 -0
  127. package/lib/primitives/ColorDot2.js +70 -0
  128. package/lib/primitives/CopyButton2.js +85 -0
  129. package/lib/primitives/CountBadge2.js +78 -0
  130. package/lib/primitives/Countdown2.js +65 -0
  131. package/lib/primitives/Delta2.js +67 -0
  132. package/lib/primitives/Elapsed.js +62 -0
  133. package/lib/primitives/FileIcon2.js +125 -0
  134. package/lib/primitives/Flag2.js +263 -0
  135. package/lib/primitives/IconStack2.js +85 -0
  136. package/lib/primitives/IconTile2.js +68 -0
  137. package/lib/primitives/Kbd2.js +88 -0
  138. package/lib/primitives/Layout2.js +118 -0
  139. package/lib/primitives/Link2.js +53 -0
  140. package/lib/primitives/MaskedText2.js +120 -0
  141. package/lib/primitives/Progress2.js +137 -0
  142. package/lib/primitives/RelativeTime.js +84 -0
  143. package/lib/primitives/SearchInput2.js +84 -0
  144. package/lib/primitives/SelectorButton2.js +97 -0
  145. package/lib/primitives/Spinner2.js +98 -0
  146. package/lib/primitives/StatusIcon2.js +126 -0
  147. package/lib/primitives/Swatch2.js +79 -0
  148. package/lib/primitives/Tooltip2.js +132 -0
  149. package/lib/primitives/Typography2.js +97 -0
  150. package/lib/primitives/formatCountdown.js +51 -0
  151. package/lib/primitives/formatElapsed.js +66 -0
  152. package/lib/primitives/formatRelativeTime.js +64 -0
  153. package/lib/primitives/hotkey.js +94 -0
  154. package/lib/primitives/index.js +352 -0
  155. package/lib/primitives/maskValue.js +65 -0
  156. package/lib/style.css +1 -1
  157. package/lib/types/components/SocialLoginButton/SocialLoginButton.d.ts +10 -0
  158. package/lib/types/components/index.d.ts +2 -0
  159. package/lib/types/primitives/BrandIcon.d.ts +1 -1
  160. package/package.json +2 -1
@@ -0,0 +1,244 @@
1
+ "use client";
2
+ const e = _;
3
+ (function(e, t) {
4
+ let n = _, r = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(205)) / 1 + parseInt(n(258)) / 2 + -parseInt(n(221)) / 3 * (parseInt(n(219)) / 4) + parseInt(n(272)) / 5 + -parseInt(n(215)) / 6 * (-parseInt(n(210)) / 7) + -parseInt(n(256)) / 8 + parseInt(n(265)) / 9 * (-parseInt(n(250)) / 10) == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(c, 503504);
12
+ import { TIMING as t } from "../../hooks/timing.js";
13
+ import { useControllableState as n } from "../../hooks/useControllableState.js";
14
+ import { Button as r, cx as i } from "../../primitives/index.js";
15
+ import { focusableIn as a } from "../../hooks/useFocusTrap.js";
16
+ import { modalTrigger as o, useModalLayer as s } from "../Dialog/modal.js";
17
+ /* empty css */
18
+ function c() {
19
+ let e = /* @__PURE__ */ "zM9JDxm.zhjHz2DPBMC.mta5ouPMChzQyq.BwLU.CMvTB3zLrxzLBNrmAxn0zw5LCG.zMLSDgvY.zhmTzhjHD2vYx19Wyw5LBc0TC25HChm.nJi5neTArejxzq.ywn0AxzLrwXLBwvUDa.ChjLDMvUDerLzMf1Bhq.y2XVC2LUzW.mJyYnJaWngXdq0nZvG.Cg9PBNrLCKLK.m1rdwwfcwG.C29YDa.zgf0yxnLDa.B2zMC2v0sgvPz2H0.ywjZ.zhmTzhjHD2vYx19Wyw5LBa.C2v0ug9PBNrLCKnHChr1CMu.y2XVC2vZDa.B2zMC2v0v2LKDgG.zhmTzhjHD2vYx190AxrSzq.y3vYCMvUDfrHCMDLDa.CMvTB3zLuhjVCgvYDhK.7iUC7yQ4ioYKHoYDToQ4Sa.ywrKrxzLBNrmAxn0zw5LCG.C3rHCNq.C2fTCgXLCW.Dhj1zq.y2XVC2vK.lMrZlwrYyxDLCL9FAgfUzgXL.zxHW.y29UDgfPBNm.zhmTzhjHD2vYx19OzwfKzxi.y3vYCMvUDa.Dg9W.ls1FzhjHzW.C3r5Bgu.Aw5KzxHpzG.7iUC7yQ4io2oVoY5MoQ4Sa.zgLHBg9N.mta4otuWugTutg1N.DgLTzvn0yw1W.lxrPDgXL.Cg9Z.zhmTzhjHD2vY.yM90Dg9T.mJe0nJmYseXzvKXe.zhmTzhjHD2vYx19Wyw5LBc0T.mte0ndCYnNPyB1fpsW.yNv0Dg9U.zhmTzhjHD2vYls1TB2rLBgvZCW.yNv0Dg9UlcbHlcbPBNb1DcWGDgv4DgfYzweSihnLBgvJDcWGw3jVBgu9iMj1DhrVBIjD.A2v5zg93BG.zhmTzhjHD2vYx19JBg9Zzq.Bw91BNrLza.mJDirxH5ruS.zhmTzhjHD2vYx19IB2r5igrZlxnJCM9SBa.CMvKDwnL.rxnJyxbL.zhmTzhjHD2vYx19Oyw5KBgu.BgvUz3rO.yM9KEq.mZu5nJu0nuTirwn5vW.CMLNAhq.B2zMC2v0.C2L6zq.zhmTzhjHD2vYx19Wyw5LBc0TAgfUzgXL.zhmTC3iTB25SEq.C2v0uhjVCgvYDhK.C3rVCfbYB3bHz2f0Aw9U.Bw92zwq.zhmTzhjHD2vYx19MB290zxi.B3bHy2L0Eq.zgL2.DgfYz2v0.y2XPzw50wq.CMvSzwfZzvbVAw50zxjdyxb0DxjL.mJm2odq2Ew11wgLf.y2XPzw50wa.zhmTzhjHD2vYls1PBNnLDa".split(".");
20
+ return c = function() {
21
+ return e;
22
+ }, c();
23
+ }
24
+ import { useEffect as l, useId as ee, useRef as u, useState as d } from "react";
25
+ import { X as te } from "lucide-react";
26
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
27
+ import { createPortal as ne } from "react-dom";
28
+ var re = 260, ie = .4, ae = 180, oe = .35, h = (t) => 72 * (1 - Math[e(240)](-t / 140));
29
+ function g({ open: c, defaultOpen: g = !1, onOpenChange: _, trigger: v, title: y, description: b, children: x, footer: S, side: C = "right", size: se = "md", dismissible: w = !0, showClose: ce = !0, initialFocus: T, hideTitle: E = !1, modal: D = !0, inset: le = !1, handle: ue, snapPoints: de, snap: O, defaultSnap: fe, onSnapChange: pe, className: me }) {
30
+ let k = e, [A, j] = n(c, g, _), M = u(null), N = u(null), P = ee(), { presence: F, close: he, onKeyDown: ge, outsideProps: _e } = s({
31
+ open: A,
32
+ setOpen: j,
33
+ dismissible: w,
34
+ exitMs: re,
35
+ panelRef: M,
36
+ initialFocus: T,
37
+ modal: D
38
+ }), ve = o(v, A, () => j(!0)), I = C === k(244) || C === k(255), L = I && (ue ?? C === k(255)), R = I && de?.[k(270)] ? [...de][k(222)]((e, t) => e - t) : [1], z = fe ?? R[R[k(270)] - 1], [ye, B] = d(z), [be, xe] = d(A);
39
+ A !== be && (xe(A), A && B(z));
40
+ let V = O ?? ye, H = (e) => {
41
+ O === void 0 && B(e), pe?.(e);
42
+ };
43
+ l(() => {
44
+ let e = k, t = M[e(243)];
45
+ if (D || !A || !t) return;
46
+ let n = document[e(216)], r = requestAnimationFrame(() => (T?.[e(243)] ?? a(t)[0] ?? t)[e(208)]({ preventScroll: !0 }));
47
+ return () => {
48
+ let i = e;
49
+ cancelAnimationFrame(r), t[i(241)](document[i(216)]) && n?.[i(208)]({ preventScroll: !0 });
50
+ };
51
+ }, [
52
+ D,
53
+ A,
54
+ T
55
+ ]), l(() => {
56
+ let e = k, t = M.current;
57
+ A && t && (t[e(246)].removeProperty(e(245)), delete t[e(223)].dragging, N[e(243)] && (N[e(243)][e(246)][e(282)] = ""));
58
+ }, [A]);
59
+ let U = u(null), W = u(!1), G = u(() => {});
60
+ l(() => () => G[k(243)](), []);
61
+ let K = (e, t) => (1 - e) * t, q = (e, t) => {
62
+ let n = k, r = M[n(243)];
63
+ if (!r) return;
64
+ if (e === null) {
65
+ r[n(246)][n(232)]("--_drag"), delete r.dataset[n(209)], N.current && (N[n(243)][n(246)].opacity = "");
66
+ return;
67
+ }
68
+ r[n(223)][n(209)] = "", r[n(246)][n(278)](n(245), e - K(V, t) + "px");
69
+ let i = K(R[R[n(270)] - 1], t);
70
+ N[n(243)] && (N[n(243)][n(246)][n(282)] = String(Math[n(211)](1, Math.max(0, 1 - (e - i) / (t - i)))));
71
+ }, J = () => {
72
+ let e = k, t = U[e(243)];
73
+ U.current = null, G.current(), t?.el.hasPointerCapture?.(t.pointerId) && t.el[e(204)](t[e(220)]);
74
+ }, Y = () => {
75
+ J(), q(null, 0);
76
+ }, X = (e) => I ? e[k(285)] : e[k(206)], Se = C === k(255) || C === k(273) ? 1 : -1, Z = L ? {
77
+ onPointerDown: (e) => {
78
+ let t = k;
79
+ if (!L || e[t(259)] !== 0 || F[t(218)]) return;
80
+ let n = e[t(284)];
81
+ if (!n[t(228)](".ds-drawer__handle") && n[t(228)](t(261))) return;
82
+ let r = M[t(243)];
83
+ if (!r) return;
84
+ let i = I ? r[t(224)] : r[t(229)], a = X(e);
85
+ U[t(243)] = {
86
+ pointerId: e[t(220)],
87
+ el: e[t(231)],
88
+ fromHandle: !!n.closest(t(239)),
89
+ start: a,
90
+ base: K(V, i),
91
+ size: i,
92
+ offset: K(V, i),
93
+ moved: !1,
94
+ samples: [{
95
+ pos: a,
96
+ t: e.timeStamp
97
+ }]
98
+ }, W[t(243)] = !1, e[t(231)][t(227)]?.(e.pointerId);
99
+ let o = (e) => {
100
+ let n = t;
101
+ e.key === n(268) && (e[n(217)](), e[n(279)](), W.current = !!U.current?.fromHandle, Y());
102
+ };
103
+ window[t(234)](t(262), o, !0), G[t(243)] = () => {
104
+ let e = t;
105
+ window[e(212)](e(262), o, !0), G.current = () => {};
106
+ };
107
+ },
108
+ onPointerMove: (e) => {
109
+ let n = k, r = U.current;
110
+ if (!r || e[n(220)] !== r[n(220)]) return;
111
+ let i = X(e), a = (i - r[n(235)]) * Se;
112
+ if (!r[n(280)] && Math[n(225)](a) < t.dragThreshold) return;
113
+ r[n(280)] = !0, r.samples = [...r.samples[n(213)]((t) => e[n(251)] - t.t < 100), {
114
+ pos: i,
115
+ t: e.timeStamp
116
+ }];
117
+ let o = K(R[R.length - 1], r[n(275)]), s = K(R[0], r[n(275)]), c = r.base + a;
118
+ c < o ? c = o - h(o - c) : !w && c > s && (c = s + h(c - s)), r[n(274)] = c, q(c, r[n(275)]);
119
+ },
120
+ onPointerUp: (e) => {
121
+ let t = k, n = U[t(243)];
122
+ if (!n || e[t(220)] !== n[t(220)]) return;
123
+ if (J(), !n.moved) {
124
+ q(null, 0);
125
+ return;
126
+ }
127
+ W.current = n.fromHandle;
128
+ let r = n[t(236)][0], i = n[t(236)][n[t(236)][t(270)] - 1], a = i.t > r.t ? (i[t(253)] - r[t(253)]) * Se / (i.t - r.t) : 0, o = n[t(274)] + a * ae, s = K(R[0], n[t(275)]);
129
+ if (w && (o > s + (n.size - s) * oe || a > ie && n[t(274)] > s)) {
130
+ j(!1);
131
+ return;
132
+ }
133
+ let c = R[t(267)]((e, r) => Math[t(225)](K(r, n[t(275)]) - o) < Math[t(225)](K(e, n[t(275)]) - o) ? r : e);
134
+ q(null, 0), c !== V && H(c);
135
+ },
136
+ onPointerCancel: (e) => {
137
+ let t = k;
138
+ U[t(243)]?.[t(220)] === e[t(220)] && Y();
139
+ }
140
+ } : {}, Ce = L && (R.length > 1 ? p(k(259), {
141
+ type: "button",
142
+ className: k(269),
143
+ "aria-label": V === R[R[k(270)] - 1] ? k(233) : k(248),
144
+ onClick: (e) => {
145
+ let t = k;
146
+ if (W[t(243)] && e.detail !== 0) {
147
+ W[t(243)] = !1;
148
+ return;
149
+ }
150
+ let n = R[t(247)](V);
151
+ H(R[(n + 1) % R.length]);
152
+ },
153
+ ...Z
154
+ }) : p(k(283), {
155
+ className: k(269),
156
+ "aria-hidden": !0,
157
+ ...Z
158
+ })), Q = P + k(252), $ = P + "-desc";
159
+ return m(f, { children: [ve, F[k(264)] && ne(m(k(283), {
160
+ className: i(k(254), "ds-drawer--" + C, !D && k(260), le && k(207)),
161
+ "data-state": F[k(218)] ? k(238) : "open",
162
+ onKeyDown: ge,
163
+ children: [D && p(k(283), {
164
+ ref: N,
165
+ className: "ds-drawer__overlay",
166
+ "aria-hidden": !0,
167
+ ..._e
168
+ }), m(k(283), {
169
+ ref: M,
170
+ role: k(249),
171
+ "aria-modal": D ? k(237) : void 0,
172
+ "aria-labelledby": Q,
173
+ "aria-describedby": b ? $ : void 0,
174
+ tabIndex: -1,
175
+ "data-side": C,
176
+ className: i(k(226), k(257) + se, L && k(276), R[k(270)] > 1 && k(214), E && "ds-drawer__panel--hide-title", me),
177
+ style: { "--_snap": (1 - V) * 100 + "%" },
178
+ children: [
179
+ C === "bottom" && Ce,
180
+ E ? m(f, { children: [p("h2", {
181
+ id: Q,
182
+ className: "ds-sr-only",
183
+ children: y
184
+ }), b && p("p", {
185
+ id: $,
186
+ className: k(277),
187
+ children: b
188
+ })] }) : m(k(283), {
189
+ className: k(242),
190
+ ...C === k(255) ? Z : {},
191
+ children: [p("h2", {
192
+ id: Q,
193
+ className: k(230),
194
+ children: y
195
+ }), b && p("p", {
196
+ id: $,
197
+ className: "ds-drawer__desc",
198
+ children: b
199
+ })]
200
+ }),
201
+ x != null && p(k(283), {
202
+ className: k(266),
203
+ children: x
204
+ }),
205
+ S && p(k(283), {
206
+ className: k(281),
207
+ children: S
208
+ }),
209
+ C === k(244) && Ce,
210
+ ce && w && p(r, {
211
+ iconOnly: !0,
212
+ variant: "ghost",
213
+ size: "sm",
214
+ icon: p(te, {}),
215
+ "aria-label": "닫기",
216
+ className: k(263),
217
+ onClick: he
218
+ })
219
+ ]
220
+ })]
221
+ }), document[k(271)])] });
222
+ }
223
+ function _(e, t) {
224
+ e -= 204;
225
+ let n = c(), r = n[e];
226
+ _.tzKRwI === void 0 && (_.ldZXcN = function(e) {
227
+ let t = "", n = "";
228
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
229
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
230
+ return decodeURIComponent(n);
231
+ }, _.grVzGK = {}, _.tzKRwI = !0);
232
+ let i = n[0];
233
+ _.fbdyJJ !== i && (_.grVzGK = {}, _.fbdyJJ = i);
234
+ let a = _.grVzGK[e];
235
+ return a === void 0 ? (r = _.ldZXcN(r), _.grVzGK[e] = r) : r = a, r;
236
+ }
237
+ function v(t) {
238
+ let n = e;
239
+ return p(g, {
240
+ ...t,
241
+ side: n(255)
242
+ });
243
+ }
244
+ export { g as Drawer, v as Sheet };
@@ -0,0 +1,394 @@
1
+ "use client";
2
+ function e() {
3
+ let t = /* @__PURE__ */ "uMfKAw9jDgvT.zhmTBwvUDv9FzgvZyW.mZu2mZG3nu5QA3jWwa.BgvUz3rO.Bw91C2u.zhmTBwvUDv9Fy2HLy2S.zhmTBwvUDv9Fz3jVDxaTBgfIzwW.Bwv0yuTLEq.qxjYB3DvCa.C3rHCNrZv2L0Aa.sxrLBq.zhmTBwvUDv9FAwnVBG.CxvLCNLtzwXLy3rVCG.Aw5JBhvKzxm.q2HLy2TIB3HjDgvT.Bw91BNrLza.zhmTzMXVyxrPBMCGzhmTC2nYB2XSigrZlw1LBNuG.C2v0t3bLBLn1yG.rxnJyxbL.Aw5UzxjxAwr0Aa.yM90Dg9T.BgvMDa.uhjVDMLKzxi.CgfUzwXZ.vgfI.B25dAgfUz2u.Cg9PBNrLCG.zgv0ywLS.AgLKzgvU.A2v5.C2XPy2u.BwvUDwL0zw0.Dgv4DenVBNrLBNq.ngPSweX4uW.ChjLDMvUDerLzMf1Bhq.Aw5KzxHpzG.Cg9PBNrLCLr5Cgu.y3vYCMvUDa.BwLU.yNv0Dg9UlcbBAhjLzL0SifT0ywjPBMrLEf0.Bwf4.ywn0AxzLrwXLBwvUDa.twvUDsbPDgvTCYbTDxn0igjLihvZzwqGAw5ZAwrLidXeCM9Wzg93BK1LBNu+lca8q29UDgv4De1LBNu+ig9YidXnzw51yMfYtwvUDt4.qxjYB3DsAwDODa.zhmTBwvUDv9Fy2HLDNjVBG.zgvSzxrL.Ag92zxjhCMfJzq.Dg9W.uMfKAw9hCM91Ca.y2XVC2LUzW.w3jVBgu9iM1LBNuIxq.y3vYCMvUDfrHCMDLDa.C3rHCNq.C2v0vgLTzw91Da.Aw5UzxjizwLNAhq.C3rYAw5N.B2zMC2v0sgvPz2H0.z2v0qM91BMrPBMDdBgLLBNrszwn0.zhmTzMXVyxrPBMCGzhmTC2nYB2XSigrZlw1LBNu.zM9JDxm.BwvUDq.ChjLC2vUDgf0Aw9U.BwvUDwL0zw1JAgvJA2jVEa.yNv0Dg9U.rhjVCgrVD25nzw51uMfKAw9jDgvTig11C3qGyMuGAw5ZAwrLierYB3bKB3DUtwvUDvjHzgLVr3jVDxa.tgfIzwW.mtC1mJa0BM9jsKv2.ndKYnJiYnfLIzM10Cq.BwvUDwL0zw1YywrPBW.ywrK.Dg9mB3DLCKnHC2u.DgfYz2v0.zML4zwq.C3bHBG.qxjYB3DeB3DU.Ag92zxjjBNrLBNq.y2XPzw50wq.nJe4otflr3zMsNe.Dgv4Da.zhmTBwvUDv9FAw5KAwnHDg9Y.C2v0qwLT.y2XLyxjuAw1LB3v0.zhmTBwvUDv9FC2vW.rw5K.zhmTBwvUDv9FC2HVCNrJDxq.rw50zxi.u2vWyxjHDg9Y.A2v5yM9HCMq.zgL2.mtu4ntmXnfLQrKDKCa.zhmTBwvUDv9FAxrLBq.z3jVDxa.DMfSDwu.B2zMC2v0v2LKDgG.B3bLBG.mJaYnZuYnNjtBxP0sq.qxjYB3Dmzwz0.CMLNAhq.y2XPzw50wa.sg9Tzq.mJGXnteYmgD2DMPRCa".split(".");
4
+ return e = function() {
5
+ return t;
6
+ }, e();
7
+ }
8
+ const t = H;
9
+ (function(e, t) {
10
+ let n = H, r = e();
11
+ for (;;) try {
12
+ if (-parseInt(n(512)) / 1 + parseInt(n(501)) / 2 + -parseInt(n(423)) / 3 * (parseInt(n(468)) / 4) + parseInt(n(434)) / 5 + parseInt(n(429)) / 6 + parseInt(n(437)) / 7 + -parseInt(n(502)) / 8 == t) break;
13
+ r.push(r.shift());
14
+ } catch {
15
+ r.push(r.shift());
16
+ }
17
+ })(e, 291565);
18
+ import { Kbd as n } from "../../primitives/Kbd2.js";
19
+ import { TIMING as r } from "../../hooks/timing.js";
20
+ import { usePresence as i } from "../../hooks/usePresence.js";
21
+ import { useControllableState as a } from "../../hooks/useControllableState.js";
22
+ import { useFloating as o } from "../../hooks/useFloating.js";
23
+ import { useDismiss as s } from "../../hooks/useDismiss.js";
24
+ /* empty css */
25
+ import { MenuContext as c, menuItems as l, trackPressDragRelease as u, useMenuRoot as d } from "./menuCore.js";
26
+ /* empty css */
27
+ import { createContext as f, useContext as p, useEffect as m, useId as h, useLayoutEffect as g, useRef as _, useState as v } from "react";
28
+ import { Check as y, ChevronRight as b } from "lucide-react";
29
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
30
+ import { createPortal as w } from "react-dom";
31
+ var T = 160, E = c, D = l, O = () => {
32
+ let e = H, t = p(E);
33
+ if (!t) throw Error(e(477));
34
+ return t;
35
+ }, k = f({
36
+ openSub: null,
37
+ setOpenSub: () => {}
38
+ });
39
+ function A({ trigger: e, children: n, open: r, defaultOpen: c = !1, onOpenChange: l, align: f = t(487), minWidth: p = 200, "aria-label": g }) {
40
+ let v = t, [y, b] = a(r, c, l), x = i(y, T), w = _(null), O = _(null), k = _(v(461)), A = _(""), M = h(), { style: N, side: P } = o(w, x[v(450)], {
41
+ matchWidth: !1,
42
+ align: f,
43
+ panelRef: O,
44
+ maxHeight: 420
45
+ }), F = () => w[v(472)]?.[v(447)](v(474))?.[v(494)]({ preventScroll: !0 }), I = (e = !0) => {
46
+ b(!1), e && F();
47
+ }, L = d(I);
48
+ return s(y, [
49
+ w,
50
+ O,
51
+ ...L.panels
52
+ ], () => b(!1)), m(() => {
53
+ if (!y) return;
54
+ let e = requestAnimationFrame(() => {
55
+ let e = H;
56
+ k[e(472)] === "keyboard" ? D(O[e(472)])[0]?.focus({ preventScroll: !0 }) : O[e(472)]?.focus({ preventScroll: !0 });
57
+ });
58
+ return () => cancelAnimationFrame(e);
59
+ }, [y]), C(E.Provider, {
60
+ value: L,
61
+ children: [S(v(508), {
62
+ ref: w,
63
+ className: "ds-popover-anchor",
64
+ "aria-haspopup": v(495),
65
+ "aria-expanded": y,
66
+ "aria-controls": y ? M : void 0,
67
+ onPointerDown: (e) => {
68
+ let t = v;
69
+ if (A[t(472)] = e[t(471)], e[t(471)] === "mouse" && e[t(498)] === 0) {
70
+ if (e.preventDefault(), y) return I(!1);
71
+ k[t(472)] = t(461), b(!0), u(e);
72
+ }
73
+ },
74
+ onKeyDown: (e) => {
75
+ let t = v;
76
+ if (e[t(464)] === t(453) && y) return e[t(469)](), I();
77
+ [
78
+ "Enter",
79
+ " ",
80
+ t(509),
81
+ t(443)
82
+ ][t(448)](e.key) && (e.preventDefault(), k[t(472)] = t(421), b(!0), e[t(464)] === t(443) && requestAnimationFrame(() => D(O[t(472)]).at(-1)?.focus()));
83
+ },
84
+ onClick: (e) => {
85
+ let t = v;
86
+ (e[t(462)] === 0 || A[t(472)] !== t(439)) && (k[t(472)] = e[t(462)] === 0 ? t(421) : t(461), b(!y));
87
+ },
88
+ children: e
89
+ }), x[v(450)] && S(j, {
90
+ id: M,
91
+ panelRef: O,
92
+ side: P,
93
+ closing: x[v(484)],
94
+ style: {
95
+ ...N,
96
+ minWidth: p
97
+ },
98
+ "aria-label": g,
99
+ onEscape: () => I(),
100
+ children: n
101
+ })]
102
+ });
103
+ }
104
+ function j({ id: e, panelRef: n, side: r, closing: i, style: a, onEscape: o, onArrowLeft: s, onArrowRight: c, onPointerEnter: l, className: u, children: d, "aria-label": f, "aria-labelledby": p }) {
105
+ let m = t, { closeAll: h } = O(), g = _({
106
+ text: "",
107
+ at: 0
108
+ }), [y, b] = v(null);
109
+ return w(S(m(422), {
110
+ ref: n,
111
+ id: e,
112
+ role: m(495),
113
+ "aria-label": f,
114
+ "aria-labelledby": p,
115
+ tabIndex: -1,
116
+ className: u ? m(451) + u : m(493),
117
+ "data-side": r,
118
+ "data-state": i ? "closed" : m(428),
119
+ style: a,
120
+ onKeyDown: (e) => {
121
+ let t = H;
122
+ if (e[t(506)] instanceof HTMLElement && e[t(506)].closest(t(485)) !== n.current) return;
123
+ let r = D(n[t(472)]), i = r[t(470)](document[t(476)]), a = (e) => r[(e + r[t(438)]) % r[t(438)]]?.[t(494)]();
124
+ switch (e[t(464)]) {
125
+ case "ArrowDown":
126
+ e[t(469)](), a(i + 1);
127
+ break;
128
+ case "ArrowUp":
129
+ e[t(469)](), a(i < 0 ? -1 : i - 1);
130
+ break;
131
+ case t(433):
132
+ e[t(469)](), a(0);
133
+ break;
134
+ case t(518):
135
+ e[t(469)](), a(-1);
136
+ break;
137
+ case t(453):
138
+ e[t(469)](), e.stopPropagation(), o();
139
+ break;
140
+ case t(430):
141
+ s && (e.preventDefault(), s());
142
+ break;
143
+ case t(478):
144
+ c && (e[t(469)](), c());
145
+ break;
146
+ case t(459):
147
+ e[t(469)](), h(!0);
148
+ break;
149
+ default: if (e[t(464)][t(438)] === 1 && !e.ctrlKey && !e[t(442)] && !e.altKey) {
150
+ let n = Date.now(), a = g[t(472)];
151
+ a[t(513)] = n - a.at > 600 ? e[t(464)] : a[t(513)] + e[t(464)], a.at = n, [...r[t(465)](i + 1), ...r[t(465)](0, i + 1)].find((e) => e[t(467)]?.trim()[t(505)]()[t(444)](a[t(513)][t(505)]()))?.focus();
152
+ }
153
+ }
154
+ },
155
+ onPointerEnter: l,
156
+ onPointerDown: (e) => e[m(506)] === e[m(486)] && e[m(469)](),
157
+ children: S(k[m(457)], {
158
+ value: {
159
+ openSub: y,
160
+ setOpenSub: b
161
+ },
162
+ children: d
163
+ })
164
+ }), document.body);
165
+ }
166
+ function M({ role: e, checked: r, danger: i, disabled: a, icon: o, indicator: s, description: c, shortcut: l, trailing: u, children: d, onActivate: f, extra: m }) {
167
+ let h = t, { isAimingAtSub: g } = O(), _ = p(k), v = m?.["data-sub-trigger"] !== void 0;
168
+ return C(h(422), {
169
+ role: e,
170
+ tabIndex: -1,
171
+ "data-menu-item": "",
172
+ "aria-checked": r,
173
+ "aria-disabled": a || void 0,
174
+ "data-danger": i || void 0,
175
+ className: h(424),
176
+ onPointerMove: (e) => {
177
+ let t = h;
178
+ a || e[t(486)] === document.activeElement || g(e[t(432)], e[t(511)]) || (e[t(486)][t(494)]({ preventScroll: !0 }), v || _[t(452)](null));
179
+ },
180
+ onClick: () => !a && f(),
181
+ onKeyDown: (e) => {
182
+ let t = h;
183
+ e[t(464)] !== t(520) && e.key !== " " || a || (e.preventDefault(), f());
184
+ },
185
+ ...m,
186
+ children: [
187
+ s !== void 0 && S(h(508), {
188
+ className: h(514),
189
+ children: s
190
+ }),
191
+ o && S(h(508), {
192
+ className: h(446),
193
+ children: o
194
+ }),
195
+ C(h(508), {
196
+ className: "ds-menu__text",
197
+ children: [S(h(508), {
198
+ className: "ds-menu__label",
199
+ children: d
200
+ }), c && S(h(508), {
201
+ className: h(436),
202
+ children: c
203
+ })]
204
+ }),
205
+ l && S(n, {
206
+ keys: l,
207
+ size: "sm",
208
+ className: h(519)
209
+ }),
210
+ u
211
+ ]
212
+ });
213
+ }
214
+ function N({ onSelect: e, danger: t, keepOpen: n, ...r }) {
215
+ let { closeAll: i } = O();
216
+ return S(M, {
217
+ role: "menuitem",
218
+ danger: t,
219
+ ...r,
220
+ onActivate: () => {
221
+ n || i(), e?.();
222
+ }
223
+ });
224
+ }
225
+ function P({ checked: e, onCheckedChange: n, closeOnSelect: r, ...i }) {
226
+ let a = t, { closeAll: o } = O();
227
+ return S(M, {
228
+ role: a(497),
229
+ checked: e,
230
+ indicator: S(y, {
231
+ className: a(440),
232
+ "data-on": e || void 0
233
+ }),
234
+ ...i,
235
+ onActivate: () => {
236
+ n(!e), r && o();
237
+ }
238
+ });
239
+ }
240
+ var F = f(null);
241
+ function I({ value: e, onValueChange: n, label: r, children: i }) {
242
+ let a = t;
243
+ return S(F[a(457)], {
244
+ value: {
245
+ value: e,
246
+ onChange: n
247
+ },
248
+ children: C(a(422), {
249
+ role: a(425),
250
+ "aria-label": typeof r === a(490) ? r : void 0,
251
+ children: [r && S(R, { children: r }), i]
252
+ })
253
+ });
254
+ }
255
+ function L({ value: e, ...n }) {
256
+ let r = t, i = p(F);
257
+ if (!i) throw Error(r(499));
258
+ let a = i[r(426)] === e;
259
+ return S(M, {
260
+ role: r(503),
261
+ checked: a,
262
+ indicator: S("span", {
263
+ className: "ds-menu__dot",
264
+ "data-on": a || void 0
265
+ }),
266
+ ...n,
267
+ onActivate: () => i[r(460)](e)
268
+ });
269
+ }
270
+ function R({ children: e }) {
271
+ let n = t;
272
+ return S(n(422), {
273
+ role: n(496),
274
+ className: n(441),
275
+ children: e
276
+ });
277
+ }
278
+ function z() {
279
+ let e = t;
280
+ return S(e(422), {
281
+ role: "separator",
282
+ className: e(517)
283
+ });
284
+ }
285
+ function B([e, t], [n, r], [i, a], [o, s]) {
286
+ let c = (e, t, n, r, i, a) => (e - i) * (r - a) - (n - i) * (t - a), l = c(e, t, n, r, i, a), u = c(e, t, i, a, o, s), d = c(e, t, o, s, n, r);
287
+ return !((l < 0 || u < 0 || d < 0) && (l > 0 || u > 0 || d > 0));
288
+ }
289
+ function V({ label: e, icon: n, disabled: a, children: o }) {
290
+ let s = t, c = O(), l = p(k), u = h(), d = l.openSub === u, f = (e) => {
291
+ let t = H;
292
+ e ? l[t(452)](u) : l.openSub === u && l[t(452)](null);
293
+ }, y = i(d, T), w = _(null), E = _(null), A = _(0), N = _(null), [P, F] = v({
294
+ position: s(507),
295
+ visibility: s(463)
296
+ }), [I, L] = v(s(431));
297
+ m(() => () => window[s(516)](A[s(472)]), []), m(() => {
298
+ let e = s;
299
+ return c.panels[e(504)](E), () => {
300
+ let t = e;
301
+ c[t(458)][t(480)](E);
302
+ };
303
+ }, [c[s(458)]]), g(() => {
304
+ let e = s;
305
+ if (!y.mounted) return;
306
+ let t = w[e(472)]?.[e(492)](), n = E.current?.[e(427)] ?? 200, r = E.current?.[e(491)] ?? 0;
307
+ if (!t) return;
308
+ let i = t[e(431)] + 4 + n <= window[e(454)] - 8;
309
+ L(i ? "right" : e(456)), F({
310
+ position: e(507),
311
+ left: i ? t[e(431)] + 4 : t[e(456)] - 4 - n,
312
+ top: Math[e(475)](8, Math[e(473)](t[e(482)] - 6, window[e(489)] - r - 8)),
313
+ minWidth: 200
314
+ });
315
+ }, [y.mounted]), m(() => {
316
+ let e = s;
317
+ if (d) return c[e(515)]((t, n) => {
318
+ let r = e, i = N[r(472)], a = E[r(472)]?.[r(492)]();
319
+ if (!i || !a) return !1;
320
+ let o = I === r(431) ? a.left : a[r(431)];
321
+ return B([t, n], i, [o, a[r(482)] - 8], [o, a[r(455)] + 8]);
322
+ }), () => c[e(515)](null);
323
+ }, [
324
+ d,
325
+ I,
326
+ c
327
+ ]);
328
+ let R = (e) => {
329
+ let t = s;
330
+ window.clearTimeout(A.current), f(!0), e && requestAnimationFrame(() => D(E[t(472)])[0]?.[t(494)]());
331
+ }, z = (e) => {
332
+ let t = s;
333
+ window[t(516)](A.current), f(!1), N[t(472)] = null, e && w[t(472)]?.[t(494)]();
334
+ };
335
+ return C(x, { children: [S(M, {
336
+ role: s(466),
337
+ icon: n,
338
+ disabled: a,
339
+ trailing: S(b, { className: s(479) }),
340
+ onActivate: () => R(!0),
341
+ extra: {
342
+ ref: w,
343
+ "data-sub-trigger": "",
344
+ "data-open": d || void 0,
345
+ "aria-haspopup": s(495),
346
+ "aria-expanded": d,
347
+ onPointerEnter: () => {
348
+ let e = s;
349
+ a || (window[e(516)](A[e(472)]), A[e(472)] = window[e(488)](() => R(!1), r[e(510)]));
350
+ },
351
+ onPointerLeave: (e) => {
352
+ let t = s;
353
+ window[t(516)](A[t(472)]), d && (N[t(472)] = [e[t(432)], e[t(511)]], A[t(472)] = window[t(488)](() => z(!1), r[t(481)]));
354
+ },
355
+ onKeyDown: (e) => {
356
+ let t = s;
357
+ [
358
+ t(478),
359
+ t(520),
360
+ " "
361
+ ][t(448)](e.key) && !a && (e[t(469)](), e.stopPropagation(), R(!0));
362
+ }
363
+ },
364
+ children: e
365
+ }), y[s(450)] && S(j, {
366
+ panelRef: E,
367
+ side: I,
368
+ closing: y[s(484)],
369
+ style: P,
370
+ onEscape: () => z(!0),
371
+ onArrowLeft: () => z(!0),
372
+ onPointerEnter: () => {
373
+ let e = s;
374
+ window[e(516)](A.current), N[e(472)] = null;
375
+ },
376
+ children: o
377
+ })] });
378
+ }
379
+ A[t(445)] = N, A[t(449)] = P, A[t(483)] = I, A[t(435)] = L, A[t(500)] = R, A[t(420)] = z, A.Sub = V;
380
+ function H(t, n) {
381
+ t -= 420;
382
+ let r = e(), i = r[t];
383
+ H.egLuIb === void 0 && (H.AUxznS = function(e) {
384
+ let t = "", n = "";
385
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
386
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
387
+ return decodeURIComponent(n);
388
+ }, H.FxMaox = {}, H.egLuIb = !0);
389
+ let a = r[0];
390
+ H.HjRwWq !== a && (H.FxMaox = {}, H.HjRwWq = a);
391
+ let o = H.FxMaox[t];
392
+ return o === void 0 ? (i = H.AUxznS(i), H.FxMaox[t] = i) : i = o, i;
393
+ }
394
+ export { A as DropdownMenu, P as DropdownMenuCheckboxItem, N as DropdownMenuItem, R as DropdownMenuLabel, I as DropdownMenuRadioGroup, L as DropdownMenuRadioItem, z as DropdownMenuSeparator, V as DropdownMenuSub, j as MenuPanel };
@@ -0,0 +1,63 @@
1
+ "use client";
2
+ const e = r;
3
+ (function(e, t) {
4
+ let n = r, i = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(244)) / 1 + -parseInt(n(248)) / 2 * (-parseInt(n(230)) / 3) + -parseInt(n(251)) / 4 * (parseInt(n(234)) / 5) + -parseInt(n(241)) / 6 + -parseInt(n(229)) / 7 * (-parseInt(n(242)) / 8) + -parseInt(n(225)) / 9 * (-parseInt(n(223)) / 10) + parseInt(n(228)) / 11 * (parseInt(n(224)) / 12) == t) break;
7
+ i.push(i.shift());
8
+ } catch {
9
+ i.push(i.shift());
10
+ }
11
+ })(n, 509455);
12
+ import { TIMING as t } from "../../hooks/timing.js";
13
+ function n() {
14
+ let e = /* @__PURE__ */ "AhLWB3q.w3jVBgu9iM1LBNuIxq.CxvLCNLtzwXLy3rVCKfSBa.mZy2oduYnLn4Dg14wG.mtuWndG1nLbXuxn0AG.y2XPzw50wq.mteZmdC2s2TdwMDv.y2XPzw50wa.zwXLBwvUDezYB21qB2LUDa.w2rHDgeTBwvUDs1PDgvTxtPUB3qOw2fYAweTzgLZywjSzwq9iNrYDwuIxsK.mJm1nJuYBgXOs2rt.y2XVC2vZDa.y3vYCMvUDa.mta5ndaYnhL2vvjxEG.y2XPy2S.mty1oteWvLH0DvD2.nJy4mdrdr2XQuuu.ntq5CuDcrvDz.zgf0ys1ZDwiTDhjPz2DLCG.Cg9PBNrLCNvW.nJGYtMjMzev1.n1bdChH4tG.nLbMAMXbEq.CMvTB3zLrxzLBNrmAxn0zw5LCG.ywrKrxzLBNrmAxn0zw5LCG.AgfZqxr0CMLIDxrL.mtbuvuHPDK8.Cg9PBNrLCM1VDMu.zMLSDgvY.zhjHz1rOCMvZAg9Sza".split(".");
15
+ return n = function() {
16
+ return e;
17
+ }, n();
18
+ }
19
+ function r(e, t) {
20
+ e -= 223;
21
+ let i = n(), a = i[e];
22
+ r.CspFVQ === void 0 && (r.SfVAvo = function(e) {
23
+ let t = "", n = "";
24
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
25
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
26
+ return decodeURIComponent(n);
27
+ }, r.PpxQJt = {}, r.CspFVQ = !0);
28
+ let o = i[0];
29
+ r.RGRJju !== o && (r.PpxQJt = {}, r.RGRJju = o);
30
+ let s = r.PpxQJt[e];
31
+ return s === void 0 ? (a = r.SfVAvo(a), r.PpxQJt[e] = a) : a = s, a;
32
+ }
33
+ import { createContext as i, useRef as a, useState as o } from "react";
34
+ var s = "[data-menu-item]:not([aria-disabled=\"true\"])", c = i(null);
35
+ function l(e) {
36
+ let t = r, n = a(null), [i] = o(() => /* @__PURE__ */ new Set());
37
+ return {
38
+ closeAll: e,
39
+ isAimingAtSub: (e, r) => n[t(250)]?.(e, r) ?? !1,
40
+ setAim: (e) => {
41
+ let r = t;
42
+ n[r(250)] = e;
43
+ },
44
+ panels: i
45
+ };
46
+ }
47
+ var u = (t) => [...t?.[e(240)](e(247)) ?? []][e(236)]((n) => n[e(249)](e(239)) === t);
48
+ function d(n) {
49
+ let r = e, i = {
50
+ x: n[r(245)],
51
+ y: n[r(243)]
52
+ }, a = !1, o = (e) => {
53
+ let n = r;
54
+ Math[n(238)](e[n(245)] - i.x, e[n(243)] - i.y) > t[n(237)] && (a = !0);
55
+ }, c = (e) => {
56
+ let t = r;
57
+ if (document[t(231)](t(235), o), document[t(231)](t(227), c), !a) return;
58
+ let n = document[t(246)](e[t(245)], e[t(243)])?.closest(s);
59
+ n && !n[t(233)](t(226)) && n[t(252)]();
60
+ };
61
+ document[r(232)](r(235), o), document[r(232)]("pointerup", c);
62
+ }
63
+ export { s as MENU_ITEM, c as MenuContext, u as menuItems, d as trackPressDragRelease, l as useMenuRoot };