twenty-ui 2.51.3 → 2.52.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 (129) hide show
  1. package/dist/{AllIcons-1tBWXXrE.cjs → AllIcons-HGLkp696.cjs} +1 -1
  2. package/dist/{AllIcons-ayl8BCtV.js → AllIcons-fCCVOqoJ.js} +1 -1
  3. package/dist/{Button-CU8BS-Yd.js → Button-Dd8cNsn1.js} +2 -2
  4. package/dist/{Button-iVyxlrwO.cjs → Button-Du8T-dOv.cjs} +1 -1
  5. package/dist/Dropdown-D3LPyrQI.js +1163 -0
  6. package/dist/Dropdown-h5-yIsU7.cjs +1 -0
  7. package/dist/Input-BKRR1xlO.js +26 -0
  8. package/dist/Input-DS19vWhl.cjs +1 -0
  9. package/dist/{ListItem-WLONJMo5.js → ListItem-DR7Xh2WV.js} +3 -3
  10. package/dist/{ListItem-B-SFWJZb.cjs → ListItem-g1B--M70.cjs} +1 -1
  11. package/dist/{Loader-Bb72CUQ9.cjs → Loader-Dau0YQpY.cjs} +1 -1
  12. package/dist/{Loader-DtHWQH8w.js → Loader-U1LuZtJf.js} +1 -1
  13. package/dist/{OverflowingTextWithTooltip-D4eZc-7P.js → OverflowingTextWithTooltip-Cky5WlIk.js} +1 -1
  14. package/dist/{OverflowingTextWithTooltip-ClpPsdpP.cjs → OverflowingTextWithTooltip-Dmsmy-9g.cjs} +1 -1
  15. package/dist/{Popover-CneCJTvD.cjs → Popover-B-VIhr5g.cjs} +1 -1
  16. package/dist/{Popover-CWeCV7X9.js → Popover-DhFCYRtv.js} +1 -1
  17. package/dist/{ProgressBar-goqxS9NE.cjs → ProgressBar-BG38LPgC.cjs} +1 -1
  18. package/dist/{ProgressBar-8pjpGrmZ.js → ProgressBar-BO0MkswY.js} +14 -14
  19. package/dist/{Radio-CpQPRHXa.cjs → Radio-BK47Ig6J.cjs} +1 -1
  20. package/dist/{Radio-VTjpEz8M.js → Radio-WuoC3hJ5.js} +4 -4
  21. package/dist/{Shortcut-N8TELGPI.cjs → Shortcut-CbbRd1uM.cjs} +1 -1
  22. package/dist/{Shortcut-Bp9iDdQg.js → Shortcut-YMhkp7f6.js} +1 -1
  23. package/dist/TablerIcons-CqzhliLC.js +462 -0
  24. package/dist/{Tooltip-08dDawT_.cjs → Tooltip-BXeUFCdb.cjs} +1 -1
  25. package/dist/{Tooltip-C7zc16gI.js → Tooltip-CT9YCDaV.js} +1 -1
  26. package/dist/components/code-editor.cjs +1 -1
  27. package/dist/components/code-editor.mjs +2 -2
  28. package/dist/components/data-display.cjs +1 -1
  29. package/dist/components/data-display.mjs +1 -1
  30. package/dist/components/feedback.cjs +1 -1
  31. package/dist/components/feedback.mjs +1 -1
  32. package/dist/components/input/SegmentedControl/SegmentedControl.d.ts +1 -1
  33. package/dist/components/input/SegmentedControl/types/SegmentedControlProps.d.ts +1 -0
  34. package/dist/components/input.cjs +1 -1
  35. package/dist/components/input.mjs +6 -6
  36. package/dist/components/layout.cjs +1 -1
  37. package/dist/components/layout.mjs +1 -1
  38. package/dist/components/navigation/Dropdown/Dropdown.d.ts +1 -1
  39. package/dist/components/navigation/Dropdown/__stories__/DropdownPlacementExample.d.ts +6 -0
  40. package/dist/components/navigation/Dropdown/hooks/useDropdownPlacementOrThrow.d.ts +1 -0
  41. package/dist/components/navigation/Dropdown/internal/DropdownContent.d.ts +1 -1
  42. package/dist/components/navigation/Dropdown/internal/DropdownContentRenderer.d.ts +10 -0
  43. package/dist/components/navigation/Dropdown/internal/DropdownPlacementContext.d.ts +1 -0
  44. package/dist/components/navigation/Dropdown/internal/compareDropdownElementOrder.d.ts +4 -0
  45. package/dist/components/navigation/Dropdown/internal/getDropdownTabNavigation.d.ts +7 -0
  46. package/dist/components/navigation/Dropdown/internal/getDropdownTriggerTabTarget.d.ts +1 -0
  47. package/dist/components/navigation/index.d.ts +1 -0
  48. package/dist/components/navigation.cjs +1 -1
  49. package/dist/components/navigation.mjs +8 -7
  50. package/dist/components/settings.cjs +1 -1
  51. package/dist/components/settings.mjs +1 -1
  52. package/dist/components.cjs +1 -1
  53. package/dist/components.mjs +27 -26
  54. package/dist/{data-display-DUMj_z1t.js → data-display-B7beM2yK.js} +54 -54
  55. package/dist/{data-display-DzHM5j7j.cjs → data-display-C3Q_8G-N.cjs} +1 -1
  56. package/dist/{data-display-b-9s0RTe.js → data-display-CHKKTmH_.js} +63 -63
  57. package/dist/{data-display-D_kbXJJd.cjs → data-display-VghHkQY5.cjs} +1 -1
  58. package/dist/{feedback-BzR4ggrP.cjs → feedback-3S9S-Xi9.cjs} +1 -1
  59. package/dist/{feedback-EaZszoXf.js → feedback-DHATp8in.js} +51 -51
  60. package/dist/icon/components/TablerIcons.d.ts +1 -1
  61. package/dist/icon/index.d.ts +1 -1
  62. package/dist/{icon-ICz2_dVB.js → icon-C3fz8p3W.js} +3 -3
  63. package/dist/{icon-TSBamkxk.cjs → icon-C688lfSq.cjs} +1 -1
  64. package/dist/icon.cjs +1 -1
  65. package/dist/icon.mjs +505 -503
  66. package/dist/index.cjs +1 -1
  67. package/dist/index.mjs +658 -655
  68. package/dist/{input-CuySKbhm.js → input-BLU0vrJM.js} +585 -584
  69. package/dist/{input-ExCbk62Y.cjs → input-BLUZOGq8.cjs} +1 -1
  70. package/dist/{input-BQABEELu.cjs → input-DRIIJ4Zd.cjs} +1 -1
  71. package/dist/{input-DxoXgI5-.js → input-jkwxjdtI.js} +6 -6
  72. package/dist/{layout-B2KvJ900.js → layout-4nLOjbJA.js} +2 -2
  73. package/dist/{layout-B1Iwc9ku.cjs → layout-DEoY3Qd0.cjs} +1 -1
  74. package/dist/navigation-CSSOuhFm.cjs +1 -0
  75. package/dist/navigation-iP54gZTV.js +140 -0
  76. package/dist/primitives/data-display.cjs +1 -1
  77. package/dist/primitives/data-display.mjs +1 -1
  78. package/dist/primitives/feedback.cjs +1 -1
  79. package/dist/primitives/feedback.mjs +2 -2
  80. package/dist/primitives/input/Input/Input.d.ts +1 -1
  81. package/dist/primitives/input/Input/types/InputProps.d.ts +1 -0
  82. package/dist/primitives/input.cjs +1 -1
  83. package/dist/primitives/input.mjs +4 -4
  84. package/dist/primitives/navigation.cjs +1 -1
  85. package/dist/primitives/navigation.mjs +1 -1
  86. package/dist/primitives/surfaces/Card/Card.d.ts +1 -1
  87. package/dist/primitives/surfaces/Card/internal/CardRoot.d.ts +1 -1
  88. package/dist/primitives/surfaces/Card/types/CardRootProps.d.ts +1 -0
  89. package/dist/primitives/surfaces.cjs +1 -1
  90. package/dist/primitives/surfaces.mjs +3 -3
  91. package/dist/primitives/typography.cjs +1 -1
  92. package/dist/primitives/typography.mjs +3 -3
  93. package/dist/primitives.cjs +1 -1
  94. package/dist/primitives.mjs +14 -14
  95. package/dist/{settings-BTFAqYrD.js → settings-BmsLbd-g.js} +1 -1
  96. package/dist/{settings-D_iT1ngl.cjs → settings-DGwyi63i.cjs} +1 -1
  97. package/dist/style.css +1 -1
  98. package/dist/surfaces-C70biBA8.js +225 -0
  99. package/dist/surfaces-DcGz8LO-.cjs +1 -0
  100. package/dist/testing.cjs +1 -1
  101. package/dist/testing.mjs +1 -1
  102. package/dist/theme/constants/ThemeLight.d.ts +1 -0
  103. package/dist/theme/themeCssVariables.d.ts +1 -0
  104. package/dist/theme/themeTypes.d.ts +1 -0
  105. package/dist/theme-BJRNJNPO.cjs +1 -0
  106. package/dist/{theme-B2EaXhye.js → theme-CuGIQBsJ.js} +7 -4
  107. package/dist/theme-dark.css +1 -0
  108. package/dist/theme-light.css +1 -0
  109. package/dist/theme.cjs +1 -1
  110. package/dist/theme.mjs +1 -1
  111. package/dist/{typography-B05olPwL.cjs → typography-DeFnsH3k.cjs} +1 -1
  112. package/dist/{typography-BwyZEDDi.js → typography-sorTYmvG.js} +2 -2
  113. package/dist/{useIsMobile-D1ImfQnE.js → useIsMobile-CZeJLJJN.js} +1 -1
  114. package/dist/{useIsMobile-Byp9AIq-.cjs → useIsMobile-VmnhfE8g.cjs} +1 -1
  115. package/dist/{utilities-xZh8D2gd.cjs → utilities-Bfnz_GAC.cjs} +1 -1
  116. package/dist/{utilities-BKCMZyqZ.js → utilities-D0KcLLtO.js} +2 -2
  117. package/dist/utilities.cjs +1 -1
  118. package/dist/utilities.mjs +2 -2
  119. package/package.json +7 -7
  120. package/dist/Dropdown-D_hFndP5.cjs +0 -1
  121. package/dist/Dropdown-xXsGBv57.js +0 -1056
  122. package/dist/Input-D1sIHUZ5.js +0 -25
  123. package/dist/Input-D69M4UwD.cjs +0 -1
  124. package/dist/TablerIcons-B-5Ua_Ne.js +0 -460
  125. package/dist/navigation-DP5Edsq_.cjs +0 -1
  126. package/dist/navigation-DXMjQMPm.js +0 -134
  127. package/dist/surfaces-DtZwsfms.cjs +0 -1
  128. package/dist/surfaces-v0kQLZYO.js +0 -224
  129. package/dist/theme-1XkFz8Qu.cjs +0 -1
@@ -0,0 +1,1163 @@
1
+ import { t as a } from "./isDefined-fMi6eQ4r.js";
2
+ import { t as We } from "./isRenderableSlot-DT_depzM.js";
3
+ import { Ot as ut, Tc as pt, Tt as ft, kt as mt } from "./TablerIcons-CqzhliLC.js";
4
+ import { t as ne } from "./doNotTranslate-BSVT8Xyd.js";
5
+ import { t as Z } from "./mergeClassNames-ClFMR1v0.js";
6
+ import { t as gt } from "./preventDismissingClickActivation-BQFMKRey.js";
7
+ import { r as ze, t as wt } from "./Button-Dd8cNsn1.js";
8
+ import { t as ht } from "./Tooltip-CT9YCDaV.js";
9
+ import { r as He } from "./OverflowingTextWithTooltip-Cky5WlIk.js";
10
+ import { t as ve } from "./ListItem.module-B31VK9XZ.js";
11
+ import { t as Ee } from "./ListItem-DR7Xh2WV.js";
12
+ import { t as oe } from "./Popover-DhFCYRtv.js";
13
+ import { t as vt } from "./Input-BKRR1xlO.js";
14
+ import { useRender as ue } from "@base-ui/react/use-render";
15
+ import { isBoolean as bt, isFunction as yt, isNonEmptyString as ye, isPositiveInteger as $e, isUndefined as be } from "@sniptt/guards";
16
+ import { clsx as q } from "clsx";
17
+ import { Fragment as Tt, createContext as Se, isValidElement as Dt, useCallback as J, useContext as pe, useEffect as It, useId as Te, useLayoutEffect as fe, useRef as Ce, useState as M } from "react";
18
+ import { Fragment as _t, jsx as u, jsxs as ee } from "react/jsx-runtime";
19
+ import { Button as Ye } from "@base-ui/react/button";
20
+ import { useMergedRefs as me } from "@base-ui/utils/useMergedRefs";
21
+ import { Popover as je } from "@base-ui/react/popover";
22
+ import { areArraysEqual as At } from "@base-ui/utils/areArraysEqual";
23
+ import { useDirection as Xe } from "@base-ui/react/direction-provider";
24
+ import { Menu as Pe } from "@base-ui/react/menu";
25
+ var Et = "_content_nig04_1", St = "_inactivePositioner_nig04_13", Ct = "_page_nig04_17", Pt = "_selectionGroup_nig04_24", Ot = "_group_nig04_28", Rt = "_groupLabel_nig04_34", kt = "_separator_nig04_43", Nt = "_section_nig04_50", xt = "_back_nig04_84", Ft = "_backIcon_nig04_96", Lt = "_searchContainer_nig04_100", Bt = "_search_nig04_100", Mt = "_status_nig04_113", Gt = "_header_nig04_117", Kt = "_title_nig04_130", qt = "_itemWithActions_nig04_139", Ut = "_itemWithActionsPrimary_nig04_145", Vt = "_itemActions_nig04_160", Wt = "_itemDecoration_nig04_164", O = {
26
+ content: Et,
27
+ inactivePositioner: St,
28
+ page: Ct,
29
+ selectionGroup: Pt,
30
+ group: Ot,
31
+ groupLabel: Rt,
32
+ separator: kt,
33
+ section: Nt,
34
+ back: xt,
35
+ backIcon: Ft,
36
+ searchContainer: Lt,
37
+ search: Bt,
38
+ status: Mt,
39
+ header: Gt,
40
+ title: Kt,
41
+ itemWithActions: qt,
42
+ itemWithActionsPrimary: Ut,
43
+ itemActions: Vt,
44
+ itemDecoration: Wt
45
+ }, Je = ({ render: e, ref: t, disabled: r, ...o }) => ue({
46
+ render: e,
47
+ ref: t,
48
+ defaultTagName: "button",
49
+ props: {
50
+ ...o,
51
+ disabled: r
52
+ }
53
+ }), Oe = ({ nativeButton: e, renderProps: t }) => e && "disabled" in t && bt(t.disabled) ? t.disabled : void 0, zt = "[data-dropdown-item]", Qe = ({ actions: e, actionsVisibility: t = "hover", color: r = "neutral", selected: o = !1, focused: i = !1, indicator: c = "none", disabled: s = !1, hasSubmenu: d = !1, children: n }) => /* @__PURE__ */ ee("div", {
54
+ className: q(ve.root, O.itemWithActions),
55
+ role: "none",
56
+ "data-actions-visibility": t,
57
+ "data-color": r,
58
+ "data-selected": o ? "" : void 0,
59
+ "data-highlighted": i ? "" : void 0,
60
+ "data-indicator": c,
61
+ "data-disabled": s ? "" : void 0,
62
+ onClick: (l) => {
63
+ l.target === l.currentTarget && l.currentTarget.querySelector(zt)?.click();
64
+ },
65
+ children: [
66
+ n,
67
+ /* @__PURE__ */ u("span", {
68
+ className: q(ve.actions, O.itemActions),
69
+ children: e
70
+ }),
71
+ c === "check" && o && /* @__PURE__ */ u(ft, {
72
+ className: q(ve.checkIndicator, O.itemDecoration),
73
+ "aria-hidden": !0
74
+ }),
75
+ d && /* @__PURE__ */ u(mt, {
76
+ className: q(ve.submenuIcon, O.itemDecoration),
77
+ "aria-hidden": !0
78
+ })
79
+ ]
80
+ }), Re = ({ id: e, render: t }) => Dt(t) ? t.props.id ?? e : e, ke = (e) => e.getAttribute("aria-label") ?? e.textContent ?? "", Ne = ({ firstElement: e, secondElement: t }) => {
81
+ if (e === t) return 0;
82
+ const r = (e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING) !== 0 ? -1 : 1;
83
+ let o = e;
84
+ for (; a(o.parentElement) && !o.parentElement.contains(t); ) o = o.parentElement;
85
+ const i = o.parentElement, c = i?.ownerDocument.defaultView;
86
+ if (!a(i) || !a(c)) return r;
87
+ let s = t;
88
+ for (; a(s.parentElement) && s.parentElement !== i; ) s = s.parentElement;
89
+ if (o === s) return r;
90
+ const d = c.getComputedStyle(i);
91
+ if (!(d.display === "flex" || d.display === "inline-flex")) return r;
92
+ const n = Number(c.getComputedStyle(o).order) - Number(c.getComputedStyle(s).order) || r;
93
+ return d.flexDirection === "column-reverse" ? -n : n;
94
+ }, Ht = "[hidden],[inert]", ae = (e) => !a(e.closest(Ht)), xe = ({ content: e, item: t }) => t.getAttribute("aria-disabled") !== "true" && !t.hasAttribute("disabled") && ae(t) && t.closest("[data-dropdown-content]") === e, ge = (e) => Array.from(e.querySelectorAll("[data-dropdown-item]")).filter((t) => xe({
95
+ content: e,
96
+ item: t
97
+ })).sort((t, r) => Ne({
98
+ firstElement: t,
99
+ secondElement: r
100
+ })), de = Se(void 0), F = () => {
101
+ const e = pe(de);
102
+ if (!a(e)) throw new Error(ne("Dropdown components must be inside Dropdown.Root"));
103
+ return e;
104
+ }, Fe = ({ id: e, disabled: t, isSubmenuTrigger: r = !1 }) => {
105
+ const o = F(), i = r ? o.parentType : o.type, c = r ? o.parentRowFocus : o.rowFocus, s = i !== "panel" && (c?.rowIds?.includes(e) ?? !0);
106
+ return { tabIndex: t || s && c?.tabStopRowId !== e ? -1 : 0 };
107
+ }, Ze = ({ color: e, startIcon: t, endIcon: r, description: o, descriptionPlacement: i, shortcut: c, shortcutJoinLabel: s, hasSubmenu: d, actions: n, actionsVisibility: l, children: p, render: w, disabled: T = !1, nativeButton: g = !a(w), closeOnClick: f = !0, onClick: _, page: R, id: v, ...m }) => {
108
+ const { type: S, closeTree: h, goToPage: b } = F(), k = Te(), N = Re({
109
+ id: v,
110
+ render: w
111
+ }), L = N ?? k, B = Fe({
112
+ id: L,
113
+ disabled: T
114
+ }), C = We(n), P = d ?? a(R), x = /* @__PURE__ */ u(Ye, {
115
+ ...m,
116
+ id: L,
117
+ disabled: T,
118
+ nativeButton: g,
119
+ role: m.role ?? (S === "menu" ? "menuitem" : void 0),
120
+ tabIndex: B.tabIndex,
121
+ "data-dropdown-item": "",
122
+ "data-dropdown-page": R,
123
+ onClick: (I) => {
124
+ if (_?.(I), !I.defaultPrevented) {
125
+ if (a(R)) {
126
+ const A = I.currentTarget.closest("[data-dropdown-content]");
127
+ if (!a(A)) return;
128
+ b({
129
+ id: R,
130
+ trigger: {
131
+ id: N,
132
+ index: ge(A).indexOf(I.currentTarget),
133
+ page: R,
134
+ label: ke(I.currentTarget)
135
+ }
136
+ });
137
+ return;
138
+ }
139
+ f && h();
140
+ }
141
+ },
142
+ render: (I) => {
143
+ const A = Oe({
144
+ nativeButton: g,
145
+ renderProps: I
146
+ });
147
+ return /* @__PURE__ */ u(Ee, {
148
+ ...I,
149
+ render: /* @__PURE__ */ u(Je, {
150
+ render: w,
151
+ disabled: A
152
+ }),
153
+ className: q(I.className, C && O.itemWithActionsPrimary),
154
+ disabled: T,
155
+ color: e,
156
+ startIcon: t,
157
+ endIcon: r,
158
+ actionsVisibility: l,
159
+ description: o,
160
+ descriptionPlacement: i,
161
+ shortcut: c,
162
+ shortcutJoinLabel: s,
163
+ hasSubmenu: !C && P,
164
+ children: p
165
+ });
166
+ }
167
+ });
168
+ return C ? /* @__PURE__ */ u(Qe, {
169
+ actions: n,
170
+ actionsVisibility: l,
171
+ color: e,
172
+ disabled: T,
173
+ hasSubmenu: P,
174
+ children: x
175
+ }) : x;
176
+ }, $t = ({ children: e = ne("Back"), className: t, onClick: r, ...o }) => {
177
+ const { goBack: i, canGoBack: c } = F();
178
+ return /* @__PURE__ */ u(Ze, {
179
+ ...o,
180
+ className: q(O.back, t),
181
+ "data-dropdown-back": "",
182
+ disabled: o.disabled || !c,
183
+ startIcon: /* @__PURE__ */ u(ut, { className: O.backIcon }),
184
+ closeOnClick: !1,
185
+ onClick: (s) => {
186
+ r?.(s), !s.defaultPrevented && i();
187
+ },
188
+ children: e
189
+ });
190
+ }, Yt = "_button_1qwl0_1", jt = "_tooltipAnchor_1qwl0_29", Xt = "_icon_1qwl0_33", Ie = {
191
+ button: Yt,
192
+ tooltipAnchor: jt,
193
+ icon: Xt
194
+ }, Jt = ({ children: e, size: t, shape: r = "square", className: o, tooltip: i, tooltipPlace: c = "bottom", tooltipDelay: s = 1e3, tooltipOffset: d = 5, disabled: n, loading: l, ...p }) => {
195
+ const w = pe(ze), T = t ?? w?.size ?? "md", g = ye(i), f = n || l, _ = /* @__PURE__ */ u(wt, {
196
+ ...p,
197
+ size: T === "xs" ? "sm" : T,
198
+ "data-icon-size": T,
199
+ "data-shape": r,
200
+ disabled: n,
201
+ loading: l,
202
+ startIcon: /* @__PURE__ */ u("span", {
203
+ className: Ie.icon,
204
+ children: e
205
+ }),
206
+ className: Z(Ie.button, o)
207
+ });
208
+ return g ? /* @__PURE__ */ u(ht, {
209
+ content: i,
210
+ delay: s,
211
+ side: c,
212
+ sideOffset: d,
213
+ children: f ? /* @__PURE__ */ u("span", {
214
+ className: Ie.tooltipAnchor,
215
+ children: _
216
+ }) : _
217
+ }) : _;
218
+ }, Qt = "_button_prhtf_1", Zt = { button: Qt }, er = ({ className: e, emphasis: t = "standard", size: r, variant: o, ...i }) => {
219
+ const c = pe(ze), s = r ?? c?.size ?? "sm", d = o ?? c?.variant ?? "ghost";
220
+ return /* @__PURE__ */ u(Jt, {
221
+ ...i,
222
+ size: s,
223
+ variant: d,
224
+ "data-emphasis": t,
225
+ className: Z(Zt.button, e)
226
+ });
227
+ }, tr = ({ render: e, children: t, "aria-label": r, ...o }) => /* @__PURE__ */ u(je.Close, {
228
+ ...o,
229
+ "aria-label": r,
230
+ render: e ?? /* @__PURE__ */ u(er, {
231
+ size: "sm",
232
+ "aria-label": r,
233
+ children: t ?? /* @__PURE__ */ u(pt, {})
234
+ }),
235
+ children: a(e) ? t : void 0
236
+ }), rr = Se(void 0), ce = () => null, or = {
237
+ open: ce,
238
+ side: ce,
239
+ align: ce,
240
+ instant: ce,
241
+ transitionStatus: ce
242
+ }, nr = ({ props: e, state: t, render: r }) => {
243
+ const o = ue({
244
+ defaultTagName: "div",
245
+ props: { ...e },
246
+ state: { ...t },
247
+ stateAttributesMapping: or,
248
+ render: r
249
+ });
250
+ return /* @__PURE__ */ u(rr.Provider, {
251
+ value: {
252
+ side: t.side,
253
+ align: t.align
254
+ },
255
+ children: o
256
+ });
257
+ }, De = (e) => Array.from(e.querySelectorAll("[data-dropdown-search]:not(:disabled)")).find((t) => t.closest("[data-dropdown-content]") === e && ae(t)) ?? null, Le = ({ content: e, target: t, edge: r = "first", type: o }) => {
258
+ const i = a(t?.id) ? e.ownerDocument.getElementById(t.id) : null;
259
+ if (a(i) && xe({
260
+ content: e,
261
+ item: i
262
+ })) return i;
263
+ const c = ge(e), s = a(t) ? c.filter((f) => f.dataset.dropdownPage === t.page) : [], [d] = s;
264
+ if (s.length === 1 && a(d)) return d;
265
+ const n = ye(t?.label) ? s.filter((f) => ke(f) === t?.label) : [], [l] = n;
266
+ if (n.length === 1 && a(l)) return l;
267
+ const p = a(t) ? c[t.index] : void 0;
268
+ if (a(p)) return p;
269
+ const w = Array.from(e.querySelectorAll('input:not(:disabled):not([type="hidden"]),button:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href],[tabindex="0"]')).find(ae), T = Array.from(e.querySelectorAll("[data-dropdown-page-type]")).find((f) => f.closest("[data-dropdown-content]") === e && ae(f))?.dataset.dropdownPageType ?? o ?? e.dataset.type;
270
+ if (T === "panel") return w ?? e;
271
+ const g = De(e);
272
+ return a(g) ? g : r === "last" ? c[c.length - 1] ?? w ?? e : (T === "picker" ? c.find((f) => f.hasAttribute("data-dropdown-option-item") && (f.getAttribute("aria-selected") === "true" || f.getAttribute("aria-pressed") === "true" || f.getAttribute("aria-checked") === "true" || f.getAttribute("aria-current") === "true")) : void 0) ?? c.find((f) => !f.hasAttribute("data-dropdown-back")) ?? c[0] ?? w ?? e;
273
+ }, ar = ({ contentRef: e }) => {
274
+ const { open: t, pageId: r, pageFocusRequest: o, setPageFocusRequest: i } = F();
275
+ return fe(() => {
276
+ a(o) && (i(void 0), !(!t || o.pageId !== r || !a(e.current)) && Le({
277
+ content: e.current,
278
+ target: o.target
279
+ }).focus());
280
+ }, [
281
+ e,
282
+ t,
283
+ r,
284
+ o,
285
+ i
286
+ ]), null;
287
+ }, et = ({ content: e, item: t }) => t.hasAttribute("data-dropdown-item") && xe({
288
+ content: e,
289
+ item: t
290
+ }) && (!t.hasAttribute("data-dropdown-back") || !a(De(e))), tt = (e) => ge(e).filter((t) => et({
291
+ content: e,
292
+ item: t
293
+ })), le = (e) => {
294
+ if (e.dataset.type === "panel") return;
295
+ const t = De(e);
296
+ if (!(!a(t) || t !== e.ownerDocument.activeElement || !ye(t.value.trim())))
297
+ return ge(e).find((r) => r.hasAttribute("data-dropdown-option-item"));
298
+ }, ir = ({ content: e }) => {
299
+ const { setRowIds: t, setSearchTargetId: r } = F();
300
+ return fe(() => {
301
+ if (!a(e)) return;
302
+ const o = () => {
303
+ const c = tt(e).map((s) => s.id);
304
+ t((s) => a(s) && At(s, c) ? s : c), r(le(e)?.id);
305
+ };
306
+ o();
307
+ const i = new MutationObserver(o);
308
+ return i.observe(e, {
309
+ childList: !0,
310
+ subtree: !0,
311
+ attributes: !0,
312
+ attributeFilter: [
313
+ "disabled",
314
+ "aria-disabled",
315
+ "id",
316
+ "hidden",
317
+ "inert",
318
+ "class",
319
+ "style"
320
+ ]
321
+ }), () => {
322
+ i.disconnect(), t(void 0), r(void 0);
323
+ };
324
+ }, [
325
+ e,
326
+ t,
327
+ r
328
+ ]), null;
329
+ }, sr = (e) => (e.ctrlKey || e.metaKey) && !e.defaultPrevented, _e = /* @__PURE__ */ new WeakMap(), rt = {
330
+ activate: ({ item: e, event: t }) => {
331
+ _e.set(e, t);
332
+ try {
333
+ e.click();
334
+ } finally {
335
+ _e.delete(e);
336
+ }
337
+ },
338
+ getEvent: ({ item: e, event: t }) => _e.get(e) ?? t
339
+ }, Ue = (e) => Array.from(e.ownerDocument.querySelectorAll("[aria-controls]")).find((t) => t.getAttribute("aria-controls") === e.id && ae(t)), cr = 'a[href],button,input:not([type="hidden"]),select,textarea,[tabindex]', ot = ({ content: e, target: t, shiftKey: r }) => {
340
+ const o = Array.from(e.querySelectorAll(cr)).filter((d) => Number(d.getAttribute("data-tabindex") ?? d.tabIndex) >= 0 && !d.matches(':disabled,[aria-disabled="true"]') && ae(d) && d.closest("[data-dropdown-content]") === e), i = [...o].sort((d, n) => Ne({
341
+ firstElement: d,
342
+ secondElement: n
343
+ })), c = o.some((d, n) => d !== i[n]), s = a(t) ? i.indexOf(t) : -1;
344
+ if (!(!c || a(t) && s < 0))
345
+ return { target: i[s + (r ? -1 : 1)] };
346
+ }, dr = ({ rowCells: e, column: t, isEnabledCell: r }) => {
347
+ const o = Math.min(t, e.length - 1);
348
+ for (let i = 0; i < e.length; i++) {
349
+ const c = [e[o - i], e[o + i]].find(r);
350
+ if (a(c)) return c;
351
+ }
352
+ }, nt = ({ key: e, items: t, currentItem: r, search: o, isRightToLeft: i }) => {
353
+ const c = r?.closest("[data-dropdown-columns]"), s = Number(c?.dataset.dropdownColumns), d = ne([
354
+ "ArrowUp",
355
+ "ArrowDown",
356
+ "ArrowLeft",
357
+ "ArrowRight"
358
+ ]).includes(e);
359
+ if (!a(c) || !a(r) || !d || !$e(s)) return;
360
+ const n = Array.from(c.children).filter((m) => m instanceof HTMLElement && !m.hasAttribute("data-dropdown-section-label")), l = n.indexOf(r);
361
+ if (l < 0) return;
362
+ const p = Math.floor(l / s), w = l % s, T = e === "ArrowUp" || e === "ArrowDown", g = ne(i ? "ArrowLeft" : "ArrowRight"), f = e === "ArrowDown" || e === g ? 1 : -1, _ = Math.ceil(n.length / s), R = new Set(t), v = (m) => a(m) && R.has(m);
363
+ if (T) {
364
+ for (let h = p + f; h >= 0 && h < _; h += f) {
365
+ const b = n[Math.min(h * s + w, n.length - 1)];
366
+ if (v(b)) return b;
367
+ }
368
+ for (let h = p + f; h >= 0 && h < _; h += f) {
369
+ const b = dr({
370
+ rowCells: n.slice(h * s, (h + 1) * s),
371
+ column: w,
372
+ isEnabledCell: v
373
+ });
374
+ if (a(b)) return b;
375
+ }
376
+ const m = n.filter(v), S = f < 0 ? m[0] : m[m.length - 1];
377
+ return (a(S) ? t[t.indexOf(S) + f] : void 0) ?? (f < 0 ? o : void 0) ?? r;
378
+ }
379
+ for (let m = w + f; m >= 0 && m < s; m += f) {
380
+ const S = n[p * s + m];
381
+ if (v(S)) return S;
382
+ }
383
+ return r;
384
+ }, lr = ({ key: e, items: t, currentIndex: r, search: o, isSearch: i, isRightToLeft: c = !1 }) => {
385
+ const s = nt({
386
+ key: e,
387
+ items: t,
388
+ currentItem: t[r],
389
+ search: o,
390
+ isRightToLeft: c
391
+ });
392
+ if (a(s)) return s;
393
+ const d = t.length - 1, n = t[d], l = a(o) && a(n) && Ne({
394
+ firstElement: n,
395
+ secondElement: o
396
+ }) < 0;
397
+ if (e === "ArrowDown" && r === d && l) return o ?? void 0;
398
+ if (e === "ArrowDown") return t[r === d ? 0 : r + 1];
399
+ if (e === "ArrowUp" && r === 0 && a(o) && !l) return o;
400
+ if (e === "ArrowUp") return t[r <= 0 ? d : r - 1];
401
+ if (!i && e === "Home") return t[0];
402
+ if (!i && e === "End") return t[d];
403
+ }, ur = 500, pr = 229, fr = () => {
404
+ const { type: e, isSubmenu: t, setOpen: r, closeTree: o, tabForwardOutOfTree: i } = F(), c = Xe(), [s, d] = M({
405
+ text: "",
406
+ timestamp: 0
407
+ });
408
+ return (n) => {
409
+ if (n.defaultPrevented || n.nativeEvent.isComposing || n.nativeEvent.keyCode === pr) return;
410
+ const l = n.currentTarget, p = n.target;
411
+ if (!(p instanceof HTMLElement) || p.closest("[data-dropdown-content]") !== l) return;
412
+ const w = p.matches('input,textarea,select,[contenteditable="true"]'), T = c === "rtl", g = ne(T ? "ArrowRight" : "ArrowLeft"), f = t && !w && n.key === g, _ = f && e !== "panel" ? nt({
413
+ key: n.key,
414
+ items: ge(l),
415
+ currentItem: p,
416
+ search: null,
417
+ isRightToLeft: T
418
+ }) : void 0, R = a(_) && _ !== p;
419
+ if (t && (n.key === "Escape" || f && !R)) {
420
+ n.preventDefault(), n.stopPropagation(), Ue(l)?.focus(), r(!1);
421
+ return;
422
+ }
423
+ if (e === "panel") return;
424
+ const v = e === "picker" && n.key === "Tab" ? ot({
425
+ content: l,
426
+ target: p,
427
+ shiftKey: n.shiftKey
428
+ }) : void 0;
429
+ if (a(v) && n.preventDefault(), a(v?.target)) {
430
+ v.target.focus();
431
+ return;
432
+ }
433
+ const m = a(v) && n.shiftKey ? Ue(l) : void 0;
434
+ if (a(m)) {
435
+ m.focus();
436
+ return;
437
+ }
438
+ if (a(v) && n.shiftKey) {
439
+ o(n.nativeEvent);
440
+ return;
441
+ }
442
+ if (a(v)) {
443
+ i({
444
+ ownerDocument: l.ownerDocument,
445
+ tabOutEvent: n.nativeEvent
446
+ });
447
+ return;
448
+ }
449
+ if (e === "menu" && n.key === "Tab" && n.shiftKey) {
450
+ n.preventDefault(), o(n.nativeEvent);
451
+ return;
452
+ }
453
+ if (e === "menu" && n.key === "Tab" && t) {
454
+ n.preventDefault(), i({
455
+ ownerDocument: l.ownerDocument,
456
+ tabOutEvent: n.nativeEvent
457
+ });
458
+ return;
459
+ }
460
+ const S = De(l), h = p === S;
461
+ if (w && !h) return;
462
+ const b = tt(l), k = h && n.key === "Enter" ? le(l) : void 0;
463
+ if (a(k)) {
464
+ n.preventDefault(), rt.activate({
465
+ item: k,
466
+ event: n.nativeEvent
467
+ });
468
+ return;
469
+ }
470
+ const N = b.indexOf(p), L = lr({
471
+ key: n.key,
472
+ items: b,
473
+ currentIndex: N,
474
+ search: S,
475
+ isSearch: h,
476
+ isRightToLeft: T
477
+ });
478
+ if (a(L)) {
479
+ n.preventDefault(), L.focus();
480
+ return;
481
+ }
482
+ if (w || n.key.length !== 1 || n.key === " " || n.altKey || n.ctrlKey || n.metaKey) return;
483
+ const B = Date.now(), C = B - s.timestamp > ur ? n.key : s.text + n.key;
484
+ d({
485
+ text: C,
486
+ timestamp: B
487
+ });
488
+ const P = ([...C].every((I) => I === C[0]) ? n.key : C).toLocaleLowerCase(), x = [...b.slice(N + 1), ...b.slice(0, N + 1)].find((I) => ke(I).trim().toLocaleLowerCase().startsWith(P));
489
+ a(x) && (n.preventDefault(), x.focus());
490
+ };
491
+ }, mr = ({ side: e, align: t = "start", sideOffset: r = 0, alignOffset: o, anchor: i, collisionPadding: c, container: s, keepMounted: d, width: n = 200, className: l, style: p, render: w, children: T, initialFocus: g, finalFocus: f, onKeyDown: _, onFocus: R, onInput: v, onClick: m, onMouseDown: S, onPointerDown: h, "aria-label": b, "aria-labelledby": k, ref: N, ...L }) => {
492
+ const B = F(), { type: C, isPageActive: P, sessionId: x, isSubmenu: I, rowFocus: A, initialFocusEdge: U, focusOnOpen: G, triggerId: H, titleId: te, setSearchTargetId: Q } = B, $ = Ce(null), [ie, Y] = M(null), se = me($, N, Y), z = fr(), re = a(b) ? void 0 : te ?? H;
493
+ return /* @__PURE__ */ ee(_t, { children: [
494
+ /* @__PURE__ */ u(oe.Portal, {
495
+ container: s,
496
+ keepMounted: d,
497
+ children: /* @__PURE__ */ u(oe.Positioner, {
498
+ className: P ? void 0 : O.inactivePositioner,
499
+ inert: !P || void 0,
500
+ side: e ?? (I ? "inline-end" : "bottom"),
501
+ align: t,
502
+ sideOffset: r,
503
+ alignOffset: o,
504
+ anchor: i,
505
+ collisionPadding: c,
506
+ children: /* @__PURE__ */ u(oe.Popup, {
507
+ ...L,
508
+ ref: se,
509
+ render: (y, V) => /* @__PURE__ */ u(nr, {
510
+ props: y,
511
+ state: V,
512
+ render: w
513
+ }),
514
+ role: C === "menu" ? "menu" : "dialog",
515
+ "aria-label": b,
516
+ "aria-labelledby": k ?? re,
517
+ "data-dropdown-content": "",
518
+ "data-type": C,
519
+ className: Z(O.content, l),
520
+ style: (y) => ({
521
+ width: n,
522
+ ...yt(p) ? p(y) : p
523
+ }),
524
+ initialFocus: g ?? (() => G ? a($.current) ? Le({
525
+ content: $.current,
526
+ edge: U,
527
+ type: C
528
+ }) : !0 : !1),
529
+ finalFocus: P ? f : !1,
530
+ onKeyDown: (y) => {
531
+ _?.(y), z(y), sr(y) || y.stopPropagation();
532
+ },
533
+ onFocus: (y) => {
534
+ R?.(y), Q(le(y.currentTarget)?.id);
535
+ const { target: V } = y;
536
+ V instanceof HTMLElement && et({
537
+ content: y.currentTarget,
538
+ item: V
539
+ }) && A.focusRow(V.id);
540
+ },
541
+ onInput: (y) => {
542
+ v?.(y), Q(le(y.currentTarget)?.id);
543
+ },
544
+ onClick: (y) => {
545
+ y.stopPropagation(), m?.(y);
546
+ },
547
+ onMouseDown: (y) => {
548
+ y.stopPropagation(), S?.(y);
549
+ },
550
+ onPointerDown: (y) => {
551
+ y.stopPropagation(), h?.(y);
552
+ },
553
+ children: /* @__PURE__ */ u(de.Provider, {
554
+ value: {
555
+ ...B,
556
+ isInsideContent: !0
557
+ },
558
+ children: /* @__PURE__ */ u(Tt, { children: T }, x)
559
+ })
560
+ })
561
+ })
562
+ }),
563
+ /* @__PURE__ */ u(ar, { contentRef: $ }),
564
+ /* @__PURE__ */ u(ir, { content: ie })
565
+ ] });
566
+ }, gr = ({ color: e, className: t, ...r }) => /* @__PURE__ */ u(He, {
567
+ ...r,
568
+ render: /* @__PURE__ */ u("div", { color: e }),
569
+ size: "sm",
570
+ color: "secondary",
571
+ role: "status",
572
+ "aria-live": "polite",
573
+ className: q(O.status, t)
574
+ }), wr = ({ render: e, ref: t, className: r, ...o }) => ue({
575
+ render: e,
576
+ ref: t,
577
+ props: {
578
+ ...o,
579
+ className: q(O.header, r)
580
+ }
581
+ }), hr = ({ color: e, className: t, ...r }) => /* @__PURE__ */ u(He, {
582
+ ...r,
583
+ render: /* @__PURE__ */ u("div", { color: e }),
584
+ size: "sm",
585
+ color: "secondary",
586
+ role: "status",
587
+ "aria-live": "polite",
588
+ "aria-busy": "true",
589
+ className: q(O.status, t)
590
+ }), vr = ({ render: e, ref: t, state: r, ...o }) => ue({
591
+ render: e,
592
+ ref: t,
593
+ state: r,
594
+ defaultTagName: "button",
595
+ props: o
596
+ }), Be = Se(void 0), br = ({ event: e, trigger: t }) => {
597
+ let r = !1;
598
+ return {
599
+ reason: "item-press",
600
+ event: e,
601
+ trigger: t,
602
+ cancel: () => {
603
+ r = !0;
604
+ },
605
+ get isCanceled() {
606
+ return r;
607
+ }
608
+ };
609
+ }, yr = ({ type: e, hasSelectionState: t, hasSelectionOwner: r, multiple: o, role: i }) => e === "menu" && t ? o ? "menuitemcheckbox" : "menuitemradio" : e === "menu" ? "menuitem" : e === "picker" && r ? "option" : i, Tr = ({ selection: e, value: t, standaloneSelected: r }) => !a(e) || !a(t) ? r : e.multiple ? e.value.includes(t) : e.value === t, Dr = ({ value: e, selected: t, indicator: r, onSelect: o, closeOnSelect: i, color: c, startIcon: s, endIcon: d, description: n, descriptionPlacement: l, shortcut: p, shortcutJoinLabel: w, hasSubmenu: T, actions: g, actionsVisibility: f, children: _, render: R, disabled: v = !1, nativeButton: m = !a(R), onClick: S, id: h, ...b }) => {
610
+ const { type: k, multiple: N, closeTree: L, searchTargetId: B } = F(), C = pe(Be), P = a(C) && a(e), x = P ? C.multiple : N, I = Tr({
611
+ selection: C,
612
+ value: e,
613
+ standaloneSelected: t
614
+ }), A = k === "menu", U = k === "picker" && P, G = a(I), H = !A && !U && (m || b.role === "button"), te = !A && !U && !H && G && I, Q = yr({
615
+ type: k,
616
+ hasSelectionState: G,
617
+ hasSelectionOwner: P,
618
+ multiple: x,
619
+ role: b.role
620
+ }), $ = x ? "checkbox" : "check", ie = Te(), Y = Re({
621
+ id: h,
622
+ render: R
623
+ }) ?? ie, se = Fe({
624
+ id: Y,
625
+ disabled: v
626
+ }), z = We(g), re = B === Y, y = r ?? (G ? $ : "none"), V = z && y === "check", we = /* @__PURE__ */ u(Ye, {
627
+ ...b,
628
+ id: Y,
629
+ disabled: v,
630
+ nativeButton: m,
631
+ role: Q,
632
+ "aria-checked": A && G ? I : void 0,
633
+ "aria-selected": U ? I : void 0,
634
+ "aria-pressed": H && G ? I : void 0,
635
+ "aria-current": te ? "true" : void 0,
636
+ tabIndex: se.tabIndex,
637
+ "data-dropdown-item": "",
638
+ "data-dropdown-option-item": "",
639
+ onClick: (K) => {
640
+ if (S?.(K), K.defaultPrevented) return;
641
+ const j = br({
642
+ event: rt.getEvent({
643
+ item: K.currentTarget,
644
+ event: K.nativeEvent
645
+ }),
646
+ trigger: K.currentTarget
647
+ });
648
+ o?.(j), !(j.isCanceled || K.defaultPrevented) && (P && C.select({
649
+ value: e,
650
+ eventDetails: j
651
+ }), !(j.isCanceled || K.defaultPrevented) && (i ?? (P ? C.closeOnSelect : !x)) && L());
652
+ },
653
+ render: (K) => {
654
+ const j = Oe({
655
+ nativeButton: m,
656
+ renderProps: K
657
+ });
658
+ return /* @__PURE__ */ u(Ee, {
659
+ ...K,
660
+ render: /* @__PURE__ */ u(vr, {
661
+ render: R,
662
+ disabled: j,
663
+ state: {
664
+ selected: I ?? !1,
665
+ multiple: x,
666
+ disabled: v
667
+ }
668
+ }),
669
+ className: q(K.className, z && O.itemWithActionsPrimary),
670
+ disabled: v,
671
+ selected: I,
672
+ focused: re,
673
+ indicator: V ? "none" : y,
674
+ color: c,
675
+ startIcon: s,
676
+ endIcon: d,
677
+ actionsVisibility: f,
678
+ description: n,
679
+ descriptionPlacement: l,
680
+ shortcut: p,
681
+ shortcutJoinLabel: w,
682
+ hasSubmenu: !z && T,
683
+ children: _
684
+ });
685
+ }
686
+ });
687
+ return z ? /* @__PURE__ */ u(Qe, {
688
+ actions: g,
689
+ actionsVisibility: f,
690
+ color: c,
691
+ selected: I,
692
+ focused: re,
693
+ indicator: y,
694
+ disabled: v,
695
+ hasSubmenu: T,
696
+ children: we
697
+ }) : we;
698
+ }, Ir = ({ id: e, type: t, isActive: r }) => {
699
+ const { registerPage: o } = F();
700
+ return fe(() => {
701
+ r && o({
702
+ id: e,
703
+ type: t
704
+ });
705
+ }, [
706
+ e,
707
+ t,
708
+ r,
709
+ o
710
+ ]), null;
711
+ }, _r = ({ id: e, type: t, children: r }) => {
712
+ const o = F(), { registerTitle: i } = o, [c, s] = M(), d = o.isPageActive && o.pageId === e, n = d && o.open, l = J((p) => d ? i(p) : () => {
713
+ }, [d, i]);
714
+ return n && c !== e && s(e), c !== e && !n ? null : /* @__PURE__ */ ee(de.Provider, {
715
+ value: {
716
+ ...o,
717
+ type: t ?? o.rootType,
718
+ isPageActive: d,
719
+ registerTitle: l
720
+ },
721
+ children: [/* @__PURE__ */ u("div", {
722
+ hidden: !d,
723
+ inert: !d,
724
+ className: O.page,
725
+ "data-dropdown-page-type": t ?? o.rootType,
726
+ children: r
727
+ }), /* @__PURE__ */ u(Ir, {
728
+ id: e,
729
+ type: t,
730
+ isActive: d
731
+ })]
732
+ });
733
+ }, Ar = ({ open: e, registerOpenNestedRoot: t }) => (It(() => {
734
+ if (e)
735
+ return t?.();
736
+ }, [e, t]), null), Er = ({ rowIds: e = [], focusedRowId: t }) => a(t) && e.includes(t) ? t : e[0], Sr = "data-base-ui-focus-guard", Cr = (e) => {
737
+ const t = e?.nextElementSibling;
738
+ if (!(!(t instanceof HTMLElement) || !t.hasAttribute(Sr)))
739
+ return t;
740
+ }, Pr = (e) => e instanceof FocusEvent ? e.type === "focusout" && e.relatedTarget instanceof Element ? e.relatedTarget : null : e.target instanceof Element ? e.target : null, Ae = ({ onDismiss: e, event: t, target: r = Pr(t) }) => {
741
+ if (!a(e)) return !1;
742
+ let o = !1;
743
+ return e({
744
+ target: r,
745
+ type: t.type,
746
+ preventDefault: () => {
747
+ o = !0;
748
+ }
749
+ }), o;
750
+ }, Ve = () => {
751
+ const [e, t] = M();
752
+ return [e, J((r) => (t(r), () => t((o) => o === r ? void 0 : o)), [])];
753
+ }, Or = () => {
754
+ const [e, t] = M(() => /* @__PURE__ */ new Map());
755
+ return {
756
+ selections: e,
757
+ initializeSelection: J(({ id: r, state: o }) => {
758
+ t((i) => i.get(r)?.multiple === o.multiple ? i : new Map(i).set(r, o));
759
+ }, []),
760
+ updateSelection: J(({ id: r, state: o }) => {
761
+ t((i) => new Map(i).set(r, o));
762
+ }, [])
763
+ };
764
+ }, at = ({ children: e, type: t, open: r, defaultOpen: o = !1, onOpenChange: i, onEscapeKeyDown: c, onInteractOutside: s, multiple: d = !1, defaultPage: n = "root", isSubmenu: l = !1 }) => {
765
+ const p = pe(de), w = Or(), { selections: T, initializeSelection: g, updateSelection: f } = l && a(p) ? p : w, _ = Ce(0), R = J(() => (_.current += 1, () => {
766
+ _.current -= 1;
767
+ }), []), [v, m] = M(o), S = !a(p) || p.isPageActive && (!p.isInsideContent || p.open), h = S && (r ?? v), [b, k] = M(h), [N, L] = M(0), [{ history: B, focusRequest: C }, P] = M({ history: [{ id: n }] }), x = J((D) => {
768
+ P((E) => E.focusRequest === D ? E : {
769
+ ...E,
770
+ focusRequest: D
771
+ });
772
+ }, []), [I, A] = M(), [U, G] = M(), [H, te] = M(), Q = B[B.length - 1], $ = Q?.id, [ie, Y] = M("first"), [se, z] = M(!0), [re, y] = M(), [V, we] = Ve(), [K, j] = Ve(), Ge = h && !b, Ke = !h && b;
773
+ !S && v && !a(r) && m(!1), (Ge || Ke) && k(h), Ge && (L(N + 1), P({ history: [{ id: n }] }), A(void 0), te(void 0), G(void 0)), Ke && (Y("first"), z(!0), y(void 0));
774
+ const he = (D) => {
775
+ a(r) || m(D), i?.(D);
776
+ }, qe = (D) => {
777
+ a(D) && Ae({
778
+ onDismiss: s,
779
+ event: D,
780
+ target: null
781
+ }) || (he(!1), l && p?.closeTree(D));
782
+ }, it = ({ ownerDocument: D, tabOutEvent: E }) => {
783
+ const W = a(V) ? D.getElementById(V) : null;
784
+ if (l && a(p)) {
785
+ he(!1), W?.focus(), p.tabForwardOutOfTree({
786
+ ownerDocument: D,
787
+ tabOutEvent: E
788
+ });
789
+ return;
790
+ }
791
+ const X = Cr(W);
792
+ if (!a(X)) {
793
+ qe(E);
794
+ return;
795
+ }
796
+ X.focus();
797
+ }, st = ({ id: D, trigger: E }) => {
798
+ P((W) => ({
799
+ history: [...W.history, {
800
+ id: D,
801
+ trigger: E
802
+ }],
803
+ focusRequest: { pageId: D }
804
+ }));
805
+ }, ct = () => {
806
+ P((D) => {
807
+ if (D.history[D.history.length - 1] !== Q) return D;
808
+ const E = D.history[D.history.length - 2];
809
+ return a(E) ? {
810
+ history: D.history.slice(0, -1),
811
+ focusRequest: {
812
+ pageId: E.id,
813
+ target: D.history[D.history.length - 1]?.trigger
814
+ }
815
+ } : D;
816
+ });
817
+ }, dt = J(({ id: D, type: E }) => {
818
+ if (!h) return;
819
+ const W = E ?? t;
820
+ A((X) => X?.id === D && X.type === W ? X : {
821
+ id: D,
822
+ type: W
823
+ });
824
+ }, [h, t]);
825
+ return /* @__PURE__ */ u(oe.Root, {
826
+ open: h,
827
+ onOpenChange: (D, E) => {
828
+ if (!S || !D && !h) {
829
+ E.cancel();
830
+ return;
831
+ }
832
+ const W = E.reason === "outside-press" || E.reason === "focus-out";
833
+ if (W && _.current > 0) {
834
+ E.cancel();
835
+ return;
836
+ }
837
+ const X = E.reason === "escape-key" && Ae({
838
+ onDismiss: c,
839
+ event: E.event
840
+ }), lt = W && Ae({
841
+ onDismiss: s,
842
+ event: E.event
843
+ });
844
+ if (X || lt) {
845
+ E.cancel();
846
+ return;
847
+ }
848
+ W && gt(E.event), z(E.reason !== "trigger-hover"), he(D);
849
+ },
850
+ children: /* @__PURE__ */ ee(de.Provider, {
851
+ value: {
852
+ type: a(I) && I.id === $ ? I.type : t,
853
+ rootType: t,
854
+ open: h,
855
+ isPageActive: S,
856
+ isInsideContent: !1,
857
+ sessionId: N,
858
+ multiple: d,
859
+ selections: T,
860
+ initializeSelection: g,
861
+ updateSelection: f,
862
+ isSubmenu: l,
863
+ parentType: p?.type,
864
+ rowFocus: {
865
+ rowIds: U,
866
+ tabStopRowId: Er({
867
+ rowIds: U,
868
+ focusedRowId: H
869
+ }),
870
+ focusRow: te
871
+ },
872
+ parentRowFocus: p?.rowFocus,
873
+ setRowIds: G,
874
+ pageId: $,
875
+ pageFocusRequest: C,
876
+ setPageFocusRequest: x,
877
+ canGoBack: B.length > 1,
878
+ initialFocusEdge: ie,
879
+ setInitialFocusEdge: Y,
880
+ focusOnOpen: se,
881
+ setFocusOnOpen: z,
882
+ setOpen: he,
883
+ closeTree: qe,
884
+ tabForwardOutOfTree: it,
885
+ goToPage: st,
886
+ goBack: ct,
887
+ registerPage: dt,
888
+ registerOpenNestedRoot: R,
889
+ searchTargetId: re,
890
+ setSearchTargetId: y,
891
+ triggerId: V,
892
+ registerTrigger: we,
893
+ titleId: K,
894
+ registerTitle: j
895
+ },
896
+ children: [/* @__PURE__ */ u(Ar, {
897
+ open: h,
898
+ registerOpenNestedRoot: l ? void 0 : p?.registerOpenNestedRoot
899
+ }), /* @__PURE__ */ u(Be.Provider, {
900
+ value: void 0,
901
+ children: e
902
+ })]
903
+ })
904
+ });
905
+ }, Rr = ({ searchRef: e, value: t }) => {
906
+ const { setSearchTargetId: r } = F();
907
+ return fe(() => {
908
+ const o = e.current?.closest("[data-dropdown-content]");
909
+ a(o) && r(le(o)?.id);
910
+ }, [
911
+ e,
912
+ t,
913
+ r
914
+ ]), null;
915
+ }, kr = ({ onValueChange: e, onBlur: t, className: r, hasFocusRing: o = !1, value: i, ref: c, ...s }) => {
916
+ const { searchTargetId: d, setSearchTargetId: n } = F(), l = Ce(null), p = me(l, c);
917
+ return /* @__PURE__ */ ee("div", {
918
+ className: O.searchContainer,
919
+ children: [/* @__PURE__ */ u(vt, {
920
+ type: "search",
921
+ autoComplete: "off",
922
+ "aria-activedescendant": d,
923
+ ...s,
924
+ ref: p,
925
+ value: i,
926
+ "data-dropdown-search": "",
927
+ variant: "plain",
928
+ hasFocusRing: o,
929
+ className: Z(O.search, r),
930
+ onValueChange: (w) => e?.(w),
931
+ onBlur: (w) => {
932
+ n(void 0), t?.(w);
933
+ }
934
+ }), /* @__PURE__ */ u(Rr, {
935
+ searchRef: l,
936
+ value: i
937
+ })]
938
+ });
939
+ }, Nr = ({ className: e, ...t }) => /* @__PURE__ */ u(Pe.Group, {
940
+ ...t,
941
+ className: Z(O.group, e)
942
+ }), xr = ({ className: e, ...t }) => /* @__PURE__ */ u(Pe.GroupLabel, {
943
+ ...t,
944
+ className: Z(O.groupLabel, e)
945
+ }), Fr = ({ label: e, scrollable: t, columns: r, style: o, className: i, children: c, ...s }) => {
946
+ const d = $e(r) ? r : void 0;
947
+ return /* @__PURE__ */ ee(Nr, {
948
+ ...s,
949
+ "data-scrollable": t || void 0,
950
+ "data-dropdown-columns": d,
951
+ style: {
952
+ ...o,
953
+ ...a(d) && { gridTemplateColumns: `repeat(${d}, minmax(0, 1fr))` }
954
+ },
955
+ className: q(O.section, i),
956
+ children: [a(e) && /* @__PURE__ */ u(xr, {
957
+ "data-dropdown-section-label": "",
958
+ children: e
959
+ }), c]
960
+ });
961
+ }, Lr = ({ id: e, initialState: t, initializeSelection: r }) => (fe(() => {
962
+ r({
963
+ id: e,
964
+ state: t
965
+ });
966
+ }, [
967
+ e,
968
+ t,
969
+ r
970
+ ]), null), Br = ({ props: e, storedState: t }) => e.multiple ? {
971
+ multiple: !0,
972
+ value: e.value ?? (t?.multiple ? t.value : e.defaultValue ?? [])
973
+ } : be(e.value) ? {
974
+ multiple: !1,
975
+ value: t?.multiple === !1 ? t.value : e.defaultValue ?? null
976
+ } : {
977
+ multiple: !1,
978
+ value: e.value
979
+ }, Mr = (e) => {
980
+ const { id: t, multiple: r = !1, value: o, defaultValue: i, onValueChange: c, closeOnSelect: s = !r, render: d, ref: n, className: l, children: p, ...w } = e, { type: T, selections: g, initializeSelection: f, updateSelection: _ } = F(), R = Te(), v = t ?? R, m = Br({
981
+ props: e,
982
+ storedState: g.get(v)
983
+ }), S = ({ value: b, eventDetails: k }) => {
984
+ if (!(!m.multiple && m.value === b)) {
985
+ if (m.multiple && e.multiple) {
986
+ const N = m.value.includes(b) ? m.value.filter((L) => L !== b) : [...m.value, b];
987
+ e.onValueChange?.(N, k), !k.isCanceled && be(o) && _({
988
+ id: v,
989
+ state: {
990
+ multiple: !0,
991
+ value: N
992
+ }
993
+ });
994
+ return;
995
+ }
996
+ e.multiple || (e.onValueChange?.(b, k), !k.isCanceled && be(o) && _({
997
+ id: v,
998
+ state: {
999
+ multiple: !1,
1000
+ value: b
1001
+ }
1002
+ }));
1003
+ }
1004
+ }, h = ue({
1005
+ render: d,
1006
+ ref: n,
1007
+ state: m,
1008
+ props: {
1009
+ ...w,
1010
+ id: v,
1011
+ className: q(O.selectionGroup, l),
1012
+ role: T === "picker" ? "listbox" : "group",
1013
+ "aria-multiselectable": T === "picker" ? r : void 0,
1014
+ children: p
1015
+ }
1016
+ });
1017
+ return /* @__PURE__ */ ee(Be.Provider, {
1018
+ value: {
1019
+ ...m,
1020
+ closeOnSelect: s,
1021
+ select: S
1022
+ },
1023
+ children: [be(o) && /* @__PURE__ */ u(Lr, {
1024
+ id: v,
1025
+ initialState: m,
1026
+ initializeSelection: f
1027
+ }), h]
1028
+ });
1029
+ }, Gr = ({ className: e, ...t }) => /* @__PURE__ */ u(Pe.Separator, {
1030
+ ...t,
1031
+ role: "separator",
1032
+ "data-dropdown-separator": "",
1033
+ className: q(O.separator, e)
1034
+ }), Kr = ({ type: e = "menu", ...t }) => /* @__PURE__ */ u(at, {
1035
+ ...t,
1036
+ type: e,
1037
+ isSubmenu: !0
1038
+ }), Me = (e) => J((t) => {
1039
+ if (!(!a(t) || !ye(t.id)))
1040
+ return e(t.id);
1041
+ }, [e]), qr = ({ color: e, startIcon: t, endIcon: r, description: o, descriptionPlacement: i, shortcut: c, shortcutJoinLabel: s, hasSubmenu: d = !0, children: n, render: l, disabled: p = !1, nativeButton: w = !a(l), openOnHover: T = !0, onKeyDown: g, id: f, ref: _, ...R }) => {
1042
+ const v = Xe(), { type: m, rootType: S, parentType: h, open: b, setOpen: k, setFocusOnOpen: N, registerTrigger: L } = F(), B = b ? m : S, C = Te(), P = Re({
1043
+ id: f,
1044
+ render: l
1045
+ }) ?? C, x = Fe({
1046
+ id: P,
1047
+ disabled: p,
1048
+ isSubmenuTrigger: !0
1049
+ }), I = me(_, Me(L));
1050
+ return /* @__PURE__ */ u(oe.Trigger, {
1051
+ ...R,
1052
+ ref: I,
1053
+ id: P,
1054
+ disabled: p,
1055
+ nativeButton: w,
1056
+ openOnHover: T,
1057
+ role: h === "menu" ? "menuitem" : void 0,
1058
+ "aria-haspopup": B === "menu" ? "menu" : "dialog",
1059
+ tabIndex: x.tabIndex,
1060
+ "data-dropdown-item": "",
1061
+ onKeyDown: (A) => {
1062
+ if (g?.(A), A.defaultPrevented || p) return;
1063
+ const U = ne(v === "rtl" ? "ArrowLeft" : "ArrowRight");
1064
+ if (A.key === U) {
1065
+ A.preventDefault(), A.stopPropagation(), N(!0);
1066
+ const G = A.currentTarget.getAttribute("aria-controls"), H = a(G) ? A.currentTarget.ownerDocument.getElementById(G) : null;
1067
+ if (b && a(H)) {
1068
+ Le({
1069
+ content: H,
1070
+ type: m
1071
+ }).focus();
1072
+ return;
1073
+ }
1074
+ k(!0);
1075
+ }
1076
+ },
1077
+ render: (A) => {
1078
+ const U = Oe({
1079
+ nativeButton: w,
1080
+ renderProps: A
1081
+ });
1082
+ return /* @__PURE__ */ u(Ee, {
1083
+ ...A,
1084
+ render: /* @__PURE__ */ u(Je, {
1085
+ render: l,
1086
+ disabled: U
1087
+ }),
1088
+ disabled: p,
1089
+ color: e,
1090
+ startIcon: t,
1091
+ endIcon: r,
1092
+ description: o,
1093
+ descriptionPlacement: i,
1094
+ shortcut: c,
1095
+ shortcutJoinLabel: s,
1096
+ hasSubmenu: d,
1097
+ children: n
1098
+ });
1099
+ }
1100
+ });
1101
+ }, Ur = ({ className: e, render: t, ref: r, ...o }) => {
1102
+ const { registerTitle: i } = F(), c = me(r, Me(i));
1103
+ return /* @__PURE__ */ u(je.Title, {
1104
+ ...o,
1105
+ ref: c,
1106
+ render: t ?? /* @__PURE__ */ u("div", {}),
1107
+ className: Z(O.title, e)
1108
+ });
1109
+ }, Vr = (e) => {
1110
+ const t = e.getAttribute("aria-controls"), r = a(t) ? e.ownerDocument.getElementById(t) : null;
1111
+ if (a(r))
1112
+ return ot({
1113
+ content: r,
1114
+ shiftKey: !1
1115
+ })?.target;
1116
+ }, Wr = ({ onKeyDown: e, onClick: t, ref: r, ...o }) => {
1117
+ const { type: i, rootType: c, open: s, setOpen: d, setInitialFocusEdge: n, setFocusOnOpen: l, registerTrigger: p } = F(), w = s ? i : c, T = me(r, Me(p));
1118
+ return /* @__PURE__ */ u(oe.Trigger, {
1119
+ ...o,
1120
+ ref: T,
1121
+ "aria-haspopup": w === "menu" ? "menu" : "dialog",
1122
+ onClick: (g) => {
1123
+ g.stopPropagation(), g.preventDefault(), t?.(g);
1124
+ },
1125
+ onKeyDown: (g) => {
1126
+ if (e?.(g), g.defaultPrevented || g.baseUIHandlerPrevented || o.disabled || w === "panel") return;
1127
+ const f = s && w === "picker" && g.key === "Tab" && !g.shiftKey ? Vr(g.currentTarget) : void 0;
1128
+ if (a(f)) {
1129
+ g.preventDefault(), f.focus();
1130
+ return;
1131
+ }
1132
+ g.key !== "ArrowDown" && g.key !== "ArrowUp" || (g.preventDefault(), l(!0), n(g.key === "ArrowUp" ? "last" : "first"), d(!0));
1133
+ }
1134
+ });
1135
+ }, zr = at, ho = {
1136
+ Root: zr,
1137
+ Trigger: Wr,
1138
+ Content: mr,
1139
+ ActionItem: Ze,
1140
+ OptionItem: Dr,
1141
+ SelectionGroup: Mr,
1142
+ Search: kr,
1143
+ Header: wr,
1144
+ Title: Ur,
1145
+ Close: tr,
1146
+ Page: _r,
1147
+ Back: $t,
1148
+ Submenu: Kr,
1149
+ SubmenuTrigger: qr,
1150
+ Section: Fr,
1151
+ Separator: Gr,
1152
+ Loading: hr,
1153
+ Empty: gr
1154
+ };
1155
+ export {
1156
+ er as a,
1157
+ rr as i,
1158
+ Br as n,
1159
+ Jt as o,
1160
+ Lr as r,
1161
+ F as s,
1162
+ ho as t
1163
+ };