twenty-ui 2.48.0 → 2.49.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 (203) hide show
  1. package/README.md +27 -2
  2. package/dist/Avatar-C6WxBgjS.cjs +1 -0
  3. package/dist/{Avatar-D-QA0RE5.js → Avatar-ifVlxbx_.js} +18 -17
  4. package/dist/{Button-D5enZ0Qz.js → Button-DIw804CX.js} +1 -1
  5. package/dist/{Button-Dbi5P05r.cjs → Button-DTm1WDzp.cjs} +1 -1
  6. package/dist/Dropdown-1OAJvS1f.js +1000 -0
  7. package/dist/Dropdown-Bl4OXCf9.cjs +1 -0
  8. package/dist/{ListItem-CjnrSbka.js → ListItem-DizNUBT8.js} +1 -1
  9. package/dist/{ListItem-CHTR-GLd.cjs → ListItem-DwBb-I1D.cjs} +1 -1
  10. package/dist/{ProgressBar-BvT1dyFo.js → ProgressBar-B3xACTV2.js} +1 -1
  11. package/dist/{ProgressBar-DfFz0fFB.cjs → ProgressBar-OpSMnDBz.cjs} +1 -1
  12. package/dist/{Radio-DMI1B7o5.js → Radio-BEAztmPu.js} +1 -1
  13. package/dist/{Radio-xmHgGHQO.cjs → Radio-Dx6b4SYZ.cjs} +1 -1
  14. package/dist/ResizeHandle-B1MuHTNA.cjs +1 -0
  15. package/dist/{ResizeHandle-C1kQ3MYR.js → ResizeHandle-B30OYZxS.js} +56 -55
  16. package/dist/Shortcut-Bp9iDdQg.js +73 -0
  17. package/dist/Shortcut-N8TELGPI.cjs +1 -0
  18. package/dist/{TintedIconTile-4BGa8g8n.js → TintedIconTile-B1XDtGrF.js} +1 -1
  19. package/dist/{TintedIconTile-CU2hCerq.cjs → TintedIconTile-DO1XJXCQ.cjs} +1 -1
  20. package/dist/components/__stories__/reading-direction/DirectionalLayoutExample.d.ts +3 -1
  21. package/dist/components/code-editor.cjs +1 -1
  22. package/dist/components/code-editor.mjs +52 -51
  23. package/dist/components/data-display.cjs +1 -1
  24. package/dist/components/data-display.mjs +2 -2
  25. package/dist/components/feedback.cjs +1 -1
  26. package/dist/components/feedback.mjs +1 -1
  27. package/dist/components/input/CountrySelect/CountrySelect.d.ts +5 -2
  28. package/dist/components/input/CountrySelect/__stories__/CountrySelectPartsExample.d.ts +11 -0
  29. package/dist/components/input/CountrySelect/internal/CountrySelectComponent.d.ts +2 -0
  30. package/dist/components/input/CountrySelect/internal/CountrySelectContext.d.ts +2 -0
  31. package/dist/components/input/CountrySelect/internal/CountrySelectContextValue.d.ts +11 -0
  32. package/dist/components/input/CountrySelect/internal/CountrySelectDropdown.d.ts +4 -0
  33. package/dist/components/input/CountrySelect/internal/CountrySelectOptions.d.ts +2 -11
  34. package/dist/components/input/CountrySelect/internal/CountrySelectOptionsContent.d.ts +2 -0
  35. package/dist/components/input/CountrySelect/internal/CountrySelectRoot.d.ts +2 -0
  36. package/dist/components/input/CountrySelect/internal/CountrySelectTrigger.d.ts +2 -0
  37. package/dist/components/input/CountrySelect/internal/NO_COUNTRY_SELECTION_VALUE.d.ts +1 -0
  38. package/dist/components/input/CountrySelect/internal/PreparedCountryChoice.d.ts +5 -0
  39. package/dist/components/input/CountrySelect/internal/getCountrySelectionValue.d.ts +1 -0
  40. package/dist/components/input/CountrySelect/internal/useCountrySelectContextOrThrow.d.ts +1 -0
  41. package/dist/components/input/CountrySelect/types/CountryChoice.d.ts +1 -0
  42. package/dist/components/input/CountrySelect/types/CountrySelectOptionsProps.d.ts +10 -0
  43. package/dist/components/input/CountrySelect/types/CountrySelectOptionsState.d.ts +4 -0
  44. package/dist/components/input/CountrySelect/types/CountrySelectProps.d.ts +7 -13
  45. package/dist/components/input/CountrySelect/types/CountrySelectRootProps.d.ts +12 -0
  46. package/dist/components/input/CountrySelect/types/CountrySelectTriggerProps.d.ts +6 -0
  47. package/dist/components/input/CurrencyPicker/CurrencyPicker.d.ts +4 -3
  48. package/dist/components/input/CurrencyPicker/__stories__/CurrencyPickerChangingDefaultExample.d.ts +5 -0
  49. package/dist/components/input/CurrencyPicker/__stories__/CurrencyPickerControlledExample.d.ts +5 -0
  50. package/dist/components/input/CurrencyPicker/__stories__/CurrencyPickerControlledSearchExample.d.ts +5 -0
  51. package/dist/components/input/CurrencyPicker/__stories__/CurrencyPickerExample.d.ts +3 -4
  52. package/dist/components/input/CurrencyPicker/__stories__/CurrencyPickerListLabelExample.d.ts +1 -0
  53. package/dist/components/input/CurrencyPicker/__stories__/CurrencyPickerRootStateExample.d.ts +1 -0
  54. package/dist/components/input/CurrencyPicker/internal/CurrencyPickerContext.d.ts +11 -0
  55. package/dist/components/input/CurrencyPicker/internal/CurrencyPickerOptions.d.ts +1 -1
  56. package/dist/components/input/CurrencyPicker/internal/CurrencyPickerRoot.d.ts +2 -0
  57. package/dist/components/input/CurrencyPicker/internal/CurrencyPickerShorthand.d.ts +2 -0
  58. package/dist/components/input/CurrencyPicker/internal/CurrencyPickerTrigger.d.ts +1 -1
  59. package/dist/components/input/CurrencyPicker/internal/PreparedCurrencyPickerOption.d.ts +7 -0
  60. package/dist/components/input/CurrencyPicker/internal/getCurrencyPickerSearchText.d.ts +2 -0
  61. package/dist/components/input/CurrencyPicker/internal/useCurrencyPickerContextOrThrow.d.ts +7 -0
  62. package/dist/components/input/CurrencyPicker/types/CurrencyPickerChangeEventDetails.d.ts +2 -0
  63. package/dist/components/input/CurrencyPicker/types/CurrencyPickerOption.d.ts +1 -0
  64. package/dist/components/input/CurrencyPicker/types/CurrencyPickerOptionsProps.d.ts +6 -5
  65. package/dist/components/input/CurrencyPicker/types/CurrencyPickerProps.d.ts +10 -0
  66. package/dist/components/input/CurrencyPicker/types/CurrencyPickerRootProps.d.ts +17 -0
  67. package/dist/components/input/CurrencyPicker/types/CurrencyPickerState.d.ts +6 -0
  68. package/dist/components/input/CurrencyPicker/types/CurrencyPickerTriggerProps.d.ts +3 -2
  69. package/dist/components/input/IconButton/__stories__/IconButtonExample.d.ts +7 -0
  70. package/dist/components/input/PhoneCountryPicker/PhoneCountryPicker.d.ts +5 -3
  71. package/dist/components/input/PhoneCountryPicker/__stories__/PhoneCountryPickerExample.d.ts +7 -3
  72. package/dist/components/input/PhoneCountryPicker/__stories__/testDisabledPhoneCountryPicker.d.ts +5 -0
  73. package/dist/components/input/PhoneCountryPicker/__stories__/testPhoneCountryCallingCodeDirection.d.ts +3 -0
  74. package/dist/components/input/PhoneCountryPicker/__stories__/testPhoneCountryNullSelection.d.ts +5 -0
  75. package/dist/components/input/PhoneCountryPicker/__stories__/testPhoneCountrySelection.d.ts +5 -0
  76. package/dist/components/input/PhoneCountryPicker/internal/PhoneCountryPickerContext.d.ts +9 -0
  77. package/dist/components/input/PhoneCountryPicker/internal/PhoneCountryPickerOptions.d.ts +1 -1
  78. package/dist/components/input/PhoneCountryPicker/internal/PhoneCountryPickerRoot.d.ts +2 -0
  79. package/dist/components/input/PhoneCountryPicker/internal/PhoneCountryPickerTrigger.d.ts +1 -1
  80. package/dist/components/input/PhoneCountryPicker/internal/PreparedPhoneCountryOption.d.ts +5 -0
  81. package/dist/components/input/PhoneCountryPicker/internal/getPhoneCountryOptionTooltipLabel.d.ts +2 -0
  82. package/dist/components/input/PhoneCountryPicker/internal/matchesPhoneCountrySearch.d.ts +6 -0
  83. package/dist/components/input/PhoneCountryPicker/internal/usePhoneCountryPickerContextOrThrow.d.ts +7 -0
  84. package/dist/components/input/PhoneCountryPicker/types/PhoneCountryOption.d.ts +1 -0
  85. package/dist/components/input/PhoneCountryPicker/types/PhoneCountryPickerOptionsProps.d.ts +4 -5
  86. package/dist/components/input/PhoneCountryPicker/types/PhoneCountryPickerProps.d.ts +10 -0
  87. package/dist/components/input/PhoneCountryPicker/types/PhoneCountryPickerRootProps.d.ts +12 -0
  88. package/dist/components/input/PhoneCountryPicker/types/PhoneCountryPickerTriggerProps.d.ts +1 -3
  89. package/dist/components/input/index.d.ts +10 -0
  90. package/dist/components/input.cjs +1 -1
  91. package/dist/components/input.mjs +13 -13
  92. package/dist/components/layout/OverflowingList/internal/measureItemWidths.d.ts +1 -2
  93. package/dist/components/layout/OverflowingList/internal/measureOverflowingListLayout.d.ts +1 -2
  94. package/dist/components/layout.cjs +1 -1
  95. package/dist/components/layout.mjs +1 -1
  96. package/dist/components/navigation/Dropdown/Dropdown.d.ts +2 -1
  97. package/dist/components/navigation/Dropdown/__stories__/DropdownIconGridExample.d.ts +3 -0
  98. package/dist/components/navigation/Dropdown/__stories__/DropdownSelectionGroupsExample.d.ts +1 -0
  99. package/dist/components/navigation/Dropdown/internal/DropdownContextValue.d.ts +6 -1
  100. package/dist/components/navigation/Dropdown/internal/DropdownOptionItem.d.ts +1 -1
  101. package/dist/components/navigation/Dropdown/internal/DropdownOptionItemOwner.d.ts +7 -0
  102. package/dist/components/navigation/Dropdown/internal/DropdownSelectionContext.d.ts +2 -0
  103. package/dist/components/navigation/Dropdown/internal/DropdownSelectionContextValue.d.ts +9 -0
  104. package/dist/components/navigation/Dropdown/internal/DropdownSelectionGroup.d.ts +2 -0
  105. package/dist/components/navigation/Dropdown/internal/DropdownSelectionGroupEffect.d.ts +11 -0
  106. package/dist/components/navigation/Dropdown/internal/createDropdownSelectionEventDetails.d.ts +5 -0
  107. package/dist/components/navigation/Dropdown/internal/dropdownItemActivation.d.ts +11 -0
  108. package/dist/components/navigation/Dropdown/internal/getDropdownItemExplicitId.d.ts +2 -2
  109. package/dist/components/navigation/Dropdown/internal/getDropdownOptionItemRole.d.ts +9 -0
  110. package/dist/components/navigation/Dropdown/internal/getDropdownSelectionGroupState.d.ts +6 -0
  111. package/dist/components/navigation/Dropdown/internal/getTrailingFocusGuard.d.ts +1 -0
  112. package/dist/components/navigation/Dropdown/internal/isDropdownOptionItemSelected.d.ts +6 -0
  113. package/dist/components/navigation/Dropdown/internal/useDropdownSelections.d.ts +12 -0
  114. package/dist/components/navigation/Dropdown/types/DropdownOptionItemProps.d.ts +7 -2
  115. package/dist/components/navigation/Dropdown/types/DropdownOptionItemSelectEventDetails.d.ts +2 -0
  116. package/dist/components/navigation/Dropdown/types/DropdownOptionItemState.d.ts +5 -0
  117. package/dist/components/navigation/Dropdown/types/DropdownSelectionGroupChangeEventDetails.d.ts +7 -0
  118. package/dist/components/navigation/Dropdown/types/DropdownSelectionGroupProps.d.ts +21 -0
  119. package/dist/components/navigation/Dropdown/types/DropdownSelectionGroupState.d.ts +7 -0
  120. package/dist/components/navigation/index.d.ts +5 -0
  121. package/dist/components/navigation.cjs +1 -1
  122. package/dist/components/navigation.mjs +2 -2
  123. package/dist/components/settings.cjs +1 -1
  124. package/dist/components/settings.mjs +1 -1
  125. package/dist/components.cjs +1 -1
  126. package/dist/components.mjs +22 -22
  127. package/dist/data-display-BSKGlijb.cjs +1 -0
  128. package/dist/{data-display-KyZbLLy-.js → data-display-BtXCGOGw.js} +81 -80
  129. package/dist/{data-display-0QO_WDSs.js → data-display-DtXIhJ4B.js} +45 -44
  130. package/dist/data-display-XV3ht1rC.cjs +2 -0
  131. package/dist/doNotTranslate-BSVT8Xyd.js +4 -0
  132. package/dist/doNotTranslate-CHE7WmRS.cjs +1 -0
  133. package/dist/feedback-Cs-38OH4.cjs +1 -0
  134. package/dist/{feedback-CM6fatE8.js → feedback-DTyVVcTb.js} +198 -197
  135. package/dist/index.cjs +1 -1
  136. package/dist/index.mjs +42 -42
  137. package/dist/{input-CJDYNwoO.cjs → input-B_rBplmn.cjs} +1 -1
  138. package/dist/input-BrjD91wv.js +785 -0
  139. package/dist/input-ChlFcqIS.cjs +1 -0
  140. package/dist/{input-DRpDiMRi.js → input-D1oyk0tD.js} +2 -2
  141. package/dist/layout-CthYckvl.cjs +1 -0
  142. package/dist/layout-DQcjBu08.js +439 -0
  143. package/dist/{navigation-B1SRvzKK.js → navigation-B6nka3bW.js} +125 -128
  144. package/dist/navigation-CIVYqPc5.js +132 -0
  145. package/dist/navigation-CflGBYv-.cjs +1 -0
  146. package/dist/navigation-DoInK0Sp.cjs +1 -0
  147. package/dist/preventDismissingClickActivation-AaqHBLnW.js +45 -0
  148. package/dist/preventDismissingClickActivation-CIhWvKCu.cjs +1 -0
  149. package/dist/primitives/data-display.cjs +1 -1
  150. package/dist/primitives/data-display.mjs +2 -2
  151. package/dist/primitives/feedback.cjs +1 -1
  152. package/dist/primitives/feedback.mjs +1 -1
  153. package/dist/primitives/input/Radio/__stories__/RadioCardContent.d.ts +8 -0
  154. package/dist/primitives/input.cjs +1 -1
  155. package/dist/primitives/input.mjs +3 -3
  156. package/dist/primitives/layout/ResizeHandle/__stories__/ResizableNotesExample.d.ts +2 -0
  157. package/dist/primitives/layout.cjs +1 -1
  158. package/dist/primitives/layout.mjs +1 -1
  159. package/dist/primitives/navigation.cjs +1 -1
  160. package/dist/primitives/navigation.mjs +2 -2
  161. package/dist/primitives/typography.cjs +1 -1
  162. package/dist/primitives/typography.mjs +2 -2
  163. package/dist/primitives.cjs +1 -1
  164. package/dist/primitives.mjs +11 -11
  165. package/dist/{settings-BjEZiHXE.js → settings-BgVuLpg9.js} +1 -1
  166. package/dist/{settings-BAYsnlZJ.cjs → settings-CPXhrmbK.cjs} +1 -1
  167. package/dist/style.css +1 -1
  168. package/dist/testing/GroupedCatalog.d.ts +14 -0
  169. package/dist/testing/index.d.ts +1 -0
  170. package/dist/testing.cjs +1 -1
  171. package/dist/testing.mjs +96 -66
  172. package/dist/{typography-fOTFr0jS.js → typography-DT2eKLvd.js} +1 -1
  173. package/dist/{typography-B5QEuPaL.cjs → typography-bKeSMuJd.cjs} +1 -1
  174. package/dist/useIsMobile-Byp9AIq-.cjs +1 -0
  175. package/dist/useIsMobile-D1ImfQnE.js +38 -0
  176. package/dist/utilities/internal/doNotTranslate.d.ts +1 -0
  177. package/dist/utilities-BKCMZyqZ.js +53 -0
  178. package/dist/utilities-xZh8D2gd.cjs +1 -0
  179. package/dist/utilities.cjs +1 -1
  180. package/dist/utilities.mjs +3 -3
  181. package/package.json +3 -3
  182. package/dist/Avatar-CQhIEazb.cjs +0 -1
  183. package/dist/Dropdown-BKjAaZS0.cjs +0 -1
  184. package/dist/Dropdown-C2hXrjvD.js +0 -820
  185. package/dist/ResizeHandle-DI4LHIQm.cjs +0 -1
  186. package/dist/Shortcut-BvWUZ3pb.js +0 -72
  187. package/dist/Shortcut-CgrdLv_L.cjs +0 -1
  188. package/dist/data-display-CPmTJAWJ.cjs +0 -1
  189. package/dist/data-display-DjhAHvj1.cjs +0 -2
  190. package/dist/feedback-ybO4n69s.cjs +0 -1
  191. package/dist/input-3D2lXywH.cjs +0 -1
  192. package/dist/input-TM3nUdu6.js +0 -554
  193. package/dist/layout-BszCDxAO.js +0 -441
  194. package/dist/layout-VaIq7Sjr.cjs +0 -1
  195. package/dist/navigation-CYAs2LnR.js +0 -131
  196. package/dist/navigation-CthkGHJ8.cjs +0 -1
  197. package/dist/navigation-DrOV5E67.cjs +0 -1
  198. package/dist/preventDismissingClickActivation-CzWqpjiX.js +0 -44
  199. package/dist/preventDismissingClickActivation-DZxTSLV3.cjs +0 -1
  200. package/dist/useIsMobile-DxOPI2_E.cjs +0 -1
  201. package/dist/useIsMobile-nrufFzMb.js +0 -37
  202. package/dist/utilities-BeLfNQ0Q.cjs +0 -1
  203. package/dist/utilities-CEi9I09B.js +0 -52
@@ -1,820 +0,0 @@
1
- import { t as c } from "./isDefined-fMi6eQ4r.js";
2
- import { Cn as zt, Dn as $t, En as jt, gl as Vt } from "./icon-CUE-QGQK.js";
3
- import { t as V } from "./mergeClassNames-ClFMR1v0.js";
4
- import { t as Yt } from "./preventDismissingClickActivation-CzWqpjiX.js";
5
- import { r as Tt, t as Xt } from "./Button-D5enZ0Qz.js";
6
- import { t as _t } from "./isRenderableSlot-DT_depzM.js";
7
- import { t as Jt } from "./Tooltip-cLCgtFBF.js";
8
- import { r as At } from "./OverflowingTextWithTooltip-BmUROIah.js";
9
- import { t as tt } from "./ListItem.module-BJ9Ttjrc.js";
10
- import { t as lt } from "./ListItem-CjnrSbka.js";
11
- import { t as X } from "./Popover-CWeCV7X9.js";
12
- import { t as Qt } from "./Input-DZWl81G_.js";
13
- import { useRender as Ct } from "@base-ui/react/use-render";
14
- import { isBoolean as Zt, isFunction as te, isNonEmptyString as rt, isPositiveInteger as kt } from "@sniptt/guards";
15
- import { clsx as G } from "clsx";
16
- import { createContext as ee, isValidElement as re, useCallback as Q, useContext as ot, useEffect as oe, useId as pt, useLayoutEffect as Rt, useRef as Pt, useState as F } from "react";
17
- import { Fragment as ne, jsx as u, jsxs as nt } from "react/jsx-runtime";
18
- import { Button as Et } from "@base-ui/react/button";
19
- import { useMergedRefs as at } from "@base-ui/utils/useMergedRefs";
20
- import { Popover as St } from "@base-ui/react/popover";
21
- import { areArraysEqual as ae } from "@base-ui/utils/areArraysEqual";
22
- import { useDirection as Nt } from "@base-ui/react/direction-provider";
23
- import { Menu as ft } from "@base-ui/react/menu";
24
- var se = "_content_1tgf7_1", ie = "_page_1tgf7_13", ce = "_group_1tgf7_17", de = "_groupLabel_1tgf7_23", ue = "_separator_1tgf7_35", le = "_section_1tgf7_42", pe = "_back_1tgf7_73", fe = "_backIcon_1tgf7_85", me = "_searchContainer_1tgf7_89", ge = "_search_1tgf7_89", we = "_status_1tgf7_106", he = "_header_1tgf7_112", be = "_title_1tgf7_125", ve = "_itemWithActions_1tgf7_134", ye = "_itemWithActionsPrimary_1tgf7_140", De = "_itemActions_1tgf7_155", Ie = "_itemDecoration_1tgf7_159", A = {
25
- content: se,
26
- page: ie,
27
- group: ce,
28
- groupLabel: de,
29
- separator: ue,
30
- section: le,
31
- back: pe,
32
- backIcon: fe,
33
- searchContainer: me,
34
- search: ge,
35
- status: we,
36
- header: he,
37
- title: be,
38
- itemWithActions: ve,
39
- itemWithActionsPrimary: ye,
40
- itemActions: De,
41
- itemDecoration: Ie
42
- }, mt = ({ render: t, ref: e, disabled: r, ...o }) => Ct({
43
- render: t,
44
- ref: e,
45
- defaultTagName: "button",
46
- props: {
47
- ...o,
48
- disabled: r
49
- }
50
- }), gt = ({ nativeButton: t, renderProps: e }) => t && "disabled" in e && Zt(e.disabled) ? e.disabled : void 0, Te = "[data-dropdown-item]", xt = ({ actions: t, actionsVisibility: e = "hover", color: r = "neutral", selected: o = !1, focused: a = !1, indicator: s = "none", disabled: i = !1, hasSubmenu: n = !1, children: p }) => /* @__PURE__ */ nt("div", {
51
- className: G(tt.root, A.itemWithActions),
52
- role: "none",
53
- "data-actions-visibility": e,
54
- "data-color": r,
55
- "data-selected": o ? "" : void 0,
56
- "data-highlighted": a ? "" : void 0,
57
- "data-indicator": s,
58
- "data-disabled": i ? "" : void 0,
59
- onClick: (l) => {
60
- l.target === l.currentTarget && l.currentTarget.querySelector(Te)?.click();
61
- },
62
- children: [
63
- p,
64
- /* @__PURE__ */ u("span", {
65
- className: G(tt.actions, A.itemActions),
66
- children: t
67
- }),
68
- s === "check" && o && /* @__PURE__ */ u(zt, {
69
- className: G(tt.checkIndicator, A.itemDecoration),
70
- "aria-hidden": !0
71
- }),
72
- n && /* @__PURE__ */ u($t, {
73
- className: G(tt.submenuIcon, A.itemDecoration),
74
- "aria-hidden": !0
75
- })
76
- ]
77
- }), wt = ({ id: t, render: e }) => re(e) ? e.props.id ?? t : t, ht = (t) => t.getAttribute("aria-label") ?? t.textContent ?? "", Ot = ({ content: t, item: e }) => e.getAttribute("aria-disabled") !== "true" && !e.hasAttribute("disabled") && e.closest("[data-dropdown-content]") === t, st = (t) => Array.from(t.querySelectorAll("[data-dropdown-item]")).filter((e) => Ot({
78
- content: t,
79
- item: e
80
- })), et = ee(void 0), L = () => {
81
- const t = ot(et);
82
- if (!c(t)) throw new Error("Dropdown components must be inside Dropdown.Root");
83
- return t;
84
- }, bt = ({ id: t, disabled: e, isSubmenuTrigger: r = !1 }) => {
85
- const o = L(), a = r ? o.parentType : o.type, s = r ? o.parentRowFocus : o.rowFocus, i = a !== "panel" && (s?.rowIds?.includes(t) ?? !0);
86
- return { tabIndex: e || i && s?.tabStopRowId !== t ? -1 : 0 };
87
- }, Ft = ({ color: t, startIcon: e, endIcon: r, description: o, descriptionPlacement: a, shortcut: s, shortcutJoinLabel: i, hasSubmenu: n, actions: p, actionsVisibility: l, children: f, render: m, disabled: b = !1, nativeButton: d = !c(m), closeOnClick: C = !0, onClick: h, page: D, id: g, ...w }) => {
88
- const { type: v, closeTree: I, goToPage: x } = L(), S = pt(), k = wt({
89
- id: g,
90
- render: m
91
- }), q = k ?? S, E = bt({
92
- id: q,
93
- disabled: b
94
- }), _ = _t(p), B = n ?? c(D), O = /* @__PURE__ */ u(Et, {
95
- ...w,
96
- id: q,
97
- disabled: b,
98
- nativeButton: d,
99
- role: w.role ?? (v === "menu" ? "menuitem" : void 0),
100
- tabIndex: E.tabIndex,
101
- "data-dropdown-item": "",
102
- "data-dropdown-page": D,
103
- onClick: (R) => {
104
- if (h?.(R), !R.defaultPrevented) {
105
- if (c(D)) {
106
- const T = R.currentTarget.closest("[data-dropdown-content]");
107
- if (!c(T)) return;
108
- x({
109
- id: D,
110
- trigger: {
111
- id: k,
112
- index: st(T).indexOf(R.currentTarget),
113
- page: D,
114
- label: ht(R.currentTarget)
115
- }
116
- });
117
- return;
118
- }
119
- C && I();
120
- }
121
- },
122
- render: (R) => {
123
- const T = gt({
124
- nativeButton: d,
125
- renderProps: R
126
- });
127
- return /* @__PURE__ */ u(lt, {
128
- ...R,
129
- render: /* @__PURE__ */ u(mt, {
130
- render: m,
131
- disabled: T
132
- }),
133
- className: G(R.className, _ && A.itemWithActionsPrimary),
134
- disabled: b,
135
- color: t,
136
- startIcon: e,
137
- endIcon: r,
138
- actionsVisibility: l,
139
- description: o,
140
- descriptionPlacement: a,
141
- shortcut: s,
142
- shortcutJoinLabel: i,
143
- hasSubmenu: !_ && B,
144
- children: f
145
- });
146
- }
147
- });
148
- return _ ? /* @__PURE__ */ u(xt, {
149
- actions: p,
150
- actionsVisibility: l,
151
- color: t,
152
- disabled: b,
153
- hasSubmenu: B,
154
- children: O
155
- }) : O;
156
- }, _e = ({ children: t = "Back", className: e, onClick: r, ...o }) => {
157
- const { goBack: a, canGoBack: s } = L();
158
- return /* @__PURE__ */ u(Ft, {
159
- ...o,
160
- className: G(A.back, e),
161
- "data-dropdown-back": "",
162
- disabled: o.disabled || !s,
163
- startIcon: /* @__PURE__ */ u(jt, { className: A.backIcon }),
164
- closeOnClick: !1,
165
- onClick: (i) => {
166
- r?.(i), !i.defaultPrevented && a();
167
- },
168
- children: t
169
- });
170
- }, Ae = "_button_1qwl0_1", Ce = "_tooltipAnchor_1qwl0_29", ke = "_icon_1qwl0_33", dt = {
171
- button: Ae,
172
- tooltipAnchor: Ce,
173
- icon: ke
174
- }, Re = ({ children: t, size: e, shape: r = "square", className: o, tooltip: a, tooltipPlace: s = "bottom", tooltipDelay: i = 1e3, tooltipOffset: n = 5, disabled: p, loading: l, ...f }) => {
175
- const m = ot(Tt), b = e ?? m?.size ?? "md", d = rt(a), C = p || l, h = /* @__PURE__ */ u(Xt, {
176
- ...f,
177
- size: b === "xs" ? "sm" : b,
178
- "data-icon-size": b,
179
- "data-shape": r,
180
- disabled: p,
181
- loading: l,
182
- startIcon: /* @__PURE__ */ u("span", {
183
- className: dt.icon,
184
- children: t
185
- }),
186
- className: V(dt.button, o)
187
- });
188
- return d ? /* @__PURE__ */ u(Jt, {
189
- content: a,
190
- delay: i,
191
- side: s,
192
- sideOffset: n,
193
- children: C ? /* @__PURE__ */ u("span", {
194
- className: dt.tooltipAnchor,
195
- children: h
196
- }) : h
197
- }) : h;
198
- }, Pe = "_button_prhtf_1", Ee = { button: Pe }, Se = ({ className: t, emphasis: e = "standard", size: r, variant: o, ...a }) => {
199
- const s = ot(Tt), i = r ?? s?.size ?? "sm", n = o ?? s?.variant ?? "ghost";
200
- return /* @__PURE__ */ u(Re, {
201
- ...a,
202
- size: i,
203
- variant: n,
204
- "data-emphasis": e,
205
- className: V(Ee.button, t)
206
- });
207
- }, Ne = ({ render: t, children: e, "aria-label": r, ...o }) => /* @__PURE__ */ u(St.Close, {
208
- ...o,
209
- "aria-label": r,
210
- render: t ?? /* @__PURE__ */ u(Se, {
211
- size: "sm",
212
- "aria-label": r,
213
- children: e ?? /* @__PURE__ */ u(Vt, {})
214
- }),
215
- children: c(t) ? e : void 0
216
- }), it = (t) => t.querySelector("[data-dropdown-search]:not(:disabled)"), vt = ({ content: t, target: e, edge: r = "first", type: o }) => {
217
- const a = c(e?.id) ? t.ownerDocument.getElementById(e.id) : null;
218
- if (c(a) && t.contains(a)) return a;
219
- const s = st(t), i = c(e) ? s.filter((d) => d.dataset.dropdownPage === e.page) : [], [n] = i;
220
- if (i.length === 1 && c(n)) return n;
221
- const p = rt(e?.label) ? i.filter((d) => ht(d) === e?.label) : [], [l] = p;
222
- if (p.length === 1 && c(l)) return l;
223
- const f = c(e) ? s[e.index] : void 0;
224
- if (c(f)) return f;
225
- const m = t.querySelector('input:not(:disabled):not([type="hidden"]),button:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href],[tabindex="0"]');
226
- if ((Array.from(t.querySelectorAll("[data-dropdown-page-type]")).find((d) => d.closest("[data-dropdown-content]") === t)?.dataset.dropdownPageType ?? o ?? t.dataset.type) === "panel") return m ?? t;
227
- const b = it(t);
228
- return c(b) ? b : r === "last" ? s[s.length - 1] ?? m ?? t : s.find((d) => !d.hasAttribute("data-dropdown-back")) ?? s[0] ?? m ?? t;
229
- }, xe = ({ contentRef: t }) => {
230
- const { open: e, pageId: r, pageFocusRequest: o, setPageFocusRequest: a } = L();
231
- return Rt(() => {
232
- c(o) && (a(void 0), !(!e || o.pageId !== r || !c(t.current)) && vt({
233
- content: t.current,
234
- target: o.target
235
- }).focus());
236
- }, [
237
- t,
238
- e,
239
- r,
240
- o,
241
- a
242
- ]), null;
243
- }, Lt = ({ content: t, item: e }) => e.hasAttribute("data-dropdown-item") && Ot({
244
- content: t,
245
- item: e
246
- }) && (!e.hasAttribute("data-dropdown-back") || !c(it(t))), qt = (t) => Array.from(t.querySelectorAll("[data-dropdown-item]")).filter((e) => Lt({
247
- content: t,
248
- item: e
249
- })), yt = (t) => {
250
- if (t.dataset.type === "panel") return;
251
- const e = it(t);
252
- if (!(!c(e) || !rt(e.value.trim())))
253
- return st(t).find((r) => r.hasAttribute("data-dropdown-option-item"));
254
- }, Oe = ({ content: t }) => {
255
- const { setRowIds: e, setSearchTargetId: r } = L();
256
- return Rt(() => {
257
- if (!c(t)) return;
258
- const o = () => {
259
- const s = qt(t).map((i) => i.id);
260
- e((i) => c(i) && ae(i, s) ? i : s), r(yt(t)?.id);
261
- };
262
- o();
263
- const a = new MutationObserver(o);
264
- return a.observe(t, {
265
- childList: !0,
266
- subtree: !0,
267
- attributes: !0,
268
- attributeFilter: [
269
- "disabled",
270
- "aria-disabled",
271
- "id"
272
- ]
273
- }), () => {
274
- a.disconnect(), e(void 0), r(void 0);
275
- };
276
- }, [
277
- t,
278
- e,
279
- r
280
- ]), null;
281
- }, Fe = (t) => (t.ctrlKey || t.metaKey) && !t.defaultPrevented, Le = (t) => Array.from(t.ownerDocument.querySelectorAll("[data-dropdown-item][aria-controls]")).find((e) => e.getAttribute("aria-controls") === t.id), qe = ({ rowCells: t, column: e, isEnabledCell: r }) => {
282
- const o = Math.min(e, t.length - 1);
283
- for (let a = 0; a < t.length; a++) {
284
- const s = [t[o - a], t[o + a]].find(r);
285
- if (c(s)) return s;
286
- }
287
- }, Bt = ({ key: t, items: e, currentItem: r, search: o, isRightToLeft: a }) => {
288
- const s = r?.closest("[data-dropdown-columns]"), i = Number(s?.dataset.dropdownColumns), n = [
289
- "ArrowUp",
290
- "ArrowDown",
291
- "ArrowLeft",
292
- "ArrowRight"
293
- ].includes(t);
294
- if (!c(s) || !c(r) || !n || !kt(i)) return;
295
- const p = Array.from(s.children).filter((g) => g instanceof HTMLElement && !g.hasAttribute("data-dropdown-section-label")), l = p.indexOf(r);
296
- if (l < 0) return;
297
- const f = Math.floor(l / i), m = l % i, b = t === "ArrowUp" || t === "ArrowDown", d = t === "ArrowDown" || t === (a ? "ArrowLeft" : "ArrowRight") ? 1 : -1, C = Math.ceil(p.length / i), h = new Set(e), D = (g) => c(g) && h.has(g);
298
- if (b) {
299
- for (let v = f + d; v >= 0 && v < C; v += d) {
300
- const I = p[Math.min(v * i + m, p.length - 1)];
301
- if (D(I)) return I;
302
- }
303
- for (let v = f + d; v >= 0 && v < C; v += d) {
304
- const I = qe({
305
- rowCells: p.slice(v * i, (v + 1) * i),
306
- column: m,
307
- isEnabledCell: D
308
- });
309
- if (c(I)) return I;
310
- }
311
- const g = p.filter(D), w = d < 0 ? g[0] : g[g.length - 1];
312
- return (c(w) ? e[e.indexOf(w) + d] : void 0) ?? (d < 0 ? o : void 0) ?? r;
313
- }
314
- for (let g = m + d; g >= 0 && g < i; g += d) {
315
- const w = p[f * i + g];
316
- if (D(w)) return w;
317
- }
318
- return r;
319
- }, Be = ({ key: t, items: e, currentIndex: r, search: o, isSearch: a, isRightToLeft: s = !1 }) => {
320
- const i = Bt({
321
- key: t,
322
- items: e,
323
- currentItem: e[r],
324
- search: o,
325
- isRightToLeft: s
326
- });
327
- if (c(i)) return i;
328
- const n = e.length - 1;
329
- if (t === "ArrowDown") return e[r === n ? 0 : r + 1];
330
- if (t === "ArrowUp" && r === 0 && c(o)) return o;
331
- if (t === "ArrowUp") return e[r <= 0 ? n : r - 1];
332
- if (!a && t === "Home") return e[0];
333
- if (!a && t === "End") return e[n];
334
- }, Me = 500, Ke = () => {
335
- const { type: t, isSubmenu: e, setOpen: r, closeTree: o } = L(), a = Nt(), [s, i] = F({
336
- text: "",
337
- timestamp: 0
338
- });
339
- return (n) => {
340
- if (n.defaultPrevented) return;
341
- const p = n.currentTarget, l = n.target;
342
- if (!(l instanceof HTMLElement) || l.closest("[data-dropdown-content]") !== p) return;
343
- const f = l.matches('input,textarea,select,[contenteditable="true"]'), m = a === "rtl", b = m ? "ArrowRight" : "ArrowLeft", d = e && !f && n.key === b, C = d && t !== "panel" ? Bt({
344
- key: n.key,
345
- items: st(p),
346
- currentItem: l,
347
- search: null,
348
- isRightToLeft: m
349
- }) : void 0, h = c(C) && C !== l;
350
- if (e && (n.key === "Escape" || d && !h)) {
351
- n.preventDefault(), n.stopPropagation(), Le(p)?.focus(), r(!1);
352
- return;
353
- }
354
- if (t === "panel") return;
355
- if (t === "menu" && n.key === "Tab" && n.shiftKey) {
356
- n.preventDefault(), o(n.nativeEvent);
357
- return;
358
- }
359
- const D = it(p), g = l === D;
360
- if (f && !g) return;
361
- const w = qt(p), v = g && n.key === "Enter" && !n.nativeEvent.isComposing ? yt(p) : void 0;
362
- if (c(v)) {
363
- n.preventDefault(), v.click();
364
- return;
365
- }
366
- const I = w.indexOf(l), x = Be({
367
- key: n.key,
368
- items: w,
369
- currentIndex: I,
370
- search: D,
371
- isSearch: g,
372
- isRightToLeft: m
373
- });
374
- if (c(x)) {
375
- n.preventDefault(), x.focus();
376
- return;
377
- }
378
- if (f || n.key.length !== 1 || n.key === " " || n.altKey || n.ctrlKey || n.metaKey) return;
379
- const S = Date.now(), k = S - s.timestamp > Me ? n.key : s.text + n.key;
380
- i({
381
- text: k,
382
- timestamp: S
383
- });
384
- const q = ([...k].every((_) => _ === k[0]) ? n.key : k).toLocaleLowerCase(), E = [...w.slice(I + 1), ...w.slice(0, I + 1)].find((_) => ht(_).trim().toLocaleLowerCase().startsWith(q));
385
- c(E) && (n.preventDefault(), E.focus());
386
- };
387
- }, Ge = ({ side: t, align: e = "start", sideOffset: r = 0, alignOffset: o, anchor: a, collisionPadding: s, container: i, keepMounted: n, width: p = 200, className: l, style: f, children: m, initialFocus: b, onKeyDown: d, onFocus: C, onInput: h, onClick: D, onMouseDown: g, onPointerDown: w, "aria-label": v, "aria-labelledby": I, ref: x, ...S }) => {
388
- const { type: k, isSubmenu: q, rowFocus: E, initialFocusEdge: _, focusOnOpen: B, triggerId: O, titleId: R, setSearchTargetId: T } = L(), M = Pt(null), [K, z] = F(null), W = at(M, x, z), Y = Ke(), j = c(v) ? void 0 : R ?? O;
389
- return /* @__PURE__ */ nt(ne, { children: [
390
- /* @__PURE__ */ u(X.Portal, {
391
- container: i,
392
- keepMounted: n,
393
- children: /* @__PURE__ */ u(X.Positioner, {
394
- side: t ?? (q ? "inline-end" : "bottom"),
395
- align: e,
396
- sideOffset: r,
397
- alignOffset: o,
398
- anchor: a,
399
- collisionPadding: s,
400
- children: /* @__PURE__ */ u(X.Popup, {
401
- ...S,
402
- ref: W,
403
- role: k === "menu" ? "menu" : "dialog",
404
- "aria-label": v,
405
- "aria-labelledby": I ?? j,
406
- "data-dropdown-content": "",
407
- "data-type": k,
408
- className: V(A.content, l),
409
- style: (y) => ({
410
- width: p,
411
- ...te(f) ? f(y) : f
412
- }),
413
- initialFocus: b ?? (() => B ? c(M.current) ? vt({
414
- content: M.current,
415
- edge: _,
416
- type: k
417
- }) : !0 : !1),
418
- onKeyDown: (y) => {
419
- d?.(y), Y(y), Fe(y) || y.stopPropagation();
420
- },
421
- onFocus: (y) => {
422
- C?.(y);
423
- const { target: $ } = y;
424
- $ instanceof HTMLElement && Lt({
425
- content: y.currentTarget,
426
- item: $
427
- }) && E.focusRow($.id);
428
- },
429
- onInput: (y) => {
430
- h?.(y), T(yt(y.currentTarget)?.id);
431
- },
432
- onClick: (y) => {
433
- y.stopPropagation(), D?.(y);
434
- },
435
- onMouseDown: (y) => {
436
- y.stopPropagation(), g?.(y);
437
- },
438
- onPointerDown: (y) => {
439
- y.stopPropagation(), w?.(y);
440
- },
441
- children: m
442
- })
443
- })
444
- }),
445
- /* @__PURE__ */ u(xe, { contentRef: M }),
446
- /* @__PURE__ */ u(Oe, { content: K })
447
- ] });
448
- }, He = ({ className: t, ...e }) => /* @__PURE__ */ u(At, {
449
- ...e,
450
- role: "status",
451
- "aria-live": "polite",
452
- className: G(A.status, t)
453
- }), We = ({ render: t, ref: e, className: r, ...o }) => Ct({
454
- render: t,
455
- ref: e,
456
- props: {
457
- ...o,
458
- className: G(A.header, r)
459
- }
460
- }), Ue = ({ className: t, ...e }) => /* @__PURE__ */ u(At, {
461
- ...e,
462
- role: "status",
463
- "aria-live": "polite",
464
- "aria-busy": "true",
465
- className: G(A.status, t)
466
- }), ze = ({ selected: t, indicator: e, onSelect: r, closeOnSelect: o, color: a, startIcon: s, endIcon: i, description: n, descriptionPlacement: p, shortcut: l, shortcutJoinLabel: f, hasSubmenu: m, actions: b, actionsVisibility: d, children: C, render: h, disabled: D = !1, nativeButton: g = !c(h), onClick: w, id: v, ...I }) => {
467
- const { type: x, multiple: S, closeTree: k, searchTargetId: q } = L(), E = x === "menu", _ = c(t), B = !E && (g || I.role === "button"), O = !E && !B && _ && t, R = _ ? S ? "menuitemcheckbox" : "menuitemradio" : "menuitem", T = S ? "checkbox" : "check", M = pt(), K = wt({
468
- id: v,
469
- render: h
470
- }) ?? M, z = bt({
471
- id: K,
472
- disabled: D
473
- }), W = _t(b), Y = q === K, j = e ?? (_ ? T : "none"), y = W && j === "check", $ = /* @__PURE__ */ u(Et, {
474
- ...I,
475
- id: K,
476
- disabled: D,
477
- nativeButton: g,
478
- role: E ? R : I.role,
479
- "aria-checked": E && _ ? t : void 0,
480
- "aria-pressed": B && _ ? t : void 0,
481
- "aria-current": O ? "true" : void 0,
482
- tabIndex: z.tabIndex,
483
- "data-dropdown-item": "",
484
- "data-dropdown-option-item": "",
485
- onClick: (U) => {
486
- w?.(U), !U.defaultPrevented && (r?.(), (o ?? !S) && k());
487
- },
488
- render: (U) => {
489
- const Z = gt({
490
- nativeButton: g,
491
- renderProps: U
492
- });
493
- return /* @__PURE__ */ u(lt, {
494
- ...U,
495
- render: /* @__PURE__ */ u(mt, {
496
- render: h,
497
- disabled: Z
498
- }),
499
- className: G(U.className, W && A.itemWithActionsPrimary),
500
- disabled: D,
501
- selected: t,
502
- focused: Y,
503
- indicator: y ? "none" : j,
504
- color: a,
505
- startIcon: s,
506
- endIcon: i,
507
- actionsVisibility: d,
508
- description: n,
509
- descriptionPlacement: p,
510
- shortcut: l,
511
- shortcutJoinLabel: f,
512
- hasSubmenu: !W && m,
513
- children: C
514
- });
515
- }
516
- });
517
- return W ? /* @__PURE__ */ u(xt, {
518
- actions: b,
519
- actionsVisibility: d,
520
- color: a,
521
- selected: t,
522
- focused: Y,
523
- indicator: j,
524
- disabled: D,
525
- hasSubmenu: m,
526
- children: $
527
- }) : $;
528
- }, $e = ({ id: t, type: e, children: r }) => {
529
- const o = L(), { registerPage: a } = o, s = Q((i) => {
530
- c(i) && a({
531
- id: t,
532
- type: e
533
- });
534
- }, [
535
- t,
536
- e,
537
- a
538
- ]);
539
- return o.pageId !== t ? null : /* @__PURE__ */ u(et.Provider, {
540
- value: {
541
- ...o,
542
- type: e ?? o.rootType
543
- },
544
- children: /* @__PURE__ */ u("div", {
545
- ref: s,
546
- className: A.page,
547
- "data-dropdown-page-type": e ?? o.rootType,
548
- children: r
549
- })
550
- });
551
- }, je = ({ open: t, registerOpenNestedRoot: e }) => (oe(() => {
552
- if (t)
553
- return e?.();
554
- }, [t, e]), null), Ve = ({ rowIds: t = [], focusedRowId: e }) => c(e) && t.includes(e) ? e : t[0], Ye = (t) => t instanceof FocusEvent ? t.type === "focusout" && t.relatedTarget instanceof Element ? t.relatedTarget : null : t.target instanceof Element ? t.target : null, ut = ({ onDismiss: t, event: e, target: r = Ye(e) }) => {
555
- if (!c(t)) return !1;
556
- let o = !1;
557
- return t({
558
- target: r,
559
- type: e.type,
560
- preventDefault: () => {
561
- o = !0;
562
- }
563
- }), o;
564
- }, It = () => {
565
- const [t, e] = F();
566
- return [t, Q((r) => (e(r), () => e((o) => o === r ? void 0 : o)), [])];
567
- }, Mt = ({ children: t, type: e, open: r, defaultOpen: o = !1, onOpenChange: a, onEscapeKeyDown: s, onInteractOutside: i, multiple: n = !1, defaultPage: p = "root", isSubmenu: l = !1 }) => {
568
- const f = ot(et), m = Pt(0), b = Q(() => (m.current += 1, () => {
569
- m.current -= 1;
570
- }), []), [d, C] = F(o), h = r ?? d, [D, g] = F(h), [w, v] = F([{ id: p }]), [I, x] = F(), [S, k] = F(), [q, E] = F(), _ = w[w.length - 1]?.id, [B, O] = F(), [R, T] = F("first"), [M, K] = F(!0), [z, W] = F(), [Y, j] = It(), [y, $] = It(), U = h && !D, Z = !h && D;
571
- (U || Z) && g(h), U && (v([{ id: p }]), x(void 0), O(void 0), E(void 0)), Z && (T("first"), K(!0), W(void 0));
572
- const ct = (P) => {
573
- c(r) || C(P), a?.(P);
574
- }, Kt = (P) => {
575
- c(P) && ut({
576
- onDismiss: i,
577
- event: P,
578
- target: null
579
- }) || (ct(!1), l && f?.closeTree(P));
580
- }, Gt = ({ id: P, trigger: N }) => {
581
- O({ pageId: P }), v((H) => [...H, {
582
- id: P,
583
- trigger: N
584
- }]);
585
- }, Ht = () => {
586
- const P = w[w.length - 2];
587
- if (!c(P)) return;
588
- const N = w[w.length - 1]?.trigger;
589
- O({
590
- pageId: P.id,
591
- target: N
592
- }), v((H) => H.slice(0, -1));
593
- }, Wt = Q(({ id: P, type: N }) => {
594
- if (!h) return;
595
- const H = N ?? e;
596
- x((J) => J?.id === P && J.type === H ? J : {
597
- id: P,
598
- type: H
599
- });
600
- }, [h, e]);
601
- return /* @__PURE__ */ u(X.Root, {
602
- open: h,
603
- onOpenChange: (P, N) => {
604
- const H = N.reason === "outside-press" || N.reason === "focus-out";
605
- if (H && m.current > 0) {
606
- N.cancel();
607
- return;
608
- }
609
- const J = N.reason === "escape-key" && ut({
610
- onDismiss: s,
611
- event: N.event
612
- }), Ut = H && ut({
613
- onDismiss: i,
614
- event: N.event
615
- });
616
- if (J || Ut) {
617
- N.cancel();
618
- return;
619
- }
620
- H && Yt(N.event), K(N.reason !== "trigger-hover"), ct(P);
621
- },
622
- children: /* @__PURE__ */ nt(et.Provider, {
623
- value: {
624
- type: c(I) && I.id === _ ? I.type : e,
625
- rootType: e,
626
- open: h,
627
- multiple: n,
628
- isSubmenu: l,
629
- parentType: f?.type,
630
- rowFocus: {
631
- rowIds: S,
632
- tabStopRowId: Ve({
633
- rowIds: S,
634
- focusedRowId: q
635
- }),
636
- focusRow: E
637
- },
638
- parentRowFocus: f?.rowFocus,
639
- setRowIds: k,
640
- pageId: _,
641
- pageFocusRequest: B,
642
- setPageFocusRequest: O,
643
- canGoBack: w.length > 1,
644
- initialFocusEdge: R,
645
- setInitialFocusEdge: T,
646
- focusOnOpen: M,
647
- setFocusOnOpen: K,
648
- setOpen: ct,
649
- closeTree: Kt,
650
- goToPage: Gt,
651
- goBack: Ht,
652
- registerPage: Wt,
653
- registerOpenNestedRoot: b,
654
- searchTargetId: z,
655
- setSearchTargetId: W,
656
- triggerId: Y,
657
- registerTrigger: j,
658
- titleId: y,
659
- registerTitle: $
660
- },
661
- children: [/* @__PURE__ */ u(je, {
662
- open: h,
663
- registerOpenNestedRoot: l ? void 0 : f?.registerOpenNestedRoot
664
- }), t]
665
- })
666
- });
667
- }, Xe = ({ onValueChange: t, className: e, ...r }) => {
668
- const { searchTargetId: o } = L();
669
- return /* @__PURE__ */ u("div", {
670
- className: A.searchContainer,
671
- children: /* @__PURE__ */ u(Qt, {
672
- type: "search",
673
- autoComplete: "off",
674
- "aria-activedescendant": o,
675
- ...r,
676
- "data-dropdown-search": "",
677
- className: V(A.search, e),
678
- onValueChange: (a) => t?.(a)
679
- })
680
- });
681
- }, Je = ({ className: t, ...e }) => /* @__PURE__ */ u(ft.Group, {
682
- ...e,
683
- className: V(A.group, t)
684
- }), Qe = ({ className: t, ...e }) => /* @__PURE__ */ u(ft.GroupLabel, {
685
- ...e,
686
- className: V(A.groupLabel, t)
687
- }), Ze = ({ label: t, scrollable: e, columns: r, style: o, className: a, children: s, ...i }) => {
688
- const n = kt(r) ? r : void 0;
689
- return /* @__PURE__ */ nt(Je, {
690
- ...i,
691
- "data-scrollable": e || void 0,
692
- "data-dropdown-columns": n,
693
- style: {
694
- ...o,
695
- ...c(n) && { gridTemplateColumns: `repeat(${n}, minmax(0, 1fr))` }
696
- },
697
- className: G(A.section, a),
698
- children: [c(t) && /* @__PURE__ */ u(Qe, {
699
- "data-dropdown-section-label": "",
700
- children: t
701
- }), s]
702
- });
703
- }, tr = ({ className: t, ...e }) => /* @__PURE__ */ u(ft.Separator, {
704
- ...e,
705
- role: "separator",
706
- "data-dropdown-separator": "",
707
- className: G(A.separator, t)
708
- }), er = ({ type: t = "menu", ...e }) => /* @__PURE__ */ u(Mt, {
709
- ...e,
710
- type: t,
711
- isSubmenu: !0
712
- }), Dt = (t) => Q((e) => {
713
- if (!(!c(e) || !rt(e.id)))
714
- return t(e.id);
715
- }, [t]), rr = ({ color: t, startIcon: e, endIcon: r, description: o, descriptionPlacement: a, shortcut: s, shortcutJoinLabel: i, hasSubmenu: n = !0, children: p, render: l, disabled: f = !1, nativeButton: m = !c(l), openOnHover: b = !0, onKeyDown: d, id: C, ref: h, ...D }) => {
716
- const g = Nt(), { type: w, rootType: v, parentType: I, open: x, setOpen: S, setFocusOnOpen: k, registerTrigger: q } = L(), E = x ? w : v, _ = pt(), B = wt({
717
- id: C,
718
- render: l
719
- }) ?? _, O = bt({
720
- id: B,
721
- disabled: f,
722
- isSubmenuTrigger: !0
723
- }), R = at(h, Dt(q));
724
- return /* @__PURE__ */ u(X.Trigger, {
725
- ...D,
726
- ref: R,
727
- id: B,
728
- disabled: f,
729
- nativeButton: m,
730
- openOnHover: b,
731
- role: I === "menu" ? "menuitem" : void 0,
732
- "aria-haspopup": E === "menu" ? "menu" : "dialog",
733
- tabIndex: O.tabIndex,
734
- "data-dropdown-item": "",
735
- onKeyDown: (T) => {
736
- if (d?.(T), T.defaultPrevented || f) return;
737
- const M = g === "rtl" ? "ArrowLeft" : "ArrowRight";
738
- if (T.key === M) {
739
- T.preventDefault(), T.stopPropagation(), k(!0);
740
- const K = T.currentTarget.getAttribute("aria-controls"), z = c(K) ? T.currentTarget.ownerDocument.getElementById(K) : null;
741
- if (x && c(z)) {
742
- vt({
743
- content: z,
744
- type: w
745
- }).focus();
746
- return;
747
- }
748
- S(!0);
749
- }
750
- },
751
- render: (T) => {
752
- const M = gt({
753
- nativeButton: m,
754
- renderProps: T
755
- });
756
- return /* @__PURE__ */ u(lt, {
757
- ...T,
758
- render: /* @__PURE__ */ u(mt, {
759
- render: l,
760
- disabled: M
761
- }),
762
- disabled: f,
763
- color: t,
764
- startIcon: e,
765
- endIcon: r,
766
- description: o,
767
- descriptionPlacement: a,
768
- shortcut: s,
769
- shortcutJoinLabel: i,
770
- hasSubmenu: n,
771
- children: p
772
- });
773
- }
774
- });
775
- }, or = ({ className: t, render: e, ref: r, ...o }) => {
776
- const { registerTitle: a } = L(), s = at(r, Dt(a));
777
- return /* @__PURE__ */ u(St.Title, {
778
- ...o,
779
- ref: s,
780
- render: e ?? /* @__PURE__ */ u("div", {}),
781
- className: V(A.title, t)
782
- });
783
- }, nr = ({ onKeyDown: t, onClick: e, ref: r, ...o }) => {
784
- const { type: a, rootType: s, open: i, setOpen: n, setInitialFocusEdge: p, setFocusOnOpen: l, registerTrigger: f } = L(), m = i ? a : s, b = at(r, Dt(f));
785
- return /* @__PURE__ */ u(X.Trigger, {
786
- ...o,
787
- ref: b,
788
- "aria-haspopup": m === "menu" ? "menu" : "dialog",
789
- onClick: (d) => {
790
- d.stopPropagation(), d.preventDefault(), e?.(d);
791
- },
792
- onKeyDown: (d) => {
793
- t?.(d), !(d.defaultPrevented || d.baseUIHandlerPrevented || o.disabled || m === "panel") && (d.key !== "ArrowDown" && d.key !== "ArrowUp" || (d.preventDefault(), l(!0), p(d.key === "ArrowUp" ? "last" : "first"), n(!0)));
794
- }
795
- });
796
- }, ar = Mt, Pr = {
797
- Root: ar,
798
- Trigger: nr,
799
- Content: Ge,
800
- ActionItem: Ft,
801
- OptionItem: ze,
802
- Search: Xe,
803
- Header: We,
804
- Title: or,
805
- Close: Ne,
806
- Page: $e,
807
- Back: _e,
808
- Submenu: er,
809
- SubmenuTrigger: rr,
810
- Section: Ze,
811
- Separator: tr,
812
- Loading: Ue,
813
- Empty: He
814
- };
815
- export {
816
- L as i,
817
- Se as n,
818
- Re as r,
819
- Pr as t
820
- };