@mcp-use/inspector 20.0.0-beta.14 → 20.0.0-beta.16

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 (140) hide show
  1. package/README.md +2 -2
  2. package/dist/cdn/inspector.js +76909 -9272
  3. package/dist/cli.js +1 -1
  4. package/dist/server/cdn-shell.js +2 -2
  5. package/dist/server/{chunk-3XD7J5NX.js → chunk-FHC5ZGMM.js} +1 -1
  6. package/dist/server/{chunk-N3VXWLT6.js → chunk-QXOCY5ZE.js} +1 -1
  7. package/dist/server/{chunk-DLHO3Q42.js → chunk-R5ZEVRE5.js} +1 -1
  8. package/dist/server/cli.js +2 -2
  9. package/dist/server/index.js +3 -3
  10. package/dist/server/middleware.js +3 -3
  11. package/dist/server/version.js +1 -1
  12. package/dist/web/assets/index-BgHcVJO3.js +643 -0
  13. package/dist/web/index.html +2 -10
  14. package/package.json +4 -4
  15. package/dist/cdn/AnimatePresence-D1bZ5_-l.js +0 -394
  16. package/dist/cdn/ChatTab-D_2TXR3X.js +0 -6811
  17. package/dist/cdn/CheckboxIndicator-BjF73mGX.js +0 -252
  18. package/dist/cdn/ConnectionSettingsForm-BqH0PcZF.js +0 -929
  19. package/dist/cdn/ConnectionSettingsTab-Duhb1uQP.js +0 -151
  20. package/dist/cdn/ElicitationTab-PEmEDvC5.js +0 -655
  21. package/dist/cdn/FormContext-NtUiZclE.js +0 -135
  22. package/dist/cdn/InspectorContext-BBKCdfmK.js +0 -123
  23. package/dist/cdn/JSONDisplay-BJqMz7Ny.js +0 -324
  24. package/dist/cdn/ListTabHeader-DzmTtN1e.js +0 -89
  25. package/dist/cdn/MCPAppsDebugControls-w5NRWhlZ.js +0 -2174
  26. package/dist/cdn/ManufactOAuthCallback-ChbbjFIT.js +0 -31
  27. package/dist/cdn/MarkdownRenderer-BIsUE0bf.js +0 -3610
  28. package/dist/cdn/McpAppsViewPanel-B3_76u7O.js +0 -56
  29. package/dist/cdn/NotificationsTab-B7uebqMV.js +0 -290
  30. package/dist/cdn/OAuthCallback-CtLoXa3h.js +0 -58
  31. package/dist/cdn/PromptsTab-DpE0XLzk.js +0 -902
  32. package/dist/cdn/ResourcesTab-DQS24z5p.js +0 -566
  33. package/dist/cdn/SamplingTab-ZDeu0CjJ.js +0 -659
  34. package/dist/cdn/ServerMetadataTab-BM3VhSLf.js +0 -244
  35. package/dist/cdn/StatusIcon-Q3n3YRtE.js +0 -65
  36. package/dist/cdn/ToolsTab-LtviZSWA.js +0 -2045
  37. package/dist/cdn/ViewPreview-BwC_tbF_.js +0 -238
  38. package/dist/cdn/WidgetDebugContext-B6yoOVVV.js +0 -314
  39. package/dist/cdn/WidgetWrapper-BlbQAh_X.js +0 -12
  40. package/dist/cdn/basePath-B8HuhIMu.js +0 -25
  41. package/dist/cdn/bell-GrTZcnD2.js +0 -10
  42. package/dist/cdn/browser-DG2Z8392.js +0 -42
  43. package/dist/cdn/brush-CelVvMGp.js +0 -17
  44. package/dist/cdn/button-CB4uOoUV.js +0 -2509
  45. package/dist/cdn/card-BA-DQk-G.js +0 -41
  46. package/dist/cdn/cfWorker-Bxcs9rNe.js +0 -10799
  47. package/dist/cdn/checkbox-kwVa4gRX.js +0 -20
  48. package/dist/cdn/chunk-QUQL4437-XnDcYQEx.js +0 -1508
  49. package/dist/cdn/clock-YMF8Gtw5.js +0 -12
  50. package/dist/cdn/code-C8sN2OGR.js +0 -10
  51. package/dist/cdn/createLucideIcon-BONxC1L5.js +0 -213
  52. package/dist/cdn/dialog-CJGnC5Ag.js +0 -1028
  53. package/dist/cdn/dist-CHKts0NS.js +0 -2307
  54. package/dist/cdn/dist-CTJnCYmk.js +0 -616
  55. package/dist/cdn/external-link-Bo4lQxr1.js +0 -17
  56. package/dist/cdn/eye-pSGG7nvf.js +0 -29
  57. package/dist/cdn/folder-open-aM8CPtBO.js +0 -7
  58. package/dist/cdn/hash-DDs2vE1k.js +0 -33
  59. package/dist/cdn/history-BfUFpL1d.js +0 -17
  60. package/dist/cdn/index-browser-DO-sd0TA.js +0 -1853
  61. package/dist/cdn/info-BMkB68mB.js +0 -19
  62. package/dist/cdn/input-BCpgLXU1.js +0 -9654
  63. package/dist/cdn/inspector-settings-layout-0VDsjeqb.js +0 -4
  64. package/dist/cdn/label-A0UGV8FE.js +0 -60
  65. package/dist/cdn/loader-circle-BKRHJEB7.js +0 -7
  66. package/dist/cdn/manufact-auth-BQMHhbLV.js +0 -423
  67. package/dist/cdn/maximize-2-DdrB_spi.js +0 -21
  68. package/dist/cdn/maximize-hSOCz133.js +0 -21
  69. package/dist/cdn/message-square-D3tKB3uJ.js +0 -7
  70. package/dist/cdn/not-found-BajFyZpp.js +0 -32
  71. package/dist/cdn/play-B1leulYf.js +0 -7
  72. package/dist/cdn/providerMeta-CjGU4rID.js +0 -436
  73. package/dist/cdn/react-BDA-xrgK.js +0 -5421
  74. package/dist/cdn/react-BIs9pQ3H.js +0 -926
  75. package/dist/cdn/refresh-cw-CyvXrS91.js +0 -21
  76. package/dist/cdn/save-CmdEPUAm.js +0 -34
  77. package/dist/cdn/schemaHelpers-DTV38jGq.js +0 -16
  78. package/dist/cdn/select-CCFHjOGk.js +0 -2595
  79. package/dist/cdn/servers-Dd0Vcp81.js +0 -30
  80. package/dist/cdn/shared-CJVHJhag.js +0 -1700
  81. package/dist/cdn/sheet-oyq1mIyg.js +0 -2078
  82. package/dist/cdn/sparkles-CxeZpVtX.js +0 -23
  83. package/dist/cdn/spinner-Be1GlSGX.js +0 -15
  84. package/dist/cdn/square-check-big-C_4wbfwF.js +0 -10
  85. package/dist/cdn/switch-DHXEA_N5.js +0 -665
  86. package/dist/cdn/tabs-subtle-Dubd6Kj8.js +0 -788
  87. package/dist/cdn/telemetry-e4uEESP7.js +0 -208
  88. package/dist/cdn/textarea-CwmI8_uI.js +0 -14
  89. package/dist/cdn/trash-2-BhumJAFE.js +0 -25
  90. package/dist/cdn/useAriaLabelledBy-Cra6w3YY.js +0 -30
  91. package/dist/cdn/useCompositeItem-Dhnm-7el.js +0 -26
  92. package/dist/cdn/useConfig-Dw_6Ztzr.js +0 -235
  93. package/dist/cdn/useSavedRequests-mSIsDd4c.js +0 -51
  94. package/dist/cdn/useViewHostProps-BPApUBaM.js +0 -364
  95. package/dist/cdn/wrench-DvK20LUT.js +0 -7
  96. package/dist/cdn/x-EilKPiCX.js +0 -10
  97. package/dist/cdn/zap-0Wr9QO7N.js +0 -10
  98. package/dist/web/assets/AnimatePresence-FfDQQNFJ.js +0 -9
  99. package/dist/web/assets/ChatTab-BhoU_ges.js +0 -18
  100. package/dist/web/assets/ConnectionSettingsTab-vJcr7uI3.js +0 -1
  101. package/dist/web/assets/ElicitationTab-4my-wtXf.js +0 -1
  102. package/dist/web/assets/FormContext-sV-yByKz.js +0 -1
  103. package/dist/web/assets/ListTabHeader-CrGae306.js +0 -1
  104. package/dist/web/assets/MCPAppsDebugControls-Cd4s9mr1.js +0 -34
  105. package/dist/web/assets/ManufactOAuthCallback-CCRWJhuT.js +0 -1
  106. package/dist/web/assets/MarkdownRenderer-BUDZYHqm.js +0 -47
  107. package/dist/web/assets/McpAppsViewPanel-Cil7Fdy4.js +0 -1
  108. package/dist/web/assets/NotificationsTab-Bl3O5PRb.js +0 -1
  109. package/dist/web/assets/OAuthCallback-CceVgo-9.js +0 -1
  110. package/dist/web/assets/PromptsTab-8lSxb8x-.js +0 -15
  111. package/dist/web/assets/ResourcesTab-DtGfgsPv.js +0 -2
  112. package/dist/web/assets/SamplingTab-XC-DTfOo.js +0 -1
  113. package/dist/web/assets/ServerMetadataTab-C5d_dI3_.js +0 -1
  114. package/dist/web/assets/ToolsTab-DuHPXItY.js +0 -8
  115. package/dist/web/assets/ViewPreview-DXswO9q8.js +0 -1
  116. package/dist/web/assets/WidgetWrapper-cv_BM1bY.js +0 -1
  117. package/dist/web/assets/brush-DX0UZ_pI.js +0 -1
  118. package/dist/web/assets/button-C8Xa2k4x.js +0 -1
  119. package/dist/web/assets/checkbox-DAfdiGl1.js +0 -1
  120. package/dist/web/assets/code-B14rVdNt.js +0 -1
  121. package/dist/web/assets/createLucideIcon-BEHeJH0M.js +0 -1
  122. package/dist/web/assets/dist-C2Y1wkk6.js +0 -21
  123. package/dist/web/assets/index-tu5-QdSJ.js +0 -499
  124. package/dist/web/assets/input-C0OQCUZy.js +0 -1
  125. package/dist/web/assets/inspector-settings-layout-yjKRJDai.js +0 -1
  126. package/dist/web/assets/label-CI7JWQOo.js +0 -1
  127. package/dist/web/assets/maximize-2-Br1WQzT2.js +0 -1
  128. package/dist/web/assets/maximize-CJNgRe6S.js +0 -1
  129. package/dist/web/assets/react-CU_d2d5K.js +0 -1
  130. package/dist/web/assets/refresh-cw-B5iaAZKn.js +0 -1
  131. package/dist/web/assets/save-TM6fvNrt.js +0 -1
  132. package/dist/web/assets/schemaHelpers-DLNTQr_6.js +0 -1
  133. package/dist/web/assets/select-D6jzbLJn.js +0 -1
  134. package/dist/web/assets/shared-c1Yr-wvV.js +0 -1
  135. package/dist/web/assets/sparkles-BGYTDThM.js +0 -1
  136. package/dist/web/assets/tabs-subtle-CHvFXVIA.js +0 -1
  137. package/dist/web/assets/textarea-CRTXuRmE.js +0 -1
  138. package/dist/web/assets/useConfig-9UVqLmR_.js +0 -1
  139. package/dist/web/assets/useViewHostProps-BBoPQYEl.js +0 -1
  140. package/dist/web/assets/zap-BDWHCVHU.js +0 -1
@@ -1,2078 +0,0 @@
1
- import { s as e, t } from "./react-BIs9pQ3H.js";
2
- import { $ as n, $n as r, At as i, Ct as a, Dn as o, Dt as s, En as c, Gt as l, It as u, J as d, Kn as f, Kt as p, Lt as m, Mn as h, Mt as g, Nn as _, Nt as v, Ot as y, Pn as b, Pt as x, Q as S, Rn as C, Rt as w, St as T, Tn as E, Un as D, Ut as O, Wn as k, X as A, Y as j, Z as M, Zn as N, _t as P, ar as F, at as I, c as L, cr as R, ct as ee, dt as z, et as B, f as V, ft as H, gt as U, ht as te, ir as ne, it as re, jt as ie, kn as ae, kt as oe, lt as se, mn as W, mt as ce, o as le, on as ue, or as G, ot as K, pt as de, q as fe, qt as pe, rn as q, rr as me, rt as he, s as J, st as ge, tt as _e, ut as ve, vt as ye, wn as be, wt as Y, yt as xe, zn as Se } from "./input-BCpgLXU1.js";
3
- import { n as Ce } from "./createLucideIcon-BONxC1L5.js";
4
- import { M as we, N as Te, O as Ee, U as X, V as De, a as Oe, d as ke, g as Ae, h as je, m as Z, o as Me, p as Ne, s as Pe, t as Fe, u as Ie, v as Le, y as Re } from "./button-CB4uOoUV.js";
5
- import { n as ze } from "./label-A0UGV8FE.js";
6
- import { b as Be, l as Ve, r as He, t as Ue } from "./AnimatePresence-D1bZ5_-l.js";
7
- import { C as We, S as Ge, T as Ke, _ as qe, b as Je, g as Ye, h as Xe, l as Ze, m as Qe, p as $e, w as et, x as tt, y as nt } from "./select-CCFHjOGk.js";
8
- import { t as rt } from "./useCompositeItem-Dhnm-7el.js";
9
- import { _ as it, d as at, f as ot, g as st, h as ct, m as lt, u as ut, v as dt } from "./dialog-CJGnC5Ag.js";
10
- import { a as ft } from "./browser-DG2Z8392.js";
11
- import { t as pt } from "./x-EilKPiCX.js";
12
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/positioner/MenuPositionerContext.mjs
13
- var Q = /* @__PURE__ */ e(t(), 1), mt = /*#__PURE__*/ Q.createContext(void 0);
14
- process.env.NODE_ENV !== "production" && (mt.displayName = "MenuPositionerContext");
15
- function ht(e) {
16
- let t = Q.useContext(mt);
17
- if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Z(33) : "Base UI: MenuPositionerContext is missing. MenuPositioner parts must be placed within <Menu.Positioner>.");
18
- return t;
19
- }
20
- //#endregion
21
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/root/MenuRootContext.mjs
22
- var gt = /*#__PURE__*/ Q.createContext(void 0);
23
- process.env.NODE_ENV !== "production" && (gt.displayName = "MenuRootContext");
24
- function _t(e) {
25
- let t = Q.useContext(gt);
26
- if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Z(36) : "Base UI: MenuRootContext is missing. Menu parts must be placed within <Menu.Root>.");
27
- return t;
28
- }
29
- //#endregion
30
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/context-menu/root/ContextMenuRootContext.mjs
31
- var vt = /*#__PURE__*/ Q.createContext(void 0);
32
- process.env.NODE_ENV !== "production" && (vt.displayName = "ContextMenuRootContext");
33
- function yt(e = !0) {
34
- let t = Q.useContext(vt);
35
- if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Z(25) : "Base UI: ContextMenuRootContext is missing. ContextMenu parts must be placed within <ContextMenu.Root>.");
36
- return t;
37
- }
38
- //#endregion
39
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/item/useMenuItemCommonProps.mjs
40
- function bt(e) {
41
- let { closeOnClick: t, highlighted: n, id: r, nodeId: i, store: a, typingRef: o, itemRef: s, itemMetadata: c } = e, { events: l } = a.useState("floatingTreeRoot"), u = a.useState("open"), d = yt(!0), p = d !== void 0;
42
- return Q.useMemo(() => ({
43
- id: r,
44
- role: "menuitem",
45
- tabIndex: u && n ? 0 : -1,
46
- onKeyDown(e) {
47
- e.key === " " && o?.current && e.preventDefault();
48
- },
49
- onMouseMove(e) {
50
- i && l.emit("itemhover", {
51
- nodeId: i,
52
- target: e.currentTarget
53
- });
54
- },
55
- onClick(e) {
56
- t && l.emit("close", {
57
- domEvent: e,
58
- reason: f
59
- });
60
- },
61
- onMouseUp(e) {
62
- if (d) {
63
- let t = d.initialCursorPointRef.current;
64
- if (d.initialCursorPointRef.current = null, p && t && Math.abs(e.clientX - t.x) <= 1 && Math.abs(e.clientY - t.y) <= 1 || p && !C && e.button === 2) return;
65
- }
66
- s.current && a.context.allowMouseUpTriggerRef.current && (!p || e.button === 2) && (!c || c.type === "regular-item") && s.current.click();
67
- }
68
- }), [
69
- t,
70
- n,
71
- r,
72
- l,
73
- i,
74
- u,
75
- a,
76
- o,
77
- s,
78
- d,
79
- p,
80
- c
81
- ]);
82
- }
83
- //#endregion
84
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/item/useMenuItem.mjs
85
- var xt = { type: "regular-item" };
86
- function St(e) {
87
- let { closeOnClick: t, disabled: n = !1, highlighted: r, id: i, store: a, typingRef: o = a.context.typingRef, nativeButton: s, itemMetadata: c, nodeId: l } = e, u = a.useState("disabled"), d = n || u, f = Q.useRef(null), { getButtonProps: p, buttonRef: m } = ke({
88
- disabled: d,
89
- focusableWhenDisabled: !0,
90
- native: s,
91
- composite: !0
92
- }), h = bt({
93
- closeOnClick: t,
94
- highlighted: r,
95
- id: i,
96
- nodeId: l,
97
- store: a,
98
- typingRef: o,
99
- itemRef: f,
100
- itemMetadata: c
101
- }), g = Q.useCallback((e) => je(h, { onMouseEnter() {
102
- c.type === "submenu-trigger" && c.setActive();
103
- } }, e, p), [
104
- h,
105
- p,
106
- c
107
- ]), _ = Ie(f, m);
108
- return Q.useMemo(() => ({
109
- getItemProps: g,
110
- itemRef: _
111
- }), [g, _]);
112
- }
113
- //#endregion
114
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs
115
- var $ = Ce(), Ct = /*#__PURE__*/ function(e) {
116
- return e.checked = "data-checked", e.unchecked = "data-unchecked", e.disabled = "data-disabled", e.highlighted = "data-highlighted", e;
117
- }({}), wt = {
118
- checked(e) {
119
- return e ? { [Ct.checked]: "" } : { [Ct.unchecked]: "" };
120
- },
121
- ...G
122
- }, Tt = /*#__PURE__*/ Q.createContext(void 0);
123
- process.env.NODE_ENV !== "production" && (Tt.displayName = "MenuGroupContext");
124
- //#endregion
125
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/item/MenuItem.mjs
126
- var Et = /*#__PURE__*/ Q.forwardRef(function(e, t) {
127
- let { render: n, className: r, id: i, label: a, nativeButton: o = !1, disabled: s = !1, closeOnClick: c = !0, style: l, ...u } = e, d = Be({ label: a }), f = ht(!0), p = _(i), { store: m } = _t(), h = m.useState("isActive", d.index), g = m.useState("itemProps"), { getItemProps: v, itemRef: y } = St({
128
- closeOnClick: c,
129
- disabled: s,
130
- highlighted: h,
131
- id: p,
132
- store: m,
133
- nativeButton: o,
134
- nodeId: f?.context.nodeId,
135
- itemMetadata: xt
136
- });
137
- return Oe("div", e, {
138
- state: {
139
- disabled: s,
140
- highlighted: h
141
- },
142
- props: [
143
- g,
144
- u,
145
- v
146
- ],
147
- ref: [
148
- y,
149
- t,
150
- d.ref
151
- ]
152
- });
153
- });
154
- process.env.NODE_ENV !== "production" && (Et.displayName = "MenuItem");
155
- //#endregion
156
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/popup/MenuPopup.mjs
157
- var Dt = {
158
- ...me,
159
- ...G
160
- }, Ot = /*#__PURE__*/ Q.forwardRef(function(e, t) {
161
- let { render: n, className: r, style: i, finalFocus: a, ...o } = e, { store: s } = _t(), { side: l, align: u } = ht(), d = tt(!0) != null, f = s.useState("open"), p = s.useState("transitionStatus"), m = s.useState("popupProps"), g = s.useState("mounted"), _ = s.useState("instantType"), v = s.useState("activeTriggerElement"), y = s.useState("parent"), b = s.useState("lastOpenChangeReason"), x = s.useState("rootId"), S = s.useState("floatingRootContext"), C = s.useState("floatingTreeRoot"), w = s.useState("closeDelay"), T = s.useState("activeTriggerElement"), E = s.useState("hoverEnabled"), D = s.useState("disabled"), O = s.useState("openMethod"), k = y.type === "context-menu";
162
- c({
163
- open: f,
164
- ref: s.context.popupRef,
165
- onComplete() {
166
- f && s.context.onOpenChangeComplete?.(!0);
167
- }
168
- }), Q.useEffect(() => {
169
- function e(e) {
170
- s.setOpen(!1, h(e.reason, e.domEvent));
171
- }
172
- return C.events.on("close", e), () => {
173
- C.events.off("close", e);
174
- };
175
- }, [C.events, s]), B(S, {
176
- enabled: E && !D && !k && y.type !== "menubar",
177
- closeDelay: w
178
- });
179
- let A = Q.useCallback((e) => {
180
- s.set("popupElement", e);
181
- }, [s]), j = Oe("div", e, {
182
- state: {
183
- transitionStatus: p,
184
- side: l,
185
- align: u,
186
- open: f,
187
- nested: y.type === "menu",
188
- instant: _
189
- },
190
- ref: [
191
- t,
192
- s.context.popupRef,
193
- A
194
- ],
195
- stateAttributesMapping: Dt,
196
- props: [
197
- m,
198
- { onKeyDown(e) {
199
- d && Ve.has(e.key) && e.stopPropagation();
200
- } },
201
- M(p),
202
- o,
203
- { "data-rootownerid": x }
204
- ]
205
- }), N = y.type === void 0 || k;
206
- return (v || y.type === "menubar" && b !== "outside-press") && (N = !0), /*#__PURE__*/ (0, $.jsx)(Ke, {
207
- context: S,
208
- openInteractionType: O,
209
- modal: k,
210
- disabled: !g,
211
- returnFocus: a === void 0 ? N : a,
212
- initialFocus: y.type !== "menu",
213
- restoreFocus: !0,
214
- externalTree: y.type === "menubar" ? void 0 : C,
215
- previousFocusableElement: T,
216
- nextFocusableElement: y.type === void 0 ? s.context.triggerFocusTargetRef : void 0,
217
- beforeContentFocusGuardRef: y.type === void 0 ? s.context.beforeContentFocusGuardRef : void 0,
218
- children: j
219
- });
220
- });
221
- process.env.NODE_ENV !== "production" && (Ot.displayName = "MenuPopup");
222
- //#endregion
223
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/portal/MenuPortalContext.mjs
224
- var kt = /*#__PURE__*/ Q.createContext(void 0);
225
- process.env.NODE_ENV !== "production" && (kt.displayName = "MenuPortalContext");
226
- function At() {
227
- let e = Q.useContext(kt);
228
- if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Z(32) : "Base UI: <Menu.Portal> is missing.");
229
- return e;
230
- }
231
- //#endregion
232
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/portal/MenuPortal.mjs
233
- var jt = /*#__PURE__*/ Q.forwardRef(function(e, t) {
234
- let { keepMounted: n = !1, ...r } = e, { store: i } = _t();
235
- return i.useState("mounted") || n ? /*#__PURE__*/ (0, $.jsx)(kt.Provider, {
236
- value: n,
237
- children: /*#__PURE__*/ (0, $.jsx)(x, {
238
- ref: t,
239
- ...r
240
- })
241
- }) : null;
242
- });
243
- process.env.NODE_ENV !== "production" && (jt.displayName = "MenuPortal");
244
- //#endregion
245
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/positioner/MenuPositioner.mjs
246
- var Mt = /*#__PURE__*/ Q.forwardRef(function(e, t) {
247
- let { anchor: n, positionMethod: r = "absolute", className: i, render: a, side: s, align: c, sideOffset: l = 0, alignOffset: u = 0, collisionBoundary: f = "clipping-ancestors", collisionPadding: p = 5, arrowPadding: g = 5, sticky: _ = !1, disableAnchorTracking: v = !1, collisionAvoidance: b = m, style: x, ...S } = e, { store: C } = _t(), T = At(), D = yt(!0), O = C.useState("parent"), k = C.useState("floatingRootContext"), A = C.useState("floatingTreeRoot"), M = C.useState("mounted"), P = C.useState("open"), F = C.useState("modal"), I = C.useState("openMethod"), L = C.useState("activeTriggerElement"), R = C.useState("transitionStatus"), ee = C.useState("positionerElement"), z = C.useState("instantType"), B = C.useState("hasViewport"), V = C.useState("lastOpenChangeReason"), H = C.useState("floatingNodeId"), U = C.useState("floatingParentNodeId"), te = k.useState("domReferenceElement"), ne = Q.useRef(null), re = o(ee, !1, !1), ie = n, ae = l, oe = u, se = c, W = b;
248
- O.type === "context-menu" && (ie = n ?? O.context?.anchor, se ??= "start", !s && se !== "center" && (oe = e.alignOffset ?? 2, ae = e.sideOffset ?? -5));
249
- let ce = s, le = se;
250
- O.type === "menu" ? (ce ??= "inline-end", le ??= "start", W = e.collisionAvoidance ?? w) : O.type === "menubar" && (ce ??= O.context.orientation === "vertical" ? "inline-end" : "bottom", le ??= "start");
251
- let ue = O.type === "context-menu", G = d({
252
- anchor: ie,
253
- floatingRootContext: k,
254
- positionMethod: D ? "fixed" : r,
255
- mounted: M,
256
- side: ce,
257
- sideOffset: ae,
258
- align: le,
259
- alignOffset: oe,
260
- arrowPadding: ue ? 0 : g,
261
- collisionBoundary: f,
262
- collisionPadding: p,
263
- sticky: _,
264
- nodeId: H,
265
- keepMounted: T,
266
- disableAnchorTracking: v,
267
- collisionAvoidance: W,
268
- shiftCrossAxis: ue && !("side" in W && W.side === "flip"),
269
- externalTree: A,
270
- adaptiveOrigin: B ? j : void 0
271
- });
272
- Q.useEffect(() => {
273
- function e(e) {
274
- e.open && (e.parentNodeId === H && C.set("hoverEnabled", !1), e.nodeId !== H && e.parentNodeId === C.select("floatingParentNodeId") && C.setOpen(!1, h(N)));
275
- }
276
- return A.events.on("menuopenchange", e), () => {
277
- A.events.off("menuopenchange", e);
278
- };
279
- }, [
280
- C,
281
- A.events,
282
- H
283
- ]), Q.useEffect(() => {
284
- if (C.select("floatingParentNodeId") == null) return;
285
- function e(e) {
286
- if (e.open || e.nodeId !== C.select("floatingParentNodeId")) return;
287
- let t = e.reason ?? "sibling-open";
288
- C.setOpen(!1, h(t));
289
- }
290
- return A.events.on("menuopenchange", e), () => {
291
- A.events.off("menuopenchange", e);
292
- };
293
- }, [A.events, C]);
294
- let K = E();
295
- Q.useEffect(() => {
296
- P || K.clear();
297
- }, [P, K]), Q.useEffect(() => {
298
- function e(e) {
299
- if (!(!P || e.nodeId !== C.select("floatingParentNodeId"))) if (e.target && L && L !== e.target) {
300
- let e = C.select("closeDelay");
301
- e > 0 ? K.isStarted() || K.start(e, () => {
302
- C.setOpen(!1, h(N));
303
- }) : C.setOpen(!1, h(N));
304
- } else K.clear();
305
- }
306
- return A.events.on("itemhover", e), () => {
307
- A.events.off("itemhover", e);
308
- };
309
- }, [
310
- A.events,
311
- P,
312
- L,
313
- C,
314
- K
315
- ]), Q.useEffect(() => {
316
- let e = {
317
- open: P,
318
- nodeId: H,
319
- parentNodeId: U,
320
- reason: C.select("lastOpenChangeReason")
321
- };
322
- A.events.emit("menuopenchange", e);
323
- }, [
324
- A.events,
325
- P,
326
- C,
327
- H,
328
- U
329
- ]), Ae(() => {
330
- let e = te, t = ne.current;
331
- if (e && (ne.current = e), t && e && e !== t) {
332
- C.set("instantType", void 0);
333
- let e = new AbortController();
334
- return re(() => {
335
- C.set("instantType", "trigger-change");
336
- }, e.signal), () => {
337
- e.abort();
338
- };
339
- }
340
- }, [
341
- te,
342
- re,
343
- C
344
- ]);
345
- let de = {
346
- open: P,
347
- side: G.side,
348
- align: G.align,
349
- anchorHidden: G.anchorHidden,
350
- nested: O.type === "menu",
351
- instant: z
352
- }, pe = O.type === "menubar" && O.context.modal;
353
- qe(P && (pe || F && V !== "trigger-hover"), I === "touch", ee, L);
354
- let q = fe(e, de, {
355
- styles: G.positionerStyles,
356
- transitionStatus: R,
357
- props: S,
358
- refs: [t, C.useStateSetter("positionerElement")],
359
- hidden: !M,
360
- inert: !P
361
- }), me = M && O.type !== "menu" && (O.type !== "menubar" && F && V !== "trigger-hover" || O.type === "menubar" && O.context.modal), he = null;
362
- return O.type === "menubar" ? he = O.context.contentElement : O.type === void 0 && (he = L), /*#__PURE__*/ (0, $.jsxs)(mt.Provider, {
363
- value: G,
364
- children: [me && /*#__PURE__*/ (0, $.jsx)(nt, {
365
- ref: O.type === "context-menu" || O.type === "nested-context-menu" ? O.context.internalBackdropRef : null,
366
- inert: Je(!P),
367
- cutout: he
368
- }), /*#__PURE__*/ (0, $.jsx)(y, {
369
- id: H,
370
- children: /*#__PURE__*/ (0, $.jsx)(He, {
371
- elementsRef: C.context.itemDomElements,
372
- labelsRef: C.context.itemLabels,
373
- children: q
374
- })
375
- })]
376
- });
377
- });
378
- process.env.NODE_ENV !== "production" && (Mt.displayName = "MenuPositioner");
379
- //#endregion
380
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/radio-group/MenuRadioGroupContext.mjs
381
- var Nt = /*#__PURE__*/ Q.createContext(void 0);
382
- process.env.NODE_ENV !== "production" && (Nt.displayName = "MenuRadioGroupContext");
383
- function Pt() {
384
- let e = Q.useContext(Nt);
385
- if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Z(34) : "Base UI: MenuRadioGroupContext is missing. MenuRadioGroup parts must be placed within <Menu.RadioGroup>.");
386
- return e;
387
- }
388
- //#endregion
389
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/radio-group/MenuRadioGroup.mjs
390
- var Ft = /*#__PURE__*/ Q.memo(/*#__PURE__*/ Q.forwardRef(function(e, t) {
391
- let { render: n, className: r, value: i, defaultValue: a, onValueChange: o, disabled: s = !1, style: c, "aria-labelledby": l, ...u } = e, [d, f] = Q.useState(void 0), [p, m] = ze({
392
- controlled: i,
393
- default: a,
394
- name: "MenuRadioGroup"
395
- }), h = Le((e, t) => {
396
- o?.(e, t), !t.isCanceled && m(e);
397
- }), g = Oe("div", e, {
398
- state: { disabled: s },
399
- ref: t,
400
- props: {
401
- role: "group",
402
- "aria-labelledby": l ?? d,
403
- "aria-disabled": s || void 0,
404
- ...u
405
- }
406
- }), _ = Q.useMemo(() => ({
407
- value: p,
408
- setValue: h,
409
- disabled: s
410
- }), [
411
- p,
412
- h,
413
- s
414
- ]);
415
- return /*#__PURE__*/ (0, $.jsx)(Tt.Provider, {
416
- value: f,
417
- children: /*#__PURE__*/ (0, $.jsx)(Nt.Provider, {
418
- value: _,
419
- children: g
420
- })
421
- });
422
- }));
423
- process.env.NODE_ENV !== "production" && (Ft.displayName = "MenuRadioGroup");
424
- //#endregion
425
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/radio-item/MenuRadioItemContext.mjs
426
- var It = /*#__PURE__*/ Q.createContext(void 0);
427
- process.env.NODE_ENV !== "production" && (It.displayName = "MenuRadioItemContext");
428
- function Lt() {
429
- let e = Q.useContext(It);
430
- if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Z(35) : "Base UI: MenuRadioItemContext is missing. MenuRadioItem parts must be placed within <Menu.RadioItem>.");
431
- return e;
432
- }
433
- //#endregion
434
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/radio-item/MenuRadioItem.mjs
435
- var Rt = /*#__PURE__*/ Q.forwardRef(function(e, t) {
436
- let { render: n, className: r, id: i, label: a, nativeButton: o = !1, disabled: s = !1, closeOnClick: c = !1, value: l, style: u, ...d } = e, p = Be({ label: a }), m = ht(!0), g = _(i), { store: v } = _t(), y = v.useState("isActive", p.index), b = v.useState("itemProps"), { value: x, setValue: S, disabled: C } = Pt(), w = C || s, T = x === l, { getItemProps: E, itemRef: D } = St({
437
- closeOnClick: c,
438
- disabled: w,
439
- highlighted: y,
440
- id: g,
441
- store: v,
442
- nativeButton: o,
443
- nodeId: m?.context.nodeId,
444
- itemMetadata: xt
445
- }), O = Q.useMemo(() => ({
446
- disabled: w,
447
- highlighted: y,
448
- checked: T
449
- }), [
450
- w,
451
- y,
452
- T
453
- ]);
454
- function k(e) {
455
- S(l, h(f, e.nativeEvent, void 0, { preventUnmountOnClose() {} }));
456
- }
457
- let A = Oe("div", e, {
458
- state: O,
459
- stateAttributesMapping: wt,
460
- props: [
461
- b,
462
- {
463
- role: "menuitemradio",
464
- "aria-checked": T,
465
- onClick: k
466
- },
467
- d,
468
- E
469
- ],
470
- ref: [
471
- D,
472
- t,
473
- p.ref
474
- ]
475
- });
476
- return /*#__PURE__*/ (0, $.jsx)(It.Provider, {
477
- value: O,
478
- children: A
479
- });
480
- });
481
- process.env.NODE_ENV !== "production" && (Rt.displayName = "MenuRadioItem");
482
- //#endregion
483
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/radio-item-indicator/MenuRadioItemIndicator.mjs
484
- var zt = /*#__PURE__*/ Q.forwardRef(function(e, t) {
485
- let { render: n, className: r, style: i, keepMounted: a = !1, ...o } = e, s = Lt(), l = Q.useRef(null), { transitionStatus: u, setMounted: d } = ae(s.checked);
486
- return c({
487
- open: s.checked,
488
- ref: l,
489
- onComplete() {
490
- s.checked || d(!1);
491
- }
492
- }), Oe("span", e, {
493
- state: {
494
- checked: s.checked,
495
- disabled: s.disabled,
496
- highlighted: s.highlighted,
497
- transitionStatus: u
498
- },
499
- stateAttributesMapping: wt,
500
- ref: [t, l],
501
- props: {
502
- "aria-hidden": !0,
503
- ...o
504
- },
505
- enabled: a || s.checked
506
- });
507
- });
508
- process.env.NODE_ENV !== "production" && (zt.displayName = "MenuRadioItemIndicator");
509
- //#endregion
510
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menubar/MenubarContext.mjs
511
- var Bt = /*#__PURE__*/ Q.createContext(null);
512
- process.env.NODE_ENV !== "production" && (Bt.displayName = "MenubarContext");
513
- function Vt(e) {
514
- let t = Q.useContext(Bt);
515
- if (t === null && !e) throw Error(process.env.NODE_ENV === "production" ? Z(5) : "Base UI: MenubarContext is missing. Menubar parts must be placed within <Menubar>.");
516
- return t;
517
- }
518
- //#endregion
519
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/store/MenuStore.mjs
520
- var Ht = {
521
- ...I,
522
- disabled: Y((e) => e.parent.type === "menubar" && e.parent.context.disabled || e.disabled),
523
- modal: Y((e) => (e.parent.type === void 0 || e.parent.type === "context-menu") && (e.modal ?? !0)),
524
- openMethod: Y((e) => e.openMethod),
525
- allowMouseEnter: Y((e) => e.allowMouseEnter),
526
- highlightItemOnHover: Y((e) => e.highlightItemOnHover),
527
- stickIfOpen: Y((e) => e.stickIfOpen),
528
- parent: Y((e) => e.parent),
529
- rootId: Y((e) => e.parent.type === "menu" ? e.parent.store.select("rootId") : e.parent.type === void 0 ? e.rootId : e.parent.context.rootId),
530
- activeIndex: Y((e) => e.activeIndex),
531
- isActive: Y((e, t) => e.activeIndex === t),
532
- hoverEnabled: Y((e) => e.hoverEnabled),
533
- instantType: Y((e) => e.instantType),
534
- lastOpenChangeReason: Y((e) => e.openChangeReason),
535
- floatingTreeRoot: Y((e) => e.parent.type === "menu" ? e.parent.store.select("floatingTreeRoot") : e.floatingTreeRoot),
536
- floatingNodeId: Y((e) => e.floatingNodeId),
537
- floatingParentNodeId: Y((e) => e.floatingParentNodeId),
538
- itemProps: Y((e) => e.itemProps),
539
- closeDelay: Y((e) => e.closeDelay),
540
- hasViewport: Y((e) => e.hasViewport),
541
- keyboardEventRelay: Y((e) => {
542
- if (e.keyboardEventRelay) return e.keyboardEventRelay;
543
- if (e.parent.type === "menu") return e.parent.store.select("keyboardEventRelay");
544
- })
545
- }, Ut = class e extends xe {
546
- constructor(e) {
547
- super({
548
- ...Wt(),
549
- ...e
550
- }, {
551
- positionerRef: /*#__PURE__*/ Q.createRef(),
552
- popupRef: /*#__PURE__*/ Q.createRef(),
553
- typingRef: { current: !1 },
554
- itemDomElements: { current: [] },
555
- itemLabels: { current: [] },
556
- allowMouseUpTriggerRef: { current: !1 },
557
- triggerFocusTargetRef: /*#__PURE__*/ Q.createRef(),
558
- beforeContentFocusGuardRef: /*#__PURE__*/ Q.createRef(),
559
- onOpenChangeComplete: void 0,
560
- triggerElements: new K()
561
- }, Ht), this.unsubscribeParentListener = this.observe("parent", (e) => {
562
- if (this.unsubscribeParentListener?.(), e.type === "menu") {
563
- let t = e.store.select("rootId"), n = e.store.select("floatingTreeRoot"), r = e.store.select("keyboardEventRelay");
564
- this.unsubscribeParentListener = e.store.subscribe(() => {
565
- let i = e.store.select("rootId"), a = e.store.select("floatingTreeRoot"), o = e.store.select("keyboardEventRelay");
566
- t === i && n === a && r === o || (t = i, n = a, r = o, this.notifyAll());
567
- }), this.context.allowMouseUpTriggerRef = e.store.context.allowMouseUpTriggerRef;
568
- return;
569
- }
570
- e.type !== void 0 && (this.context.allowMouseUpTriggerRef = e.context.allowMouseUpTriggerRef), this.unsubscribeParentListener = null;
571
- });
572
- }
573
- setOpen(e, t) {
574
- this.state.floatingRootContext.context.events.emit("setOpen", {
575
- open: e,
576
- eventDetails: t
577
- });
578
- }
579
- static useStore(t, n) {
580
- let r = Re(() => new e(n)).current;
581
- return t ?? r;
582
- }
583
- unsubscribeParentListener = null;
584
- };
585
- function Wt() {
586
- return {
587
- ...he(),
588
- disabled: !1,
589
- modal: !0,
590
- openMethod: null,
591
- allowMouseEnter: !1,
592
- highlightItemOnHover: !0,
593
- stickIfOpen: !0,
594
- parent: { type: void 0 },
595
- rootId: void 0,
596
- activeIndex: null,
597
- hoverEnabled: !0,
598
- instantType: void 0,
599
- openChangeReason: null,
600
- floatingTreeRoot: new v(),
601
- floatingNodeId: void 0,
602
- floatingParentNodeId: null,
603
- itemProps: Pe,
604
- keyboardEventRelay: void 0,
605
- closeDelay: 0,
606
- hasViewport: !1
607
- };
608
- }
609
- //#endregion
610
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/submenu-root/MenuSubmenuRootContext.mjs
611
- var Gt = /*#__PURE__*/ Q.createContext(void 0);
612
- process.env.NODE_ENV !== "production" && (Gt.displayName = "MenuSubmenuRootContext");
613
- function Kt() {
614
- return Q.useContext(Gt);
615
- }
616
- //#endregion
617
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/root/MenuRoot.mjs
618
- var qt = T(function(e) {
619
- let { children: t, open: n, onOpenChange: r, onOpenChangeComplete: a, defaultOpen: o = !1, disabled: c = !1, modal: l, loopFocus: u = !0, orientation: d = "vertical", actionsRef: f, closeParentOnEsc: p = !1, handle: m, triggerId: g, defaultTriggerId: _ = null, highlightItemOnHover: v = !0 } = e, y = yt(!0), x = _t(!0), S = Vt(!0), C = Kt(), w = Q.useMemo(() => C && x ? {
620
- type: "menu",
621
- store: x.store
622
- } : S ? {
623
- type: "menubar",
624
- context: S
625
- } : y && !x ? {
626
- type: "context-menu",
627
- context: y
628
- } : { type: void 0 }, [
629
- y,
630
- x,
631
- S,
632
- C
633
- ]), T = Ut.useStore(m?.store, {
634
- open: o,
635
- openProp: n,
636
- activeTriggerId: _,
637
- triggerIdProp: g,
638
- parent: w
639
- });
640
- H(T, n, o, _), T.useControlledProp("openProp", n), T.useControlledProp("triggerIdProp", g), T.useContextCallback("onOpenChangeComplete", a);
641
- let D = b(), O = b(), j = T.useState("floatingTreeRoot"), M = i(j), N = ie(), P = T.useState("open"), F = T.useState("activeTriggerElement"), I = T.useState("positionerElement"), L = T.useState("hoverEnabled"), R = T.useState("disabled"), B = T.useState("lastOpenChangeReason"), V = T.useState("parent"), U = T.useState("activeIndex"), te = T.useState("payload"), ne = T.useState("floatingParentNodeId"), re = Q.useRef(null), ae = Q.useRef(V.type !== "context-menu"), se = E(), W = Q.useRef(!0), le = E(), ue = ne != null;
642
- process.env.NODE_ENV !== "production" && V.type !== void 0 && l !== void 0 && console.warn("Base UI: The `modal` prop is not supported on nested menus. It will be ignored.");
643
- let { openMethod: G, triggerProps: K } = Xe(P);
644
- T.useSyncedValues({
645
- disabled: c,
646
- highlightItemOnHover: v,
647
- modal: V.type === void 0 ? l : void 0,
648
- openMethod: G,
649
- rootId: D
650
- }), z(T);
651
- let { forceUnmount: fe } = de(P, T, () => {
652
- T.update({
653
- allowMouseEnter: !1,
654
- stickIfOpen: !0
655
- });
656
- });
657
- Ae(() => {
658
- y && !x ? T.update({
659
- parent: {
660
- type: "context-menu",
661
- context: y
662
- },
663
- floatingNodeId: M,
664
- floatingParentNodeId: N
665
- }) : x && T.update({
666
- floatingNodeId: M,
667
- floatingParentNodeId: N
668
- });
669
- }, [
670
- y,
671
- x,
672
- M,
673
- N,
674
- T
675
- ]), Q.useEffect(() => {
676
- if (P || (re.current = null), V.type === "context-menu") {
677
- if (!P) {
678
- se.clear(), ae.current = !1;
679
- return;
680
- }
681
- se.start(500, () => {
682
- ae.current = !0;
683
- });
684
- }
685
- }, [
686
- se,
687
- P,
688
- V.type
689
- ]), Ae(() => {
690
- !P && !L && T.set("hoverEnabled", !0);
691
- }, [
692
- P,
693
- L,
694
- T
695
- ]);
696
- let pe = Le((e, t) => {
697
- let n = t.reason;
698
- if (P === e && t.trigger === F && B === n) return;
699
- let i = ee(t);
700
- if (!e && t.trigger == null && (t.trigger = F ?? void 0), r?.(e, t), t.isCanceled) return;
701
- T.state.floatingRootContext.dispatchOpenChange(e, t);
702
- let a = t.event;
703
- if (e === !1 && a?.type === "click" && a.pointerType === "touch" && !W.current) return;
704
- e && n === "trigger-focus" ? (W.current = !1, le.start(300, () => {
705
- W.current = !0;
706
- })) : (W.current = !0, le.clear());
707
- let o = (n === "trigger-press" || n === "item-press") && a.detail === 0 && a?.isTrusted, s = !e && (n === "escape-key" || n == null), c = {
708
- open: e,
709
- openChangeReason: n
710
- };
711
- re.current = t.event ?? null, ve(c, e, t.trigger, i()), T.update(c), V.type === "menubar" && (n === "trigger-focus" || n === "focus-out" || n === "trigger-hover" || n === "list-navigation" || n === "sibling-open") ? T.set("instantType", "group") : o || s ? T.set("instantType", o ? "click" : "dismiss") : T.set("instantType", void 0);
712
- }), q = ye({
713
- popupStore: T,
714
- floatingId: O,
715
- nested: N != null,
716
- onOpenChange: pe
717
- }), me = q.context.events;
718
- Q.useEffect(() => {
719
- let e = ({ open: e, eventDetails: t }) => pe(e, t);
720
- return me.on("setOpen", e), () => {
721
- me?.off("setOpen", e);
722
- };
723
- }, [me, pe]);
724
- let he = Q.useCallback(() => {
725
- T.setOpen(!1, h(k));
726
- }, [T]);
727
- Q.useImperativeHandle(f, () => ({
728
- unmount: fe,
729
- close: he
730
- }), [fe, he]);
731
- let J;
732
- V.type === "context-menu" && (J = V.context), Q.useImperativeHandle(J?.positionerRef, () => I, [I]), Q.useImperativeHandle(J?.actionsRef, () => ({ setOpen: pe }), [pe]);
733
- let _e = s(q, {
734
- enabled: !R,
735
- bubbles: { escapeKey: p && V.type === "menu" },
736
- outsidePress() {
737
- return V.type !== "context-menu" || re.current?.type === "contextmenu" ? !0 : ae.current;
738
- },
739
- externalTree: ue ? j : void 0
740
- }), be = A(), Y = Q.useCallback((e) => {
741
- T.select("activeIndex") !== e && T.set("activeIndex", e);
742
- }, [T]), xe = We(q, {
743
- enabled: !R,
744
- listRef: T.context.itemDomElements,
745
- activeIndex: U,
746
- nested: V.type !== void 0,
747
- loopFocus: u,
748
- orientation: d,
749
- parentOrientation: V.type === "menubar" ? V.context.orientation : void 0,
750
- rtl: be === "rtl",
751
- disabledIndices: Me,
752
- onNavigate: Y,
753
- openOnArrowKeyDown: V.type !== "context-menu",
754
- externalTree: ue ? j : void 0,
755
- focusItemOnHover: v
756
- }), Se = Q.useCallback((e) => {
757
- T.context.typingRef.current = e;
758
- }, [T]), Ce = Ge(q, {
759
- enabled: !R,
760
- listRef: T.context.itemLabels,
761
- elementsRef: T.context.itemDomElements,
762
- activeIndex: U,
763
- resetMs: 500,
764
- onMatch: (e) => {
765
- P && e !== U && T.set("activeIndex", e);
766
- },
767
- onTyping: Se
768
- });
769
- ce(T, {
770
- floatingRootContext: q,
771
- activeTriggerProps: Q.useMemo(() => {
772
- let e = je(Ce.reference, xe.reference, _e.reference, { onMouseMove() {
773
- T.set("allowMouseEnter", !0);
774
- } }, K);
775
- return e["aria-haspopup"] = "menu", e["aria-expanded"] = P, e;
776
- }, [
777
- T,
778
- Ce.reference,
779
- xe.reference,
780
- _e.reference,
781
- K,
782
- P
783
- ]),
784
- inactiveTriggerProps: Q.useMemo(() => {
785
- let e = je(xe.trigger, _e.trigger, K);
786
- return e["aria-haspopup"] = "menu", e["aria-expanded"] = !1, e;
787
- }, [
788
- xe.trigger,
789
- _e.trigger,
790
- K
791
- ]),
792
- popupProps: Q.useMemo(() => je(ge, {
793
- id: O,
794
- role: "menu",
795
- "aria-labelledby": F?.id,
796
- onMouseMove() {
797
- T.set("allowMouseEnter", !0), V.type === "menu" && T.set("hoverEnabled", !1);
798
- },
799
- onClick() {
800
- T.select("hoverEnabled") && T.set("hoverEnabled", !1);
801
- },
802
- onKeyDown(e) {
803
- let t = T.select("keyboardEventRelay");
804
- t && !e.isPropagationStopped() && t(e);
805
- }
806
- }, Ce.floating, xe.floating, _e.floating), [
807
- F,
808
- O,
809
- V.type,
810
- T,
811
- Ce.floating,
812
- xe.floating,
813
- _e.floating
814
- ]),
815
- itemProps: xe.item ?? Pe
816
- });
817
- let we = Q.useMemo(() => ({
818
- store: T,
819
- parent: w
820
- }), [T, w]), Te = /*#__PURE__*/ (0, $.jsx)(gt.Provider, {
821
- value: we,
822
- children: typeof t == "function" ? t({ payload: te }) : t
823
- });
824
- return V.type === void 0 || V.type === "context-menu" ? /*#__PURE__*/ (0, $.jsx)(oe, {
825
- externalTree: j,
826
- children: Te
827
- }) : Te;
828
- });
829
- process.env.NODE_ENV !== "production" && (qt.displayName = "MenuRoot");
830
- //#endregion
831
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/internals/composite/item/CompositeItem.mjs
832
- function Jt(e) {
833
- let { render: t, className: n, style: r, state: i = Pe, props: a = Me, refs: o = Me, metadata: s, stateAttributesMapping: c, tag: l = "div", ...u } = e, { compositeProps: d, compositeRef: f } = rt({ metadata: s });
834
- return Oe(l, e, {
835
- state: i,
836
- ref: [...o, f],
837
- props: [
838
- d,
839
- ...a,
840
- u
841
- ],
842
- stateAttributesMapping: c
843
- });
844
- }
845
- //#endregion
846
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/utils/findRootOwnerId.mjs
847
- function Yt(e) {
848
- if (we(e) && e.hasAttribute("data-rootownerid")) return e.getAttribute("data-rootownerid") ?? void 0;
849
- if (!Te(e)) return Yt(Ee(e));
850
- }
851
- //#endregion
852
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/utils/popups/useTriggerFocusGuards.mjs
853
- var Xt = /* @__PURE__ */ e(R(), 1);
854
- function Zt(e, t) {
855
- let n = Q.useRef(null);
856
- function r(t) {
857
- Xt.flushSync(() => {
858
- e.setOpen(!1, h(D, t.nativeEvent, t.currentTarget));
859
- }), p(n.current)?.focus();
860
- }
861
- function i(n) {
862
- let r = e.select("positionerElement");
863
- if (r && pe(n, r)) e.context.beforeContentFocusGuardRef.current?.focus();
864
- else {
865
- Xt.flushSync(() => {
866
- e.setOpen(!1, h(D, n.nativeEvent, n.currentTarget));
867
- });
868
- let i = l(e.context.triggerFocusTargetRef.current || t.current);
869
- for (; i !== null && W(r, i);) {
870
- let e = i;
871
- if (i = O(i), i === e) break;
872
- }
873
- i?.focus();
874
- }
875
- }
876
- return {
877
- preFocusGuardRef: n,
878
- handlePreFocusGuardFocus: r,
879
- handleFocusTargetFocus: i
880
- };
881
- }
882
- //#endregion
883
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/utils/useMixedToggleClickHandler.mjs
884
- function Qt(e) {
885
- let { enabled: t = !0, mouseDownAction: n, open: r } = e, i = Q.useRef(!1);
886
- return Q.useMemo(() => t ? {
887
- onMouseDown: (e) => {
888
- (n === "open" && !r || n === "close" && r) && (i.current = !0, ue(e.currentTarget).addEventListener("click", () => {
889
- i.current = !1;
890
- }, { once: !0 }));
891
- },
892
- onClick: (e) => {
893
- i.current && (i.current = !1, e.preventBaseUIHandler());
894
- }
895
- } : Pe, [
896
- t,
897
- n,
898
- r
899
- ]);
900
- }
901
- //#endregion
902
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/menu/trigger/MenuTrigger.mjs
903
- var $t = 2, en = a(function(e, t) {
904
- let { render: r, className: a, style: o, disabled: s = !1, nativeButton: c = !0, id: l, openOnHover: u, delay: d = 100, closeDelay: f = 0, handle: p, payload: m, ...h } = e, y = _t(!0), b = p?.store ?? y?.store;
905
- if (!b) throw Error(process.env.NODE_ENV === "production" ? Z(85) : "Base UI: <Menu.Trigger> must be either used within a <Menu.Root> component or provided with a handle.");
906
- let x = _(l), C = b.useState("isTriggerActive", x), w = b.useState("floatingRootContext"), T = b.useState("isOpenedByTrigger", x), D = b.useState("triggerPopupId", x), O = Q.useRef(null), k = nn(), A = Ne(!0), j = g(), M = Q.useMemo(() => j ?? new v(), [j]), { registerTrigger: N, isMountedByThisTrigger: F } = P(x, O, b, {
907
- payload: m,
908
- closeDelay: f,
909
- parent: k,
910
- floatingTreeRoot: M,
911
- floatingNodeId: i(M),
912
- floatingParentNodeId: ie(),
913
- keyboardEventRelay: A?.relayKeyboardEvent
914
- }), I = k.type === "menubar", L = b.useState("disabled"), R = s || L || I && k.context.disabled, { getButtonProps: ee, buttonRef: z } = ke({
915
- disabled: R,
916
- native: c
917
- });
918
- Q.useEffect(() => {
919
- !T && k.type === void 0 && (b.context.allowMouseUpTriggerRef.current = !1);
920
- }, [
921
- b,
922
- T,
923
- k.type
924
- ]);
925
- let B = Q.useRef(null), V = E(), H = Le((e) => {
926
- if (!B.current) return;
927
- V.clear(), b.context.allowMouseUpTriggerRef.current = !1;
928
- let t = e.target;
929
- if (W(B.current, t) || W(b.select("positionerElement"), t) || t === B.current || t != null && Yt(t) === b.select("rootId")) return;
930
- let n = Qe(B.current);
931
- e.clientX >= n.left - $t && e.clientX <= n.right + $t && e.clientY >= n.top - $t && e.clientY <= n.bottom + $t || M.events.emit("close", {
932
- domEvent: e,
933
- reason: Se
934
- });
935
- });
936
- Q.useEffect(() => {
937
- T && b.select("lastOpenChangeReason") === "trigger-hover" && ue(B.current).addEventListener("mouseup", H, { once: !0 });
938
- }, [
939
- T,
940
- H,
941
- b
942
- ]);
943
- let U = I && k.context.hasSubmenuOpen, te = n(w, {
944
- enabled: (u ?? U) && !R && k.type !== "context-menu" && (!I || U && !F),
945
- handleClose: S({ blockPointerEvents: !I }),
946
- mouseOnly: !0,
947
- move: !1,
948
- restMs: k.type === void 0 ? d : void 0,
949
- delay: { close: f },
950
- triggerElementRef: O,
951
- externalTree: M,
952
- isActiveTrigger: C,
953
- isClosing: () => b.select("transitionStatus") === "ending"
954
- }), re = tn(T, b.select("lastOpenChangeReason")), ae = et(w, {
955
- enabled: !R && k.type !== "context-menu",
956
- event: T && I ? "click" : "mousedown",
957
- toggle: !0,
958
- ignoreMouse: !1,
959
- stickIfOpen: k.type === void 0 ? re : !1
960
- }), oe = _e(w, { enabled: !R && U }), se = Qt({
961
- open: T,
962
- enabled: I,
963
- mouseDownAction: "open"
964
- }), ce = Q.useMemo(() => je(oe.reference, ae.reference), [oe.reference, ae.reference]), le = b.useState("triggerProps", F), { preFocusGuardRef: G, handlePreFocusGuardFocus: K, handleFocusTargetFocus: de } = Zt(b, O), fe = {
965
- disabled: R,
966
- open: T
967
- }, pe = [
968
- B,
969
- t,
970
- z,
971
- N,
972
- O
973
- ], me = [
974
- ce,
975
- te ?? Pe,
976
- le,
977
- {
978
- "aria-haspopup": "menu",
979
- "aria-controls": D,
980
- id: x,
981
- onMouseDown: (e) => {
982
- b.select("open") || (V.start(200, () => {
983
- b.context.allowMouseUpTriggerRef.current = !0;
984
- }), ue(e.currentTarget).addEventListener("mouseup", H, { once: !0 }));
985
- }
986
- },
987
- I ? { role: "menuitem" } : {},
988
- se,
989
- h,
990
- ee
991
- ], he = Oe("button", e, {
992
- enabled: !I,
993
- stateAttributesMapping: ne,
994
- state: fe,
995
- ref: pe,
996
- props: me
997
- });
998
- return I ? /*#__PURE__*/ (0, $.jsx)(Jt, {
999
- tag: "button",
1000
- render: r,
1001
- className: a,
1002
- style: o,
1003
- state: fe,
1004
- refs: pe,
1005
- props: me,
1006
- stateAttributesMapping: ne
1007
- }) : T ? /*#__PURE__*/ (0, $.jsxs)(Q.Fragment, { children: [
1008
- /*#__PURE__*/ (0, $.jsx)(q, {
1009
- ref: G,
1010
- onFocus: K
1011
- }, `${x}-pre-focus-guard`),
1012
- /*#__PURE__*/ (0, $.jsx)(Q.Fragment, { children: he }, x),
1013
- /*#__PURE__*/ (0, $.jsx)(q, {
1014
- ref: b.context.triggerFocusTargetRef,
1015
- onFocus: de
1016
- }, `${x}-post-focus-guard`)
1017
- ] }) : /*#__PURE__*/ (0, $.jsx)(Q.Fragment, { children: he }, x);
1018
- });
1019
- process.env.NODE_ENV !== "production" && (en.displayName = "MenuTrigger");
1020
- function tn(e, t) {
1021
- let n = E(), [r, i] = Q.useState(!1);
1022
- return Ae(() => {
1023
- e && t === "trigger-hover" ? (i(!0), n.start(500, () => {
1024
- i(!1);
1025
- })) : e || (n.clear(), i(!1));
1026
- }, [
1027
- e,
1028
- t,
1029
- n
1030
- ]), r;
1031
- }
1032
- function nn() {
1033
- let e = yt(!0), t = _t(!0), n = Vt(!0);
1034
- return Q.useMemo(() => n ? {
1035
- type: "menubar",
1036
- context: n
1037
- } : e && !t ? {
1038
- type: "context-menu",
1039
- context: e
1040
- } : { type: void 0 }, [
1041
- e,
1042
- t,
1043
- n
1044
- ]);
1045
- }
1046
- //#endregion
1047
- //#region src/client/components/ui/menu-item.tsx
1048
- var rn = De.rounded, an = (0, Q.createContext)(null);
1049
- function on() {
1050
- let e = (0, Q.useContext)(an);
1051
- if (!e) throw Error("useDropdown must be used within a Dropdown");
1052
- return e;
1053
- }
1054
- var sn = (0, Q.forwardRef)(({ icon: e, label: t, customContent: n, index: r, checked: i, onSelect: a, disabled: o, closeOnClick: s, className: c, onClick: l, ...u }, d) => {
1055
- let f = (0, Q.useRef)(null), p = (0, Q.useRef)(!1), { registerItem: m, activeIndex: h, checkedIndex: g, renderMenuItem: _ } = on();
1056
- (0, Q.useEffect)(() => (m(r, f.current), () => m(r, null)), [r, m]), (0, Q.useEffect)(() => {
1057
- p.current = !0;
1058
- }, []);
1059
- let v = h === r, y = !p.current, b = (e) => {
1060
- f.current = e, typeof d == "function" ? d(e) : d && (d.current = e);
1061
- }, x = o ? void 0 : (e) => {
1062
- l?.(e), a?.();
1063
- }, S = X(`relative z-10 flex h-9 items-center gap-2 ${rn.item} px-2 cursor-pointer outline-none`, o && "opacity-50 pointer-events-none", c), C = t ?? (typeof n == "string" ? n : "Menu item"), w = n ?? /* @__PURE__ */ (0, $.jsxs)($.Fragment, { children: [
1064
- e && /* @__PURE__ */ (0, $.jsxs)("span", {
1065
- className: "inline-grid",
1066
- children: [/* @__PURE__ */ (0, $.jsx)("span", {
1067
- className: "col-start-1 row-start-1 invisible",
1068
- children: /* @__PURE__ */ (0, $.jsx)(e, {
1069
- size: 16,
1070
- strokeWidth: 2
1071
- })
1072
- }), /* @__PURE__ */ (0, $.jsx)(e, {
1073
- size: 16,
1074
- strokeWidth: v || i ? 2 : 1.5,
1075
- className: X("col-start-1 row-start-1 transition-[color,stroke-width] duration-80", v || i ? "text-foreground" : "text-muted-foreground")
1076
- })]
1077
- }),
1078
- /* @__PURE__ */ (0, $.jsxs)("span", {
1079
- className: "inline-grid flex-1 text-[13px]",
1080
- children: [/* @__PURE__ */ (0, $.jsx)("span", {
1081
- className: "col-start-1 row-start-1 invisible [text-box:trim-both_cap_alphabetic]",
1082
- style: { fontVariationSettings: L.semibold },
1083
- "aria-hidden": "true",
1084
- children: C
1085
- }), /* @__PURE__ */ (0, $.jsx)("span", {
1086
- className: X("col-start-1 row-start-1 transition-[color,font-variation-settings] duration-80 [text-box:trim-both_cap_alphabetic]", v || i ? "text-foreground" : "text-muted-foreground"),
1087
- style: { fontVariationSettings: i ? L.semibold : L.normal },
1088
- children: C
1089
- })]
1090
- }),
1091
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: i && /* @__PURE__ */ (0, $.jsx)(V.svg, {
1092
- width: 16,
1093
- height: 16,
1094
- viewBox: "0 0 24 24",
1095
- fill: "none",
1096
- stroke: "currentColor",
1097
- strokeWidth: 2,
1098
- strokeLinecap: "round",
1099
- strokeLinejoin: "round",
1100
- className: "text-foreground shrink-0",
1101
- initial: { opacity: 1 },
1102
- animate: { opacity: 1 },
1103
- exit: { opacity: 1 },
1104
- children: /* @__PURE__ */ (0, $.jsx)(V.path, {
1105
- d: "M4 12L9 17L20 6",
1106
- initial: { pathLength: +!!y },
1107
- animate: {
1108
- pathLength: 1,
1109
- transition: {
1110
- duration: .08,
1111
- ease: "easeOut"
1112
- }
1113
- },
1114
- exit: {
1115
- pathLength: 0,
1116
- transition: {
1117
- duration: .04,
1118
- ease: "easeIn"
1119
- }
1120
- }
1121
- })
1122
- }, "check") })
1123
- ] });
1124
- return _ ? _({
1125
- radio: typeof i == "boolean",
1126
- value: r,
1127
- disabled: o,
1128
- label: C,
1129
- closeOnClick: s ?? !0,
1130
- element: /* @__PURE__ */ (0, $.jsx)("div", {
1131
- ref: b,
1132
- "data-proximity-index": r,
1133
- "aria-label": C,
1134
- onClick: x,
1135
- className: S,
1136
- ...u
1137
- }),
1138
- children: w
1139
- }) : /* @__PURE__ */ (0, $.jsx)("div", {
1140
- ref: b,
1141
- "data-proximity-index": r,
1142
- tabIndex: !o && r === (g ?? 0) ? 0 : -1,
1143
- role: typeof i == "boolean" ? "menuitemradio" : "menuitem",
1144
- "aria-checked": typeof i == "boolean" ? i : void 0,
1145
- "aria-disabled": o || void 0,
1146
- "aria-label": C,
1147
- onClick: x,
1148
- onKeyDown: (e) => {
1149
- o || (e.key === " " || e.key === "Enter") && (e.preventDefault(), a?.());
1150
- },
1151
- className: S,
1152
- ...u,
1153
- children: w
1154
- });
1155
- });
1156
- sn.displayName = "MenuItem";
1157
- //#endregion
1158
- //#region src/client/components/ui/dropdown.tsx
1159
- var cn = De.rounded, ln = (0, Q.forwardRef)(({ children: e, checkedIndex: t, className: n, ...r }, i) => {
1160
- let a = (0, Q.useRef)(null), { activeIndex: o, setActiveIndex: s, itemRects: c, sessionRef: l, handlers: u, registerItem: d, measureItems: f } = $e(a);
1161
- (0, Q.useEffect)(() => {
1162
- f();
1163
- }, [f, e]);
1164
- let [p, m] = (0, Q.useState)(null), h = o === null ? null : c[o], g = t == null ? null : c[t], _ = p === null ? null : c[p], v = o !== null && o !== t;
1165
- return /* @__PURE__ */ (0, $.jsx)(an.Provider, {
1166
- value: {
1167
- registerItem: d,
1168
- activeIndex: o,
1169
- checkedIndex: t
1170
- },
1171
- children: /* @__PURE__ */ (0, $.jsxs)(Ze, {
1172
- offset: 2,
1173
- shadowLevel: 3,
1174
- ref: (e) => {
1175
- a.current = e, typeof i == "function" ? i(e) : i && (i.current = e);
1176
- },
1177
- onMouseEnter: u.onMouseEnter,
1178
- onMouseMove: u.onMouseMove,
1179
- onMouseLeave: u.onMouseLeave,
1180
- onFocus: (e) => {
1181
- let t = e.target.closest("[data-proximity-index]")?.getAttribute("data-proximity-index");
1182
- if (t != null) {
1183
- let n = Number(t);
1184
- s(n), m(e.target.matches(":focus-visible") ? n : null);
1185
- }
1186
- },
1187
- onBlur: (e) => {
1188
- a.current?.contains(e.relatedTarget) || (m(null), s(null));
1189
- },
1190
- onKeyDown: (e) => {
1191
- let t = Array.from(a.current?.querySelectorAll("[role=\"menuitem\"], [role=\"menuitemradio\"]") ?? []), n = t.indexOf(e.target);
1192
- n !== -1 && ([
1193
- "ArrowDown",
1194
- "ArrowUp",
1195
- "ArrowRight",
1196
- "ArrowLeft"
1197
- ].includes(e.key) ? (e.preventDefault(), t[["ArrowDown", "ArrowRight"].includes(e.key) ? (n + 1) % t.length : (n - 1 + t.length) % t.length].focus()) : e.key === "Home" ? (e.preventDefault(), t[0]?.focus()) : e.key === "End" && (e.preventDefault(), t[t.length - 1]?.focus()));
1198
- },
1199
- role: "group",
1200
- className: X(`relative flex flex-col gap-0.5 w-72 max-w-full ${cn.container} p-1 select-none`, n),
1201
- ...r,
1202
- children: [
1203
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: g && /* @__PURE__ */ (0, $.jsx)(V.div, {
1204
- className: `absolute ${cn.bg} bg-active pointer-events-none`,
1205
- initial: !1,
1206
- animate: {
1207
- top: g.top,
1208
- left: g.left,
1209
- width: g.width,
1210
- height: g.height,
1211
- opacity: v ? .8 : 1
1212
- },
1213
- exit: {
1214
- opacity: 0,
1215
- transition: J.moderate.exit
1216
- },
1217
- transition: {
1218
- ...J.moderate,
1219
- opacity: { duration: .08 }
1220
- }
1221
- }) }),
1222
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: h && /* @__PURE__ */ (0, $.jsx)(V.div, {
1223
- className: `absolute ${cn.bg} bg-hover pointer-events-none`,
1224
- initial: {
1225
- opacity: 0,
1226
- top: g?.top ?? h.top,
1227
- left: g?.left ?? h.left,
1228
- width: g?.width ?? h.width,
1229
- height: g?.height ?? h.height
1230
- },
1231
- animate: {
1232
- opacity: 1,
1233
- top: h.top,
1234
- left: h.left,
1235
- width: h.width,
1236
- height: h.height
1237
- },
1238
- exit: {
1239
- opacity: 0,
1240
- transition: J.fast.exit
1241
- },
1242
- transition: {
1243
- ...J.fast,
1244
- opacity: { duration: .08 }
1245
- }
1246
- }, l.current) }),
1247
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: _ && /* @__PURE__ */ (0, $.jsx)(V.div, {
1248
- className: `absolute ${cn.focusRing} pointer-events-none z-20 border border-[color:var(--focus-ring,#6B97FF)]`,
1249
- initial: !1,
1250
- animate: {
1251
- left: _.left - 2,
1252
- top: _.top - 2,
1253
- width: _.width + 4,
1254
- height: _.height + 4
1255
- },
1256
- exit: {
1257
- opacity: 0,
1258
- transition: J.fast.exit
1259
- },
1260
- transition: {
1261
- ...J.fast,
1262
- opacity: { duration: .08 }
1263
- }
1264
- }) }),
1265
- e
1266
- ]
1267
- })
1268
- });
1269
- });
1270
- ln.displayName = "Dropdown";
1271
- var un = (0, Q.createContext)(null);
1272
- function dn() {
1273
- let e = (0, Q.useContext)(un);
1274
- if (!e) throw Error("DropdownMenu compound components must be inside <DropdownMenu>");
1275
- return e;
1276
- }
1277
- function fn({ children: e, open: t, defaultOpen: n = !1, onOpenChange: r, disabled: i = !1 }) {
1278
- let [a, o] = (0, Q.useState)(n), s = t === void 0 ? a : t, c = (0, Q.useRef)(null), l = (0, Q.useCallback)((e) => {
1279
- t === void 0 && o(e), r?.(e);
1280
- }, [t, r]), u = (0, Q.useMemo)(() => ({
1281
- open: s,
1282
- actionsRef: c
1283
- }), [s]);
1284
- return /* @__PURE__ */ (0, $.jsx)(un.Provider, {
1285
- value: u,
1286
- children: /* @__PURE__ */ (0, $.jsx)(qt, {
1287
- open: s,
1288
- onOpenChange: l,
1289
- actionsRef: c,
1290
- disabled: i,
1291
- modal: !1,
1292
- children: e
1293
- })
1294
- });
1295
- }
1296
- fn.displayName = "DropdownMenu";
1297
- var pn = en, mn = (0, Q.forwardRef)(({ className: e, children: t, checkedIndex: n, side: r = "bottom", align: i = "start", sideOffset: a = 6 }, o) => {
1298
- let { open: s, actionsRef: c } = dn(), l = (0, Q.useRef)(null), { activeIndex: u, setActiveIndex: d, itemRects: f, sessionRef: p, handlers: m, registerItem: h, measureItems: g } = $e(l), [_, v] = (0, Q.useState)(null);
1299
- (0, Q.useEffect)(() => {
1300
- if (s) return;
1301
- let e = setTimeout(() => c.current?.unmount(), le(J.fast));
1302
- return () => clearTimeout(e);
1303
- }, [s, c]), (0, Q.useEffect)(() => {
1304
- if (!s) return;
1305
- let e, t = requestAnimationFrame(() => {
1306
- e = requestAnimationFrame(() => {
1307
- g();
1308
- });
1309
- });
1310
- return () => {
1311
- cancelAnimationFrame(t), cancelAnimationFrame(e);
1312
- };
1313
- }, [s, g]);
1314
- let y = u === null ? null : f[u], b = n == null ? null : f[n], x = _ === null ? null : f[_], S = u !== null && u !== n, C = (0, Q.useCallback)(({ radio: e, value: t, disabled: n, label: r, closeOnClick: i, element: a, children: o }) => e ? /* @__PURE__ */ (0, $.jsx)(Rt, {
1315
- value: t,
1316
- disabled: n,
1317
- label: r,
1318
- closeOnClick: i,
1319
- render: a,
1320
- children: o
1321
- }) : /* @__PURE__ */ (0, $.jsx)(Et, {
1322
- disabled: n,
1323
- label: r,
1324
- closeOnClick: i,
1325
- render: a,
1326
- children: o
1327
- }), []), w = (0, Q.useMemo)(() => ({
1328
- registerItem: h,
1329
- activeIndex: u,
1330
- checkedIndex: n,
1331
- inMenu: !0,
1332
- renderMenuItem: C
1333
- }), [
1334
- h,
1335
- u,
1336
- n,
1337
- C
1338
- ]);
1339
- return /* @__PURE__ */ (0, $.jsx)(jt, { children: /* @__PURE__ */ (0, $.jsx)(Mt, {
1340
- side: r,
1341
- align: i,
1342
- sideOffset: a,
1343
- className: "z-50 outline-none",
1344
- children: /* @__PURE__ */ (0, $.jsx)(V.div, {
1345
- initial: {
1346
- opacity: 0,
1347
- y: -4,
1348
- scaleY: .96
1349
- },
1350
- animate: s ? {
1351
- opacity: 1,
1352
- y: 0,
1353
- scaleY: 1
1354
- } : {
1355
- opacity: 0,
1356
- y: -4,
1357
- scaleY: .96
1358
- },
1359
- transition: s ? J.fast : J.fast.exit,
1360
- style: { transformOrigin: "top center" },
1361
- onAnimationComplete: () => {
1362
- s || c.current?.unmount();
1363
- },
1364
- children: /* @__PURE__ */ (0, $.jsx)(an.Provider, {
1365
- value: w,
1366
- children: /* @__PURE__ */ (0, $.jsxs)(Ot, {
1367
- render: /* @__PURE__ */ (0, $.jsx)(Ze, {
1368
- offset: 2,
1369
- shadowLevel: 3,
1370
- ref: (e) => {
1371
- l.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
1372
- }
1373
- }),
1374
- onMouseEnter: () => {
1375
- m.onMouseEnter(), v(null);
1376
- },
1377
- onMouseMove: m.onMouseMove,
1378
- onMouseLeave: m.onMouseLeave,
1379
- onFocus: (e) => {
1380
- let t = e.target.closest("[data-proximity-index]")?.getAttribute("data-proximity-index");
1381
- if (t != null) {
1382
- let n = Number(t);
1383
- d(n), v(e.target.matches(":focus-visible") ? n : null);
1384
- }
1385
- },
1386
- onBlur: (e) => {
1387
- l.current?.contains(e.relatedTarget) || (v(null), d(null));
1388
- },
1389
- className: X(`relative flex flex-col gap-0.5 w-72 max-w-full min-w-[var(--anchor-width)] max-h-[min(480px,var(--available-height))] overflow-y-auto ${cn.container} p-1 select-none outline-none`, e),
1390
- children: [
1391
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: b && /* @__PURE__ */ (0, $.jsx)(V.div, {
1392
- className: `absolute ${cn.bg} bg-active pointer-events-none`,
1393
- initial: !1,
1394
- animate: {
1395
- top: b.top,
1396
- left: b.left,
1397
- width: b.width,
1398
- height: b.height,
1399
- opacity: S ? .8 : 1
1400
- },
1401
- exit: {
1402
- opacity: 0,
1403
- transition: J.moderate.exit
1404
- },
1405
- transition: {
1406
- ...J.moderate,
1407
- opacity: { duration: .08 }
1408
- }
1409
- }) }),
1410
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: y && /* @__PURE__ */ (0, $.jsx)(V.div, {
1411
- className: `absolute ${cn.bg} bg-hover pointer-events-none`,
1412
- initial: {
1413
- opacity: 0,
1414
- top: b?.top ?? y.top,
1415
- left: b?.left ?? y.left,
1416
- width: b?.width ?? y.width,
1417
- height: b?.height ?? y.height
1418
- },
1419
- animate: {
1420
- opacity: 1,
1421
- top: y.top,
1422
- left: y.left,
1423
- width: y.width,
1424
- height: y.height
1425
- },
1426
- exit: {
1427
- opacity: 0,
1428
- transition: J.fast.exit
1429
- },
1430
- transition: {
1431
- ...J.fast,
1432
- opacity: { duration: .08 }
1433
- }
1434
- }, p.current) }),
1435
- /* @__PURE__ */ (0, $.jsx)(Ue, { children: x && /* @__PURE__ */ (0, $.jsx)(V.div, {
1436
- className: `absolute ${cn.focusRing} pointer-events-none z-20 border border-[color:var(--focus-ring,#6B97FF)]`,
1437
- initial: !1,
1438
- animate: {
1439
- left: x.left - 2,
1440
- top: x.top - 2,
1441
- width: x.width + 4,
1442
- height: x.height + 4
1443
- },
1444
- exit: {
1445
- opacity: 0,
1446
- transition: J.fast.exit
1447
- },
1448
- transition: {
1449
- ...J.fast,
1450
- opacity: { duration: .08 }
1451
- }
1452
- }) }),
1453
- n == null ? t : /* @__PURE__ */ (0, $.jsx)(Ft, {
1454
- value: n,
1455
- className: "contents",
1456
- children: t
1457
- })
1458
- ]
1459
- })
1460
- })
1461
- })
1462
- }) });
1463
- });
1464
- mn.displayName = "DropdownContent";
1465
- var hn = (0, Q.forwardRef)(({ className: e, ...t }, n) => /* @__PURE__ */ (0, $.jsx)("div", {
1466
- ref: n,
1467
- className: X("px-2 py-1.5 text-[11px] text-muted-foreground", e),
1468
- ...t
1469
- }));
1470
- hn.displayName = "DropdownLabel";
1471
- var gn = (0, Q.forwardRef)(({ className: e, ...t }, n) => /* @__PURE__ */ (0, $.jsx)("div", {
1472
- ref: n,
1473
- role: "separator",
1474
- className: X("my-1 -mx-1 h-px bg-border/60", e),
1475
- ...t
1476
- }));
1477
- gn.displayName = "DropdownSeparator";
1478
- //#endregion
1479
- //#region src/client/components/ui/dropdown-menu.tsx
1480
- var _n = Q.createContext(null);
1481
- function vn() {
1482
- let e = Q.useContext(_n);
1483
- if (!e) throw Error("Dropdown menu items must be inside DropdownMenuContent");
1484
- return e.next();
1485
- }
1486
- function yn(e) {
1487
- return typeof e == "string" || typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(yn).filter(Boolean).join(" ").trim() : Q.isValidElement(e) ? yn(e.props.children) : "Menu item";
1488
- }
1489
- function bn(e) {
1490
- return /* @__PURE__ */ (0, $.jsx)(fn, {
1491
- "data-slot": "dropdown-menu",
1492
- ...e
1493
- });
1494
- }
1495
- function xn(e) {
1496
- return /* @__PURE__ */ (0, $.jsx)(pn, {
1497
- "data-slot": "dropdown-menu-trigger",
1498
- ...e
1499
- });
1500
- }
1501
- function Sn({ className: e, align: t = "start", side: n = "bottom", sideOffset: r = 6, children: i, forceMount: a, ...o }) {
1502
- let s = Q.useRef(0), c = Q.useMemo(() => ({ next: () => s.current++ }), []);
1503
- return s.current = 0, /* @__PURE__ */ (0, $.jsx)(_n.Provider, {
1504
- value: c,
1505
- children: /* @__PURE__ */ (0, $.jsx)(mn, {
1506
- "data-slot": "dropdown-menu-content",
1507
- className: e,
1508
- align: t,
1509
- side: n,
1510
- sideOffset: r,
1511
- ...o,
1512
- children: i
1513
- })
1514
- });
1515
- }
1516
- function Cn({ className: e, inset: t, ...n }) {
1517
- return /* @__PURE__ */ (0, $.jsx)(hn, {
1518
- "data-slot": "dropdown-menu-label",
1519
- "data-inset": t,
1520
- className: X(t && "pl-8", e),
1521
- ...n
1522
- });
1523
- }
1524
- function wn({ className: e, inset: t, variant: n = "default", render: r, children: i, onSelect: a, onClick: o, disabled: s, ...c }) {
1525
- let l = vn(), u = yn(r ?? i), d = () => {
1526
- a?.(new Event("select"));
1527
- };
1528
- if (r && Q.isValidElement(r)) {
1529
- let i = r;
1530
- return /* @__PURE__ */ (0, $.jsx)(sn, {
1531
- index: l,
1532
- label: u,
1533
- disabled: s,
1534
- customContent: Q.cloneElement(i, {
1535
- className: X("relative z-10 flex h-9 w-full items-center gap-2 rounded-lg px-2 text-[13px] outline-none", t && "pl-8", n === "destructive" && "text-destructive", i.props.className, e),
1536
- onClick: (e) => {
1537
- i.props.onClick?.(e), o?.(e), e.defaultPrevented || d();
1538
- }
1539
- }),
1540
- onSelect: d,
1541
- ...c
1542
- });
1543
- }
1544
- return /* @__PURE__ */ (0, $.jsx)(sn, {
1545
- index: l,
1546
- label: u,
1547
- disabled: s,
1548
- className: X(t && "pl-8", n === "destructive" && "text-destructive", e),
1549
- customContent: /* @__PURE__ */ (0, $.jsx)("span", {
1550
- className: "flex w-full min-w-0 items-center gap-2 text-[13px] text-inherit",
1551
- children: i
1552
- }),
1553
- onClick: o,
1554
- onSelect: d,
1555
- ...c
1556
- });
1557
- }
1558
- function Tn({ ...e }) {
1559
- return /* @__PURE__ */ (0, $.jsx)(Ft, {
1560
- "data-slot": "dropdown-menu-radio-group",
1561
- ...e
1562
- });
1563
- }
1564
- function En({ className: e, children: t, inset: n, ...r }) {
1565
- return /* @__PURE__ */ (0, $.jsxs)(Rt, {
1566
- "data-slot": "dropdown-menu-radio-item",
1567
- "data-inset": n,
1568
- className: X("relative z-10 flex h-9 cursor-default items-center gap-2 rounded-lg py-0 pr-8 pl-2 text-[13px] outline-none select-none data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
1569
- ...r,
1570
- children: [/* @__PURE__ */ (0, $.jsx)("span", {
1571
- className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center",
1572
- children: /* @__PURE__ */ (0, $.jsx)(zt, { children: /* @__PURE__ */ (0, $.jsx)(ft, { className: "size-4" }) })
1573
- }), t]
1574
- });
1575
- }
1576
- function Dn({ className: e, ...t }) {
1577
- return /* @__PURE__ */ (0, $.jsx)(gn, {
1578
- "data-slot": "dropdown-menu-separator",
1579
- className: e,
1580
- ...t
1581
- });
1582
- }
1583
- //#endregion
1584
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/root/PopoverRootContext.mjs
1585
- var On = /*#__PURE__*/ Q.createContext(void 0);
1586
- process.env.NODE_ENV !== "production" && (On.displayName = "PopoverRootContext");
1587
- function kn(e) {
1588
- let t = Q.useContext(On);
1589
- if (t === void 0 && !e) throw Error(process.env.NODE_ENV === "production" ? Z(47) : "Base UI: PopoverRootContext is missing. Popover parts must be placed within <Popover.Root>.");
1590
- return t;
1591
- }
1592
- //#endregion
1593
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/store/PopoverStore.mjs
1594
- function An() {
1595
- return {
1596
- ...he(),
1597
- disabled: !1,
1598
- modal: !1,
1599
- focusManagerModal: !1,
1600
- instantType: void 0,
1601
- openMethod: null,
1602
- openChangeReason: null,
1603
- titleElementId: void 0,
1604
- descriptionElementId: void 0,
1605
- stickIfOpen: !0,
1606
- nested: !1,
1607
- openOnHover: !1,
1608
- closeDelay: 0,
1609
- hasViewport: !1
1610
- };
1611
- }
1612
- var jn = {
1613
- ...I,
1614
- disabled: Y((e) => e.disabled),
1615
- instantType: Y((e) => e.instantType),
1616
- openMethod: Y((e) => e.openMethod),
1617
- openChangeReason: Y((e) => e.openChangeReason),
1618
- modal: Y((e) => e.modal),
1619
- focusManagerModal: Y((e) => e.focusManagerModal),
1620
- stickIfOpen: Y((e) => e.stickIfOpen),
1621
- titleElementId: Y((e) => e.titleElementId),
1622
- descriptionElementId: Y((e) => e.descriptionElementId),
1623
- openOnHover: Y((e) => e.openOnHover),
1624
- closeDelay: Y((e) => e.closeDelay),
1625
- hasViewport: Y((e) => e.hasViewport)
1626
- }, Mn = class e extends xe {
1627
- constructor(e, t, n = !1) {
1628
- let r = {
1629
- ...An(),
1630
- ...e
1631
- }, i = new K();
1632
- r.open && e?.mounted === void 0 && (r.mounted = !0), r.floatingRootContext = re(i, t, n), super(r, {
1633
- popupRef: /*#__PURE__*/ Q.createRef(),
1634
- backdropRef: /*#__PURE__*/ Q.createRef(),
1635
- internalBackdropRef: /*#__PURE__*/ Q.createRef(),
1636
- onOpenChange: void 0,
1637
- onOpenChangeComplete: void 0,
1638
- triggerFocusTargetRef: /*#__PURE__*/ Q.createRef(),
1639
- beforeContentFocusGuardRef: /*#__PURE__*/ Q.createRef(),
1640
- stickIfOpenTimeout: new be(),
1641
- triggerElements: i
1642
- }, jn);
1643
- }
1644
- setOpen = (e, t) => {
1645
- let n = t.reason === r, i = t.reason === "trigger-press" && t.event.detail === 0, a = !e && (t.reason === "escape-key" || t.reason == null), o = ee(t), s = this.select("activeTriggerId");
1646
- if (!e && t.reason === "close-press" && t.trigger == null && s != null && (t.trigger = this.context.triggerElements.getById(s) ?? this.select("activeTriggerElement") ?? void 0), this.context.onOpenChange?.(e, t), t.isCanceled) return;
1647
- this.state.floatingRootContext.dispatchOpenChange(e, t);
1648
- let c = () => {
1649
- let n = {
1650
- open: e,
1651
- openChangeReason: t.reason
1652
- };
1653
- ve(n, e, t.trigger, o()), this.update(n);
1654
- };
1655
- n ? (this.set("stickIfOpen", !0), this.context.stickIfOpenTimeout.start(500, () => {
1656
- this.set("stickIfOpen", !1);
1657
- }), Xt.flushSync(c)) : c(), i || a ? this.set("instantType", i ? "click" : "dismiss") : t.reason === "focus-out" ? this.set("instantType", "focus") : this.set("instantType", void 0);
1658
- };
1659
- static useStore(t, n) {
1660
- let { store: r, internalStore: i } = U(t, (t, r) => new e(n, t, r));
1661
- return Q.useEffect(() => i?.disposeEffect(), [i]), r;
1662
- }
1663
- disposeEffect = () => this.context.stickIfOpenTimeout.disposeEffect();
1664
- };
1665
- //#endregion
1666
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/root/PopoverRoot.mjs
1667
- function Nn({ props: e }) {
1668
- let { children: t, open: n, defaultOpen: r = !1, onOpenChange: i, onOpenChangeComplete: a, modal: o = !1, handle: s, triggerId: c, defaultTriggerId: l = null } = e, u = Mn.useStore(s?.store, {
1669
- modal: o,
1670
- open: r,
1671
- openProp: n,
1672
- activeTriggerId: l,
1673
- triggerIdProp: c
1674
- });
1675
- H(u, n, r, l), u.useControlledProp("openProp", n), u.useControlledProp("triggerIdProp", c);
1676
- let d = u.useState("open"), f = u.useState("mounted"), p = u.useState("payload"), m = ie() != null;
1677
- u.useContextCallback("onOpenChange", i), u.useContextCallback("onOpenChangeComplete", a), te(u, d), z(u);
1678
- let { forceUnmount: g } = de(d, u, () => {
1679
- u.update({
1680
- stickIfOpen: !0,
1681
- openChangeReason: null
1682
- });
1683
- });
1684
- u.useSyncedValues({
1685
- modal: o,
1686
- nested: m
1687
- }), Q.useEffect(() => {
1688
- d || u.context.stickIfOpenTimeout.clear();
1689
- }, [u, d]);
1690
- let _ = Q.useCallback(() => {
1691
- u.setOpen(!1, h(k));
1692
- }, [u]);
1693
- Q.useImperativeHandle(e.actionsRef, () => ({
1694
- unmount: g,
1695
- close: _
1696
- }), [g, _]);
1697
- let v = d || f, y = Q.useMemo(() => ({ store: u }), [u]);
1698
- return /*#__PURE__*/ (0, $.jsxs)(On.Provider, {
1699
- value: y,
1700
- children: [v && /*#__PURE__*/ (0, $.jsx)(Fn, {
1701
- store: u,
1702
- modal: o
1703
- }), typeof t == "function" ? t({ payload: p }) : t]
1704
- });
1705
- }
1706
- function Pn(e) {
1707
- return kn(!0) ? /*#__PURE__*/ (0, $.jsx)(Nn, { props: e }) : /*#__PURE__*/ (0, $.jsx)(oe, { children: /*#__PURE__*/ (0, $.jsx)(Nn, { props: e }) });
1708
- }
1709
- function Fn({ store: e, modal: t }) {
1710
- let n = s(e.useState("floatingRootContext"), { outsidePressEvent: {
1711
- mouse: t === "trap-focus" ? "sloppy" : "intentional",
1712
- touch: "sloppy"
1713
- } });
1714
- return ce(e, {
1715
- activeTriggerProps: n.reference ?? Pe,
1716
- inactiveTriggerProps: n.trigger ?? Pe,
1717
- popupProps: Q.useMemo(() => je(ge, n.floating), [n.floating])
1718
- }), null;
1719
- }
1720
- //#endregion
1721
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/trigger/PopoverTrigger.mjs
1722
- var In = /*#__PURE__*/ Q.forwardRef(function(e, t) {
1723
- let { render: r, className: i, style: a, disabled: o = !1, nativeButton: s = !0, handle: c, payload: l, openOnHover: d = !1, delay: f = 300, closeDelay: p = 0, id: m, ...h } = e, g = kn(!0), v = c?.store ?? g?.store;
1724
- if (!v) throw Error(process.env.NODE_ENV === "production" ? Z(74) : "Base UI: <Popover.Trigger> must be either used within a <Popover.Root> component or provided with a handle.");
1725
- let y = _(m), b = v.useState("isTriggerActive", y), x = v.useState("floatingRootContext"), C = v.useState("isOpenedByTrigger", y), w = v.useState("triggerPopupId", y), T = Q.useRef(null), { registerTrigger: E, isMountedByThisTrigger: D } = P(y, T, v, {
1726
- payload: l,
1727
- disabled: o,
1728
- openOnHover: d,
1729
- closeDelay: p
1730
- }), O = v.useState("openChangeReason"), k = v.useState("stickIfOpen"), A = v.useState("openMethod"), j = v.useState("focusManagerModal"), M = n(x, {
1731
- enabled: !o && x != null && d && (A !== "touch" || O !== "trigger-press"),
1732
- mouseOnly: !0,
1733
- move: !1,
1734
- handleClose: S(),
1735
- restMs: f,
1736
- delay: { close: p },
1737
- triggerElementRef: T,
1738
- isActiveTrigger: b,
1739
- isClosing: () => v.select("transitionStatus") === "ending"
1740
- }), N = et(x, {
1741
- enabled: x != null,
1742
- stickIfOpen: k
1743
- }), I = Ye(() => v.select("open"), (e) => {
1744
- v.set("openMethod", e);
1745
- }), L = v.useState("triggerProps", D), { getButtonProps: R, buttonRef: ee } = ke({
1746
- disabled: o,
1747
- native: s
1748
- }), z = { open(e) {
1749
- return e && O === "trigger-press" ? ne.open(e) : F.open(e);
1750
- } }, { preFocusGuardRef: B, handlePreFocusGuardFocus: V, handleFocusTargetFocus: H } = Zt(v, T), U = Oe("button", e, {
1751
- state: {
1752
- disabled: o,
1753
- open: C
1754
- },
1755
- ref: [
1756
- ee,
1757
- t,
1758
- E,
1759
- T
1760
- ],
1761
- props: [
1762
- N.reference,
1763
- M,
1764
- L,
1765
- I,
1766
- {
1767
- [u]: "",
1768
- id: y,
1769
- "aria-haspopup": "dialog",
1770
- "aria-expanded": C,
1771
- "aria-controls": w
1772
- },
1773
- h,
1774
- R
1775
- ],
1776
- stateAttributesMapping: z
1777
- });
1778
- return D && !j ? /*#__PURE__*/ (0, $.jsxs)(Q.Fragment, { children: [
1779
- /*#__PURE__*/ (0, $.jsx)(q, {
1780
- ref: B,
1781
- onFocus: V
1782
- }),
1783
- /*#__PURE__*/ (0, $.jsx)(Q.Fragment, { children: U }, y),
1784
- /*#__PURE__*/ (0, $.jsx)(q, {
1785
- ref: v.context.triggerFocusTargetRef,
1786
- onFocus: H
1787
- })
1788
- ] }) : /*#__PURE__*/ (0, $.jsx)(Q.Fragment, { children: U }, y);
1789
- });
1790
- process.env.NODE_ENV !== "production" && (In.displayName = "PopoverTrigger");
1791
- //#endregion
1792
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/portal/PopoverPortalContext.mjs
1793
- var Ln = /*#__PURE__*/ Q.createContext(void 0);
1794
- process.env.NODE_ENV !== "production" && (Ln.displayName = "PopoverPortalContext");
1795
- function Rn() {
1796
- let e = Q.useContext(Ln);
1797
- if (e === void 0) throw Error(process.env.NODE_ENV === "production" ? Z(45) : "Base UI: <Popover.Portal> is missing.");
1798
- return e;
1799
- }
1800
- //#endregion
1801
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/portal/PopoverPortal.mjs
1802
- var zn = /*#__PURE__*/ Q.forwardRef(function(e, t) {
1803
- let { keepMounted: n = !1, ...r } = e, { store: i } = kn();
1804
- return i.useState("mounted") || n ? /*#__PURE__*/ (0, $.jsx)(Ln.Provider, {
1805
- value: n,
1806
- children: /*#__PURE__*/ (0, $.jsx)(x, {
1807
- ref: t,
1808
- ...r
1809
- })
1810
- }) : null;
1811
- });
1812
- process.env.NODE_ENV !== "production" && (zn.displayName = "PopoverPortal");
1813
- //#endregion
1814
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/positioner/PopoverPositionerContext.mjs
1815
- var Bn = /*#__PURE__*/ Q.createContext(void 0);
1816
- process.env.NODE_ENV !== "production" && (Bn.displayName = "PopoverPositionerContext");
1817
- function Vn() {
1818
- let e = Q.useContext(Bn);
1819
- if (!e) throw Error(process.env.NODE_ENV === "production" ? Z(46) : "Base UI: PopoverPositionerContext is missing. PopoverPositioner parts must be placed within <Popover.Positioner>.");
1820
- return e;
1821
- }
1822
- //#endregion
1823
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/positioner/PopoverPositioner.mjs
1824
- var Hn = /*#__PURE__*/ Q.forwardRef(function(e, t) {
1825
- let { render: n, className: r, style: a, anchor: s, positionMethod: c = "absolute", side: l = "bottom", align: u = "center", sideOffset: f = 0, alignOffset: p = 0, collisionBoundary: m = "clipping-ancestors", collisionPadding: h = 5, arrowPadding: g = 5, sticky: _ = !1, disableAnchorTracking: v = !1, collisionAvoidance: b = w, ...x } = e, { store: S } = kn(), C = Rn(), T = i(), E = S.useState("floatingRootContext"), D = S.useState("mounted"), O = S.useState("open"), k = S.useState("openChangeReason"), A = S.useState("activeTriggerElement"), M = S.useState("modal"), N = S.useState("openMethod"), P = S.useState("positionerElement"), F = S.useState("instantType"), I = S.useState("transitionStatus"), L = S.useState("hasViewport"), R = Q.useRef(null), ee = o(P, !1, !1), z = d({
1826
- anchor: s,
1827
- floatingRootContext: E,
1828
- positionMethod: c,
1829
- mounted: D,
1830
- side: l,
1831
- sideOffset: f,
1832
- align: u,
1833
- alignOffset: p,
1834
- arrowPadding: g,
1835
- collisionBoundary: m,
1836
- collisionPadding: h,
1837
- sticky: _,
1838
- disableAnchorTracking: v,
1839
- keepMounted: C,
1840
- nodeId: T,
1841
- collisionAvoidance: b,
1842
- adaptiveOrigin: L ? j : void 0
1843
- }), B = E.useState("domReferenceElement");
1844
- Ae(() => {
1845
- let e = B, t = R.current;
1846
- if (e && (R.current = e), t && e && e !== t) {
1847
- S.set("instantType", void 0);
1848
- let e = new AbortController();
1849
- return ee(() => {
1850
- S.set("instantType", "trigger-change");
1851
- }, e.signal), () => {
1852
- e.abort();
1853
- };
1854
- }
1855
- }, [
1856
- B,
1857
- ee,
1858
- S
1859
- ]), qe(O && M === !0 && k !== "trigger-hover", N === "touch", P, A);
1860
- let V = Q.useCallback((e) => {
1861
- S.set("positionerElement", e);
1862
- }, [S]), H = fe(e, {
1863
- open: O,
1864
- side: z.side,
1865
- align: z.align,
1866
- anchorHidden: z.anchorHidden,
1867
- instant: F
1868
- }, {
1869
- styles: z.positionerStyles,
1870
- transitionStatus: I,
1871
- props: x,
1872
- refs: [t, V],
1873
- hidden: !D,
1874
- inert: !O
1875
- });
1876
- return /*#__PURE__*/ (0, $.jsxs)(Bn.Provider, {
1877
- value: z,
1878
- children: [D && M === !0 && k !== "trigger-hover" && /*#__PURE__*/ (0, $.jsx)(nt, {
1879
- ref: S.context.internalBackdropRef,
1880
- inert: Je(!O),
1881
- cutout: A
1882
- }), /*#__PURE__*/ (0, $.jsx)(y, {
1883
- id: T,
1884
- children: H
1885
- })]
1886
- });
1887
- });
1888
- process.env.NODE_ENV !== "production" && (Hn.displayName = "PopoverPositioner");
1889
- //#endregion
1890
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/utils/closePart.mjs
1891
- var Un = /*#__PURE__*/ Q.createContext(void 0);
1892
- process.env.NODE_ENV !== "production" && (Un.displayName = "ClosePartContext");
1893
- function Wn() {
1894
- let [e, t] = Q.useState(0), n = Le(() => (t((e) => e + 1), () => {
1895
- t((e) => Math.max(0, e - 1));
1896
- }));
1897
- return {
1898
- context: Q.useMemo(() => ({ register: n }), [n]),
1899
- hasClosePart: e > 0
1900
- };
1901
- }
1902
- function Gn(e) {
1903
- let { value: t, children: n } = e;
1904
- return /*#__PURE__*/ (0, $.jsx)(Un.Provider, {
1905
- value: t,
1906
- children: n
1907
- });
1908
- }
1909
- //#endregion
1910
- //#region ../../node_modules/.pnpm/@base-ui+react@1.6.0_@types+react@19.2.17_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/popover/popup/PopoverPopup.mjs
1911
- var Kn = {
1912
- ...me,
1913
- ...G
1914
- }, qn = /*#__PURE__*/ Q.forwardRef(function(e, t) {
1915
- let { render: n, className: r, style: i, initialFocus: a, finalFocus: o, ...s } = e, { store: l } = kn(), u = Vn(), d = tt(!0) != null, { context: f, hasClosePart: p } = Wn(), m = l.useState("open"), h = l.useState("openMethod"), g = l.useState("instantType"), _ = l.useState("transitionStatus"), v = l.useState("popupProps"), y = l.useState("titleElementId"), b = l.useState("descriptionElementId"), x = l.useState("modal"), S = l.useState("mounted"), C = l.useState("openChangeReason"), w = l.useState("activeTriggerElement"), T = l.useState("floatingRootContext"), E = T.useState("floatingId"), D = l.useState("disabled"), O = l.useState("openOnHover"), k = l.useState("closeDelay"), A = s.id ?? E;
1916
- c({
1917
- open: m,
1918
- ref: l.context.popupRef,
1919
- onComplete() {
1920
- m && l.context.onOpenChangeComplete?.(!0);
1921
- }
1922
- }), B(T, {
1923
- enabled: O && !D,
1924
- closeDelay: k
1925
- });
1926
- let j = a === void 0 ? se(l.context.popupRef) : a, N = x !== !1 && p;
1927
- l.useSyncedValue("focusManagerModal", N);
1928
- let P = Q.useCallback((e) => {
1929
- l.set("popupElement", e);
1930
- }, [l]), F = Oe("div", e, {
1931
- state: {
1932
- open: m,
1933
- side: u.side,
1934
- align: u.align,
1935
- instant: g,
1936
- transitionStatus: _
1937
- },
1938
- ref: [
1939
- t,
1940
- l.context.popupRef,
1941
- P
1942
- ],
1943
- props: [
1944
- v,
1945
- {
1946
- id: A,
1947
- role: "dialog",
1948
- ...ge,
1949
- "aria-labelledby": y,
1950
- "aria-describedby": b,
1951
- onKeyDown(e) {
1952
- d && Ve.has(e.key) && e.stopPropagation();
1953
- }
1954
- },
1955
- M(_),
1956
- s
1957
- ],
1958
- stateAttributesMapping: Kn
1959
- });
1960
- return /*#__PURE__*/ (0, $.jsx)(Ke, {
1961
- context: T,
1962
- openInteractionType: h,
1963
- modal: N,
1964
- disabled: !S || C === "trigger-hover",
1965
- initialFocus: j,
1966
- returnFocus: o,
1967
- restoreFocus: "popup",
1968
- previousFocusableElement: we(w) ? w : void 0,
1969
- nextFocusableElement: l.context.triggerFocusTargetRef,
1970
- beforeContentFocusGuardRef: l.context.beforeContentFocusGuardRef,
1971
- children: /*#__PURE__*/ (0, $.jsx)(Gn, {
1972
- value: f,
1973
- children: F
1974
- })
1975
- });
1976
- });
1977
- process.env.NODE_ENV !== "production" && (qn.displayName = "PopoverPopup");
1978
- //#endregion
1979
- //#region src/client/components/ui/popover.tsx
1980
- function Jn({ ...e }) {
1981
- return /* @__PURE__ */ (0, $.jsx)(Pn, {
1982
- "data-slot": "popover",
1983
- ...e
1984
- });
1985
- }
1986
- function Yn(e) {
1987
- return /* @__PURE__ */ (0, $.jsx)(In, {
1988
- "data-slot": "popover-trigger",
1989
- ...e
1990
- });
1991
- }
1992
- function Xn({ className: e, align: t = "center", alignOffset: n = 0, side: r = "bottom", sideOffset: i = 4, ...a }) {
1993
- return /* @__PURE__ */ (0, $.jsx)(zn, { children: /* @__PURE__ */ (0, $.jsx)(Hn, {
1994
- align: t,
1995
- alignOffset: n,
1996
- side: r,
1997
- sideOffset: i,
1998
- className: "isolate z-50",
1999
- children: /* @__PURE__ */ (0, $.jsx)(qn, {
2000
- "data-slot": "popover-content",
2001
- className: X("z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", e),
2002
- ...a
2003
- })
2004
- }) });
2005
- }
2006
- //#endregion
2007
- //#region src/client/components/ui/sheet.tsx
2008
- function Zn({ ...e }) {
2009
- return /* @__PURE__ */ (0, $.jsx)(ot, {
2010
- "data-slot": "sheet",
2011
- ...e
2012
- });
2013
- }
2014
- function Qn(e) {
2015
- return /* @__PURE__ */ (0, $.jsx)(ut, {
2016
- "data-slot": "sheet-trigger",
2017
- ...e
2018
- });
2019
- }
2020
- function $n({ ...e }) {
2021
- return /* @__PURE__ */ (0, $.jsx)(lt, {
2022
- "data-slot": "sheet-portal",
2023
- ...e
2024
- });
2025
- }
2026
- function er({ className: e, container: t, ...n }) {
2027
- return /* @__PURE__ */ (0, $.jsx)(dt, {
2028
- "data-slot": "sheet-overlay",
2029
- className: X("inset-0 z-50 bg-black/50 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0", t ? "absolute" : "fixed", e),
2030
- ...n
2031
- });
2032
- }
2033
- function tr({ className: e, children: t, side: n = "right", showCloseButton: r = !0, container: i, ...a }) {
2034
- return /* @__PURE__ */ (0, $.jsxs)($n, {
2035
- container: i ?? void 0,
2036
- children: [/* @__PURE__ */ (0, $.jsx)(er, { container: i }), /* @__PURE__ */ (0, $.jsxs)(ct, {
2037
- "data-slot": "sheet-content",
2038
- "data-side": n,
2039
- className: X("z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", i ? "absolute" : "fixed", e),
2040
- ...a,
2041
- children: [t, r && /* @__PURE__ */ (0, $.jsxs)(it, {
2042
- "data-slot": "sheet-close",
2043
- render: /* @__PURE__ */ (0, $.jsx)(Fe, {
2044
- variant: "ghost",
2045
- className: "absolute top-4 right-4",
2046
- size: "icon-sm"
2047
- }),
2048
- children: [/* @__PURE__ */ (0, $.jsx)(pt, {}), /* @__PURE__ */ (0, $.jsx)("span", {
2049
- className: "sr-only",
2050
- children: "Close"
2051
- })]
2052
- })]
2053
- })]
2054
- });
2055
- }
2056
- function nr({ className: e, ...t }) {
2057
- return /* @__PURE__ */ (0, $.jsx)("div", {
2058
- "data-slot": "sheet-header",
2059
- className: X("flex flex-col gap-1.5 p-4", e),
2060
- ...t
2061
- });
2062
- }
2063
- function rr({ className: e, ...t }) {
2064
- return /* @__PURE__ */ (0, $.jsx)(at, {
2065
- "data-slot": "sheet-title",
2066
- className: X("font-medium text-foreground", e),
2067
- ...t
2068
- });
2069
- }
2070
- function ir({ className: e, ...t }) {
2071
- return /* @__PURE__ */ (0, $.jsx)(st, {
2072
- "data-slot": "sheet-description",
2073
- className: X("text-sm text-muted-foreground", e),
2074
- ...t
2075
- });
2076
- }
2077
- //#endregion
2078
- export { xn as _, rr as a, Xn as c, Sn as d, wn as f, Dn as g, En as h, nr as i, Yn as l, Tn as m, tr as n, Qn as o, Cn as p, ir as r, Jn as s, Zn as t, bn as u, sn as v, Jt as y };