twenty-ui 2.47.0 → 2.48.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 (216) hide show
  1. package/dist/{AllIcons-DrlkKKQf.cjs → AllIcons-Cyd7721G.cjs} +1 -1
  2. package/dist/{AllIcons-G3nKeM41.js → AllIcons-D132B8_i.js} +1 -1
  3. package/dist/{Button-Cs07psdD.js → Button-D5enZ0Qz.js} +1 -1
  4. package/dist/{Button-COxEKIHL.cjs → Button-Dbi5P05r.cjs} +1 -1
  5. package/dist/Dropdown-BKjAaZS0.cjs +1 -0
  6. package/dist/Dropdown-C2hXrjvD.js +820 -0
  7. package/dist/{ListItem-q6DHGlev.cjs → ListItem-CHTR-GLd.cjs} +1 -1
  8. package/dist/{ListItem-CXu35dzp.js → ListItem-CjnrSbka.js} +4 -4
  9. package/dist/ListItem.module-BJ9Ttjrc.js +34 -0
  10. package/dist/ListItem.module-CO4u2oeF.cjs +1 -0
  11. package/dist/OverflowingTextWithTooltip-BmUROIah.js +90 -0
  12. package/dist/OverflowingTextWithTooltip-Z2daM0_x.cjs +1 -0
  13. package/dist/{ProgressBar-D_3Gia0E.js → ProgressBar-BvT1dyFo.js} +1 -1
  14. package/dist/{ProgressBar-oF1qVHFx.cjs → ProgressBar-DfFz0fFB.cjs} +1 -1
  15. package/dist/{Radio-BMoQHDe7.js → Radio-DMI1B7o5.js} +1 -1
  16. package/dist/{Radio-D_YUizSv.cjs → Radio-xmHgGHQO.cjs} +1 -1
  17. package/dist/{ResizeHandle-Bjg4R0c-.js → ResizeHandle-C1kQ3MYR.js} +1 -0
  18. package/dist/ResizeHandle-DI4LHIQm.cjs +1 -0
  19. package/dist/Shortcut-BvWUZ3pb.js +72 -0
  20. package/dist/Shortcut-CgrdLv_L.cjs +1 -0
  21. package/dist/TabsTabContent-Co27Y2TU.cjs +1 -0
  22. package/dist/TabsTabContent-DVcObDp6.js +39 -0
  23. package/dist/Tooltip-Bg9Uk01p.cjs +1 -0
  24. package/dist/Tooltip-cLCgtFBF.js +124 -0
  25. package/dist/components/code-editor/CodeEditor/CodeEditor.d.ts +1 -1
  26. package/dist/components/code-editor/CodeEditor/__stories__/ControlledCodeEditor.d.ts +2 -0
  27. package/dist/components/code-editor/CodeEditor/__stories__/ModelCodeEditor.d.ts +2 -0
  28. package/dist/components/code-editor/CodeEditor/__stories__/ResizableCodeEditor.d.ts +2 -0
  29. package/dist/components/code-editor/CodeEditor/__stories__/ThemedCodeEditor.d.ts +2 -0
  30. package/dist/components/code-editor/CodeEditor/__stories__/UnmountingCodeEditor.d.ts +2 -0
  31. package/dist/components/code-editor/CodeEditor/__stories__/waitForCodeEditorContent.d.ts +4 -1
  32. package/dist/components/code-editor/CodeEditor/internal/CodeEditorAutoHeightEffect.d.ts +9 -0
  33. package/dist/components/code-editor/CodeEditor/internal/CodeEditorLifecycleEffect.d.ts +11 -0
  34. package/dist/components/code-editor/CodeEditor/internal/CodeEditorLoaderConfigurationEffect.d.ts +7 -0
  35. package/dist/components/code-editor/CodeEditor/internal/CodeEditorMarkersEffect.d.ts +10 -0
  36. package/dist/components/code-editor/CodeEditor/internal/CodeEditorResizableHeightEffect.d.ts +11 -0
  37. package/dist/components/code-editor/CodeEditor/internal/CodeEditorThemeEffect.d.ts +10 -0
  38. package/dist/components/code-editor/CodeEditor/internal/constants/CodeEditorDefaultHeight.d.ts +1 -0
  39. package/dist/components/code-editor/CodeEditor/internal/types/ResizedCodeEditorHeight.d.ts +4 -0
  40. package/dist/components/code-editor/CodeEditor/internal/useCodeEditorHeight.d.ts +13 -0
  41. package/dist/components/code-editor/CodeEditor/internal/utils/defineCodeEditorDefaultTheme.d.ts +7 -0
  42. package/dist/components/code-editor/CodeEditor/internal/utils/getBaseCodeEditorTheme.d.ts +4 -1
  43. package/dist/components/code-editor/CodeEditor/internal/utils/getBoundedCodeEditorHeight.d.ts +1 -0
  44. package/dist/components/code-editor/CodeEditor/internal/utils/getCurrentCodeEditorHeight.d.ts +7 -0
  45. package/dist/components/code-editor/CodeEditor/internal/utils/getResizableCodeEditorHeight.d.ts +5 -0
  46. package/dist/components/code-editor/CodeEditor/types/CodeEditorProps.d.ts +4 -2
  47. package/dist/components/code-editor.cjs +1 -1
  48. package/dist/components/code-editor.mjs +267 -155
  49. package/dist/components/data-display.mjs +1 -1
  50. package/dist/components/feedback/Toast/internal/components/ToastCountdownEffect.d.ts +4 -3
  51. package/dist/components/feedback/Toast/internal/components/ToastProviderLifecycleEffect.d.ts +3 -0
  52. package/dist/components/feedback/Toast/internal/constants/DefaultToastDuration.d.ts +1 -0
  53. package/dist/components/feedback/Toast/internal/contexts/ToastContext.d.ts +60 -1
  54. package/dist/components/feedback/Toast/internal/contexts/ToastTimingContext.d.ts +12 -2
  55. package/dist/components/feedback/Toast/internal/hooks/useToastContext.d.ts +60 -1
  56. package/dist/components/feedback/Toast/internal/hooks/useToastCountdown.d.ts +26 -0
  57. package/dist/components/feedback/Toast/internal/stores/createToastStore.d.ts +60 -1
  58. package/dist/components/feedback/Toast/internal/utils/assertValidToastLimit.d.ts +1 -0
  59. package/dist/components/feedback/Toast/internal/utils/completeToastExit.d.ts +3 -2
  60. package/dist/components/feedback/Toast/internal/utils/createToastCountdownStore.d.ts +22 -0
  61. package/dist/components/feedback/Toast/internal/utils/createToastLifecycle.d.ts +62 -0
  62. package/dist/components/feedback/Toast/internal/utils/dismissToasts.d.ts +3 -2
  63. package/dist/components/feedback/Toast/internal/utils/updateToastLimit.d.ts +5 -0
  64. package/dist/components/feedback/Toaster/__stories__/ToasterLifecycleControls.d.ts +7 -0
  65. package/dist/components/feedback/Toaster/__stories__/ToasterLifecycleExample.d.ts +2 -0
  66. package/dist/components/feedback/Toaster/__stories__/ToasterLifecycleExampleProps.d.ts +7 -0
  67. package/dist/components/feedback/Toaster/__stories__/ToasterLifecycleTimingOverrideExample.d.ts +9 -0
  68. package/dist/components/feedback/Toaster/__stories__/ToasterLifecycleUnrelatedNotificationActions.d.ts +5 -0
  69. package/dist/components/feedback/Toaster/__stories__/ToasterPortalExample.d.ts +5 -0
  70. package/dist/components/feedback/Toaster/__stories__/ToasterProviderLayoutReplayEffect.d.ts +4 -0
  71. package/dist/components/feedback/Toaster/__stories__/ToasterProviderPassiveReplayEffect.d.ts +4 -0
  72. package/dist/components/feedback/Toaster/__stories__/ToasterProviderReplayExample.d.ts +6 -0
  73. package/dist/components/feedback/Toaster/__stories__/ToasterProviderSuspenseExample.d.ts +4 -0
  74. package/dist/components/feedback/Toaster/__stories__/ToasterProviderSuspension.d.ts +5 -0
  75. package/dist/components/feedback/Toaster/internal/ToasterItemExitEffect.d.ts +2 -1
  76. package/dist/components/feedback.cjs +1 -1
  77. package/dist/components/feedback.mjs +1 -1
  78. package/dist/components/input/SearchInput/SearchInput.d.ts +1 -1
  79. package/dist/components/input/SearchInput/types/SearchInputProps.d.ts +2 -3
  80. package/dist/components/input/SegmentedControl/SegmentedControl.d.ts +1 -1
  81. package/dist/components/input/SegmentedControl/types/SegmentedControlProps.d.ts +2 -0
  82. package/dist/components/input/SegmentedControl/types/SegmentedControlSize.d.ts +1 -0
  83. package/dist/components/input/index.d.ts +1 -0
  84. package/dist/components/input.cjs +1 -1
  85. package/dist/components/input.mjs +2 -2
  86. package/dist/components/layout/OverflowingList/OverflowingList.d.ts +1 -1
  87. package/dist/components/layout/OverflowingList/__stories__/OverflowingListActionsExample.d.ts +7 -0
  88. package/dist/components/layout/OverflowingList/__stories__/OverflowingListCanceledCloseExample.d.ts +1 -0
  89. package/dist/components/layout/OverflowingList/__stories__/OverflowingListControlledExample.d.ts +1 -0
  90. package/dist/components/layout/OverflowingList/__stories__/OverflowingListControlledStateExample.d.ts +1 -0
  91. package/dist/components/layout/OverflowingList/__stories__/OverflowingListDisabledTriggerFocusExample.d.ts +1 -0
  92. package/dist/components/layout/OverflowingList/__stories__/OverflowingListEventBlockingExample.d.ts +7 -0
  93. package/dist/components/layout/OverflowingList/__stories__/OverflowingListFocusExample.d.ts +1 -0
  94. package/dist/components/layout/OverflowingList/__stories__/OverflowingListInstanceCleanupExample.d.ts +1 -0
  95. package/dist/components/layout/OverflowingList/__stories__/OverflowingListStateExample.d.ts +1 -0
  96. package/dist/components/layout/OverflowingList/__stories__/OverflowingListTriggerRefExample.d.ts +1 -0
  97. package/dist/components/layout/OverflowingList/internal/OverflowingListItem.d.ts +8 -2
  98. package/dist/components/layout/OverflowingList/internal/OverflowingListItemFocusEffect.d.ts +8 -0
  99. package/dist/components/layout/OverflowingList/internal/OverflowingListLayoutEffect.d.ts +16 -0
  100. package/dist/components/layout/OverflowingList/internal/OverflowingListPopupTarget.d.ts +10 -0
  101. package/dist/components/layout/OverflowingList/internal/focusOverflowingListFallback.d.ts +8 -0
  102. package/dist/components/layout/OverflowingList/internal/measureOverflowingListLayout.d.ts +10 -0
  103. package/dist/components/layout/OverflowingList/internal/types/OverflowingListLayout.d.ts +4 -0
  104. package/dist/components/layout/OverflowingList/internal/useFocusedElementUnmountRef.d.ts +1 -1
  105. package/dist/components/layout/OverflowingList/internal/useOverflowingListFocus.d.ts +30 -0
  106. package/dist/components/layout/OverflowingList/internal/useOverflowingListLayout.d.ts +6 -6
  107. package/dist/components/layout/OverflowingList/types/OverflowingListProps.d.ts +7 -2
  108. package/dist/components/layout.cjs +1 -1
  109. package/dist/components/layout.mjs +1 -1
  110. package/dist/components/navigation/Dropdown/Dropdown.d.ts +4 -4
  111. package/dist/components/navigation/Dropdown/internal/DropdownActionItem.d.ts +1 -1
  112. package/dist/components/navigation/Dropdown/internal/DropdownContent.d.ts +1 -1
  113. package/dist/components/navigation/Dropdown/internal/DropdownContextValue.d.ts +6 -5
  114. package/dist/components/navigation/Dropdown/internal/DropdownOptionItem.d.ts +1 -1
  115. package/dist/components/navigation/Dropdown/internal/DropdownRowFocus.d.ts +5 -0
  116. package/dist/components/navigation/Dropdown/internal/DropdownRowsEffect.d.ts +5 -0
  117. package/dist/components/navigation/Dropdown/internal/DropdownSubmenuTrigger.d.ts +1 -1
  118. package/dist/components/navigation/Dropdown/internal/getDropdownItemExplicitId.d.ts +5 -0
  119. package/dist/components/navigation/Dropdown/internal/getDropdownRows.d.ts +1 -0
  120. package/dist/components/navigation/Dropdown/internal/getDropdownSearch.d.ts +1 -0
  121. package/dist/components/navigation/Dropdown/internal/getDropdownTabStopRowId.d.ts +4 -0
  122. package/dist/components/navigation/Dropdown/internal/isDropdownDismissPrevented.d.ts +2 -1
  123. package/dist/components/navigation/Dropdown/internal/isDropdownRow.d.ts +4 -0
  124. package/dist/components/navigation/Dropdown/internal/isEnabledDropdownItem.d.ts +4 -0
  125. package/dist/components/navigation/Dropdown/internal/useDropdownItemFocus.d.ts +0 -1
  126. package/dist/components/navigation/Dropdown/internal/useDropdownKeyboardNavigation.d.ts +1 -6
  127. package/dist/components/navigation.cjs +1 -1
  128. package/dist/components/navigation.mjs +2 -2
  129. package/dist/components/settings.cjs +1 -1
  130. package/dist/components/settings.mjs +1 -1
  131. package/dist/components.cjs +1 -1
  132. package/dist/components.mjs +7 -7
  133. package/dist/data-display-0QO_WDSs.js +183 -0
  134. package/dist/data-display-CPmTJAWJ.cjs +1 -0
  135. package/dist/{data-display-DU3G8ZyI.js → data-display-KyZbLLy-.js} +1 -1
  136. package/dist/feedback-CM6fatE8.js +664 -0
  137. package/dist/feedback-ybO4n69s.cjs +1 -0
  138. package/dist/icon/components/TablerIcons.d.ts +1 -1
  139. package/dist/icon/constants/TwentyIconDictionary.d.ts +7 -7
  140. package/dist/icon/index.d.ts +1 -1
  141. package/dist/{icon-JuDK6Wxr.cjs → icon-BNcdwwdl.cjs} +1 -1
  142. package/dist/{icon-BdXwnJA6.js → icon-CUE-QGQK.js} +129 -128
  143. package/dist/icon.cjs +1 -1
  144. package/dist/icon.mjs +77 -76
  145. package/dist/index.cjs +1 -1
  146. package/dist/index.mjs +222 -220
  147. package/dist/input-3D2lXywH.cjs +1 -0
  148. package/dist/{input-Bnu5kNjg.cjs → input-CJDYNwoO.cjs} +1 -1
  149. package/dist/{input-vl6yK36n.js → input-DRpDiMRi.js} +4 -4
  150. package/dist/input-TM3nUdu6.js +554 -0
  151. package/dist/layout-BszCDxAO.js +441 -0
  152. package/dist/layout-VaIq7Sjr.cjs +1 -0
  153. package/dist/{navigation-itBinyPi.js → navigation-B1SRvzKK.js} +8 -8
  154. package/dist/{navigation-Dg46Wr5m.js → navigation-CYAs2LnR.js} +1 -1
  155. package/dist/{navigation-WsiYsmaq.cjs → navigation-CthkGHJ8.cjs} +1 -1
  156. package/dist/{navigation-B1hPNYv2.cjs → navigation-DrOV5E67.cjs} +1 -1
  157. package/dist/primitives/data-display.cjs +1 -1
  158. package/dist/primitives/data-display.mjs +1 -1
  159. package/dist/primitives/feedback.cjs +1 -1
  160. package/dist/primitives/feedback.mjs +1 -1
  161. package/dist/primitives/input.cjs +1 -1
  162. package/dist/primitives/input.mjs +3 -3
  163. package/dist/primitives/layout.cjs +1 -1
  164. package/dist/primitives/layout.mjs +1 -1
  165. package/dist/primitives/navigation.cjs +1 -1
  166. package/dist/primitives/navigation.mjs +2 -2
  167. package/dist/primitives/surfaces/Tooltip/Tooltip.d.ts +1 -1
  168. package/dist/primitives/surfaces/Tooltip/internal/TooltipPopup.d.ts +1 -1
  169. package/dist/primitives/surfaces/Tooltip/types/TooltipPopupProps.d.ts +2 -0
  170. package/dist/primitives/surfaces.cjs +1 -1
  171. package/dist/primitives/surfaces.mjs +2 -2
  172. package/dist/primitives/typography/OverflowingTextWithTooltip/OverflowingTextTooltipModeProvider.d.ts +6 -0
  173. package/dist/primitives/typography/OverflowingTextWithTooltip/internal/OverflowingTextTooltipModeContext.d.ts +2 -0
  174. package/dist/primitives/typography/OverflowingTextWithTooltip/internal/isElementOverflowing.d.ts +1 -0
  175. package/dist/primitives/typography/OverflowingTextWithTooltip/types/OverflowingTextTooltipMode.d.ts +1 -0
  176. package/dist/primitives/typography/Shortcut/Shortcut.d.ts +1 -1
  177. package/dist/primitives/typography/Shortcut/internal/getShortcutPresentation.d.ts +1 -1
  178. package/dist/primitives/typography/Shortcut/types/ShortcutFormatOptions.d.ts +1 -0
  179. package/dist/primitives/typography/index.d.ts +2 -0
  180. package/dist/primitives/typography.cjs +1 -1
  181. package/dist/primitives/typography.mjs +10 -9
  182. package/dist/primitives.cjs +1 -1
  183. package/dist/primitives.mjs +37 -36
  184. package/dist/{settings-BiSAY2oN.cjs → settings-BAYsnlZJ.cjs} +1 -1
  185. package/dist/{settings-CC-2gcAx.js → settings-BjEZiHXE.js} +1 -1
  186. package/dist/style.css +1 -1
  187. package/dist/surfaces-0rL5DoHt.cjs +1 -0
  188. package/dist/{surfaces-DZ2A-Nb9.js → surfaces-BLsR5ka0.js} +54 -54
  189. package/dist/typography-B5QEuPaL.cjs +1 -0
  190. package/dist/typography-fOTFr0jS.js +11 -0
  191. package/package.json +1 -1
  192. package/dist/Dropdown-BBUGkQQV.cjs +0 -1
  193. package/dist/Dropdown-CScN_olN.js +0 -784
  194. package/dist/ListItem.module-Ar-vZ7Qu.js +0 -34
  195. package/dist/ListItem.module-B8NeDH1P.cjs +0 -1
  196. package/dist/OverflowingTextWithTooltip-Be2-wCcZ.js +0 -88
  197. package/dist/OverflowingTextWithTooltip-BlufG-6n.cjs +0 -1
  198. package/dist/ResizeHandle-CNlQ4TEE.cjs +0 -1
  199. package/dist/Shortcut-DKfB0kej.js +0 -71
  200. package/dist/Shortcut-ZuZ-KYSk.cjs +0 -1
  201. package/dist/TabsTabContent-DZUNi_iE.cjs +0 -1
  202. package/dist/TabsTabContent-s6J5bZ3R.js +0 -39
  203. package/dist/Tooltip-BMkznyoi.js +0 -120
  204. package/dist/Tooltip-JOYVeSsf.cjs +0 -1
  205. package/dist/components/navigation/Dropdown/internal/DropdownSearchTargetEffect.d.ts +0 -5
  206. package/dist/data-display-BMV-nC-9.js +0 -181
  207. package/dist/data-display-BkujQe5v.cjs +0 -1
  208. package/dist/feedback-B5x8tmnG.cjs +0 -1
  209. package/dist/feedback-DhilJ_fX.js +0 -509
  210. package/dist/input-BEKjAOjS.cjs +0 -1
  211. package/dist/input-BUgnp6eA.js +0 -559
  212. package/dist/layout-BKHabkTu.js +0 -267
  213. package/dist/layout-wuIu4rJ3.cjs +0 -1
  214. package/dist/surfaces-vyAhk2Gw.cjs +0 -1
  215. package/dist/typography-8DF9mq2w.cjs +0 -1
  216. package/dist/typography-DmY7-GzQ.js +0 -5
@@ -1,784 +0,0 @@
1
- import { t as c } from "./isDefined-fMi6eQ4r.js";
2
- import { Cn as Be, Dn as Me, En as Ke, hl as Ge } from "./icon-BdXwnJA6.js";
3
- import { t as j } from "./mergeClassNames-ClFMR1v0.js";
4
- import { t as He } from "./preventDismissingClickActivation-CzWqpjiX.js";
5
- import { r as ye, t as We } from "./Button-Cs07psdD.js";
6
- import { t as De } from "./isRenderableSlot-DT_depzM.js";
7
- import { t as Ue } from "./Tooltip-BMkznyoi.js";
8
- import { n as Te } from "./OverflowingTextWithTooltip-Be2-wCcZ.js";
9
- import { t as te } from "./ListItem.module-Ar-vZ7Qu.js";
10
- import { t as de } from "./ListItem-CXu35dzp.js";
11
- import { t as X } from "./Popover-CWeCV7X9.js";
12
- import { t as ze } from "./Input-DZWl81G_.js";
13
- import { useRender as _e } from "@base-ui/react/use-render";
14
- import { isBoolean as $e, isFunction as je, isNonEmptyString as oe, isPositiveInteger as Ae } from "@sniptt/guards";
15
- import { clsx as M } from "clsx";
16
- import { createContext as Ye, useCallback as Q, useContext as ne, useEffect as Ve, useId as ue, useLayoutEffect as Ce, useRef as ke, useState as B } from "react";
17
- import { Fragment as Xe, jsx as d, jsxs as ae } from "react/jsx-runtime";
18
- import { Button as Pe } from "@base-ui/react/button";
19
- import { useMergedRefs as se } from "@base-ui/utils/useMergedRefs";
20
- import { Popover as Ne } from "@base-ui/react/popover";
21
- import { useDirection as xe } from "@base-ui/react/direction-provider";
22
- import { Menu as le } from "@base-ui/react/menu";
23
- var Je = "_content_pi98m_1", Qe = "_page_pi98m_12", Ze = "_group_pi98m_16", et = "_groupLabel_pi98m_22", tt = "_separator_pi98m_34", rt = "_section_pi98m_41", ot = "_back_pi98m_72", nt = "_backIcon_pi98m_84", at = "_searchContainer_pi98m_88", st = "_search_pi98m_88", it = "_status_pi98m_105", ct = "_header_pi98m_111", dt = "_title_pi98m_124", ut = "_itemWithActions_pi98m_133", lt = "_itemWithActionsPrimary_pi98m_139", pt = "_itemActions_pi98m_154", mt = "_itemDecoration_pi98m_158", _ = {
24
- content: Je,
25
- page: Qe,
26
- group: Ze,
27
- groupLabel: et,
28
- separator: tt,
29
- section: rt,
30
- back: ot,
31
- backIcon: nt,
32
- searchContainer: at,
33
- search: st,
34
- status: it,
35
- header: ct,
36
- title: dt,
37
- itemWithActions: ut,
38
- itemWithActionsPrimary: lt,
39
- itemActions: pt,
40
- itemDecoration: mt
41
- }, pe = ({ render: e, ref: t, disabled: r, ...o }) => _e({
42
- render: e,
43
- ref: t,
44
- defaultTagName: "button",
45
- props: {
46
- ...o,
47
- disabled: r
48
- }
49
- }), me = ({ nativeButton: e, renderProps: t }) => e && "disabled" in t && $e(t.disabled) ? t.disabled : void 0, ft = "[data-dropdown-item]", Ee = ({ actions: e, actionsVisibility: t = "hover", color: r = "neutral", selected: o = !1, focused: a = !1, indicator: s = "none", disabled: n = !1, hasSubmenu: u = !1, children: l }) => /* @__PURE__ */ ae("div", {
50
- className: M(te.root, _.itemWithActions),
51
- role: "none",
52
- "data-actions-visibility": t,
53
- "data-color": r,
54
- "data-selected": o ? "" : void 0,
55
- "data-highlighted": a ? "" : void 0,
56
- "data-indicator": s,
57
- "data-disabled": n ? "" : void 0,
58
- onClick: (m) => {
59
- m.target === m.currentTarget && m.currentTarget.querySelector(ft)?.click();
60
- },
61
- children: [
62
- l,
63
- /* @__PURE__ */ d("span", {
64
- className: M(te.actions, _.itemActions),
65
- children: e
66
- }),
67
- s === "check" && o && /* @__PURE__ */ d(Be, {
68
- className: M(te.checkIndicator, _.itemDecoration),
69
- "aria-hidden": !0
70
- }),
71
- u && /* @__PURE__ */ d(Me, {
72
- className: M(te.submenuIcon, _.itemDecoration),
73
- "aria-hidden": !0
74
- })
75
- ]
76
- }), fe = (e) => e.getAttribute("aria-label") ?? e.textContent ?? "", Z = (e) => Array.from(e.querySelectorAll("[data-dropdown-item]")).filter((t) => t.getAttribute("aria-disabled") !== "true" && !t.hasAttribute("disabled") && t.closest("[data-dropdown-content]") === e), re = Ye(void 0), K = () => {
77
- const e = ne(re);
78
- if (!c(e)) throw new Error("Dropdown components must be inside Dropdown.Root");
79
- return e;
80
- }, ge = ({ id: e, disabled: t, isSubmenuTrigger: r = !1 }) => {
81
- const o = K(), a = r ? o.parentType : o.type, s = r ? o.parentActiveItemId : o.activeItemId, n = r ? o.setParentActiveItemId : o.setActiveItemId;
82
- return {
83
- tabIndex: t || a === "menu" && s !== e ? -1 : 0,
84
- activate: () => n?.(e)
85
- };
86
- }, Oe = ({ color: e, startIcon: t, endIcon: r, description: o, descriptionPlacement: a, shortcut: s, shortcutJoinLabel: n, hasSubmenu: u, actions: l, actionsVisibility: m, children: f, render: g, disabled: v = !1, nativeButton: i = !c(g), closeOnClick: N = !0, onClick: h, onFocus: y, page: p, id: b, ...w }) => {
87
- const { type: D, closeTree: E, goToPage: A } = K(), S = ue(), R = b ?? S, x = ge({
88
- id: R,
89
- disabled: v
90
- }), k = De(l), F = u ?? c(p), L = /* @__PURE__ */ d(Pe, {
91
- ...w,
92
- id: R,
93
- disabled: v,
94
- nativeButton: i,
95
- role: w.role ?? (D === "menu" ? "menuitem" : void 0),
96
- tabIndex: x.tabIndex,
97
- onFocus: (T) => {
98
- x.activate(), y?.(T);
99
- },
100
- "data-dropdown-item": "",
101
- "data-dropdown-page": p,
102
- onClick: (T) => {
103
- if (h?.(T), !T.defaultPrevented) {
104
- if (c(p)) {
105
- const P = T.currentTarget.closest("[data-dropdown-content]");
106
- if (!c(P)) return;
107
- A({
108
- id: p,
109
- trigger: {
110
- id: b,
111
- index: Z(P).indexOf(T.currentTarget),
112
- page: p,
113
- label: fe(T.currentTarget)
114
- }
115
- });
116
- return;
117
- }
118
- N && E();
119
- }
120
- },
121
- render: (T) => {
122
- const P = me({
123
- nativeButton: i,
124
- renderProps: T
125
- });
126
- return /* @__PURE__ */ d(de, {
127
- ...T,
128
- render: /* @__PURE__ */ d(pe, {
129
- render: g,
130
- disabled: P
131
- }),
132
- className: M(T.className, k && _.itemWithActionsPrimary),
133
- disabled: v,
134
- color: e,
135
- startIcon: t,
136
- endIcon: r,
137
- actionsVisibility: m,
138
- description: o,
139
- descriptionPlacement: a,
140
- shortcut: s,
141
- shortcutJoinLabel: n,
142
- hasSubmenu: !k && F,
143
- children: f
144
- });
145
- }
146
- });
147
- return k ? /* @__PURE__ */ d(Ee, {
148
- actions: l,
149
- actionsVisibility: m,
150
- color: e,
151
- disabled: v,
152
- hasSubmenu: F,
153
- children: L
154
- }) : L;
155
- }, gt = ({ children: e = "Back", className: t, onClick: r, ...o }) => {
156
- const { goBack: a, canGoBack: s } = K();
157
- return /* @__PURE__ */ d(Oe, {
158
- ...o,
159
- className: M(_.back, t),
160
- "data-dropdown-back": "",
161
- disabled: o.disabled || !s,
162
- startIcon: /* @__PURE__ */ d(Ke, { className: _.backIcon }),
163
- closeOnClick: !1,
164
- onClick: (n) => {
165
- r?.(n), !n.defaultPrevented && a();
166
- },
167
- children: e
168
- });
169
- }, ht = "_button_1qwl0_1", wt = "_tooltipAnchor_1qwl0_29", vt = "_icon_1qwl0_33", ce = {
170
- button: ht,
171
- tooltipAnchor: wt,
172
- icon: vt
173
- }, bt = ({ children: e, size: t, shape: r = "square", className: o, tooltip: a, tooltipPlace: s = "bottom", tooltipDelay: n = 1e3, tooltipOffset: u = 5, disabled: l, loading: m, ...f }) => {
174
- const g = ne(ye), v = t ?? g?.size ?? "md", i = oe(a), N = l || m, h = /* @__PURE__ */ d(We, {
175
- ...f,
176
- size: v === "xs" ? "sm" : v,
177
- "data-icon-size": v,
178
- "data-shape": r,
179
- disabled: l,
180
- loading: m,
181
- startIcon: /* @__PURE__ */ d("span", {
182
- className: ce.icon,
183
- children: e
184
- }),
185
- className: j(ce.button, o)
186
- });
187
- return i ? /* @__PURE__ */ d(Ue, {
188
- content: a,
189
- delay: n,
190
- side: s,
191
- sideOffset: u,
192
- children: N ? /* @__PURE__ */ d("span", {
193
- className: ce.tooltipAnchor,
194
- children: h
195
- }) : h
196
- }) : h;
197
- }, It = "_button_prhtf_1", yt = { button: It }, Dt = ({ className: e, emphasis: t = "standard", size: r, variant: o, ...a }) => {
198
- const s = ne(ye), n = r ?? s?.size ?? "sm", u = o ?? s?.variant ?? "ghost";
199
- return /* @__PURE__ */ d(bt, {
200
- ...a,
201
- size: n,
202
- variant: u,
203
- "data-emphasis": t,
204
- className: j(yt.button, e)
205
- });
206
- }, Tt = ({ render: e, children: t, "aria-label": r, ...o }) => /* @__PURE__ */ d(Ne.Close, {
207
- ...o,
208
- "aria-label": r,
209
- render: e ?? /* @__PURE__ */ d(Dt, {
210
- size: "sm",
211
- "aria-label": r,
212
- children: t ?? /* @__PURE__ */ d(Ge, {})
213
- }),
214
- children: c(e) ? t : void 0
215
- }), he = ({ content: e, target: t, edge: r = "first", type: o }) => {
216
- const a = c(t?.id) ? e.ownerDocument.getElementById(t.id) : null;
217
- if (c(a) && e.contains(a)) return a;
218
- const s = Z(e), n = c(t) ? s.filter((i) => i.dataset.dropdownPage === t.page) : [], [u] = n;
219
- if (n.length === 1 && c(u)) return u;
220
- const l = oe(t?.label) ? n.filter((i) => fe(i) === t?.label) : [], [m] = l;
221
- if (l.length === 1 && c(m)) return m;
222
- const f = c(t) ? s[t.index] : void 0;
223
- if (c(f)) return f;
224
- const g = e.querySelector('input:not(:disabled):not([type="hidden"]),button:not(:disabled),textarea:not(:disabled),select:not(:disabled),a[href],[tabindex="0"]');
225
- if ((Array.from(e.querySelectorAll("[data-dropdown-page-type]")).find((i) => i.closest("[data-dropdown-content]") === e)?.dataset.dropdownPageType ?? o ?? e.dataset.type) === "panel") return g ?? e;
226
- const v = e.querySelector("[data-dropdown-search]:not(:disabled)");
227
- return c(v) ? v : r === "last" ? s[s.length - 1] ?? g ?? e : s.find((i) => !i.hasAttribute("data-dropdown-back")) ?? s[0] ?? g ?? e;
228
- }, _t = ({ contentRef: e }) => {
229
- const { open: t, pageId: r, pageFocusRequest: o, setPageFocusRequest: a } = K();
230
- return Ce(() => {
231
- c(o) && (a(void 0), !(!t || o.pageId !== r || !c(e.current)) && he({
232
- content: e.current,
233
- target: o.target
234
- }).focus());
235
- }, [
236
- e,
237
- t,
238
- r,
239
- o,
240
- a
241
- ]), null;
242
- }, we = (e) => {
243
- if (e.dataset.type === "panel") return;
244
- const t = e.querySelector("[data-dropdown-search]:not(:disabled)");
245
- if (!(!c(t) || !oe(t.value.trim())))
246
- return Z(e).find((r) => r.hasAttribute("data-dropdown-option-item"));
247
- }, At = ({ content: e }) => {
248
- const { setSearchTargetId: t } = K();
249
- return Ce(() => {
250
- if (!c(e)) return;
251
- const r = () => t(we(e)?.id);
252
- r();
253
- const o = new MutationObserver(r);
254
- return o.observe(e, {
255
- childList: !0,
256
- subtree: !0,
257
- attributes: !0,
258
- attributeFilter: ["disabled", "aria-disabled"]
259
- }), () => {
260
- o.disconnect(), t(void 0);
261
- };
262
- }, [e, t]), null;
263
- }, Ct = (e) => (e.ctrlKey || e.metaKey) && !e.defaultPrevented, kt = (e) => Array.from(e.ownerDocument.querySelectorAll("[data-dropdown-item][aria-controls]")).find((t) => t.getAttribute("aria-controls") === e.id), Pt = ({ rowCells: e, column: t, isEnabledCell: r }) => {
264
- const o = Math.min(t, e.length - 1);
265
- for (let a = 0; a < e.length; a++) {
266
- const s = [e[o - a], e[o + a]].find(r);
267
- if (c(s)) return s;
268
- }
269
- }, Se = ({ key: e, items: t, currentItem: r, search: o, isRightToLeft: a }) => {
270
- const s = r?.closest("[data-dropdown-columns]"), n = Number(s?.dataset.dropdownColumns), u = [
271
- "ArrowUp",
272
- "ArrowDown",
273
- "ArrowLeft",
274
- "ArrowRight"
275
- ].includes(e);
276
- if (!c(s) || !c(r) || !u || !Ae(n)) return;
277
- const l = Array.from(s.children).filter((p) => p instanceof HTMLElement && !p.hasAttribute("data-dropdown-section-label")), m = l.indexOf(r);
278
- if (m < 0) return;
279
- const f = Math.floor(m / n), g = m % n, v = e === "ArrowUp" || e === "ArrowDown", i = e === "ArrowDown" || e === (a ? "ArrowLeft" : "ArrowRight") ? 1 : -1, N = Math.ceil(l.length / n), h = new Set(t), y = (p) => c(p) && h.has(p);
280
- if (v) {
281
- for (let w = f + i; w >= 0 && w < N; w += i) {
282
- const D = l[Math.min(w * n + g, l.length - 1)];
283
- if (y(D)) return D;
284
- }
285
- for (let w = f + i; w >= 0 && w < N; w += i) {
286
- const D = Pt({
287
- rowCells: l.slice(w * n, (w + 1) * n),
288
- column: g,
289
- isEnabledCell: y
290
- });
291
- if (c(D)) return D;
292
- }
293
- const p = l.filter(y), b = i < 0 ? p[0] : p[p.length - 1];
294
- return (c(b) ? t[t.indexOf(b) + i] : void 0) ?? (i < 0 ? o : void 0) ?? r;
295
- }
296
- for (let p = g + i; p >= 0 && p < n; p += i) {
297
- const b = l[f * n + p];
298
- if (y(b)) return b;
299
- }
300
- return r;
301
- }, Nt = ({ key: e, items: t, currentIndex: r, search: o, isSearch: a, isRightToLeft: s = !1 }) => {
302
- const n = Se({
303
- key: e,
304
- items: t,
305
- currentItem: t[r],
306
- search: o,
307
- isRightToLeft: s
308
- });
309
- if (c(n)) return n;
310
- const u = t.length - 1;
311
- if (e === "ArrowDown") return t[r === u ? 0 : r + 1];
312
- if (e === "ArrowUp" && r === 0 && c(o)) return o;
313
- if (e === "ArrowUp") return t[r <= 0 ? u : r - 1];
314
- if (!a && e === "Home") return t[0];
315
- if (!a && e === "End") return t[u];
316
- }, xt = 500, Et = ({ type: e, isSubmenu: t, setOpen: r }) => {
317
- const o = xe(), [a, s] = B({
318
- text: "",
319
- timestamp: 0
320
- });
321
- return (n) => {
322
- if (n.defaultPrevented) return;
323
- const u = n.currentTarget, l = n.target;
324
- if (!(l instanceof HTMLElement) || l.closest("[data-dropdown-content]") !== u) return;
325
- const m = l.matches('input,textarea,select,[contenteditable="true"]'), f = o === "rtl", g = f ? "ArrowRight" : "ArrowLeft", v = t && !m && n.key === g, i = v && e !== "panel" ? Se({
326
- key: n.key,
327
- items: Z(u),
328
- currentItem: l,
329
- search: null,
330
- isRightToLeft: f
331
- }) : void 0, N = c(i) && i !== l;
332
- if (t && (n.key === "Escape" || v && !N)) {
333
- n.preventDefault(), n.stopPropagation(), kt(u)?.focus(), r(!1);
334
- return;
335
- }
336
- if (e === "panel") return;
337
- const h = u.querySelector("[data-dropdown-search]:not(:disabled)"), y = l === h;
338
- if (m && !y) return;
339
- const p = Z(u).filter((x) => !c(h) || !x.hasAttribute("data-dropdown-back")), b = y && n.key === "Enter" && !n.nativeEvent.isComposing ? we(u) : void 0;
340
- if (c(b)) {
341
- n.preventDefault(), b.click();
342
- return;
343
- }
344
- const w = p.indexOf(l), D = Nt({
345
- key: n.key,
346
- items: p,
347
- currentIndex: w,
348
- search: h,
349
- isSearch: y,
350
- isRightToLeft: f
351
- });
352
- if (c(D)) {
353
- n.preventDefault(), D.focus();
354
- return;
355
- }
356
- if (m || n.key.length !== 1 || n.key === " " || n.altKey || n.ctrlKey || n.metaKey) return;
357
- const E = Date.now(), A = E - a.timestamp > xt ? n.key : a.text + n.key;
358
- s({
359
- text: A,
360
- timestamp: E
361
- });
362
- const S = ([...A].every((x) => x === A[0]) ? n.key : A).toLocaleLowerCase(), R = [...p.slice(w + 1), ...p.slice(0, w + 1)].find((x) => fe(x).trim().toLocaleLowerCase().startsWith(S));
363
- c(R) && (n.preventDefault(), R.focus());
364
- };
365
- }, Ot = ({ side: e, align: t = "start", sideOffset: r = 0, alignOffset: o, anchor: a, collisionPadding: s, container: n, keepMounted: u, width: l = 200, className: m, style: f, children: g, initialFocus: v, onKeyDown: i, onInput: N, onClick: h, onMouseDown: y, onPointerDown: p, "aria-label": b, "aria-labelledby": w, ref: D, ...E }) => {
366
- const { type: A, isSubmenu: S, setOpen: R, initialFocusEdge: x, focusOnOpen: k, triggerId: F, titleId: L, setSearchTargetId: T } = K(), P = ke(null), [C, G] = B(null), H = se(P, D, G), z = Et({
367
- type: A,
368
- isSubmenu: S,
369
- setOpen: R
370
- }), $ = c(b) ? void 0 : L ?? F;
371
- return /* @__PURE__ */ ae(Xe, { children: [
372
- /* @__PURE__ */ d(X.Portal, {
373
- container: n,
374
- keepMounted: u,
375
- children: /* @__PURE__ */ d(X.Positioner, {
376
- side: e ?? (S ? "inline-end" : "bottom"),
377
- align: t,
378
- sideOffset: r,
379
- alignOffset: o,
380
- anchor: a,
381
- collisionPadding: s,
382
- children: /* @__PURE__ */ d(X.Popup, {
383
- ...E,
384
- ref: H,
385
- role: A === "menu" ? "menu" : "dialog",
386
- "aria-label": b,
387
- "aria-labelledby": w ?? $,
388
- "data-dropdown-content": "",
389
- "data-type": A,
390
- className: j(_.content, m),
391
- style: (I) => ({
392
- width: l,
393
- ...je(f) ? f(I) : f
394
- }),
395
- initialFocus: v ?? (() => k ? c(P.current) ? he({
396
- content: P.current,
397
- edge: x,
398
- type: A
399
- }) : !0 : !1),
400
- onKeyDown: (I) => {
401
- i?.(I), z(I), Ct(I) || I.stopPropagation();
402
- },
403
- onInput: (I) => {
404
- N?.(I), T(we(I.currentTarget)?.id);
405
- },
406
- onClick: (I) => {
407
- I.stopPropagation(), h?.(I);
408
- },
409
- onMouseDown: (I) => {
410
- I.stopPropagation(), y?.(I);
411
- },
412
- onPointerDown: (I) => {
413
- I.stopPropagation(), p?.(I);
414
- },
415
- children: g
416
- })
417
- })
418
- }),
419
- /* @__PURE__ */ d(_t, { contentRef: P }),
420
- /* @__PURE__ */ d(At, { content: C })
421
- ] });
422
- }, St = ({ className: e, ...t }) => /* @__PURE__ */ d(Te, {
423
- ...t,
424
- role: "status",
425
- "aria-live": "polite",
426
- className: M(_.status, e)
427
- }), Rt = ({ render: e, ref: t, className: r, ...o }) => _e({
428
- render: e,
429
- ref: t,
430
- props: {
431
- ...o,
432
- className: M(_.header, r)
433
- }
434
- }), Ft = ({ className: e, ...t }) => /* @__PURE__ */ d(Te, {
435
- ...t,
436
- role: "status",
437
- "aria-live": "polite",
438
- "aria-busy": "true",
439
- className: M(_.status, e)
440
- }), Lt = ({ selected: e, indicator: t, onSelect: r, closeOnSelect: o, color: a, startIcon: s, endIcon: n, description: u, descriptionPlacement: l, shortcut: m, shortcutJoinLabel: f, hasSubmenu: g, actions: v, actionsVisibility: i, children: N, render: h, disabled: y = !1, nativeButton: p = !c(h), onClick: b, onFocus: w, id: D, ...E }) => {
441
- const { type: A, multiple: S, closeTree: R, searchTargetId: x } = K(), k = A === "menu", F = c(e), L = !k && (p || E.role === "button"), T = !k && !L && F && e, P = F ? S ? "menuitemcheckbox" : "menuitemradio" : "menuitem", C = S ? "checkbox" : "check", G = ue(), H = D ?? G, z = ge({
442
- id: H,
443
- disabled: y
444
- }), $ = De(v), I = x === H, Y = t ?? (F ? C : "none"), ee = $ && Y === "check", V = /* @__PURE__ */ d(Pe, {
445
- ...E,
446
- id: H,
447
- disabled: y,
448
- nativeButton: p,
449
- role: k ? P : E.role,
450
- "aria-checked": k && F ? e : void 0,
451
- "aria-pressed": L && F ? e : void 0,
452
- "aria-current": T ? "true" : void 0,
453
- tabIndex: z.tabIndex,
454
- onFocus: (W) => {
455
- z.activate(), w?.(W);
456
- },
457
- "data-dropdown-item": "",
458
- "data-dropdown-option-item": "",
459
- onClick: (W) => {
460
- b?.(W), !W.defaultPrevented && (r?.(), (o ?? !S) && R());
461
- },
462
- render: (W) => {
463
- const ie = me({
464
- nativeButton: p,
465
- renderProps: W
466
- });
467
- return /* @__PURE__ */ d(de, {
468
- ...W,
469
- render: /* @__PURE__ */ d(pe, {
470
- render: h,
471
- disabled: ie
472
- }),
473
- className: M(W.className, $ && _.itemWithActionsPrimary),
474
- disabled: y,
475
- selected: e,
476
- focused: I,
477
- indicator: ee ? "none" : Y,
478
- color: a,
479
- startIcon: s,
480
- endIcon: n,
481
- actionsVisibility: i,
482
- description: u,
483
- descriptionPlacement: l,
484
- shortcut: m,
485
- shortcutJoinLabel: f,
486
- hasSubmenu: !$ && g,
487
- children: N
488
- });
489
- }
490
- });
491
- return $ ? /* @__PURE__ */ d(Ee, {
492
- actions: v,
493
- actionsVisibility: i,
494
- color: a,
495
- selected: e,
496
- focused: I,
497
- indicator: Y,
498
- disabled: y,
499
- hasSubmenu: g,
500
- children: V
501
- }) : V;
502
- }, qt = ({ id: e, type: t, children: r }) => {
503
- const o = K(), { registerPage: a } = o, s = Q((n) => {
504
- c(n) && a({
505
- id: e,
506
- type: t
507
- });
508
- }, [
509
- e,
510
- t,
511
- a
512
- ]);
513
- return o.pageId !== e ? null : /* @__PURE__ */ d(re.Provider, {
514
- value: {
515
- ...o,
516
- type: t ?? o.rootType
517
- },
518
- children: /* @__PURE__ */ d("div", {
519
- ref: s,
520
- className: _.page,
521
- "data-dropdown-page-type": t ?? o.rootType,
522
- children: r
523
- })
524
- });
525
- }, Bt = ({ open: e, registerOpenNestedRoot: t }) => (Ve(() => {
526
- if (e)
527
- return t?.();
528
- }, [e, t]), null), Mt = (e) => e instanceof FocusEvent ? e.type === "focusout" && e.relatedTarget instanceof Element ? e.relatedTarget : null : e.target instanceof Element ? e.target : null, be = ({ onDismiss: e, event: t }) => {
529
- if (!c(e)) return !1;
530
- let r = !1;
531
- return e({
532
- target: Mt(t),
533
- type: t.type,
534
- preventDefault: () => {
535
- r = !0;
536
- }
537
- }), r;
538
- }, Ie = () => {
539
- const [e, t] = B();
540
- return [e, Q((r) => (t(r), () => t((o) => o === r ? void 0 : o)), [])];
541
- }, Re = ({ children: e, type: t, open: r, defaultOpen: o = !1, onOpenChange: a, onEscapeKeyDown: s, onInteractOutside: n, multiple: u = !1, defaultPage: l = "root", isSubmenu: m = !1 }) => {
542
- const f = ne(re), g = ke(0), v = Q(() => (g.current += 1, () => {
543
- g.current -= 1;
544
- }), []), [i, N] = B(o), h = r ?? i, [y, p] = B(h), [b, w] = B([{ id: l }]), [D, E] = B(), [A, S] = B(), R = b[b.length - 1]?.id, [x, k] = B(), [F, L] = B("first"), [T, P] = B(!0), [C, G] = B(), [H, z] = Ie(), [$, I] = Ie(), Y = h && !y, ee = !h && y;
545
- (Y || ee) && p(h), Y && (w([{ id: l }]), E(void 0), k(void 0)), ee && (L("first"), P(!0), G(void 0));
546
- const V = (q) => {
547
- c(r) || N(q), a?.(q);
548
- }, W = () => {
549
- V(!1), m && f?.closeTree();
550
- }, ie = ({ id: q, trigger: O }) => {
551
- k({ pageId: q }), w((U) => [...U, {
552
- id: q,
553
- trigger: O
554
- }]);
555
- }, Fe = () => {
556
- const q = b[b.length - 2];
557
- if (!c(q)) return;
558
- const O = b[b.length - 1]?.trigger;
559
- k({
560
- pageId: q.id,
561
- target: O
562
- }), w((U) => U.slice(0, -1));
563
- }, Le = Q(({ id: q, type: O }) => {
564
- if (!h) return;
565
- const U = O ?? t;
566
- E((J) => J?.id === q && J.type === U ? J : {
567
- id: q,
568
- type: U
569
- });
570
- }, [h, t]);
571
- return /* @__PURE__ */ d(X.Root, {
572
- open: h,
573
- onOpenChange: (q, O) => {
574
- const U = O.reason === "outside-press" || O.reason === "focus-out";
575
- if (U && g.current > 0) {
576
- O.cancel();
577
- return;
578
- }
579
- const J = O.reason === "escape-key" && be({
580
- onDismiss: s,
581
- event: O.event
582
- }), qe = U && be({
583
- onDismiss: n,
584
- event: O.event
585
- });
586
- if (J || qe) {
587
- O.cancel();
588
- return;
589
- }
590
- U && He(O.event), P(O.reason !== "trigger-hover"), V(q);
591
- },
592
- children: /* @__PURE__ */ ae(re.Provider, {
593
- value: {
594
- type: c(D) && D.id === R ? D.type : t,
595
- rootType: t,
596
- open: h,
597
- multiple: u,
598
- isSubmenu: m,
599
- parentType: f?.type,
600
- activeItemId: A,
601
- parentActiveItemId: f?.activeItemId,
602
- setActiveItemId: S,
603
- setParentActiveItemId: f?.setActiveItemId,
604
- pageId: R,
605
- pageFocusRequest: x,
606
- setPageFocusRequest: k,
607
- canGoBack: b.length > 1,
608
- initialFocusEdge: F,
609
- setInitialFocusEdge: L,
610
- focusOnOpen: T,
611
- setFocusOnOpen: P,
612
- setOpen: V,
613
- closeTree: W,
614
- goToPage: ie,
615
- goBack: Fe,
616
- registerPage: Le,
617
- registerOpenNestedRoot: v,
618
- searchTargetId: C,
619
- setSearchTargetId: G,
620
- triggerId: H,
621
- registerTrigger: z,
622
- titleId: $,
623
- registerTitle: I
624
- },
625
- children: [/* @__PURE__ */ d(Bt, {
626
- open: h,
627
- registerOpenNestedRoot: m ? void 0 : f?.registerOpenNestedRoot
628
- }), e]
629
- })
630
- });
631
- }, Kt = ({ onValueChange: e, className: t, ...r }) => {
632
- const { searchTargetId: o } = K();
633
- return /* @__PURE__ */ d("div", {
634
- className: _.searchContainer,
635
- children: /* @__PURE__ */ d(ze, {
636
- type: "search",
637
- autoComplete: "off",
638
- "aria-activedescendant": o,
639
- ...r,
640
- "data-dropdown-search": "",
641
- className: j(_.search, t),
642
- onValueChange: (a) => e?.(a)
643
- })
644
- });
645
- }, Gt = ({ className: e, ...t }) => /* @__PURE__ */ d(le.Group, {
646
- ...t,
647
- className: j(_.group, e)
648
- }), Ht = ({ className: e, ...t }) => /* @__PURE__ */ d(le.GroupLabel, {
649
- ...t,
650
- className: j(_.groupLabel, e)
651
- }), Wt = ({ label: e, scrollable: t, columns: r, style: o, className: a, children: s, ...n }) => {
652
- const u = Ae(r) ? r : void 0;
653
- return /* @__PURE__ */ ae(Gt, {
654
- ...n,
655
- "data-scrollable": t || void 0,
656
- "data-dropdown-columns": u,
657
- style: {
658
- ...o,
659
- ...c(u) && { gridTemplateColumns: `repeat(${u}, minmax(0, 1fr))` }
660
- },
661
- className: M(_.section, a),
662
- children: [c(e) && /* @__PURE__ */ d(Ht, {
663
- "data-dropdown-section-label": "",
664
- children: e
665
- }), s]
666
- });
667
- }, Ut = ({ className: e, ...t }) => /* @__PURE__ */ d(le.Separator, {
668
- ...t,
669
- role: "separator",
670
- "data-dropdown-separator": "",
671
- className: M(_.separator, e)
672
- }), zt = ({ type: e = "menu", ...t }) => /* @__PURE__ */ d(Re, {
673
- ...t,
674
- type: e,
675
- isSubmenu: !0
676
- }), ve = (e) => Q((t) => {
677
- if (!(!c(t) || !oe(t.id)))
678
- return e(t.id);
679
- }, [e]), $t = ({ color: e, startIcon: t, endIcon: r, description: o, descriptionPlacement: a, shortcut: s, shortcutJoinLabel: n, hasSubmenu: u = !0, children: l, render: m, disabled: f = !1, nativeButton: g = !c(m), openOnHover: v = !0, onKeyDown: i, onFocus: N, id: h, ref: y, ...p }) => {
680
- const b = xe(), { type: w, rootType: D, parentType: E, open: A, setOpen: S, setFocusOnOpen: R, registerTrigger: x } = K(), k = A ? w : D, F = ue(), L = h ?? F, T = ge({
681
- id: L,
682
- disabled: f,
683
- isSubmenuTrigger: !0
684
- }), P = se(y, ve(x));
685
- return /* @__PURE__ */ d(X.Trigger, {
686
- ...p,
687
- ref: P,
688
- id: L,
689
- disabled: f,
690
- nativeButton: g,
691
- openOnHover: v,
692
- role: E === "menu" ? "menuitem" : void 0,
693
- "aria-haspopup": k === "menu" ? "menu" : "dialog",
694
- tabIndex: T.tabIndex,
695
- onFocus: (C) => {
696
- T.activate(), N?.(C);
697
- },
698
- "data-dropdown-item": "",
699
- onKeyDown: (C) => {
700
- if (i?.(C), C.defaultPrevented || f) return;
701
- const G = b === "rtl" ? "ArrowLeft" : "ArrowRight";
702
- if (C.key === G) {
703
- C.preventDefault(), C.stopPropagation(), R(!0);
704
- const H = C.currentTarget.getAttribute("aria-controls"), z = c(H) ? C.currentTarget.ownerDocument.getElementById(H) : null;
705
- if (A && c(z)) {
706
- he({
707
- content: z,
708
- type: w
709
- }).focus();
710
- return;
711
- }
712
- S(!0);
713
- }
714
- },
715
- render: (C) => {
716
- const G = me({
717
- nativeButton: g,
718
- renderProps: C
719
- });
720
- return /* @__PURE__ */ d(de, {
721
- ...C,
722
- render: /* @__PURE__ */ d(pe, {
723
- render: m,
724
- disabled: G
725
- }),
726
- disabled: f,
727
- color: e,
728
- startIcon: t,
729
- endIcon: r,
730
- description: o,
731
- descriptionPlacement: a,
732
- shortcut: s,
733
- shortcutJoinLabel: n,
734
- hasSubmenu: u,
735
- children: l
736
- });
737
- }
738
- });
739
- }, jt = ({ className: e, render: t, ref: r, ...o }) => {
740
- const { registerTitle: a } = K(), s = se(r, ve(a));
741
- return /* @__PURE__ */ d(Ne.Title, {
742
- ...o,
743
- ref: s,
744
- render: t ?? /* @__PURE__ */ d("div", {}),
745
- className: j(_.title, e)
746
- });
747
- }, Yt = ({ onKeyDown: e, onClick: t, ref: r, ...o }) => {
748
- const { type: a, rootType: s, open: n, setOpen: u, setInitialFocusEdge: l, setFocusOnOpen: m, registerTrigger: f } = K(), g = n ? a : s, v = se(r, ve(f));
749
- return /* @__PURE__ */ d(X.Trigger, {
750
- ...o,
751
- ref: v,
752
- "aria-haspopup": g === "menu" ? "menu" : "dialog",
753
- onClick: (i) => {
754
- i.stopPropagation(), i.preventDefault(), t?.(i);
755
- },
756
- onKeyDown: (i) => {
757
- e?.(i), !(i.defaultPrevented || i.baseUIHandlerPrevented || o.disabled || g === "panel") && (i.key !== "ArrowDown" && i.key !== "ArrowUp" || (i.preventDefault(), m(!0), l(i.key === "ArrowUp" ? "last" : "first"), u(!0)));
758
- }
759
- });
760
- }, Vt = Re, vr = {
761
- Root: Vt,
762
- Trigger: Yt,
763
- Content: Ot,
764
- ActionItem: Oe,
765
- OptionItem: Lt,
766
- Search: Kt,
767
- Header: Rt,
768
- Title: jt,
769
- Close: Tt,
770
- Page: qt,
771
- Back: gt,
772
- Submenu: zt,
773
- SubmenuTrigger: $t,
774
- Section: Wt,
775
- Separator: Ut,
776
- Loading: Ft,
777
- Empty: St
778
- };
779
- export {
780
- K as i,
781
- Dt as n,
782
- bt as r,
783
- vr as t
784
- };