@salt-ds/lab 1.0.0-alpha.93 → 1.0.0-alpha.95

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 (226) hide show
  1. package/CHANGELOG.md +214 -0
  2. package/css/salt-lab.css +190 -143
  3. package/dist-cjs/index.js +12 -58
  4. package/dist-cjs/index.js.map +1 -1
  5. package/dist-cjs/mega-menu/MegaMenuGroup.js +2 -5
  6. package/dist-cjs/mega-menu/MegaMenuGroup.js.map +1 -1
  7. package/dist-cjs/mega-menu/MegaMenuGroups.css.js +6 -0
  8. package/dist-cjs/mega-menu/MegaMenuGroups.css.js.map +1 -0
  9. package/dist-cjs/mega-menu/{MegaMenuSection.js → MegaMenuGroups.js} +8 -8
  10. package/dist-cjs/mega-menu/MegaMenuGroups.js.map +1 -0
  11. package/dist-cjs/mega-menu/MegaMenuHeader.js +0 -1
  12. package/dist-cjs/mega-menu/MegaMenuHeader.js.map +1 -1
  13. package/dist-cjs/mega-menu/MegaMenuItem.css.js +1 -1
  14. package/dist-cjs/mega-menu/MegaMenuItem.js +6 -5
  15. package/dist-cjs/mega-menu/MegaMenuItem.js.map +1 -1
  16. package/dist-cjs/mega-menu/MegaMenuSupportingActions.css.js +6 -0
  17. package/dist-cjs/mega-menu/MegaMenuSupportingActions.css.js.map +1 -0
  18. package/dist-cjs/mega-menu/MegaMenuSupportingActions.js +31 -0
  19. package/dist-cjs/mega-menu/MegaMenuSupportingActions.js.map +1 -0
  20. package/dist-cjs/mega-menu/MegaMenuSupportingContent.css.js +6 -0
  21. package/dist-cjs/mega-menu/MegaMenuSupportingContent.css.js.map +1 -0
  22. package/dist-cjs/mega-menu/MegaMenuSupportingContent.js +31 -0
  23. package/dist-cjs/mega-menu/MegaMenuSupportingContent.js.map +1 -0
  24. package/dist-cjs/mega-menu/useMegaMenuKeyboard.js +2 -2
  25. package/dist-cjs/mega-menu/useMegaMenuKeyboard.js.map +1 -1
  26. package/dist-cjs/toolbar-next/ToolbarContentNext.css.js +6 -0
  27. package/dist-cjs/toolbar-next/ToolbarContentNext.css.js.map +1 -0
  28. package/dist-cjs/toolbar-next/ToolbarContentNext.js +32 -0
  29. package/dist-cjs/toolbar-next/ToolbarContentNext.js.map +1 -0
  30. package/dist-cjs/toolbar-next/ToolbarNext.css.js +6 -0
  31. package/dist-cjs/toolbar-next/ToolbarNext.css.js.map +1 -0
  32. package/dist-cjs/toolbar-next/ToolbarNext.js +394 -0
  33. package/dist-cjs/toolbar-next/ToolbarNext.js.map +1 -0
  34. package/dist-cjs/toolbar-next/ToolbarNextOverflow.css.js +6 -0
  35. package/dist-cjs/toolbar-next/ToolbarNextOverflow.css.js.map +1 -0
  36. package/dist-cjs/toolbar-next/ToolbarNextOverflow.js +706 -0
  37. package/dist-cjs/toolbar-next/ToolbarNextOverflow.js.map +1 -0
  38. package/dist-cjs/toolbar-next/ToolbarNextOverflowFloatingBoundary.js +165 -0
  39. package/dist-cjs/toolbar-next/ToolbarNextOverflowFloatingBoundary.js.map +1 -0
  40. package/dist-cjs/toolbar-next/TooltrayNext.css.js +6 -0
  41. package/dist-cjs/toolbar-next/TooltrayNext.css.js.map +1 -0
  42. package/dist-cjs/toolbar-next/TooltrayNext.js +55 -0
  43. package/dist-cjs/toolbar-next/TooltrayNext.js.map +1 -0
  44. package/dist-cjs/toolbar-next/toolbarNextKeyboardUtils.js +409 -0
  45. package/dist-cjs/toolbar-next/toolbarNextKeyboardUtils.js.map +1 -0
  46. package/dist-cjs/toolbar-next/toolbarNextUtils.js +215 -0
  47. package/dist-cjs/toolbar-next/toolbarNextUtils.js.map +1 -0
  48. package/dist-cjs/toolbar-next/useToolbarNextKeyboardNavigation.js +312 -0
  49. package/dist-cjs/toolbar-next/useToolbarNextKeyboardNavigation.js.map +1 -0
  50. package/dist-cjs/toolbar-next/useToolbarNextOverflow.js +743 -0
  51. package/dist-cjs/toolbar-next/useToolbarNextOverflow.js.map +1 -0
  52. package/dist-es/index.js +6 -12
  53. package/dist-es/index.js.map +1 -1
  54. package/dist-es/mega-menu/MegaMenuGroup.js +2 -5
  55. package/dist-es/mega-menu/MegaMenuGroup.js.map +1 -1
  56. package/dist-es/mega-menu/MegaMenuGroups.css.js +4 -0
  57. package/dist-es/mega-menu/MegaMenuGroups.css.js.map +1 -0
  58. package/dist-es/mega-menu/{MegaMenuSection.js → MegaMenuGroups.js} +7 -7
  59. package/dist-es/mega-menu/MegaMenuGroups.js.map +1 -0
  60. package/dist-es/mega-menu/MegaMenuHeader.js +0 -1
  61. package/dist-es/mega-menu/MegaMenuHeader.js.map +1 -1
  62. package/dist-es/mega-menu/MegaMenuItem.css.js +1 -1
  63. package/dist-es/mega-menu/MegaMenuItem.js +7 -6
  64. package/dist-es/mega-menu/MegaMenuItem.js.map +1 -1
  65. package/dist-es/mega-menu/MegaMenuSupportingActions.css.js +4 -0
  66. package/dist-es/mega-menu/MegaMenuSupportingActions.css.js.map +1 -0
  67. package/dist-es/mega-menu/MegaMenuSupportingActions.js +29 -0
  68. package/dist-es/mega-menu/MegaMenuSupportingActions.js.map +1 -0
  69. package/dist-es/mega-menu/MegaMenuSupportingContent.css.js +4 -0
  70. package/dist-es/mega-menu/MegaMenuSupportingContent.css.js.map +1 -0
  71. package/dist-es/mega-menu/MegaMenuSupportingContent.js +29 -0
  72. package/dist-es/mega-menu/MegaMenuSupportingContent.js.map +1 -0
  73. package/dist-es/mega-menu/useMegaMenuKeyboard.js +2 -2
  74. package/dist-es/mega-menu/useMegaMenuKeyboard.js.map +1 -1
  75. package/dist-es/toolbar-next/ToolbarContentNext.css.js +4 -0
  76. package/dist-es/toolbar-next/ToolbarContentNext.css.js.map +1 -0
  77. package/dist-es/toolbar-next/ToolbarContentNext.js +30 -0
  78. package/dist-es/toolbar-next/ToolbarContentNext.js.map +1 -0
  79. package/dist-es/toolbar-next/ToolbarNext.css.js +4 -0
  80. package/dist-es/toolbar-next/ToolbarNext.css.js.map +1 -0
  81. package/dist-es/toolbar-next/ToolbarNext.js +392 -0
  82. package/dist-es/toolbar-next/ToolbarNext.js.map +1 -0
  83. package/dist-es/toolbar-next/ToolbarNextOverflow.css.js +4 -0
  84. package/dist-es/toolbar-next/ToolbarNextOverflow.css.js.map +1 -0
  85. package/dist-es/toolbar-next/ToolbarNextOverflow.js +701 -0
  86. package/dist-es/toolbar-next/ToolbarNextOverflow.js.map +1 -0
  87. package/dist-es/toolbar-next/ToolbarNextOverflowFloatingBoundary.js +159 -0
  88. package/dist-es/toolbar-next/ToolbarNextOverflowFloatingBoundary.js.map +1 -0
  89. package/dist-es/toolbar-next/TooltrayNext.css.js +4 -0
  90. package/dist-es/toolbar-next/TooltrayNext.css.js.map +1 -0
  91. package/dist-es/toolbar-next/TooltrayNext.js +53 -0
  92. package/dist-es/toolbar-next/TooltrayNext.js.map +1 -0
  93. package/dist-es/toolbar-next/toolbarNextKeyboardUtils.js +390 -0
  94. package/dist-es/toolbar-next/toolbarNextKeyboardUtils.js.map +1 -0
  95. package/dist-es/toolbar-next/toolbarNextUtils.js +211 -0
  96. package/dist-es/toolbar-next/toolbarNextUtils.js.map +1 -0
  97. package/dist-es/toolbar-next/useToolbarNextKeyboardNavigation.js +310 -0
  98. package/dist-es/toolbar-next/useToolbarNextKeyboardNavigation.js.map +1 -0
  99. package/dist-es/toolbar-next/useToolbarNextOverflow.js +741 -0
  100. package/dist-es/toolbar-next/useToolbarNextOverflow.js.map +1 -0
  101. package/dist-types/index.d.ts +1 -5
  102. package/dist-types/mega-menu/MegaMenuGroups.d.ts +8 -0
  103. package/dist-types/mega-menu/MegaMenuItem.d.ts +3 -2
  104. package/dist-types/mega-menu/MegaMenuSupportingActions.d.ts +8 -0
  105. package/dist-types/mega-menu/MegaMenuSupportingContent.d.ts +8 -0
  106. package/dist-types/mega-menu/index.d.ts +3 -3
  107. package/dist-types/toolbar-next/ToolbarContentNext.d.ts +11 -0
  108. package/dist-types/toolbar-next/ToolbarNext.d.ts +12 -0
  109. package/dist-types/toolbar-next/ToolbarNextOverflow.d.ts +34 -0
  110. package/dist-types/toolbar-next/ToolbarNextOverflowFloatingBoundary.d.ts +16 -0
  111. package/dist-types/toolbar-next/TooltrayNext.d.ts +37 -0
  112. package/dist-types/toolbar-next/index.d.ts +3 -0
  113. package/dist-types/toolbar-next/toolbarNextKeyboardUtils.d.ts +39 -0
  114. package/dist-types/toolbar-next/toolbarNextUtils.d.ts +42 -0
  115. package/dist-types/toolbar-next/useToolbarNextKeyboardNavigation.d.ts +42 -0
  116. package/dist-types/toolbar-next/useToolbarNextOverflow.d.ts +37 -0
  117. package/package.json +2 -4
  118. package/dist-cjs/calendar/index.js +0 -61
  119. package/dist-cjs/calendar/index.js.map +0 -1
  120. package/dist-cjs/date-input/index.js +0 -23
  121. package/dist-cjs/date-input/index.js.map +0 -1
  122. package/dist-cjs/date-picker/index.js +0 -106
  123. package/dist-cjs/date-picker/index.js.map +0 -1
  124. package/dist-cjs/localization-provider/index.js +0 -26
  125. package/dist-cjs/localization-provider/index.js.map +0 -1
  126. package/dist-cjs/mega-menu/MegaMenuContent.css.js +0 -6
  127. package/dist-cjs/mega-menu/MegaMenuContent.css.js.map +0 -1
  128. package/dist-cjs/mega-menu/MegaMenuContent.js +0 -33
  129. package/dist-cjs/mega-menu/MegaMenuContent.js.map +0 -1
  130. package/dist-cjs/mega-menu/MegaMenuItemContent.css.js +0 -6
  131. package/dist-cjs/mega-menu/MegaMenuItemContent.css.js.map +0 -1
  132. package/dist-cjs/mega-menu/MegaMenuItemContent.js +0 -23
  133. package/dist-cjs/mega-menu/MegaMenuItemContent.js.map +0 -1
  134. package/dist-cjs/mega-menu/MegaMenuSection.css.js +0 -6
  135. package/dist-cjs/mega-menu/MegaMenuSection.css.js.map +0 -1
  136. package/dist-cjs/mega-menu/MegaMenuSection.js.map +0 -1
  137. package/dist-cjs/tree/Tree.css.js +0 -6
  138. package/dist-cjs/tree/Tree.css.js.map +0 -1
  139. package/dist-cjs/tree/Tree.js +0 -303
  140. package/dist-cjs/tree/Tree.js.map +0 -1
  141. package/dist-cjs/tree/TreeContext.js +0 -31
  142. package/dist-cjs/tree/TreeContext.js.map +0 -1
  143. package/dist-cjs/tree/TreeNode.css.js +0 -6
  144. package/dist-cjs/tree/TreeNode.css.js.map +0 -1
  145. package/dist-cjs/tree/TreeNode.js +0 -103
  146. package/dist-cjs/tree/TreeNode.js.map +0 -1
  147. package/dist-cjs/tree/TreeNodeExpansionIcon.css.js +0 -6
  148. package/dist-cjs/tree/TreeNodeExpansionIcon.css.js.map +0 -1
  149. package/dist-cjs/tree/TreeNodeExpansionIcon.js +0 -62
  150. package/dist-cjs/tree/TreeNodeExpansionIcon.js.map +0 -1
  151. package/dist-cjs/tree/TreeNodeLabel.css.js +0 -6
  152. package/dist-cjs/tree/TreeNodeLabel.css.js.map +0 -1
  153. package/dist-cjs/tree/TreeNodeLabel.js +0 -26
  154. package/dist-cjs/tree/TreeNodeLabel.js.map +0 -1
  155. package/dist-cjs/tree/TreeNodeTrigger.css.js +0 -6
  156. package/dist-cjs/tree/TreeNodeTrigger.css.js.map +0 -1
  157. package/dist-cjs/tree/TreeNodeTrigger.js +0 -153
  158. package/dist-cjs/tree/TreeNodeTrigger.js.map +0 -1
  159. package/dist-cjs/tree/treeModel.js +0 -61
  160. package/dist-cjs/tree/treeModel.js.map +0 -1
  161. package/dist-cjs/tree/useTree.js +0 -337
  162. package/dist-cjs/tree/useTree.js.map +0 -1
  163. package/dist-cjs/utils/deprecatedExport.js +0 -30
  164. package/dist-cjs/utils/deprecatedExport.js.map +0 -1
  165. package/dist-es/calendar/index.js +0 -50
  166. package/dist-es/calendar/index.js.map +0 -1
  167. package/dist-es/date-input/index.js +0 -20
  168. package/dist-es/date-input/index.js.map +0 -1
  169. package/dist-es/date-picker/index.js +0 -85
  170. package/dist-es/date-picker/index.js.map +0 -1
  171. package/dist-es/localization-provider/index.js +0 -20
  172. package/dist-es/localization-provider/index.js.map +0 -1
  173. package/dist-es/mega-menu/MegaMenuContent.css.js +0 -4
  174. package/dist-es/mega-menu/MegaMenuContent.css.js.map +0 -1
  175. package/dist-es/mega-menu/MegaMenuContent.js +0 -31
  176. package/dist-es/mega-menu/MegaMenuContent.js.map +0 -1
  177. package/dist-es/mega-menu/MegaMenuItemContent.css.js +0 -4
  178. package/dist-es/mega-menu/MegaMenuItemContent.css.js.map +0 -1
  179. package/dist-es/mega-menu/MegaMenuItemContent.js +0 -21
  180. package/dist-es/mega-menu/MegaMenuItemContent.js.map +0 -1
  181. package/dist-es/mega-menu/MegaMenuSection.css.js +0 -4
  182. package/dist-es/mega-menu/MegaMenuSection.css.js.map +0 -1
  183. package/dist-es/mega-menu/MegaMenuSection.js.map +0 -1
  184. package/dist-es/tree/Tree.css.js +0 -4
  185. package/dist-es/tree/Tree.css.js.map +0 -1
  186. package/dist-es/tree/Tree.js +0 -301
  187. package/dist-es/tree/Tree.js.map +0 -1
  188. package/dist-es/tree/TreeContext.js +0 -26
  189. package/dist-es/tree/TreeContext.js.map +0 -1
  190. package/dist-es/tree/TreeNode.css.js +0 -4
  191. package/dist-es/tree/TreeNode.css.js.map +0 -1
  192. package/dist-es/tree/TreeNode.js +0 -101
  193. package/dist-es/tree/TreeNode.js.map +0 -1
  194. package/dist-es/tree/TreeNodeExpansionIcon.css.js +0 -4
  195. package/dist-es/tree/TreeNodeExpansionIcon.css.js.map +0 -1
  196. package/dist-es/tree/TreeNodeExpansionIcon.js +0 -60
  197. package/dist-es/tree/TreeNodeExpansionIcon.js.map +0 -1
  198. package/dist-es/tree/TreeNodeLabel.css.js +0 -4
  199. package/dist-es/tree/TreeNodeLabel.css.js.map +0 -1
  200. package/dist-es/tree/TreeNodeLabel.js +0 -24
  201. package/dist-es/tree/TreeNodeLabel.js.map +0 -1
  202. package/dist-es/tree/TreeNodeTrigger.css.js +0 -4
  203. package/dist-es/tree/TreeNodeTrigger.css.js.map +0 -1
  204. package/dist-es/tree/TreeNodeTrigger.js +0 -151
  205. package/dist-es/tree/TreeNodeTrigger.js.map +0 -1
  206. package/dist-es/tree/treeModel.js +0 -57
  207. package/dist-es/tree/treeModel.js.map +0 -1
  208. package/dist-es/tree/useTree.js +0 -335
  209. package/dist-es/tree/useTree.js.map +0 -1
  210. package/dist-es/utils/deprecatedExport.js +0 -27
  211. package/dist-es/utils/deprecatedExport.js.map +0 -1
  212. package/dist-types/calendar/index.d.ts +0 -13
  213. package/dist-types/date-input/index.d.ts +0 -3
  214. package/dist-types/localization-provider/index.d.ts +0 -9
  215. package/dist-types/mega-menu/MegaMenuContent.d.ts +0 -8
  216. package/dist-types/mega-menu/MegaMenuItemContent.d.ts +0 -8
  217. package/dist-types/mega-menu/MegaMenuSection.d.ts +0 -8
  218. package/dist-types/tree/Tree.d.ts +0 -36
  219. package/dist-types/tree/TreeContext.d.ts +0 -77
  220. package/dist-types/tree/TreeNode.d.ts +0 -25
  221. package/dist-types/tree/TreeNodeExpansionIcon.d.ts +0 -4
  222. package/dist-types/tree/TreeNodeLabel.d.ts +0 -4
  223. package/dist-types/tree/TreeNodeTrigger.d.ts +0 -8
  224. package/dist-types/tree/index.d.ts +0 -4
  225. package/dist-types/tree/treeModel.d.ts +0 -24
  226. package/dist-types/tree/useTree.d.ts +0 -68
@@ -0,0 +1,706 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react$1 = require('@floating-ui/react');
5
+ var core = require('@salt-ds/core');
6
+ var styles = require('@salt-ds/styles');
7
+ var window = require('@salt-ds/window');
8
+ var clsx = require('clsx');
9
+ var computeScrollIntoView = require('compute-scroll-into-view');
10
+ var react = require('react');
11
+ var ReactDOM = require('react-dom');
12
+ var ToolbarContentNext = require('./ToolbarContentNext.js');
13
+ var ToolbarNextOverflow = require('./ToolbarNextOverflow.css.js');
14
+ var ToolbarNextOverflowFloatingBoundary = require('./ToolbarNextOverflowFloatingBoundary.js');
15
+ var toolbarNextKeyboardUtils = require('./toolbarNextKeyboardUtils.js');
16
+ var toolbarNextUtils = require('./toolbarNextUtils.js');
17
+ var useToolbarNextKeyboardNavigation = require('./useToolbarNextKeyboardNavigation.js');
18
+
19
+ const withBaseName = core.makePrefixer("saltToolbarNextOverflow");
20
+ const toolbarNextStatefulFocusRootSelector = [
21
+ ".saltComboBox-focused",
22
+ ".saltDateInput-focused",
23
+ ".saltInput-focused"
24
+ ].join(", ");
25
+ const toolbarNextOverflowFocusScrollRootSelector = [
26
+ ".saltComboBox",
27
+ ".saltDateInput",
28
+ ".saltDropdown",
29
+ ".saltInput",
30
+ ".saltSwitch"
31
+ ].join(", ");
32
+ function createToolbarNextFocusEvent(eventName, target, relatedTarget) {
33
+ var _a;
34
+ const FocusEventCtor = (_a = target.ownerDocument.defaultView) == null ? void 0 : _a.FocusEvent;
35
+ const eventInit = {
36
+ bubbles: eventName === "focusout",
37
+ relatedTarget
38
+ };
39
+ return FocusEventCtor ? new FocusEventCtor(eventName, eventInit) : new Event(eventName, eventInit);
40
+ }
41
+ function notifyToolbarNextReparentedFocusLoss(mountNode) {
42
+ const activeElement = mountNode.ownerDocument.activeElement;
43
+ if (mountNode.contains(activeElement)) {
44
+ return;
45
+ }
46
+ const staleFocusTargets = Array.from(
47
+ mountNode.querySelectorAll(
48
+ toolbarNextStatefulFocusRootSelector
49
+ )
50
+ ).map(
51
+ (root) => root.querySelector("input") ?? root.querySelector(toolbarNextKeyboardUtils.toolbarNextFocusableSelector)
52
+ ).filter((target) => target != null);
53
+ for (const target of staleFocusTargets) {
54
+ const relatedTarget = activeElement instanceof Element ? activeElement : null;
55
+ target.dispatchEvent(
56
+ createToolbarNextFocusEvent("blur", target, relatedTarget)
57
+ );
58
+ target.dispatchEvent(
59
+ createToolbarNextFocusEvent("focusout", target, relatedTarget)
60
+ );
61
+ }
62
+ }
63
+ function getToolbarNextOverflowFocusScrollTarget(target) {
64
+ const itemRoot = target.closest(`[${toolbarNextKeyboardUtils.TOOLBAR_NEXT_ITEM_ATTR}]`);
65
+ const controlRoot = target.closest(
66
+ toolbarNextOverflowFocusScrollRootSelector
67
+ );
68
+ return controlRoot && (itemRoot == null ? void 0 : itemRoot.contains(controlRoot)) ? controlRoot : target;
69
+ }
70
+ function getToolbarNextOverflowPanelInlinePadding(target) {
71
+ var _a;
72
+ const panelContent = target.closest(
73
+ `[${toolbarNextKeyboardUtils.TOOLBAR_NEXT_SCOPE_ROOT_ATTR}]`
74
+ );
75
+ const styles = (_a = panelContent == null ? void 0 : panelContent.ownerDocument.defaultView) == null ? void 0 : _a.getComputedStyle(panelContent);
76
+ return {
77
+ left: Number.parseFloat((styles == null ? void 0 : styles.paddingLeft) ?? "0") || 0,
78
+ right: Number.parseFloat((styles == null ? void 0 : styles.paddingRight) ?? "0") || 0
79
+ };
80
+ }
81
+ function scrollToolbarNextOverflowTargetIntoView(panel, target) {
82
+ if (!panel || !panel.contains(target)) {
83
+ return;
84
+ }
85
+ const scrollTarget = getToolbarNextOverflowFocusScrollTarget(target);
86
+ const actions = computeScrollIntoView.compute(scrollTarget, {
87
+ block: "nearest",
88
+ boundary: panel,
89
+ inline: "nearest",
90
+ scrollMode: "if-needed"
91
+ });
92
+ for (const { el, left, top } of actions) {
93
+ if (el === panel) {
94
+ const targetRect = scrollTarget.getBoundingClientRect();
95
+ const panelRect = panel.getBoundingClientRect();
96
+ const viewportLeft = panelRect.left + panel.clientLeft;
97
+ const viewportRight = viewportLeft + panel.clientWidth;
98
+ const padding = getToolbarNextOverflowPanelInlinePadding(scrollTarget);
99
+ const nextLeft = targetRect.left < viewportLeft + padding.left ? left - padding.left : targetRect.right > viewportRight - padding.right ? left + padding.right : left;
100
+ el.scrollLeft = Math.max(0, nextLeft);
101
+ } else {
102
+ el.scrollLeft = left;
103
+ }
104
+ el.scrollTop = top;
105
+ }
106
+ }
107
+ function canSeedOverflowFocusMemory(focusMemory, group) {
108
+ return (focusMemory == null ? void 0 : focusMemory.type) === "item" && group.items.some((item) => item.id === focusMemory.itemId);
109
+ }
110
+ function ToolbarNextOverflowItemOwner({
111
+ host,
112
+ item
113
+ }) {
114
+ const targetWindow = window.useWindow();
115
+ const [mountNode, setMountNode] = react.useState(null);
116
+ const mainToolbarTabIndexMemoryRef = react.useRef(
117
+ /* @__PURE__ */ new WeakMap()
118
+ );
119
+ const lastOverflowBoundaryKeyRef = react.useRef(null);
120
+ const currentOverflowBoundaryKey = ToolbarNextOverflowFloatingBoundary.getToolbarNextOverflowBoundaryKey(host);
121
+ if (host) {
122
+ lastOverflowBoundaryKeyRef.current = currentOverflowBoundaryKey;
123
+ }
124
+ const boundaryKey = host ? currentOverflowBoundaryKey : lastOverflowBoundaryKeyRef.current;
125
+ core.useIsomorphicLayoutEffect(() => {
126
+ const nextMountNode = targetWindow == null ? void 0 : targetWindow.document.createElement("div");
127
+ if (!nextMountNode) {
128
+ return;
129
+ }
130
+ nextMountNode.className = withBaseName("contentHost");
131
+ setMountNode(nextMountNode);
132
+ return () => {
133
+ var _a;
134
+ (_a = nextMountNode.parentElement) == null ? void 0 : _a.removeChild(nextMountNode);
135
+ };
136
+ }, [targetWindow]);
137
+ core.useIsomorphicLayoutEffect(() => {
138
+ var _a, _b;
139
+ if (!mountNode) {
140
+ return;
141
+ }
142
+ if (host) {
143
+ if (mountNode.parentElement !== host) {
144
+ host.appendChild(mountNode);
145
+ notifyToolbarNextReparentedFocusLoss(mountNode);
146
+ }
147
+ const isMainToolbarHost = ((_a = host.closest(`[${toolbarNextKeyboardUtils.TOOLBAR_NEXT_SCOPE_ROOT_ATTR}]`)) == null ? void 0 : _a.getAttribute(toolbarNextKeyboardUtils.TOOLBAR_NEXT_SCOPE_ROOT_ATTR)) === "main";
148
+ if (isMainToolbarHost) {
149
+ const focusableElements = Array.from(
150
+ mountNode.querySelectorAll(toolbarNextKeyboardUtils.toolbarNextFocusableSelector)
151
+ );
152
+ for (const element of focusableElements) {
153
+ const rememberedTabIndex = mainToolbarTabIndexMemoryRef.current.get(element);
154
+ if (rememberedTabIndex !== void 0) {
155
+ if (rememberedTabIndex == null) {
156
+ element.removeAttribute("tabindex");
157
+ } else {
158
+ element.setAttribute("tabindex", rememberedTabIndex);
159
+ }
160
+ }
161
+ }
162
+ for (const element of focusableElements) {
163
+ mainToolbarTabIndexMemoryRef.current.set(
164
+ element,
165
+ element.getAttribute("tabindex")
166
+ );
167
+ }
168
+ }
169
+ return;
170
+ }
171
+ notifyToolbarNextReparentedFocusLoss(mountNode);
172
+ (_b = mountNode.parentElement) == null ? void 0 : _b.removeChild(mountNode);
173
+ }, [host, mountNode]);
174
+ if (!mountNode) {
175
+ return null;
176
+ }
177
+ const clonedItem = react.cloneElement(
178
+ item.element,
179
+ {
180
+ [toolbarNextKeyboardUtils.TOOLBAR_NEXT_GROUP_KEY_ATTR]: item.overflowGroupKey,
181
+ [toolbarNextKeyboardUtils.TOOLBAR_NEXT_ITEM_ATTR]: item.id
182
+ }
183
+ );
184
+ const itemContent = /* @__PURE__ */ jsxRuntime.jsx(ToolbarNextOverflowFloatingBoundary.ToolbarNextOverflowFloatingComponentProvider, { boundaryKey, children: clonedItem });
185
+ return ReactDOM.createPortal(itemContent, mountNode);
186
+ }
187
+ function ToolbarNextOverflowOwners({
188
+ hostNodes,
189
+ items
190
+ }) {
191
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
192
+ ToolbarNextOverflowItemOwner,
193
+ {
194
+ host: hostNodes[item.id] ?? null,
195
+ item
196
+ },
197
+ item.id
198
+ )) });
199
+ }
200
+ function cloneDecorations(itemId, decorations, slot) {
201
+ return react.Children.toArray(decorations).flatMap((decoration) => {
202
+ if (!react.isValidElement(decoration)) {
203
+ return [];
204
+ }
205
+ return [
206
+ react.cloneElement(decoration, {
207
+ key: `${itemId}-${slot}-${String(
208
+ decoration.key ?? (typeof decoration.type === "string" ? decoration.type : "decoration")
209
+ )}`
210
+ })
211
+ ];
212
+ });
213
+ }
214
+ function ToolbarNextOverflowTriggerContent({
215
+ label,
216
+ named
217
+ }) {
218
+ const { OverflowIcon } = core.useIcon();
219
+ if (named) {
220
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: label });
221
+ }
222
+ return /* @__PURE__ */ jsxRuntime.jsx(OverflowIcon, { "aria-hidden": true });
223
+ }
224
+ function getOverflowTriggerLabel(group) {
225
+ return group.named ? `${group.label} overflow. Hidden controls.` : "Overflow. Hidden controls.";
226
+ }
227
+ function ToolbarNextOverflowMenu({
228
+ focusMemoryRef,
229
+ getItemHostRef,
230
+ group,
231
+ onItemFocus
232
+ }) {
233
+ var _a, _b;
234
+ const panelId = core.useId();
235
+ const [open, setOpen] = react.useState(false);
236
+ const triggerRef = react.useRef(null);
237
+ const panelRef = react.useRef(null);
238
+ const panelContentRef = react.useRef(null);
239
+ const [panelContentNode, setPanelContentNode] = react.useState(null);
240
+ const wasOpenRef = react.useRef(false);
241
+ const focusedOpenPanelRef = react.useRef(false);
242
+ const openModalityRef = react.useRef(null);
243
+ const floatingBoundary = ToolbarNextOverflowFloatingBoundary.useToolbarNextOverflowFloatingBoundary();
244
+ const {
245
+ focusEntryTarget,
246
+ handleScopeBlur,
247
+ handleScopeFocus,
248
+ handleScopeKeyDown,
249
+ handleScopePointerDown,
250
+ rememberedFocusRef
251
+ } = useToolbarNextKeyboardNavigation.useToolbarNextKeyboardNavigation({
252
+ includeTabIndexMinusOne: true,
253
+ items: group.items,
254
+ scopeRef: panelContentRef
255
+ });
256
+ const { refs, x, y, strategy, context, elements } = core.useFloatingUI({
257
+ open,
258
+ onOpenChange(nextOpen, _, reason) {
259
+ setOpen(nextOpen);
260
+ if (!nextOpen) {
261
+ openModalityRef.current = null;
262
+ }
263
+ if (!nextOpen && reason === "escape-key") {
264
+ toolbarNextKeyboardUtils.scheduleToolbarNextFocus(triggerRef.current);
265
+ }
266
+ },
267
+ placement: "bottom-end",
268
+ middleware: [
269
+ react$1.offset(1),
270
+ react$1.size({
271
+ apply({ elements: elements2, availableHeight }) {
272
+ Object.assign(elements2.floating.style, {
273
+ maxHeight: `${availableHeight}px`
274
+ });
275
+ }
276
+ }),
277
+ react$1.flip(),
278
+ react$1.shift({
279
+ padding: 8
280
+ })
281
+ ]
282
+ });
283
+ const { getFloatingProps, getReferenceProps } = react$1.useInteractions([
284
+ react$1.useClick(context),
285
+ react$1.useDismiss(context, {
286
+ escapeKey: false,
287
+ outsidePress(event) {
288
+ return !ToolbarNextOverflowFloatingBoundary.isTargetInsideOverflowBoundary(
289
+ panelContentRef.current,
290
+ floatingBoundary,
291
+ group.key,
292
+ event.target
293
+ );
294
+ }
295
+ })
296
+ ]);
297
+ const handleTriggerKeyDown = react.useCallback(
298
+ (event) => {
299
+ if (!open && ["Enter", " "].includes(event.key)) {
300
+ event.preventDefault();
301
+ openModalityRef.current = "keyboard";
302
+ setOpen(true);
303
+ return;
304
+ }
305
+ if (open && event.key === "Escape") {
306
+ event.preventDefault();
307
+ setOpen(false);
308
+ toolbarNextKeyboardUtils.scheduleToolbarNextFocus(triggerRef.current);
309
+ }
310
+ },
311
+ [open]
312
+ );
313
+ const handleTriggerPointerDown = react.useCallback(
314
+ (event) => {
315
+ if (!open && event.button === 0) {
316
+ openModalityRef.current = "pointer";
317
+ }
318
+ },
319
+ [open]
320
+ );
321
+ const handleTriggerMouseDown = react.useCallback(
322
+ (event) => {
323
+ if (!open && event.button === 0) {
324
+ openModalityRef.current = "pointer";
325
+ }
326
+ },
327
+ [open]
328
+ );
329
+ const handlePanelKeyDown = react.useCallback((event) => {
330
+ var _a2;
331
+ if (event.key === "Tab") {
332
+ const panelContent = panelContentRef.current;
333
+ const target = event.target;
334
+ if (panelContent && target instanceof HTMLElement && toolbarNextKeyboardUtils.shouldToolbarNextPreserveNativeTab(target)) {
335
+ const focusableElements = toolbarNextKeyboardUtils.getDocumentFocusableElements(
336
+ panelContent.ownerDocument
337
+ );
338
+ const currentIndex = focusableElements.indexOf(target);
339
+ const nextFocusTarget = focusableElements[currentIndex + (event.shiftKey ? -1 : 1)];
340
+ if (currentIndex !== -1 && nextFocusTarget && panelContent.contains(nextFocusTarget)) {
341
+ return;
342
+ }
343
+ }
344
+ }
345
+ if (event.key === "Tab" && !event.shiftKey) {
346
+ const toolbarRoot = (_a2 = triggerRef.current) == null ? void 0 : _a2.closest(
347
+ `[${toolbarNextKeyboardUtils.TOOLBAR_NEXT_SCOPE_ROOT_ATTR}]`
348
+ );
349
+ const nextFocusTarget = toolbarRoot ? toolbarNextKeyboardUtils.getToolbarNextTabMoveTarget(toolbarRoot, false) : null;
350
+ if (nextFocusTarget) {
351
+ event.preventDefault();
352
+ event.stopPropagation();
353
+ setOpen(false);
354
+ toolbarNextKeyboardUtils.scheduleToolbarNextFocus(nextFocusTarget);
355
+ }
356
+ return;
357
+ }
358
+ if (event.key === "Tab" && event.shiftKey) {
359
+ event.preventDefault();
360
+ event.stopPropagation();
361
+ setOpen(false);
362
+ toolbarNextKeyboardUtils.scheduleToolbarNextFocus(triggerRef.current);
363
+ return;
364
+ }
365
+ if (event.key === "Escape") {
366
+ event.preventDefault();
367
+ event.stopPropagation();
368
+ setOpen(false);
369
+ toolbarNextKeyboardUtils.scheduleToolbarNextFocus(triggerRef.current);
370
+ }
371
+ }, []);
372
+ const handleTriggerRef = core.useForkRef(
373
+ triggerRef,
374
+ refs.setReference
375
+ );
376
+ const handlePanelRef = core.useForkRef(panelRef, refs.setFloating);
377
+ const handlePanelContentRef = core.useForkRef(
378
+ panelContentRef,
379
+ setPanelContentNode
380
+ );
381
+ const handlePanelFocus = react.useCallback(
382
+ (event) => {
383
+ handleScopeFocus(event);
384
+ const panelContent = panelContentRef.current;
385
+ const target = event.target;
386
+ if (!panelContent || !(target instanceof HTMLElement)) {
387
+ return;
388
+ }
389
+ const focusMemory = toolbarNextKeyboardUtils.getToolbarNextFocusMemory(panelContent, target, {
390
+ includeTabIndexMinusOne: true
391
+ });
392
+ if ((focusMemory == null ? void 0 : focusMemory.type) !== "item") {
393
+ return;
394
+ }
395
+ scrollToolbarNextOverflowTargetIntoView(panelRef.current, target);
396
+ onItemFocus == null ? void 0 : onItemFocus(focusMemory.itemId, focusMemory.controlIndex);
397
+ },
398
+ [handleScopeFocus, onItemFocus]
399
+ );
400
+ const { Component: FloatingComponent } = core.useFloatingComponent();
401
+ react.useEffect(() => {
402
+ if (open && !wasOpenRef.current) {
403
+ const externalFocusMemory = focusMemoryRef == null ? void 0 : focusMemoryRef.current;
404
+ if (canSeedOverflowFocusMemory(externalFocusMemory, group)) {
405
+ rememberedFocusRef.current = externalFocusMemory;
406
+ }
407
+ if (openModalityRef.current !== "pointer") {
408
+ focusEntryTarget();
409
+ }
410
+ }
411
+ wasOpenRef.current = open;
412
+ }, [focusEntryTarget, focusMemoryRef, group, open, rememberedFocusRef]);
413
+ react.useEffect(() => {
414
+ if (!open || !panelContentNode) {
415
+ return;
416
+ }
417
+ const handleFocusIn = (event) => {
418
+ handlePanelFocus(event);
419
+ };
420
+ const handleFocusOut = (event) => {
421
+ if (ToolbarNextOverflowFloatingBoundary.isTargetInsideOverflowBoundary(
422
+ panelContentRef.current,
423
+ floatingBoundary,
424
+ group.key,
425
+ event.relatedTarget
426
+ )) {
427
+ return;
428
+ }
429
+ handleScopeBlur(event);
430
+ };
431
+ const handleKeyDownCapture = (event) => {
432
+ handleScopeKeyDown(event);
433
+ };
434
+ const handlePointerDownCapture = (event) => {
435
+ handleScopePointerDown(event);
436
+ };
437
+ const handleKeyDown = (event) => {
438
+ if (!event.defaultPrevented) {
439
+ handlePanelKeyDown(event);
440
+ }
441
+ };
442
+ panelContentNode.addEventListener("focusin", handleFocusIn);
443
+ panelContentNode.addEventListener("focusout", handleFocusOut);
444
+ panelContentNode.addEventListener("keydown", handleKeyDownCapture, true);
445
+ panelContentNode.addEventListener(
446
+ "pointerdown",
447
+ handlePointerDownCapture,
448
+ true
449
+ );
450
+ panelContentNode.addEventListener("keydown", handleKeyDown);
451
+ return () => {
452
+ panelContentNode.removeEventListener("focusin", handleFocusIn);
453
+ panelContentNode.removeEventListener("focusout", handleFocusOut);
454
+ panelContentNode.removeEventListener(
455
+ "keydown",
456
+ handleKeyDownCapture,
457
+ true
458
+ );
459
+ panelContentNode.removeEventListener(
460
+ "pointerdown",
461
+ handlePointerDownCapture,
462
+ true
463
+ );
464
+ panelContentNode.removeEventListener("keydown", handleKeyDown);
465
+ };
466
+ }, [
467
+ handlePanelFocus,
468
+ handlePanelKeyDown,
469
+ handleScopeBlur,
470
+ handleScopeKeyDown,
471
+ handleScopePointerDown,
472
+ floatingBoundary,
473
+ group.key,
474
+ open,
475
+ panelContentNode
476
+ ]);
477
+ core.useIsomorphicLayoutEffect(() => {
478
+ if (!open) {
479
+ focusedOpenPanelRef.current = false;
480
+ return;
481
+ }
482
+ if (!panelContentNode || focusedOpenPanelRef.current || openModalityRef.current === "pointer") {
483
+ return;
484
+ }
485
+ const getPanelFocusables = () => toolbarNextKeyboardUtils.getToolbarNextScopeFocusableElements(panelContentNode, {
486
+ includeTabIndexMinusOne: true
487
+ });
488
+ const focusEntryWhenReady = () => {
489
+ const panelFocusables = getPanelFocusables();
490
+ if (panelFocusables.length === 0) {
491
+ return false;
492
+ }
493
+ focusedOpenPanelRef.current = true;
494
+ focusEntryTarget();
495
+ return true;
496
+ };
497
+ if (focusEntryWhenReady()) {
498
+ return;
499
+ }
500
+ const panelWindow = panelContentNode.ownerDocument.defaultView;
501
+ const mutationObserverCtor = panelWindow == null ? void 0 : panelWindow.MutationObserver;
502
+ const resizeObserverCtor = panelWindow == null ? void 0 : panelWindow.ResizeObserver;
503
+ let mutationObserver = null;
504
+ let resizeObserver = null;
505
+ mutationObserver = mutationObserverCtor != null ? new mutationObserverCtor(() => {
506
+ if (focusEntryWhenReady()) {
507
+ mutationObserver == null ? void 0 : mutationObserver.disconnect();
508
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
509
+ }
510
+ }) : null;
511
+ resizeObserver = resizeObserverCtor != null ? new resizeObserverCtor(() => {
512
+ if (focusEntryWhenReady()) {
513
+ mutationObserver == null ? void 0 : mutationObserver.disconnect();
514
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
515
+ }
516
+ }) : null;
517
+ mutationObserver == null ? void 0 : mutationObserver.observe(panelContentNode, {
518
+ childList: true,
519
+ subtree: true
520
+ });
521
+ resizeObserver == null ? void 0 : resizeObserver.observe(panelContentNode);
522
+ return () => {
523
+ mutationObserver == null ? void 0 : mutationObserver.disconnect();
524
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
525
+ };
526
+ }, [focusEntryTarget, open, panelContentNode]);
527
+ return /* @__PURE__ */ jsxRuntime.jsxs(
528
+ "div",
529
+ {
530
+ className: withBaseName("menu"),
531
+ "data-overflowgroup": group.overflowGroup,
532
+ children: [
533
+ /* @__PURE__ */ jsxRuntime.jsx(
534
+ core.Button,
535
+ {
536
+ appearance: "transparent",
537
+ "aria-controls": panelId,
538
+ "aria-expanded": open,
539
+ "aria-label": getOverflowTriggerLabel(group),
540
+ className: withBaseName("trigger"),
541
+ ...{
542
+ [toolbarNextKeyboardUtils.TOOLBAR_NEXT_GROUP_KEY_ATTR]: group.key,
543
+ [toolbarNextKeyboardUtils.TOOLBAR_NEXT_OVERFLOW_TRIGGER_ATTR]: ""
544
+ },
545
+ ...getReferenceProps({
546
+ onKeyDown: handleTriggerKeyDown,
547
+ onMouseDown: handleTriggerMouseDown,
548
+ onPointerDown: handleTriggerPointerDown
549
+ }),
550
+ ref: handleTriggerRef,
551
+ sentiment: "neutral",
552
+ children: /* @__PURE__ */ jsxRuntime.jsx(
553
+ ToolbarNextOverflowTriggerContent,
554
+ {
555
+ label: group.label,
556
+ named: group.named
557
+ }
558
+ )
559
+ }
560
+ ),
561
+ /* @__PURE__ */ jsxRuntime.jsx(
562
+ FloatingComponent,
563
+ {
564
+ ...getFloatingProps({
565
+ role: "presentation"
566
+ }),
567
+ className: withBaseName("panel"),
568
+ focusManagerProps: context ? {
569
+ context,
570
+ initialFocus: -1,
571
+ returnFocus: false,
572
+ modal: false,
573
+ closeOnFocusOut: false
574
+ } : void 0,
575
+ id: panelId,
576
+ left: x ?? 0,
577
+ open,
578
+ position: strategy,
579
+ ref: handlePanelRef,
580
+ top: y ?? 0,
581
+ width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
582
+ height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight,
583
+ children: /* @__PURE__ */ jsxRuntime.jsx(
584
+ "div",
585
+ {
586
+ "aria-label": `${group.label} overflow`,
587
+ "aria-orientation": "horizontal",
588
+ className: withBaseName("panelContent"),
589
+ ...{ [toolbarNextKeyboardUtils.TOOLBAR_NEXT_SCOPE_ROOT_ATTR]: group.key },
590
+ role: "toolbar",
591
+ ref: handlePanelContentRef,
592
+ children: group.items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
593
+ "div",
594
+ {
595
+ className: withBaseName("panelItem"),
596
+ children: [
597
+ index > 0 && item.leadingDecorations.length > 0 && cloneDecorations(item.id, item.leadingDecorations, "leading"),
598
+ /* @__PURE__ */ jsxRuntime.jsx(
599
+ "div",
600
+ {
601
+ className: withBaseName("itemHost"),
602
+ ref: open ? getItemHostRef(item.id, "overflow") : null
603
+ }
604
+ ),
605
+ cloneDecorations(item.id, item.trailingDecorations, "trailing")
606
+ ]
607
+ },
608
+ `${group.id}-${item.id}`
609
+ ))
610
+ }
611
+ )
612
+ }
613
+ )
614
+ ]
615
+ }
616
+ );
617
+ }
618
+ function ToolbarNextOverflowContent({
619
+ content,
620
+ focusMemoryRef,
621
+ getItemHostRef,
622
+ getItemRef,
623
+ getNamedTriggerRef,
624
+ getContentRef,
625
+ onItemFocus,
626
+ overflowGroups,
627
+ overflowedIds
628
+ }) {
629
+ const targetWindow = window.useWindow();
630
+ styles.useComponentCssInjection({
631
+ testId: "salt-toolbar-next-overflow",
632
+ css: ToolbarNextOverflow,
633
+ window: targetWindow
634
+ });
635
+ const { className, ...contentProps } = content.props;
636
+ const handleContentRef = core.useForkRef(content.ref, getContentRef(content.key));
637
+ const overflowGroupByKey = new Map(
638
+ overflowGroups.map((group) => [group.key, group])
639
+ );
640
+ const renderSlots = toolbarNextUtils.buildContentOverflowRenderSlots(
641
+ content.items,
642
+ overflowedIds,
643
+ new Set(overflowGroups.map((group) => group.key))
644
+ );
645
+ return /* @__PURE__ */ jsxRuntime.jsx(
646
+ ToolbarContentNext.ToolbarContentNext,
647
+ {
648
+ ...contentProps,
649
+ "data-implicit": content.implicit || void 0,
650
+ className: clsx.clsx(className, withBaseName("content")),
651
+ position: content.position,
652
+ ref: handleContentRef,
653
+ children: renderSlots.map(
654
+ ({
655
+ item,
656
+ overflowed,
657
+ showLeadingDecorations,
658
+ showTrailingDecorations,
659
+ triggerGroupKey
660
+ }) => {
661
+ const triggerGroup = triggerGroupKey != null ? overflowGroupByKey.get(triggerGroupKey) : void 0;
662
+ return /* @__PURE__ */ jsxRuntime.jsxs(
663
+ "div",
664
+ {
665
+ className: withBaseName("slot"),
666
+ "data-align": item.align,
667
+ "data-priority": item.overflowPriority,
668
+ ref: triggerGroup ? getNamedTriggerRef(item.id) : getItemRef(item.id),
669
+ children: [
670
+ showLeadingDecorations ? cloneDecorations(item.id, item.leadingDecorations, "leading") : null,
671
+ !overflowed ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("item"), children: /* @__PURE__ */ jsxRuntime.jsx(
672
+ "div",
673
+ {
674
+ className: withBaseName("itemHost"),
675
+ ref: getItemHostRef(item.id, "main")
676
+ }
677
+ ) }) : null,
678
+ triggerGroup ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("item"), children: /* @__PURE__ */ jsxRuntime.jsx(
679
+ ToolbarNextOverflowMenu,
680
+ {
681
+ focusMemoryRef,
682
+ getItemHostRef,
683
+ group: triggerGroup,
684
+ onItemFocus
685
+ }
686
+ ) }) : null,
687
+ showTrailingDecorations ? cloneDecorations(
688
+ item.id,
689
+ item.trailingDecorations,
690
+ "trailing"
691
+ ) : null
692
+ ]
693
+ },
694
+ triggerGroup ? `${content.key}-${triggerGroup.id}-anchor-${item.id}` : item.id
695
+ );
696
+ }
697
+ )
698
+ }
699
+ );
700
+ }
701
+
702
+ exports.ToolbarNextOverflowContent = ToolbarNextOverflowContent;
703
+ exports.ToolbarNextOverflowMenu = ToolbarNextOverflowMenu;
704
+ exports.ToolbarNextOverflowOwners = ToolbarNextOverflowOwners;
705
+ exports.ToolbarNextOverflowTriggerContent = ToolbarNextOverflowTriggerContent;
706
+ //# sourceMappingURL=ToolbarNextOverflow.js.map