twenty-ui 2.49.0 → 2.50.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 (166) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/Button-CU8BS-Yd.js +75 -0
  3. package/dist/Button-iVyxlrwO.cjs +1 -0
  4. package/dist/Dropdown-ChTVyesF.js +1018 -0
  5. package/dist/Dropdown-DlItz8Gh.cjs +1 -0
  6. package/dist/Heading-CHvEXL6n.cjs +1 -0
  7. package/dist/{Heading-pXllCJCO.js → Heading-Nj5BlPqB.js} +3 -3
  8. package/dist/{ListItem-DwBb-I1D.cjs → ListItem-C6Xl00m1.cjs} +1 -1
  9. package/dist/{ListItem-DizNUBT8.js → ListItem-C84ANa76.js} +1 -1
  10. package/dist/{OverflowingTextWithTooltip-Z2daM0_x.cjs → OverflowingTextWithTooltip-BQmpPObX.cjs} +1 -1
  11. package/dist/{OverflowingTextWithTooltip-BmUROIah.js → OverflowingTextWithTooltip-BtB9cGdJ.js} +20 -21
  12. package/dist/ProgressBar-CzGs7cuE.cjs +1 -0
  13. package/dist/ProgressBar-D4tKQ7OA.js +84 -0
  14. package/dist/{Radio-BEAztmPu.js → Radio-BwBZ4e8g.js} +29 -29
  15. package/dist/{Radio-Dx6b4SYZ.cjs → Radio-sIYxZnR_.cjs} +1 -1
  16. package/dist/TabsTabContent-6rkARU9F.cjs +1 -0
  17. package/dist/TabsTabContent-DPkLTBi2.js +39 -0
  18. package/dist/Tooltip-6uS8_wdA.js +132 -0
  19. package/dist/Tooltip-DL3sfbuw.cjs +1 -0
  20. package/dist/components/data-display.cjs +1 -1
  21. package/dist/components/data-display.mjs +6 -7
  22. package/dist/components/feedback/InlineBanner/InlineBanner.d.ts +2 -2
  23. package/dist/components/feedback/InlineBanner/internal/InlineBannerComponent.d.ts +1 -1
  24. package/dist/components/feedback/InlineBanner/types/InlineBannerProps.d.ts +1 -0
  25. package/dist/components/feedback.cjs +1 -1
  26. package/dist/components/feedback.mjs +1 -1
  27. package/dist/components/input/SegmentedControl/types/SegmentedControlProps.d.ts +1 -1
  28. package/dist/components/input.cjs +1 -1
  29. package/dist/components/input.mjs +2 -2
  30. package/dist/components/layout.cjs +1 -1
  31. package/dist/components/layout.mjs +1 -1
  32. package/dist/components/navigation/Dropdown/Dropdown.d.ts +1 -1
  33. package/dist/components/navigation/Dropdown/internal/DropdownSearch.d.ts +1 -1
  34. package/dist/components/navigation/Dropdown/internal/DropdownSearchEffect.d.ts +8 -0
  35. package/dist/components/navigation/index.d.ts +0 -11
  36. package/dist/components/navigation.cjs +1 -1
  37. package/dist/components/navigation.mjs +6 -11
  38. package/dist/components/settings.cjs +1 -1
  39. package/dist/components/settings.mjs +1 -1
  40. package/dist/components.cjs +1 -1
  41. package/dist/components.mjs +35 -41
  42. package/dist/data-display-C-eoJ5En.js +378 -0
  43. package/dist/data-display-CM1yXpnE.cjs +2 -0
  44. package/dist/data-display-CXw-mxeS.js +252 -0
  45. package/dist/data-display-DdES9XqZ.cjs +1 -0
  46. package/dist/{feedback-DTyVVcTb.js → feedback-4HKPcMRs.js} +216 -215
  47. package/dist/feedback-BSOWDBI0.js +38 -0
  48. package/dist/feedback-DBRXDPSP.cjs +1 -0
  49. package/dist/feedback-DspXawf9.cjs +1 -0
  50. package/dist/index.cjs +1 -1
  51. package/dist/index.mjs +605 -611
  52. package/dist/input-CWWp7cqL.cjs +1 -0
  53. package/dist/input-CvZ_uB_9.cjs +1 -0
  54. package/dist/{input-BrjD91wv.js → input-Qn5_aFYU.js} +5 -5
  55. package/dist/input-k5cMhFI_.js +428 -0
  56. package/dist/{layout-DQcjBu08.js → layout-DDqeMgFv.js} +2 -2
  57. package/dist/{layout-CthYckvl.cjs → layout-iSfGrMrH.cjs} +1 -1
  58. package/dist/navigation-7Y6gHFlj.cjs +1 -0
  59. package/dist/{navigation-CIVYqPc5.js → navigation-BY8X2w04.js} +31 -31
  60. package/dist/navigation-BcXCiLE1.js +86 -0
  61. package/dist/navigation-ByYN6NgX.cjs +1 -0
  62. package/dist/normalizeSearchText-DLmPiBUZ.js +19 -0
  63. package/dist/normalizeSearchText-Do0MELpQ.cjs +1 -0
  64. package/dist/preventDismissingClickActivation-BEBrL9aB.cjs +1 -0
  65. package/dist/preventDismissingClickActivation-BQFMKRey.js +29 -0
  66. package/dist/primitives/accessibility.cjs +1 -1
  67. package/dist/primitives/accessibility.mjs +1 -1
  68. package/dist/primitives/data-display/Avatar/constants/AvatarPropertiesBySize.d.ts +4 -0
  69. package/dist/primitives/data-display/Avatar/types/AvatarSize.d.ts +1 -1
  70. package/dist/primitives/data-display/Badge/types/BadgeColor.d.ts +1 -1
  71. package/dist/primitives/data-display/Chip/types/ChipVariant.d.ts +1 -1
  72. package/dist/primitives/data-display.cjs +1 -1
  73. package/dist/primitives/data-display.mjs +7 -8
  74. package/dist/primitives/feedback/Banner/Banner.d.ts +1 -1
  75. package/dist/primitives/feedback/Banner/internal/BannerAction.d.ts +1 -1
  76. package/dist/primitives/feedback.cjs +1 -1
  77. package/dist/primitives/feedback.mjs +2 -2
  78. package/dist/primitives/input/Autocomplete/Autocomplete.d.ts +1 -1
  79. package/dist/primitives/input/Autocomplete/internal/AutocompleteInput.d.ts +1 -1
  80. package/dist/primitives/input/Autocomplete/types/AutocompleteInputProps.d.ts +8 -1
  81. package/dist/primitives/input/Button/types/ButtonColor.d.ts +1 -1
  82. package/dist/primitives/input/RadioGroup/RadioGroup.d.ts +1 -1
  83. package/dist/primitives/input/RadioGroup/types/RadioGroupProps.d.ts +3 -1
  84. package/dist/primitives/input.cjs +1 -1
  85. package/dist/primitives/input.mjs +3 -3
  86. package/dist/primitives/navigation/Tabs/types/TabsSize.d.ts +1 -1
  87. package/dist/primitives/navigation.cjs +1 -1
  88. package/dist/primitives/navigation.mjs +2 -2
  89. package/dist/primitives/surfaces/Card/Card.d.ts +1 -1
  90. package/dist/primitives/surfaces/Card/internal/CardRoot.d.ts +1 -1
  91. package/dist/primitives/surfaces/Card/types/CardRootProps.d.ts +0 -1
  92. package/dist/primitives/surfaces/Tooltip/Tooltip.d.ts +1 -0
  93. package/dist/primitives/surfaces/Tooltip/__stories__/findTooltip.d.ts +1 -0
  94. package/dist/primitives/surfaces/Tooltip/internal/TooltipBody.d.ts +2 -8
  95. package/dist/primitives/surfaces/Tooltip/types/TooltipBodyProps.d.ts +6 -0
  96. package/dist/primitives/surfaces/index.d.ts +1 -0
  97. package/dist/primitives/surfaces.cjs +1 -1
  98. package/dist/primitives/surfaces.mjs +2 -2
  99. package/dist/primitives/typography/Heading/types/HeadingProps.d.ts +1 -1
  100. package/dist/primitives/typography.cjs +1 -1
  101. package/dist/primitives/typography.mjs +3 -3
  102. package/dist/primitives.cjs +1 -1
  103. package/dist/primitives.mjs +45 -46
  104. package/dist/{settings-CPXhrmbK.cjs → settings-DT5bEO6A.cjs} +1 -1
  105. package/dist/{settings-BgVuLpg9.js → settings-XGSJtobU.js} +1 -1
  106. package/dist/style.css +1 -1
  107. package/dist/surfaces-q8voTXEJ.cjs +1 -0
  108. package/dist/{surfaces-BLsR5ka0.js → surfaces-vhSZBmbz.js} +77 -78
  109. package/dist/testing/index.d.ts +1 -0
  110. package/dist/testing/utils/waitForStorybookFontsLoaded.d.ts +1 -0
  111. package/dist/testing.cjs +1 -1
  112. package/dist/testing.mjs +87 -77
  113. package/dist/{typography-DT2eKLvd.js → typography-BPdXzW2T.js} +1 -1
  114. package/dist/{typography-bKeSMuJd.cjs → typography-CWtuNruY.cjs} +1 -1
  115. package/dist/utilities.cjs +1 -1
  116. package/dist/utilities.mjs +11 -10
  117. package/package.json +1 -1
  118. package/dist/Avatar-C6WxBgjS.cjs +0 -1
  119. package/dist/Avatar-ifVlxbx_.js +0 -73
  120. package/dist/Button-DIw804CX.js +0 -72
  121. package/dist/Button-DTm1WDzp.cjs +0 -1
  122. package/dist/Dropdown-1OAJvS1f.js +0 -1000
  123. package/dist/Dropdown-Bl4OXCf9.cjs +0 -1
  124. package/dist/Heading-CTRYClCO.cjs +0 -1
  125. package/dist/ProgressBar-B3xACTV2.js +0 -84
  126. package/dist/ProgressBar-OpSMnDBz.cjs +0 -1
  127. package/dist/TabsTabContent-Co27Y2TU.cjs +0 -1
  128. package/dist/TabsTabContent-DVcObDp6.js +0 -39
  129. package/dist/TintedIconTile-B1XDtGrF.js +0 -40
  130. package/dist/TintedIconTile-DO1XJXCQ.cjs +0 -1
  131. package/dist/Tooltip-Bg9Uk01p.cjs +0 -1
  132. package/dist/Tooltip-cLCgtFBF.js +0 -124
  133. package/dist/components/navigation/MenuItem/MenuItem.d.ts +0 -2
  134. package/dist/components/navigation/MenuItem/parts/MenuItemIcon.d.ts +0 -9
  135. package/dist/components/navigation/MenuItem/parts/MenuItemIconBoxContainer.d.ts +0 -7
  136. package/dist/components/navigation/MenuItem/parts/MenuItemIconWithGripSwap.d.ts +0 -8
  137. package/dist/components/navigation/MenuItem/parts/MenuItemLeftContent.d.ts +0 -19
  138. package/dist/components/navigation/MenuItem/parts/StyledMenuItemBase.d.ts +0 -25
  139. package/dist/components/navigation/MenuItem/types/MenuItemDraggableGripMode.d.ts +0 -1
  140. package/dist/components/navigation/MenuItem/types/MenuItemProps.d.ts +0 -33
  141. package/dist/components/navigation/MenuItemAvatar/MenuItemAvatar.d.ts +0 -2
  142. package/dist/components/navigation/MenuItemAvatar/types/MenuItemAvatarProps.d.ts +0 -18
  143. package/dist/components/navigation/MenuItemDraggable/MenuItemDraggable.d.ts +0 -2
  144. package/dist/components/navigation/MenuItemDraggable/types/MenuItemDraggableProps.d.ts +0 -20
  145. package/dist/components/navigation/MenuItemSuggestion/MenuItemSuggestion.d.ts +0 -2
  146. package/dist/components/navigation/MenuItemSuggestion/types/MenuItemSuggestionProps.d.ts +0 -12
  147. package/dist/components/navigation/MenuPicker/MenuPicker.d.ts +0 -2
  148. package/dist/components/navigation/MenuPicker/types/MenuPickerProps.d.ts +0 -15
  149. package/dist/data-display-BSKGlijb.cjs +0 -1
  150. package/dist/data-display-BtXCGOGw.js +0 -345
  151. package/dist/data-display-DtXIhJ4B.js +0 -184
  152. package/dist/data-display-XV3ht1rC.cjs +0 -2
  153. package/dist/feedback-Cs-38OH4.cjs +0 -1
  154. package/dist/feedback-DA-AU5z5.js +0 -38
  155. package/dist/feedback-DNLERYY9.cjs +0 -1
  156. package/dist/input-B_rBplmn.cjs +0 -1
  157. package/dist/input-ChlFcqIS.cjs +0 -1
  158. package/dist/input-D1oyk0tD.js +0 -421
  159. package/dist/navigation-B6nka3bW.js +0 -400
  160. package/dist/navigation-CflGBYv-.cjs +0 -1
  161. package/dist/navigation-DoInK0Sp.cjs +0 -1
  162. package/dist/preventDismissingClickActivation-AaqHBLnW.js +0 -45
  163. package/dist/preventDismissingClickActivation-CIhWvKCu.cjs +0 -1
  164. package/dist/surfaces-0rL5DoHt.cjs +0 -1
  165. /package/dist/{handleClickableElementKeyDown-C8Uz61XJ.js → accessibility-C8Uz61XJ.js} +0 -0
  166. /package/dist/{handleClickableElementKeyDown-CByqtBhO.cjs → accessibility-CByqtBhO.cjs} +0 -0
@@ -1,1000 +0,0 @@
1
- import { t as s } from "./isDefined-fMi6eQ4r.js";
2
- import { Cn as rt, Dn as ot, En as nt, gl as at } from "./icon-CUE-QGQK.js";
3
- import { t as ee } from "./doNotTranslate-BSVT8Xyd.js";
4
- import { t as X } from "./mergeClassNames-ClFMR1v0.js";
5
- import { t as st } from "./preventDismissingClickActivation-AaqHBLnW.js";
6
- import { r as Ne, t as it } from "./Button-DIw804CX.js";
7
- import { t as xe } from "./isRenderableSlot-DT_depzM.js";
8
- import { t as ct } from "./Tooltip-cLCgtFBF.js";
9
- import { r as Fe } from "./OverflowingTextWithTooltip-BmUROIah.js";
10
- import { t as le } from "./ListItem.module-BJ9Ttjrc.js";
11
- import { t as ye } from "./ListItem-DizNUBT8.js";
12
- import { t as Z } from "./Popover-CWeCV7X9.js";
13
- import { t as lt } from "./Input-DZWl81G_.js";
14
- import { useRender as pe } from "@base-ui/react/use-render";
15
- import { isBoolean as dt, isFunction as ut, isNonEmptyString as fe, isPositiveInteger as Le, isUndefined as de } from "@sniptt/guards";
16
- import { clsx as U } from "clsx";
17
- import { createContext as Ge, isValidElement as pt, useCallback as Y, useContext as ae, useEffect as ft, useId as me, useLayoutEffect as Te, useRef as Me, useState as M } from "react";
18
- import { Fragment as mt, jsx as l, jsxs as se } from "react/jsx-runtime";
19
- import { Button as Be } from "@base-ui/react/button";
20
- import { useMergedRefs as ge } from "@base-ui/utils/useMergedRefs";
21
- import { Popover as qe } from "@base-ui/react/popover";
22
- import { areArraysEqual as gt } from "@base-ui/utils/areArraysEqual";
23
- import { useDirection as Ke } from "@base-ui/react/direction-provider";
24
- import { Menu as Ie } from "@base-ui/react/menu";
25
- var wt = "_content_rspeb_1", vt = "_page_rspeb_13", bt = "_selectionGroup_rspeb_17", ht = "_group_rspeb_21", Dt = "_groupLabel_rspeb_27", yt = "_separator_rspeb_39", Tt = "_section_rspeb_46", It = "_back_rspeb_80", _t = "_backIcon_rspeb_92", At = "_searchContainer_rspeb_96", Ct = "_search_rspeb_96", kt = "_status_rspeb_113", St = "_header_rspeb_119", Et = "_title_rspeb_132", Pt = "_itemWithActions_rspeb_141", Rt = "_itemWithActionsPrimary_rspeb_147", Ot = "_itemActions_rspeb_162", Nt = "_itemDecoration_rspeb_166", E = {
26
- content: wt,
27
- page: vt,
28
- selectionGroup: bt,
29
- group: ht,
30
- groupLabel: Dt,
31
- separator: yt,
32
- section: Tt,
33
- back: It,
34
- backIcon: _t,
35
- searchContainer: At,
36
- search: Ct,
37
- status: kt,
38
- header: St,
39
- title: Et,
40
- itemWithActions: Pt,
41
- itemWithActionsPrimary: Rt,
42
- itemActions: Ot,
43
- itemDecoration: Nt
44
- }, Ue = ({ render: e, ref: t, disabled: r, ...o }) => pe({
45
- render: e,
46
- ref: t,
47
- defaultTagName: "button",
48
- props: {
49
- ...o,
50
- disabled: r
51
- }
52
- }), _e = ({ nativeButton: e, renderProps: t }) => e && "disabled" in t && dt(t.disabled) ? t.disabled : void 0, xt = "[data-dropdown-item]", He = ({ actions: e, actionsVisibility: t = "hover", color: r = "neutral", selected: o = !1, focused: n = !1, indicator: c = "none", disabled: i = !1, hasSubmenu: m = !1, children: a }) => /* @__PURE__ */ se("div", {
53
- className: U(le.root, E.itemWithActions),
54
- role: "none",
55
- "data-actions-visibility": t,
56
- "data-color": r,
57
- "data-selected": o ? "" : void 0,
58
- "data-highlighted": n ? "" : void 0,
59
- "data-indicator": c,
60
- "data-disabled": i ? "" : void 0,
61
- onClick: (d) => {
62
- d.target === d.currentTarget && d.currentTarget.querySelector(xt)?.click();
63
- },
64
- children: [
65
- a,
66
- /* @__PURE__ */ l("span", {
67
- className: U(le.actions, E.itemActions),
68
- children: e
69
- }),
70
- c === "check" && o && /* @__PURE__ */ l(rt, {
71
- className: U(le.checkIndicator, E.itemDecoration),
72
- "aria-hidden": !0
73
- }),
74
- m && /* @__PURE__ */ l(ot, {
75
- className: U(le.submenuIcon, E.itemDecoration),
76
- "aria-hidden": !0
77
- })
78
- ]
79
- }), Ae = ({ id: e, render: t }) => pt(t) ? t.props.id ?? e : e, Ce = (e) => e.getAttribute("aria-label") ?? e.textContent ?? "", Ve = ({ content: e, item: t }) => t.getAttribute("aria-disabled") !== "true" && !t.hasAttribute("disabled") && t.closest("[data-dropdown-content]") === e, we = (e) => Array.from(e.querySelectorAll("[data-dropdown-item]")).filter((t) => Ve({
80
- content: e,
81
- item: t
82
- })), ue = Ge(void 0), B = () => {
83
- const e = ae(ue);
84
- if (!s(e)) throw new Error(ee("Dropdown components must be inside Dropdown.Root"));
85
- return e;
86
- }, ke = ({ id: e, disabled: t, isSubmenuTrigger: r = !1 }) => {
87
- const o = B(), n = r ? o.parentType : o.type, c = r ? o.parentRowFocus : o.rowFocus, i = n !== "panel" && (c?.rowIds?.includes(e) ?? !0);
88
- return { tabIndex: t || i && c?.tabStopRowId !== e ? -1 : 0 };
89
- }, We = ({ color: e, startIcon: t, endIcon: r, description: o, descriptionPlacement: n, shortcut: c, shortcutJoinLabel: i, hasSubmenu: m, actions: a, actionsVisibility: d, children: u, render: v, disabled: b = !1, nativeButton: g = !s(v), closeOnClick: f = !0, onClick: A, page: k, id: D, ...p }) => {
90
- const { type: w, closeTree: y, goToPage: h } = B(), I = me(), P = Ae({
91
- id: D,
92
- render: v
93
- }), R = P ?? I, H = ke({
94
- id: R,
95
- disabled: b
96
- }), O = xe(a), N = m ?? s(k), q = /* @__PURE__ */ l(Be, {
97
- ...p,
98
- id: R,
99
- disabled: b,
100
- nativeButton: g,
101
- role: p.role ?? (w === "menu" ? "menuitem" : void 0),
102
- tabIndex: H.tabIndex,
103
- "data-dropdown-item": "",
104
- "data-dropdown-page": k,
105
- onClick: (_) => {
106
- if (A?.(_), !_.defaultPrevented) {
107
- if (s(k)) {
108
- const C = _.currentTarget.closest("[data-dropdown-content]");
109
- if (!s(C)) return;
110
- h({
111
- id: k,
112
- trigger: {
113
- id: P,
114
- index: we(C).indexOf(_.currentTarget),
115
- page: k,
116
- label: Ce(_.currentTarget)
117
- }
118
- });
119
- return;
120
- }
121
- f && y();
122
- }
123
- },
124
- render: (_) => {
125
- const C = _e({
126
- nativeButton: g,
127
- renderProps: _
128
- });
129
- return /* @__PURE__ */ l(ye, {
130
- ..._,
131
- render: /* @__PURE__ */ l(Ue, {
132
- render: v,
133
- disabled: C
134
- }),
135
- className: U(_.className, O && E.itemWithActionsPrimary),
136
- disabled: b,
137
- color: e,
138
- startIcon: t,
139
- endIcon: r,
140
- actionsVisibility: d,
141
- description: o,
142
- descriptionPlacement: n,
143
- shortcut: c,
144
- shortcutJoinLabel: i,
145
- hasSubmenu: !O && N,
146
- children: u
147
- });
148
- }
149
- });
150
- return O ? /* @__PURE__ */ l(He, {
151
- actions: a,
152
- actionsVisibility: d,
153
- color: e,
154
- disabled: b,
155
- hasSubmenu: N,
156
- children: q
157
- }) : q;
158
- }, Ft = ({ children: e = ee("Back"), className: t, onClick: r, ...o }) => {
159
- const { goBack: n, canGoBack: c } = B();
160
- return /* @__PURE__ */ l(We, {
161
- ...o,
162
- className: U(E.back, t),
163
- "data-dropdown-back": "",
164
- disabled: o.disabled || !c,
165
- startIcon: /* @__PURE__ */ l(nt, { className: E.backIcon }),
166
- closeOnClick: !1,
167
- onClick: (i) => {
168
- r?.(i), !i.defaultPrevented && n();
169
- },
170
- children: e
171
- });
172
- }, Lt = "_button_1qwl0_1", Gt = "_tooltipAnchor_1qwl0_29", Mt = "_icon_1qwl0_33", be = {
173
- button: Lt,
174
- tooltipAnchor: Gt,
175
- icon: Mt
176
- }, Bt = ({ children: e, size: t, shape: r = "square", className: o, tooltip: n, tooltipPlace: c = "bottom", tooltipDelay: i = 1e3, tooltipOffset: m = 5, disabled: a, loading: d, ...u }) => {
177
- const v = ae(Ne), b = t ?? v?.size ?? "md", g = fe(n), f = a || d, A = /* @__PURE__ */ l(it, {
178
- ...u,
179
- size: b === "xs" ? "sm" : b,
180
- "data-icon-size": b,
181
- "data-shape": r,
182
- disabled: a,
183
- loading: d,
184
- startIcon: /* @__PURE__ */ l("span", {
185
- className: be.icon,
186
- children: e
187
- }),
188
- className: X(be.button, o)
189
- });
190
- return g ? /* @__PURE__ */ l(ct, {
191
- content: n,
192
- delay: i,
193
- side: c,
194
- sideOffset: m,
195
- children: f ? /* @__PURE__ */ l("span", {
196
- className: be.tooltipAnchor,
197
- children: A
198
- }) : A
199
- }) : A;
200
- }, qt = "_button_prhtf_1", Kt = { button: qt }, Ut = ({ className: e, emphasis: t = "standard", size: r, variant: o, ...n }) => {
201
- const c = ae(Ne), i = r ?? c?.size ?? "sm", m = o ?? c?.variant ?? "ghost";
202
- return /* @__PURE__ */ l(Bt, {
203
- ...n,
204
- size: i,
205
- variant: m,
206
- "data-emphasis": t,
207
- className: X(Kt.button, e)
208
- });
209
- }, Ht = ({ render: e, children: t, "aria-label": r, ...o }) => /* @__PURE__ */ l(qe.Close, {
210
- ...o,
211
- "aria-label": r,
212
- render: e ?? /* @__PURE__ */ l(Ut, {
213
- size: "sm",
214
- "aria-label": r,
215
- children: t ?? /* @__PURE__ */ l(at, {})
216
- }),
217
- children: s(e) ? t : void 0
218
- }), ve = (e) => e.querySelector("[data-dropdown-search]:not(:disabled)"), Se = ({ content: e, target: t, edge: r = "first", type: o }) => {
219
- const n = s(t?.id) ? e.ownerDocument.getElementById(t.id) : null;
220
- if (s(n) && e.contains(n)) return n;
221
- const c = we(e), i = s(t) ? c.filter((f) => f.dataset.dropdownPage === t.page) : [], [m] = i;
222
- if (i.length === 1 && s(m)) return m;
223
- const a = fe(t?.label) ? i.filter((f) => Ce(f) === t?.label) : [], [d] = a;
224
- if (a.length === 1 && s(d)) return d;
225
- const u = s(t) ? c[t.index] : void 0;
226
- if (s(u)) return u;
227
- const v = e.querySelector('input:not(:disabled):not([type="hidden"]),button:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href],[tabindex="0"]'), b = Array.from(e.querySelectorAll("[data-dropdown-page-type]")).find((f) => f.closest("[data-dropdown-content]") === e)?.dataset.dropdownPageType ?? o ?? e.dataset.type;
228
- if (b === "panel") return v ?? e;
229
- const g = ve(e);
230
- return s(g) ? g : r === "last" ? c[c.length - 1] ?? v ?? e : (b === "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] ?? v ?? e;
231
- }, Vt = ({ contentRef: e }) => {
232
- const { open: t, pageId: r, pageFocusRequest: o, setPageFocusRequest: n } = B();
233
- return Te(() => {
234
- s(o) && (n(void 0), !(!t || o.pageId !== r || !s(e.current)) && Se({
235
- content: e.current,
236
- target: o.target
237
- }).focus());
238
- }, [
239
- e,
240
- t,
241
- r,
242
- o,
243
- n
244
- ]), null;
245
- }, ze = ({ content: e, item: t }) => t.hasAttribute("data-dropdown-item") && Ve({
246
- content: e,
247
- item: t
248
- }) && (!t.hasAttribute("data-dropdown-back") || !s(ve(e))), $e = (e) => Array.from(e.querySelectorAll("[data-dropdown-item]")).filter((t) => ze({
249
- content: e,
250
- item: t
251
- })), Ee = (e) => {
252
- if (e.dataset.type === "panel") return;
253
- const t = ve(e);
254
- if (!(!s(t) || !fe(t.value.trim())))
255
- return we(e).find((r) => r.hasAttribute("data-dropdown-option-item"));
256
- }, Wt = ({ content: e }) => {
257
- const { setRowIds: t, setSearchTargetId: r } = B();
258
- return Te(() => {
259
- if (!s(e)) return;
260
- const o = () => {
261
- const c = $e(e).map((i) => i.id);
262
- t((i) => s(i) && gt(i, c) ? i : c), r(Ee(e)?.id);
263
- };
264
- o();
265
- const n = new MutationObserver(o);
266
- return n.observe(e, {
267
- childList: !0,
268
- subtree: !0,
269
- attributes: !0,
270
- attributeFilter: [
271
- "disabled",
272
- "aria-disabled",
273
- "id"
274
- ]
275
- }), () => {
276
- n.disconnect(), t(void 0), r(void 0);
277
- };
278
- }, [
279
- e,
280
- t,
281
- r
282
- ]), null;
283
- }, zt = (e) => (e.ctrlKey || e.metaKey) && !e.defaultPrevented, he = /* @__PURE__ */ new WeakMap(), je = {
284
- activate: ({ item: e, event: t }) => {
285
- he.set(e, t);
286
- try {
287
- e.click();
288
- } finally {
289
- he.delete(e);
290
- }
291
- },
292
- getEvent: ({ item: e, event: t }) => he.get(e) ?? t
293
- }, $t = (e) => Array.from(e.ownerDocument.querySelectorAll("[data-dropdown-item][aria-controls]")).find((t) => t.getAttribute("aria-controls") === e.id), jt = ({ rowCells: e, column: t, isEnabledCell: r }) => {
294
- const o = Math.min(t, e.length - 1);
295
- for (let n = 0; n < e.length; n++) {
296
- const c = [e[o - n], e[o + n]].find(r);
297
- if (s(c)) return c;
298
- }
299
- }, Ye = ({ key: e, items: t, currentItem: r, search: o, isRightToLeft: n }) => {
300
- const c = r?.closest("[data-dropdown-columns]"), i = Number(c?.dataset.dropdownColumns), m = ee([
301
- "ArrowUp",
302
- "ArrowDown",
303
- "ArrowLeft",
304
- "ArrowRight"
305
- ]).includes(e);
306
- if (!s(c) || !s(r) || !m || !Le(i)) return;
307
- const a = Array.from(c.children).filter((p) => p instanceof HTMLElement && !p.hasAttribute("data-dropdown-section-label")), d = a.indexOf(r);
308
- if (d < 0) return;
309
- const u = Math.floor(d / i), v = d % i, b = e === "ArrowUp" || e === "ArrowDown", g = ee(n ? "ArrowLeft" : "ArrowRight"), f = e === "ArrowDown" || e === g ? 1 : -1, A = Math.ceil(a.length / i), k = new Set(t), D = (p) => s(p) && k.has(p);
310
- if (b) {
311
- for (let y = u + f; y >= 0 && y < A; y += f) {
312
- const h = a[Math.min(y * i + v, a.length - 1)];
313
- if (D(h)) return h;
314
- }
315
- for (let y = u + f; y >= 0 && y < A; y += f) {
316
- const h = jt({
317
- rowCells: a.slice(y * i, (y + 1) * i),
318
- column: v,
319
- isEnabledCell: D
320
- });
321
- if (s(h)) return h;
322
- }
323
- const p = a.filter(D), w = f < 0 ? p[0] : p[p.length - 1];
324
- return (s(w) ? t[t.indexOf(w) + f] : void 0) ?? (f < 0 ? o : void 0) ?? r;
325
- }
326
- for (let p = v + f; p >= 0 && p < i; p += f) {
327
- const w = a[u * i + p];
328
- if (D(w)) return w;
329
- }
330
- return r;
331
- }, Yt = ({ key: e, items: t, currentIndex: r, search: o, isSearch: n, isRightToLeft: c = !1 }) => {
332
- const i = Ye({
333
- key: e,
334
- items: t,
335
- currentItem: t[r],
336
- search: o,
337
- isRightToLeft: c
338
- });
339
- if (s(i)) return i;
340
- const m = t.length - 1;
341
- if (e === "ArrowDown") return t[r === m ? 0 : r + 1];
342
- if (e === "ArrowUp" && r === 0 && s(o)) return o;
343
- if (e === "ArrowUp") return t[r <= 0 ? m : r - 1];
344
- if (!n && e === "Home") return t[0];
345
- if (!n && e === "End") return t[m];
346
- }, Xt = 500, Jt = () => {
347
- const { type: e, isSubmenu: t, setOpen: r, closeTree: o, tabForwardOutOfTree: n } = B(), c = Ke(), [i, m] = M({
348
- text: "",
349
- timestamp: 0
350
- });
351
- return (a) => {
352
- if (a.defaultPrevented) return;
353
- const d = a.currentTarget, u = a.target;
354
- if (!(u instanceof HTMLElement) || u.closest("[data-dropdown-content]") !== d) return;
355
- const v = u.matches('input,textarea,select,[contenteditable="true"]'), b = c === "rtl", g = ee(b ? "ArrowRight" : "ArrowLeft"), f = t && !v && a.key === g, A = f && e !== "panel" ? Ye({
356
- key: a.key,
357
- items: we(d),
358
- currentItem: u,
359
- search: null,
360
- isRightToLeft: b
361
- }) : void 0, k = s(A) && A !== u;
362
- if (t && (a.key === "Escape" || f && !k)) {
363
- a.preventDefault(), a.stopPropagation(), $t(d)?.focus(), r(!1);
364
- return;
365
- }
366
- if (e === "panel") return;
367
- if (e === "menu" && a.key === "Tab" && a.shiftKey) {
368
- a.preventDefault(), o(a.nativeEvent);
369
- return;
370
- }
371
- if (e === "menu" && a.key === "Tab" && t) {
372
- a.preventDefault(), n({
373
- ownerDocument: d.ownerDocument,
374
- tabOutEvent: a.nativeEvent
375
- });
376
- return;
377
- }
378
- const D = ve(d), p = u === D;
379
- if (v && !p) return;
380
- const w = $e(d), y = p && a.key === "Enter" && !a.nativeEvent.isComposing ? Ee(d) : void 0;
381
- if (s(y)) {
382
- a.preventDefault(), je.activate({
383
- item: y,
384
- event: a.nativeEvent
385
- });
386
- return;
387
- }
388
- const h = w.indexOf(u), I = Yt({
389
- key: a.key,
390
- items: w,
391
- currentIndex: h,
392
- search: D,
393
- isSearch: p,
394
- isRightToLeft: b
395
- });
396
- if (s(I)) {
397
- a.preventDefault(), I.focus();
398
- return;
399
- }
400
- if (v || a.key.length !== 1 || a.key === " " || a.altKey || a.ctrlKey || a.metaKey) return;
401
- const P = Date.now(), R = P - i.timestamp > Xt ? a.key : i.text + a.key;
402
- m({
403
- text: R,
404
- timestamp: P
405
- });
406
- const H = ([...R].every((N) => N === R[0]) ? a.key : R).toLocaleLowerCase(), O = [...w.slice(h + 1), ...w.slice(0, h + 1)].find((N) => Ce(N).trim().toLocaleLowerCase().startsWith(H));
407
- s(O) && (a.preventDefault(), O.focus());
408
- };
409
- }, Qt = ({ side: e, align: t = "start", sideOffset: r = 0, alignOffset: o, anchor: n, collisionPadding: c, container: i, keepMounted: m, width: a = 200, className: d, style: u, children: v, initialFocus: b, onKeyDown: g, onFocus: f, onInput: A, onClick: k, onMouseDown: D, onPointerDown: p, "aria-label": w, "aria-labelledby": y, ref: h, ...I }) => {
410
- const { type: P, isSubmenu: R, rowFocus: H, initialFocusEdge: O, focusOnOpen: N, triggerId: q, titleId: _, setSearchTargetId: C } = B(), G = Me(null), [L, W] = M(null), J = ge(G, h, W), te = Jt(), j = s(w) ? void 0 : _ ?? q;
411
- return /* @__PURE__ */ se(mt, { children: [
412
- /* @__PURE__ */ l(Z.Portal, {
413
- container: i,
414
- keepMounted: m,
415
- children: /* @__PURE__ */ l(Z.Positioner, {
416
- side: e ?? (R ? "inline-end" : "bottom"),
417
- align: t,
418
- sideOffset: r,
419
- alignOffset: o,
420
- anchor: n,
421
- collisionPadding: c,
422
- children: /* @__PURE__ */ l(Z.Popup, {
423
- ...I,
424
- ref: J,
425
- role: P === "menu" ? "menu" : "dialog",
426
- "aria-label": w,
427
- "aria-labelledby": y ?? j,
428
- "data-dropdown-content": "",
429
- "data-type": P,
430
- className: X(E.content, d),
431
- style: (T) => ({
432
- width: a,
433
- ...ut(u) ? u(T) : u
434
- }),
435
- initialFocus: b ?? (() => N ? s(G.current) ? Se({
436
- content: G.current,
437
- edge: O,
438
- type: P
439
- }) : !0 : !1),
440
- onKeyDown: (T) => {
441
- g?.(T), te(T), zt(T) || T.stopPropagation();
442
- },
443
- onFocus: (T) => {
444
- f?.(T);
445
- const { target: V } = T;
446
- V instanceof HTMLElement && ze({
447
- content: T.currentTarget,
448
- item: V
449
- }) && H.focusRow(V.id);
450
- },
451
- onInput: (T) => {
452
- A?.(T), C(Ee(T.currentTarget)?.id);
453
- },
454
- onClick: (T) => {
455
- T.stopPropagation(), k?.(T);
456
- },
457
- onMouseDown: (T) => {
458
- T.stopPropagation(), D?.(T);
459
- },
460
- onPointerDown: (T) => {
461
- T.stopPropagation(), p?.(T);
462
- },
463
- children: v
464
- })
465
- })
466
- }),
467
- /* @__PURE__ */ l(Vt, { contentRef: G }),
468
- /* @__PURE__ */ l(Wt, { content: L })
469
- ] });
470
- }, Zt = ({ className: e, ...t }) => /* @__PURE__ */ l(Fe, {
471
- ...t,
472
- role: "status",
473
- "aria-live": "polite",
474
- className: U(E.status, e)
475
- }), er = ({ render: e, ref: t, className: r, ...o }) => pe({
476
- render: e,
477
- ref: t,
478
- props: {
479
- ...o,
480
- className: U(E.header, r)
481
- }
482
- }), tr = ({ className: e, ...t }) => /* @__PURE__ */ l(Fe, {
483
- ...t,
484
- role: "status",
485
- "aria-live": "polite",
486
- "aria-busy": "true",
487
- className: U(E.status, e)
488
- }), rr = ({ render: e, ref: t, state: r, ...o }) => pe({
489
- render: e,
490
- ref: t,
491
- state: r,
492
- defaultTagName: "button",
493
- props: o
494
- }), Pe = Ge(void 0), or = ({ event: e, trigger: t }) => {
495
- let r = !1;
496
- return {
497
- reason: "item-press",
498
- event: e,
499
- trigger: t,
500
- cancel: () => {
501
- r = !0;
502
- },
503
- get isCanceled() {
504
- return r;
505
- }
506
- };
507
- }, nr = ({ type: e, hasSelectionState: t, hasSelectionOwner: r, multiple: o, role: n }) => e === "menu" && t ? o ? "menuitemcheckbox" : "menuitemradio" : e === "menu" ? "menuitem" : e === "picker" && r ? "option" : n, ar = ({ selection: e, value: t, standaloneSelected: r }) => !s(e) || !s(t) ? r : e.multiple ? e.value.includes(t) : e.value === t, sr = ({ value: e, selected: t, indicator: r, onSelect: o, closeOnSelect: n, color: c, startIcon: i, endIcon: m, description: a, descriptionPlacement: d, shortcut: u, shortcutJoinLabel: v, hasSubmenu: b, actions: g, actionsVisibility: f, children: A, render: k, disabled: D = !1, nativeButton: p = !s(k), onClick: w, id: y, ...h }) => {
508
- const { type: I, multiple: P, closeTree: R, searchTargetId: H } = B(), O = ae(Pe), N = s(O) && s(e), q = N ? O.multiple : P, _ = ar({
509
- selection: O,
510
- value: e,
511
- standaloneSelected: t
512
- }), C = I === "menu", G = I === "picker" && N, L = s(_), W = !C && !G && (p || h.role === "button"), J = !C && !G && !W && L && _, te = nr({
513
- type: I,
514
- hasSelectionState: L,
515
- hasSelectionOwner: N,
516
- multiple: q,
517
- role: h.role
518
- }), j = q ? "checkbox" : "check", T = me(), V = Ae({
519
- id: y,
520
- render: k
521
- }) ?? T, re = ke({
522
- id: V,
523
- disabled: D
524
- }), Q = xe(g), ie = H === V, oe = r ?? (L ? j : "none"), ce = Q && oe === "check", ne = /* @__PURE__ */ l(Be, {
525
- ...h,
526
- id: V,
527
- disabled: D,
528
- nativeButton: p,
529
- role: te,
530
- "aria-checked": C && L ? _ : void 0,
531
- "aria-selected": G ? _ : void 0,
532
- "aria-pressed": W && L ? _ : void 0,
533
- "aria-current": J ? "true" : void 0,
534
- tabIndex: re.tabIndex,
535
- "data-dropdown-item": "",
536
- "data-dropdown-option-item": "",
537
- onClick: (F) => {
538
- if (w?.(F), F.defaultPrevented) return;
539
- const z = or({
540
- event: je.getEvent({
541
- item: F.currentTarget,
542
- event: F.nativeEvent
543
- }),
544
- trigger: F.currentTarget
545
- });
546
- o?.(z), !(z.isCanceled || F.defaultPrevented) && (N && O.select({
547
- value: e,
548
- eventDetails: z
549
- }), !(z.isCanceled || F.defaultPrevented) && (n ?? (N ? O.closeOnSelect : !q)) && R());
550
- },
551
- render: (F) => {
552
- const z = _e({
553
- nativeButton: p,
554
- renderProps: F
555
- });
556
- return /* @__PURE__ */ l(ye, {
557
- ...F,
558
- render: /* @__PURE__ */ l(rr, {
559
- render: k,
560
- disabled: z,
561
- state: {
562
- selected: _ ?? !1,
563
- multiple: q,
564
- disabled: D
565
- }
566
- }),
567
- className: U(F.className, Q && E.itemWithActionsPrimary),
568
- disabled: D,
569
- selected: _,
570
- focused: ie,
571
- indicator: ce ? "none" : oe,
572
- color: c,
573
- startIcon: i,
574
- endIcon: m,
575
- actionsVisibility: f,
576
- description: a,
577
- descriptionPlacement: d,
578
- shortcut: u,
579
- shortcutJoinLabel: v,
580
- hasSubmenu: !Q && b,
581
- children: A
582
- });
583
- }
584
- });
585
- return Q ? /* @__PURE__ */ l(He, {
586
- actions: g,
587
- actionsVisibility: f,
588
- color: c,
589
- selected: _,
590
- focused: ie,
591
- indicator: oe,
592
- disabled: D,
593
- hasSubmenu: b,
594
- children: ne
595
- }) : ne;
596
- }, ir = ({ id: e, type: t, children: r }) => {
597
- const o = B(), { registerPage: n } = o, c = Y((i) => {
598
- s(i) && n({
599
- id: e,
600
- type: t
601
- });
602
- }, [
603
- e,
604
- t,
605
- n
606
- ]);
607
- return o.pageId !== e ? null : /* @__PURE__ */ l(ue.Provider, {
608
- value: {
609
- ...o,
610
- type: t ?? o.rootType
611
- },
612
- children: /* @__PURE__ */ l("div", {
613
- ref: c,
614
- className: E.page,
615
- "data-dropdown-page-type": t ?? o.rootType,
616
- children: r
617
- })
618
- });
619
- }, cr = ({ open: e, registerOpenNestedRoot: t }) => (ft(() => {
620
- if (e)
621
- return t?.();
622
- }, [e, t]), null), lr = ({ rowIds: e = [], focusedRowId: t }) => s(t) && e.includes(t) ? t : e[0], dr = "data-base-ui-focus-guard", ur = (e) => {
623
- const t = e?.nextElementSibling;
624
- if (!(!(t instanceof HTMLElement) || !t.hasAttribute(dr)))
625
- return t;
626
- }, pr = (e) => e instanceof FocusEvent ? e.type === "focusout" && e.relatedTarget instanceof Element ? e.relatedTarget : null : e.target instanceof Element ? e.target : null, De = ({ onDismiss: e, event: t, target: r = pr(t) }) => {
627
- if (!s(e)) return !1;
628
- let o = !1;
629
- return e({
630
- target: r,
631
- type: t.type,
632
- preventDefault: () => {
633
- o = !0;
634
- }
635
- }), o;
636
- }, Oe = () => {
637
- const [e, t] = M();
638
- return [e, Y((r) => (t(r), () => t((o) => o === r ? void 0 : o)), [])];
639
- }, fr = () => {
640
- const [e, t] = M(() => /* @__PURE__ */ new Map());
641
- return {
642
- selections: e,
643
- initializeSelection: Y(({ id: r, state: o }) => {
644
- t((n) => n.get(r)?.multiple === o.multiple ? n : new Map(n).set(r, o));
645
- }, []),
646
- updateSelection: Y(({ id: r, state: o }) => {
647
- t((n) => new Map(n).set(r, o));
648
- }, [])
649
- };
650
- }, Xe = ({ children: e, type: t, open: r, defaultOpen: o = !1, onOpenChange: n, onEscapeKeyDown: c, onInteractOutside: i, multiple: m = !1, defaultPage: a = "root", isSubmenu: d = !1 }) => {
651
- const u = ae(ue), v = fr(), { selections: b, initializeSelection: g, updateSelection: f } = d && s(u) ? u : v, A = Me(0), k = Y(() => (A.current += 1, () => {
652
- A.current -= 1;
653
- }), []), [D, p] = M(o), w = r ?? D, [y, h] = M(w), [I, P] = M([{ id: a }]), [R, H] = M(), [O, N] = M(), [q, _] = M(), C = I[I.length - 1]?.id, [G, L] = M(), [W, J] = M("first"), [te, j] = M(!0), [T, V] = M(), [re, Q] = Oe(), [ie, oe] = Oe(), ce = w && !y, ne = !w && y;
654
- (ce || ne) && h(w), ce && (P([{ id: a }]), H(void 0), L(void 0), _(void 0)), ne && (J("first"), j(!0), V(void 0));
655
- const F = (S) => {
656
- s(r) || p(S), n?.(S);
657
- }, z = (S) => {
658
- s(S) && De({
659
- onDismiss: i,
660
- event: S,
661
- target: null
662
- }) || (F(!1), d && u?.closeTree(S));
663
- }, Je = ({ ownerDocument: S, tabOutEvent: x }) => {
664
- const K = s(re) ? S.getElementById(re) : null;
665
- if (d && s(u)) {
666
- F(!1), K?.focus(), u.tabForwardOutOfTree({
667
- ownerDocument: S,
668
- tabOutEvent: x
669
- });
670
- return;
671
- }
672
- const $ = ur(K);
673
- if (!s($)) {
674
- z(x);
675
- return;
676
- }
677
- $.focus();
678
- }, Qe = ({ id: S, trigger: x }) => {
679
- L({ pageId: S }), P((K) => [...K, {
680
- id: S,
681
- trigger: x
682
- }]);
683
- }, Ze = () => {
684
- const S = I[I.length - 2];
685
- if (!s(S)) return;
686
- const x = I[I.length - 1]?.trigger;
687
- L({
688
- pageId: S.id,
689
- target: x
690
- }), P((K) => K.slice(0, -1));
691
- }, et = Y(({ id: S, type: x }) => {
692
- if (!w) return;
693
- const K = x ?? t;
694
- H(($) => $?.id === S && $.type === K ? $ : {
695
- id: S,
696
- type: K
697
- });
698
- }, [w, t]);
699
- return /* @__PURE__ */ l(Z.Root, {
700
- open: w,
701
- onOpenChange: (S, x) => {
702
- if (!S && !w) {
703
- x.cancel();
704
- return;
705
- }
706
- const K = x.reason === "outside-press" || x.reason === "focus-out";
707
- if (K && A.current > 0) {
708
- x.cancel();
709
- return;
710
- }
711
- const $ = x.reason === "escape-key" && De({
712
- onDismiss: c,
713
- event: x.event
714
- }), tt = K && De({
715
- onDismiss: i,
716
- event: x.event
717
- });
718
- if ($ || tt) {
719
- x.cancel();
720
- return;
721
- }
722
- K && st(x.event), j(x.reason !== "trigger-hover"), F(S);
723
- },
724
- children: /* @__PURE__ */ se(ue.Provider, {
725
- value: {
726
- type: s(R) && R.id === C ? R.type : t,
727
- rootType: t,
728
- open: w,
729
- multiple: m,
730
- selections: b,
731
- initializeSelection: g,
732
- updateSelection: f,
733
- isSubmenu: d,
734
- parentType: u?.type,
735
- rowFocus: {
736
- rowIds: O,
737
- tabStopRowId: lr({
738
- rowIds: O,
739
- focusedRowId: q
740
- }),
741
- focusRow: _
742
- },
743
- parentRowFocus: u?.rowFocus,
744
- setRowIds: N,
745
- pageId: C,
746
- pageFocusRequest: G,
747
- setPageFocusRequest: L,
748
- canGoBack: I.length > 1,
749
- initialFocusEdge: W,
750
- setInitialFocusEdge: J,
751
- focusOnOpen: te,
752
- setFocusOnOpen: j,
753
- setOpen: F,
754
- closeTree: z,
755
- tabForwardOutOfTree: Je,
756
- goToPage: Qe,
757
- goBack: Ze,
758
- registerPage: et,
759
- registerOpenNestedRoot: k,
760
- searchTargetId: T,
761
- setSearchTargetId: V,
762
- triggerId: re,
763
- registerTrigger: Q,
764
- titleId: ie,
765
- registerTitle: oe
766
- },
767
- children: [/* @__PURE__ */ l(cr, {
768
- open: w,
769
- registerOpenNestedRoot: d ? void 0 : u?.registerOpenNestedRoot
770
- }), /* @__PURE__ */ l(Pe.Provider, {
771
- value: void 0,
772
- children: e
773
- })]
774
- })
775
- });
776
- }, mr = ({ onValueChange: e, className: t, ...r }) => {
777
- const { searchTargetId: o } = B();
778
- return /* @__PURE__ */ l("div", {
779
- className: E.searchContainer,
780
- children: /* @__PURE__ */ l(lt, {
781
- type: "search",
782
- autoComplete: "off",
783
- "aria-activedescendant": o,
784
- ...r,
785
- "data-dropdown-search": "",
786
- className: X(E.search, t),
787
- onValueChange: (n) => e?.(n)
788
- })
789
- });
790
- }, gr = ({ className: e, ...t }) => /* @__PURE__ */ l(Ie.Group, {
791
- ...t,
792
- className: X(E.group, e)
793
- }), wr = ({ className: e, ...t }) => /* @__PURE__ */ l(Ie.GroupLabel, {
794
- ...t,
795
- className: X(E.groupLabel, e)
796
- }), vr = ({ label: e, scrollable: t, columns: r, style: o, className: n, children: c, ...i }) => {
797
- const m = Le(r) ? r : void 0;
798
- return /* @__PURE__ */ se(gr, {
799
- ...i,
800
- "data-scrollable": t || void 0,
801
- "data-dropdown-columns": m,
802
- style: {
803
- ...o,
804
- ...s(m) && { gridTemplateColumns: `repeat(${m}, minmax(0, 1fr))` }
805
- },
806
- className: U(E.section, n),
807
- children: [s(e) && /* @__PURE__ */ l(wr, {
808
- "data-dropdown-section-label": "",
809
- children: e
810
- }), c]
811
- });
812
- }, br = ({ id: e, initialState: t, initializeSelection: r }) => (Te(() => {
813
- r({
814
- id: e,
815
- state: t
816
- });
817
- }, [
818
- e,
819
- t,
820
- r
821
- ]), null), hr = ({ props: e, storedState: t }) => e.multiple ? {
822
- multiple: !0,
823
- value: e.value ?? (t?.multiple ? t.value : e.defaultValue ?? [])
824
- } : de(e.value) ? {
825
- multiple: !1,
826
- value: t?.multiple === !1 ? t.value : e.defaultValue ?? null
827
- } : {
828
- multiple: !1,
829
- value: e.value
830
- }, Dr = (e) => {
831
- const { id: t, multiple: r = !1, value: o, defaultValue: n, onValueChange: c, closeOnSelect: i = !r, render: m, ref: a, className: d, children: u, ...v } = e, { type: b, selections: g, initializeSelection: f, updateSelection: A } = B(), k = me(), D = t ?? k, p = hr({
832
- props: e,
833
- storedState: g.get(D)
834
- }), w = ({ value: h, eventDetails: I }) => {
835
- if (!(!p.multiple && p.value === h)) {
836
- if (p.multiple && e.multiple) {
837
- const P = p.value.includes(h) ? p.value.filter((R) => R !== h) : [...p.value, h];
838
- e.onValueChange?.(P, I), !I.isCanceled && de(o) && A({
839
- id: D,
840
- state: {
841
- multiple: !0,
842
- value: P
843
- }
844
- });
845
- return;
846
- }
847
- e.multiple || (e.onValueChange?.(h, I), !I.isCanceled && de(o) && A({
848
- id: D,
849
- state: {
850
- multiple: !1,
851
- value: h
852
- }
853
- }));
854
- }
855
- }, y = pe({
856
- render: m,
857
- ref: a,
858
- state: p,
859
- props: {
860
- ...v,
861
- id: D,
862
- className: U(E.selectionGroup, d),
863
- role: b === "picker" ? "listbox" : "group",
864
- "aria-multiselectable": b === "picker" ? r : void 0,
865
- children: u
866
- }
867
- });
868
- return /* @__PURE__ */ se(Pe.Provider, {
869
- value: {
870
- ...p,
871
- closeOnSelect: i,
872
- select: w
873
- },
874
- children: [de(o) && /* @__PURE__ */ l(br, {
875
- id: D,
876
- initialState: p,
877
- initializeSelection: f
878
- }), y]
879
- });
880
- }, yr = ({ className: e, ...t }) => /* @__PURE__ */ l(Ie.Separator, {
881
- ...t,
882
- role: "separator",
883
- "data-dropdown-separator": "",
884
- className: U(E.separator, e)
885
- }), Tr = ({ type: e = "menu", ...t }) => /* @__PURE__ */ l(Xe, {
886
- ...t,
887
- type: e,
888
- isSubmenu: !0
889
- }), Re = (e) => Y((t) => {
890
- if (!(!s(t) || !fe(t.id)))
891
- return e(t.id);
892
- }, [e]), Ir = ({ color: e, startIcon: t, endIcon: r, description: o, descriptionPlacement: n, shortcut: c, shortcutJoinLabel: i, hasSubmenu: m = !0, children: a, render: d, disabled: u = !1, nativeButton: v = !s(d), openOnHover: b = !0, onKeyDown: g, id: f, ref: A, ...k }) => {
893
- const D = Ke(), { type: p, rootType: w, parentType: y, open: h, setOpen: I, setFocusOnOpen: P, registerTrigger: R } = B(), H = h ? p : w, O = me(), N = Ae({
894
- id: f,
895
- render: d
896
- }) ?? O, q = ke({
897
- id: N,
898
- disabled: u,
899
- isSubmenuTrigger: !0
900
- }), _ = ge(A, Re(R));
901
- return /* @__PURE__ */ l(Z.Trigger, {
902
- ...k,
903
- ref: _,
904
- id: N,
905
- disabled: u,
906
- nativeButton: v,
907
- openOnHover: b,
908
- role: y === "menu" ? "menuitem" : void 0,
909
- "aria-haspopup": H === "menu" ? "menu" : "dialog",
910
- tabIndex: q.tabIndex,
911
- "data-dropdown-item": "",
912
- onKeyDown: (C) => {
913
- if (g?.(C), C.defaultPrevented || u) return;
914
- const G = ee(D === "rtl" ? "ArrowLeft" : "ArrowRight");
915
- if (C.key === G) {
916
- C.preventDefault(), C.stopPropagation(), P(!0);
917
- const L = C.currentTarget.getAttribute("aria-controls"), W = s(L) ? C.currentTarget.ownerDocument.getElementById(L) : null;
918
- if (h && s(W)) {
919
- Se({
920
- content: W,
921
- type: p
922
- }).focus();
923
- return;
924
- }
925
- I(!0);
926
- }
927
- },
928
- render: (C) => {
929
- const G = _e({
930
- nativeButton: v,
931
- renderProps: C
932
- });
933
- return /* @__PURE__ */ l(ye, {
934
- ...C,
935
- render: /* @__PURE__ */ l(Ue, {
936
- render: d,
937
- disabled: G
938
- }),
939
- disabled: u,
940
- color: e,
941
- startIcon: t,
942
- endIcon: r,
943
- description: o,
944
- descriptionPlacement: n,
945
- shortcut: c,
946
- shortcutJoinLabel: i,
947
- hasSubmenu: m,
948
- children: a
949
- });
950
- }
951
- });
952
- }, _r = ({ className: e, render: t, ref: r, ...o }) => {
953
- const { registerTitle: n } = B(), c = ge(r, Re(n));
954
- return /* @__PURE__ */ l(qe.Title, {
955
- ...o,
956
- ref: c,
957
- render: t ?? /* @__PURE__ */ l("div", {}),
958
- className: X(E.title, e)
959
- });
960
- }, Ar = ({ onKeyDown: e, onClick: t, ref: r, ...o }) => {
961
- const { type: n, rootType: c, open: i, setOpen: m, setInitialFocusEdge: a, setFocusOnOpen: d, registerTrigger: u } = B(), v = i ? n : c, b = ge(r, Re(u));
962
- return /* @__PURE__ */ l(Z.Trigger, {
963
- ...o,
964
- ref: b,
965
- "aria-haspopup": v === "menu" ? "menu" : "dialog",
966
- onClick: (g) => {
967
- g.stopPropagation(), g.preventDefault(), t?.(g);
968
- },
969
- onKeyDown: (g) => {
970
- e?.(g), !(g.defaultPrevented || g.baseUIHandlerPrevented || o.disabled || v === "panel") && (g.key !== "ArrowDown" && g.key !== "ArrowUp" || (g.preventDefault(), d(!0), a(g.key === "ArrowUp" ? "last" : "first"), m(!0)));
971
- }
972
- });
973
- }, Cr = Xe, Jr = {
974
- Root: Cr,
975
- Trigger: Ar,
976
- Content: Qt,
977
- ActionItem: We,
978
- OptionItem: sr,
979
- SelectionGroup: Dr,
980
- Search: mr,
981
- Header: er,
982
- Title: _r,
983
- Close: Ht,
984
- Page: ir,
985
- Back: Ft,
986
- Submenu: Tr,
987
- SubmenuTrigger: Ir,
988
- Section: vr,
989
- Separator: yr,
990
- Loading: tr,
991
- Empty: Zt
992
- };
993
- export {
994
- Bt as a,
995
- Ut as i,
996
- hr as n,
997
- B as o,
998
- br as r,
999
- Jr as t
1000
- };