@elliemae/ds-global-header 3.0.0-next.9 → 3.0.1

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 (194) hide show
  1. package/dist/cjs/DSGlobalHeader.js +61 -0
  2. package/dist/cjs/DSGlobalHeader.js.map +7 -0
  3. package/dist/cjs/DSGlobalHeaderContext.js +30 -0
  4. package/dist/cjs/DSGlobalHeaderContext.js.map +7 -0
  5. package/dist/cjs/config/useGlobalHeader.js +15 -23
  6. package/dist/cjs/config/useGlobalHeader.js.map +2 -2
  7. package/dist/cjs/config/useValidateProps.js +9 -29
  8. package/dist/cjs/config/useValidateProps.js.map +2 -2
  9. package/dist/cjs/config/validateHelpers.js +9 -16
  10. package/dist/cjs/config/validateHelpers.js.map +2 -2
  11. package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js +58 -0
  12. package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js.map +7 -0
  13. package/dist/cjs/exported-related/index.js +23 -0
  14. package/dist/cjs/exported-related/index.js.map +7 -0
  15. package/dist/cjs/exported-related/theming.js +60 -0
  16. package/dist/cjs/exported-related/theming.js.map +7 -0
  17. package/dist/cjs/index.js +14 -19
  18. package/dist/cjs/index.js.map +3 -3
  19. package/dist/cjs/parts/Breadcrumb/GlobalHeaderBreadcrumb.js +96 -0
  20. package/dist/cjs/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
  21. package/dist/cjs/{components → parts}/Breadcrumb/PureBreadcrumb.js +39 -26
  22. package/dist/cjs/parts/Breadcrumb/PureBreadcrumb.js.map +7 -0
  23. package/dist/cjs/parts/Breadcrumb/styles.js +101 -0
  24. package/dist/cjs/parts/Breadcrumb/styles.js.map +7 -0
  25. package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +65 -0
  26. package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +7 -0
  27. package/dist/cjs/parts/GlobalHeaderContainer.js +56 -0
  28. package/dist/cjs/parts/GlobalHeaderContainer.js.map +7 -0
  29. package/dist/cjs/parts/Logo/GlobalHeaderLogo.js +43 -0
  30. package/dist/cjs/parts/Logo/GlobalHeaderLogo.js.map +7 -0
  31. package/dist/cjs/parts/Logo/styles.js +31 -0
  32. package/dist/cjs/parts/Logo/styles.js.map +7 -0
  33. package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js +160 -0
  34. package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js.map +7 -0
  35. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/AppPicker/AppPicker.js +36 -37
  36. package/dist/cjs/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
  37. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/PopupMenu/PopupMenu.js +54 -38
  38. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
  39. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +123 -0
  40. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +7 -0
  41. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js +66 -0
  42. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +7 -0
  43. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +74 -0
  44. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +7 -0
  45. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/SearchToggle.js +54 -41
  46. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
  47. package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/styles.js +16 -20
  48. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +7 -0
  49. package/dist/cjs/parts/Toolbar/outOfTheBox/index.js +24 -0
  50. package/dist/cjs/parts/Toolbar/outOfTheBox/index.js.map +7 -0
  51. package/dist/cjs/parts/Toolbar/styles.js +40 -0
  52. package/dist/cjs/parts/Toolbar/styles.js.map +7 -0
  53. package/dist/cjs/parts/Toolbar/useGlobalHeaderToolbar.js +65 -0
  54. package/dist/cjs/parts/Toolbar/useGlobalHeaderToolbar.js.map +7 -0
  55. package/dist/cjs/parts/styles.js +68 -0
  56. package/dist/cjs/parts/styles.js.map +7 -0
  57. package/dist/cjs/react-desc-prop-types.js +76 -0
  58. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  59. package/dist/cjs/sharedTypes.js +20 -0
  60. package/dist/cjs/sharedTypes.js.map +7 -0
  61. package/dist/esm/DSGlobalHeader.js +39 -0
  62. package/dist/esm/DSGlobalHeader.js.map +7 -0
  63. package/dist/esm/DSGlobalHeaderContext.js +8 -0
  64. package/dist/esm/DSGlobalHeaderContext.js.map +7 -0
  65. package/dist/esm/config/useGlobalHeader.js +6 -7
  66. package/dist/esm/config/useGlobalHeader.js.map +2 -2
  67. package/dist/esm/config/useValidateProps.js +0 -13
  68. package/dist/esm/config/useValidateProps.js.map +2 -2
  69. package/dist/esm/config/validateHelpers.js.map +2 -2
  70. package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js +36 -0
  71. package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js.map +7 -0
  72. package/dist/esm/exported-related/index.js +4 -0
  73. package/dist/esm/exported-related/index.js.map +7 -0
  74. package/dist/esm/exported-related/theming.js +38 -0
  75. package/dist/esm/exported-related/theming.js.map +7 -0
  76. package/dist/esm/index.js +3 -2
  77. package/dist/esm/index.js.map +3 -3
  78. package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js +76 -0
  79. package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
  80. package/dist/esm/{components → parts}/Breadcrumb/PureBreadcrumb.js +31 -11
  81. package/dist/esm/parts/Breadcrumb/PureBreadcrumb.js.map +7 -0
  82. package/dist/esm/parts/Breadcrumb/styles.js +79 -0
  83. package/dist/esm/parts/Breadcrumb/styles.js.map +7 -0
  84. package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +43 -0
  85. package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +7 -0
  86. package/dist/esm/{config/useGetPropsWithDefaults.js → parts/GlobalHeaderContainer.js} +17 -8
  87. package/dist/esm/parts/GlobalHeaderContainer.js.map +7 -0
  88. package/dist/esm/parts/Logo/GlobalHeaderLogo.js +21 -0
  89. package/dist/esm/parts/Logo/GlobalHeaderLogo.js.map +7 -0
  90. package/dist/esm/parts/Logo/styles.js +9 -0
  91. package/dist/esm/parts/Logo/styles.js.map +7 -0
  92. package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js +140 -0
  93. package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js.map +7 -0
  94. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/AppPicker/AppPicker.js +29 -23
  95. package/dist/esm/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
  96. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/PopupMenu/PopupMenu.js +46 -23
  97. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
  98. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +103 -0
  99. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +7 -0
  100. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js +44 -0
  101. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +7 -0
  102. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +52 -0
  103. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +7 -0
  104. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/SearchToggle.js +45 -25
  105. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
  106. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/styles.js +7 -4
  107. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +7 -0
  108. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js +0 -0
  109. package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js.map +1 -1
  110. package/dist/esm/parts/Toolbar/styles.js +18 -0
  111. package/dist/esm/parts/Toolbar/styles.js.map +7 -0
  112. package/dist/esm/parts/Toolbar/useGlobalHeaderToolbar.js +43 -0
  113. package/dist/esm/parts/Toolbar/useGlobalHeaderToolbar.js.map +7 -0
  114. package/dist/esm/parts/styles.js +46 -0
  115. package/dist/esm/parts/styles.js.map +7 -0
  116. package/dist/esm/react-desc-prop-types.js +56 -0
  117. package/dist/esm/react-desc-prop-types.js.map +7 -0
  118. package/dist/esm/sharedTypes.js +2 -0
  119. package/dist/esm/{GlobalHeaderTypes.js.map → sharedTypes.js.map} +0 -0
  120. package/package.json +17 -17
  121. package/dist/cjs/GlobalHeader.js +0 -57
  122. package/dist/cjs/GlobalHeader.js.map +0 -7
  123. package/dist/cjs/GlobalHeaderContainer.js +0 -41
  124. package/dist/cjs/GlobalHeaderContainer.js.map +0 -7
  125. package/dist/cjs/GlobalHeaderContext.js +0 -46
  126. package/dist/cjs/GlobalHeaderContext.js.map +0 -7
  127. package/dist/cjs/GlobalHeaderTypes.js +0 -27
  128. package/dist/cjs/GlobalHeaderTypes.js.map +0 -7
  129. package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -110
  130. package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
  131. package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
  132. package/dist/cjs/components/Breadcrumb/styles.js +0 -83
  133. package/dist/cjs/components/Breadcrumb/styles.js.map +0 -7
  134. package/dist/cjs/components/Title/GlobalHeaderTitle.js +0 -48
  135. package/dist/cjs/components/Title/GlobalHeaderTitle.js.map +0 -7
  136. package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js +0 -49
  137. package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
  138. package/dist/cjs/components/Toolbar/ToolbarItems.js +0 -121
  139. package/dist/cjs/components/Toolbar/ToolbarItems.js.map +0 -7
  140. package/dist/cjs/components/Toolbar/styles.js +0 -61
  141. package/dist/cjs/components/Toolbar/styles.js.map +0 -7
  142. package/dist/cjs/config/useGetPropsWithDefaults.js +0 -54
  143. package/dist/cjs/config/useGetPropsWithDefaults.js.map +0 -7
  144. package/dist/cjs/defaultProps.js +0 -41
  145. package/dist/cjs/defaultProps.js.map +0 -7
  146. package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
  147. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
  148. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -97
  149. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
  150. package/dist/cjs/outOfTheBox/PopupMenu/styles.js +0 -67
  151. package/dist/cjs/outOfTheBox/PopupMenu/styles.js.map +0 -7
  152. package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
  153. package/dist/cjs/outOfTheBox/SearchToggle/styles.js.map +0 -7
  154. package/dist/cjs/outOfTheBox/index.js +0 -30
  155. package/dist/cjs/outOfTheBox/index.js.map +0 -7
  156. package/dist/cjs/propTypes.js +0 -56
  157. package/dist/cjs/propTypes.js.map +0 -7
  158. package/dist/cjs/styles.js +0 -43
  159. package/dist/cjs/styles.js.map +0 -7
  160. package/dist/esm/GlobalHeader.js +0 -28
  161. package/dist/esm/GlobalHeader.js.map +0 -7
  162. package/dist/esm/GlobalHeaderContainer.js +0 -12
  163. package/dist/esm/GlobalHeaderContainer.js.map +0 -7
  164. package/dist/esm/GlobalHeaderContext.js +0 -17
  165. package/dist/esm/GlobalHeaderContext.js.map +0 -7
  166. package/dist/esm/GlobalHeaderTypes.js +0 -2
  167. package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -83
  168. package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
  169. package/dist/esm/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
  170. package/dist/esm/components/Breadcrumb/styles.js +0 -54
  171. package/dist/esm/components/Breadcrumb/styles.js.map +0 -7
  172. package/dist/esm/components/Title/GlobalHeaderTitle.js +0 -19
  173. package/dist/esm/components/Title/GlobalHeaderTitle.js.map +0 -7
  174. package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js +0 -20
  175. package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
  176. package/dist/esm/components/Toolbar/ToolbarItems.js +0 -94
  177. package/dist/esm/components/Toolbar/ToolbarItems.js.map +0 -7
  178. package/dist/esm/components/Toolbar/styles.js +0 -32
  179. package/dist/esm/components/Toolbar/styles.js.map +0 -7
  180. package/dist/esm/config/useGetPropsWithDefaults.js.map +0 -7
  181. package/dist/esm/defaultProps.js +0 -12
  182. package/dist/esm/defaultProps.js.map +0 -7
  183. package/dist/esm/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
  184. package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
  185. package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -70
  186. package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
  187. package/dist/esm/outOfTheBox/PopupMenu/styles.js +0 -38
  188. package/dist/esm/outOfTheBox/PopupMenu/styles.js.map +0 -7
  189. package/dist/esm/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
  190. package/dist/esm/outOfTheBox/SearchToggle/styles.js.map +0 -7
  191. package/dist/esm/propTypes.js +0 -27
  192. package/dist/esm/propTypes.js.map +0 -7
  193. package/dist/esm/styles.js +0 -14
  194. package/dist/esm/styles.js.map +0 -7
@@ -0,0 +1,160 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ var __export = (target, all) => {
34
+ for (var name in all)
35
+ __defProp(target, name, { get: all[name], enumerable: true });
36
+ };
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
42
+ }
43
+ return to;
44
+ };
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
47
+ var GlobalHeaderToolbar_exports = {};
48
+ __export(GlobalHeaderToolbar_exports, {
49
+ GlobalHeaderToolbar: () => GlobalHeaderToolbar
50
+ });
51
+ module.exports = __toCommonJS(GlobalHeaderToolbar_exports);
52
+ var React = __toESM(require("react"));
53
+ var import_react = __toESM(require("react"));
54
+ var import_ds_utilities = require("@elliemae/ds-utilities");
55
+ var import_styles = require("./styles");
56
+ var import_outOfTheBox = require("./outOfTheBox");
57
+ var import_styles2 = require("../styles");
58
+ var import_DSGlobalHeaderContext = require("../../DSGlobalHeaderContext");
59
+ var import_exported_related = require("../../exported-related");
60
+ var import_useGlobalHeaderToolbar = require("./useGlobalHeaderToolbar");
61
+ const GlobalHeaderToolbar = () => {
62
+ const {
63
+ props: { toolbar },
64
+ instanceUID,
65
+ globalHeaderToolbarGrid
66
+ } = (0, import_react.useContext)(import_DSGlobalHeaderContext.DSGlobalHeaderContext);
67
+ const { listRef, setRef, keyboardNavigation } = (0, import_useGlobalHeaderToolbar.useGlobalHeaderToolbar)();
68
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledMenubarContainer, {
69
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.CONTAINER
70
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledList, {
71
+ height: "100%",
72
+ alignItems: "center",
73
+ justifyContent: "center",
74
+ gutter: "xxs",
75
+ cols: globalHeaderToolbarGrid,
76
+ role: "menubar",
77
+ forwardedAs: "ul",
78
+ onKeyDown: keyboardNavigation,
79
+ listRef,
80
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.LIST
81
+ }, toolbar.map((item, index) => {
82
+ const _a = item, {
83
+ Icon,
84
+ type,
85
+ onClick,
86
+ onKeyPress,
87
+ CustomComponent,
88
+ label,
89
+ id = "",
90
+ componentProps = {}
91
+ } = _a, otherProps = __objRest(_a, [
92
+ "Icon",
93
+ "type",
94
+ "onClick",
95
+ "onKeyPress",
96
+ "CustomComponent",
97
+ "label",
98
+ "id",
99
+ "componentProps"
100
+ ]);
101
+ switch (type) {
102
+ case "ds-popup-menu":
103
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledToolbarItem, {
104
+ key: `${instanceUID}-ds-toolbar-item-${label}`,
105
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM
106
+ }, /* @__PURE__ */ import_react.default.createElement(import_outOfTheBox.PopupMenu, __spreadValues({
107
+ title: label,
108
+ Icon,
109
+ onClick,
110
+ onKeyPress,
111
+ setRef: setRef(index),
112
+ id,
113
+ componentProps
114
+ }, otherProps)));
115
+ case "ds-app-picker":
116
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledToolbarItem, {
117
+ key: `${instanceUID}-ds-toolbar-item-${label}`,
118
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM
119
+ }, /* @__PURE__ */ import_react.default.createElement(import_outOfTheBox.AppPicker, __spreadValues({
120
+ label,
121
+ id,
122
+ setRef: setRef(index),
123
+ componentProps
124
+ }, otherProps)));
125
+ case "ds-search-toggle":
126
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledToolbarItem, {
127
+ key: `${instanceUID}-ds-toolbar-item-${label}`,
128
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM
129
+ }, /* @__PURE__ */ import_react.default.createElement(import_outOfTheBox.SearchToggle, __spreadValues({
130
+ id,
131
+ setRef: setRef(index),
132
+ componentProps
133
+ }, otherProps)));
134
+ case "custom":
135
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledToolbarItem, {
136
+ key: `${instanceUID}-ds-toolbar-item-${label}`,
137
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM
138
+ }, CustomComponent && /* @__PURE__ */ import_react.default.createElement(CustomComponent, {
139
+ item,
140
+ role: "menuitem",
141
+ setRef: setRef(index)
142
+ }));
143
+ default:
144
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledToolbarItem, {
145
+ key: `${instanceUID}-ds-toolbar-item-${label}`,
146
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM
147
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles2.StyledButton, __spreadValues({
148
+ onClick,
149
+ title: label,
150
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON,
151
+ id,
152
+ role: "menuitem",
153
+ ref: setRef(index)
154
+ }, (0, import_ds_utilities.getGlobalAttributes)(otherProps)), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
155
+ size: "m"
156
+ })));
157
+ }
158
+ })));
159
+ };
160
+ //# sourceMappingURL=GlobalHeaderToolbar.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Toolbar/GlobalHeaderToolbar.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getGlobalAttributes } from '@elliemae/ds-utilities';\nimport { StyledList, StyledMenubarContainer, StyledToolbarItem } from './styles';\nimport { AppPicker, PopupMenu, SearchToggle } from './outOfTheBox';\nimport { StyledButton } from '../styles';\nimport { DSGlobalHeaderContext } from '../../DSGlobalHeaderContext';\nimport { DSGlobalHeaderDatatestid } from '../../exported-related';\nimport { useGlobalHeaderToolbar } from './useGlobalHeaderToolbar';\nimport type { DSGlobalHeaderInternalsT } from '../../sharedTypes';\n\nexport const GlobalHeaderToolbar = (): JSX.Element => {\n const {\n props: { toolbar },\n instanceUID,\n globalHeaderToolbarGrid,\n } = useContext(DSGlobalHeaderContext);\n\n const { listRef, setRef, keyboardNavigation } = useGlobalHeaderToolbar();\n\n return (\n <StyledMenubarContainer data-testid={DSGlobalHeaderDatatestid.MENUBAR.CONTAINER}>\n <StyledList\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gutter=\"xxs\"\n cols={globalHeaderToolbarGrid}\n role=\"menubar\"\n forwardedAs=\"ul\"\n onKeyDown={keyboardNavigation}\n listRef={listRef}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.LIST}\n >\n {toolbar.map((item, index) => {\n const {\n Icon,\n type,\n onClick,\n onKeyPress,\n CustomComponent,\n label,\n id = '',\n componentProps = {},\n ...otherProps\n } = item;\n\n switch (type) {\n case 'ds-popup-menu':\n return (\n <StyledToolbarItem\n key={`${instanceUID}-ds-toolbar-item-${label}`}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM}\n >\n <PopupMenu\n title={label}\n Icon={Icon}\n onClick={onClick}\n onKeyPress={onKeyPress}\n setRef={setRef(index)}\n id={id}\n componentProps={componentProps as DSGlobalHeaderInternalsT.PopupMenuComponentProps}\n {...otherProps}\n />\n </StyledToolbarItem>\n );\n case 'ds-app-picker':\n return (\n <StyledToolbarItem\n key={`${instanceUID}-ds-toolbar-item-${label}`}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM}\n >\n <AppPicker\n label={label}\n id={id}\n setRef={setRef(index)}\n componentProps={componentProps as DSGlobalHeaderInternalsT.AppPickerComponentProps}\n {...otherProps}\n />\n </StyledToolbarItem>\n );\n case 'ds-search-toggle':\n return (\n <StyledToolbarItem\n key={`${instanceUID}-ds-toolbar-item-${label}`}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM}\n >\n <SearchToggle\n id={id}\n setRef={setRef(index)}\n componentProps={componentProps as DSGlobalHeaderInternalsT.ToggleSearchComponentProps}\n {...otherProps}\n />\n </StyledToolbarItem>\n );\n case 'custom':\n return (\n <StyledToolbarItem\n key={`${instanceUID}-ds-toolbar-item-${label}`}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM}\n >\n {CustomComponent && <CustomComponent item={item} role=\"menuitem\" setRef={setRef(index)} />}\n </StyledToolbarItem>\n );\n\n default:\n return (\n <StyledToolbarItem\n key={`${instanceUID}-ds-toolbar-item-${label}`}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM}\n >\n <StyledButton\n onClick={onClick}\n title={label}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n id={id}\n role=\"menuitem\"\n ref={setRef(index)}\n {...getGlobalAttributes(otherProps)}\n >\n {Icon && <Icon size=\"m\" />}\n </StyledButton>\n </StyledToolbarItem>\n );\n }\n })}\n </StyledList>\n </StyledMenubarContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,0BAAoC;AACpC,oBAAsE;AACtE,yBAAmD;AACnD,qBAA6B;AAC7B,mCAAsC;AACtC,8BAAyC;AACzC,oCAAuC;AAGhC,MAAM,sBAAsB,MAAmB;AACpD,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,IACA;AAAA,MACE,6BAAW,kDAAqB;AAEpC,QAAM,EAAE,SAAS,QAAQ,uBAAuB,0DAAuB;AAEvE,SACE,mDAAC;AAAA,IAAuB,eAAa,iDAAyB,QAAQ;AAAA,KACpE,mDAAC;AAAA,IACC,QAAO;AAAA,IACP,YAAW;AAAA,IACX,gBAAe;AAAA,IACf,QAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAK;AAAA,IACL,aAAY;AAAA,IACZ,WAAW;AAAA,IACX;AAAA,IACA,eAAa,iDAAyB,QAAQ;AAAA,KAE7C,QAAQ,IAAI,CAAC,MAAM,UAAU;AAC5B,UAUI,WATF;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL,iBAAiB,CAAC;AAAA,QAEhB,IADC,uBACD,IADC;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAIF,YAAQ;AAAA,WACD;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,+BAA+B;AAAA,UACvC,eAAa,iDAAyB,QAAQ;AAAA,WAE9C,mDAAC;AAAA,UACC,OAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ,OAAO,KAAK;AAAA,UACpB;AAAA,UACA;AAAA,WACI,WACN,CACF;AAAA,WAEC;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,+BAA+B;AAAA,UACvC,eAAa,iDAAyB,QAAQ;AAAA,WAE9C,mDAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA,QAAQ,OAAO,KAAK;AAAA,UACpB;AAAA,WACI,WACN,CACF;AAAA,WAEC;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,+BAA+B;AAAA,UACvC,eAAa,iDAAyB,QAAQ;AAAA,WAE9C,mDAAC;AAAA,UACC;AAAA,UACA,QAAQ,OAAO,KAAK;AAAA,UACpB;AAAA,WACI,WACN,CACF;AAAA,WAEC;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,+BAA+B;AAAA,UACvC,eAAa,iDAAyB,QAAQ;AAAA,WAE7C,mBAAmB,mDAAC;AAAA,UAAgB;AAAA,UAAY,MAAK;AAAA,UAAW,QAAQ,OAAO,KAAK;AAAA,SAAG,CAC1F;AAAA;AAIF,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,+BAA+B;AAAA,UACvC,eAAa,iDAAyB,QAAQ;AAAA,WAE9C,mDAAC;AAAA,UACC;AAAA,UACA,OAAO;AAAA,UACP,eAAa,iDAAyB,QAAQ;AAAA,UAC9C;AAAA,UACA,MAAK;AAAA,UACL,KAAK,OAAO,KAAK;AAAA,WACb,6CAAoB,UAAU,IAEjC,QAAQ,mDAAC;AAAA,UAAK,MAAK;AAAA,SAAI,CAC1B,CACF;AAAA;AAAA,EAGR,CAAC,CACH,CACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -18,7 +18,6 @@ var __spreadValues = (a, b) => {
18
18
  }
19
19
  return a;
20
20
  };
21
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
21
  var __objRest = (source, exclude) => {
23
22
  var target = {};
24
23
  for (var prop in source)
@@ -35,45 +34,42 @@ var __export = (target, all) => {
35
34
  for (var name in all)
36
35
  __defProp(target, name, { get: all[name], enumerable: true });
37
36
  };
38
- var __reExport = (target, module2, copyDefault, desc) => {
39
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
40
- for (let key of __getOwnPropNames(module2))
41
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
42
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
43
42
  }
44
- return target;
45
- };
46
- var __toESM = (module2, isNodeMode) => {
47
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
43
+ return to;
48
44
  };
49
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
50
- return (module2, temp) => {
51
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
52
- };
53
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
54
47
  var AppPicker_exports = {};
55
48
  __export(AppPicker_exports, {
56
49
  AppPicker: () => AppPicker
57
50
  });
51
+ module.exports = __toCommonJS(AppPicker_exports);
58
52
  var React = __toESM(require("react"));
59
53
  var import_react = __toESM(require("react"));
60
54
  var import_ds_app_picker = require("@elliemae/ds-app-picker");
61
55
  var import_ds_utilities = require("@elliemae/ds-utilities");
62
56
  var import_ds_icons = require("@elliemae/ds-icons");
63
- var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
64
- var import_styles = require("../../components/Toolbar/styles");
57
+ var import_styles = require("../../../styles");
58
+ var import_exported_related = require("../../../../exported-related");
65
59
  const AppPicker = (_a) => {
66
60
  var _b = _a, {
67
61
  label,
68
62
  id,
63
+ setRef,
69
64
  componentProps
70
65
  } = _b, otherProps = __objRest(_b, [
71
66
  "label",
72
67
  "id",
68
+ "setRef",
73
69
  "componentProps"
74
70
  ]);
75
71
  const [isOpen, setIsOpen] = (0, import_react.useState)(false);
76
- const buttonRef = (0, import_react.useRef)(null);
72
+ const internalTriggerRef = (0, import_react.useRef)(null);
77
73
  const {
78
74
  apps,
79
75
  icon,
@@ -89,15 +85,17 @@ const AppPicker = (_a) => {
89
85
  triggerRef,
90
86
  triggerOnClick
91
87
  } = componentProps;
88
+ const schedule = (0, import_ds_utilities.useCallbackAfterRender)();
89
+ const focusTrigger = (0, import_react.useCallback)(() => internalTriggerRef.current?.focus(), []);
92
90
  const handleTriggerKeyDown = (0, import_react.useCallback)((e) => {
93
- if (e.code === "Enter" || e.code === "Space") {
91
+ if (e.code === "Enter" || e.code === "Space" || e.code === "ArrowDown") {
94
92
  setIsOpen(true);
95
93
  }
96
94
  }, []);
97
95
  const handleAppPickerOnKeyDown = (0, import_react.useCallback)((e) => {
98
- if (e.code === "Escape") {
96
+ if (e.key === "Escape") {
99
97
  setIsOpen(false);
100
- buttonRef?.current?.focus();
98
+ schedule(focusTrigger);
101
99
  }
102
100
  }, []);
103
101
  const handleOnClickOutside = (0, import_react.useCallback)(() => {
@@ -106,20 +104,6 @@ const AppPicker = (_a) => {
106
104
  const handleOnClick = (0, import_react.useCallback)(() => {
107
105
  setIsOpen(true);
108
106
  }, []);
109
- const renderTrigger = (0, import_react.useMemo)(() => ({ ref }) => /* @__PURE__ */ import_react.default.createElement("div", {
110
- ref
111
- }, /* @__PURE__ */ import_react.default.createElement(import_styles.Button, __spreadValues({
112
- onClick: triggerOnClick ?? handleOnClick,
113
- onKeyDown: handleTriggerKeyDown,
114
- ref: (0, import_ds_utilities.mergeRefs)(buttonRef, triggerRef),
115
- title: label,
116
- "data-testid": "gh-toolbar-item",
117
- id
118
- }, (0, import_ds_props_helpers.getDataProps)(otherProps)), /* @__PURE__ */ import_react.default.createElement(import_ds_icons.MenuPicker, {
119
- fill: "#FFF",
120
- width: 20.73,
121
- height: 20.73
122
- }))), [triggerOnClick, handleOnClick, handleTriggerKeyDown, triggerRef, label, id, otherProps]);
123
107
  return /* @__PURE__ */ import_react.default.createElement(import_ds_app_picker.DSAppPicker, {
124
108
  apps,
125
109
  customApps,
@@ -129,11 +113,26 @@ const AppPicker = (_a) => {
129
113
  onKeyDown: userOnKeyDown ?? handleAppPickerOnKeyDown,
130
114
  actionRef,
131
115
  onClickOutside: userOnClickOutside ?? handleOnClickOutside,
132
- renderTrigger: userRenderTrigger ?? renderTrigger,
116
+ renderTrigger: userRenderTrigger || (({ ref }) => /* @__PURE__ */ import_react.default.createElement(import_styles.StyledButton, __spreadValues({
117
+ onClick: triggerOnClick ?? handleOnClick,
118
+ onKeyDown: handleTriggerKeyDown,
119
+ ref: (buttonRef) => {
120
+ setRef(buttonRef);
121
+ (0, import_ds_utilities.mergeRefs)(internalTriggerRef, triggerRef, ref)(buttonRef);
122
+ },
123
+ "aria-label": label,
124
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON,
125
+ role: "menuitem",
126
+ "aria-haspopup": true,
127
+ "aria-expanded": userIsOpen ?? isOpen,
128
+ id
129
+ }, (0, import_ds_utilities.getGlobalAttributes)(otherProps)), /* @__PURE__ */ import_react.default.createElement(import_ds_icons.MenuPicker, {
130
+ width: 20.73,
131
+ height: 20.73
132
+ }))),
133
133
  isOpen: userIsOpen ?? isOpen,
134
134
  onClose,
135
135
  triggerRef
136
136
  });
137
137
  };
138
- module.exports = __toCommonJS(AppPicker_exports);
139
138
  //# sourceMappingURL=AppPicker.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useRef, useCallback } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { mergeRefs, getGlobalAttributes, useCallbackAfterRender } from '@elliemae/ds-utilities';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const AppPicker = ({\n label,\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.AppPickerProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const internalTriggerRef = useRef<HTMLButtonElement>(null);\n\n const {\n apps,\n icon,\n customApps,\n sectionTitle,\n customSectionTitle,\n actionRef,\n isOpen: userIsOpen,\n onKeyDown: userOnKeyDown,\n onClickOutside: userOnClickOutside,\n renderTrigger: userRenderTrigger,\n onClose,\n triggerRef,\n triggerOnClick,\n } = componentProps;\n\n const schedule = useCallbackAfterRender();\n\n const focusTrigger = useCallback(() => internalTriggerRef.current?.focus(), []);\n\n const handleTriggerKeyDown: React.KeyboardEventHandler = useCallback((e) => {\n if (e.code === 'Enter' || e.code === 'Space' || e.code === 'ArrowDown') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n setIsOpen(false);\n schedule(focusTrigger);\n }\n }, []);\n\n const handleOnClickOutside = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick: React.MouseEventHandler = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n return (\n <DSAppPicker\n apps={apps}\n customApps={customApps}\n sectionTitle={sectionTitle}\n customSectionTitle={customSectionTitle}\n icon={icon}\n onKeyDown={userOnKeyDown ?? handleAppPickerOnKeyDown}\n actionRef={actionRef}\n onClickOutside={userOnClickOutside ?? handleOnClickOutside}\n renderTrigger={\n userRenderTrigger ||\n (({ ref }: { ref: React.MutableRefObject<HTMLButtonElement> }) => (\n <StyledButton\n onClick={triggerOnClick ?? handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={(buttonRef: HTMLButtonElement) => {\n setRef(buttonRef);\n mergeRefs(internalTriggerRef, triggerRef, ref)(buttonRef);\n }}\n aria-label={label}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n role=\"menuitem\"\n aria-haspopup\n aria-expanded={userIsOpen ?? isOpen}\n id={id}\n {...getGlobalAttributes(otherProps)}\n >\n <MenuPicker width={20.73} height={20.73} />\n </StyledButton>\n ))\n }\n isOpen={userIsOpen ?? isOpen}\n onClose={onClose}\n triggerRef={triggerRef}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqD;AACrD,2BAA4B;AAC5B,0BAAuE;AACvE,sBAA2B;AAC3B,oBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,YAAY,CAAC,OAMkC;AANlC,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAJwB,IAKrB,uBALqB,IAKrB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,qBAAqB,yBAA0B,IAAI;AAEzD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,WAAW,gDAAuB;AAExC,QAAM,eAAe,8BAAY,MAAM,mBAAmB,SAAS,MAAM,GAAG,CAAC,CAAC;AAE9E,QAAM,uBAAmD,8BAAY,CAAC,MAAM;AAC1E,QAAI,EAAE,SAAS,WAAW,EAAE,SAAS,WAAW,EAAE,SAAS,aAAa;AACtE,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,2BAA2B,8BAAY,CAAC,MAA2B;AACvE,QAAI,EAAE,QAAQ,UAAU;AACtB,gBAAU,KAAK;AACf,eAAS,YAAY;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,uBAAuB,8BAAY,MAAM;AAC7C,cAAU,KAAK;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAyC,8BAAY,MAAM;AAC/D,cAAU,IAAI;AAAA,EAChB,GAAG,CAAC,CAAC;AAEL,SACE,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,iBAAiB;AAAA,IAC5B;AAAA,IACA,gBAAgB,sBAAsB;AAAA,IACtC,eACE,qBACC,EAAC,EAAE,UACF,mDAAC;AAAA,MACC,SAAS,kBAAkB;AAAA,MAC3B,WAAW;AAAA,MACX,KAAK,CAAC,cAAiC;AACrC,eAAO,SAAS;AAChB,2CAAU,oBAAoB,YAAY,GAAG,EAAE,SAAS;AAAA,MAC1D;AAAA,MACA,cAAY;AAAA,MACZ,eAAa,iDAAyB,QAAQ;AAAA,MAC9C,MAAK;AAAA,MACL,iBAAa;AAAA,MACb,iBAAe,cAAc;AAAA,MAC7B;AAAA,OACI,6CAAoB,UAAU,IAElC,mDAAC;AAAA,MAAW,OAAO;AAAA,MAAO,QAAQ;AAAA,KAAO,CAC3C;AAAA,IAGJ,QAAQ,cAAc;AAAA,IACtB;AAAA,IACA;AAAA,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -18,7 +18,6 @@ var __spreadValues = (a, b) => {
18
18
  }
19
19
  return a;
20
20
  };
21
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
21
  var __objRest = (source, exclude) => {
23
22
  var target = {};
24
23
  for (var prop in source)
@@ -35,34 +34,44 @@ var __export = (target, all) => {
35
34
  for (var name in all)
36
35
  __defProp(target, name, { get: all[name], enumerable: true });
37
36
  };
38
- var __reExport = (target, module2, copyDefault, desc) => {
39
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
40
- for (let key of __getOwnPropNames(module2))
41
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
42
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
43
42
  }
44
- return target;
45
- };
46
- var __toESM = (module2, isNodeMode) => {
47
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
43
+ return to;
48
44
  };
49
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
50
- return (module2, temp) => {
51
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
52
- };
53
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
54
47
  var PopupMenu_exports = {};
55
48
  __export(PopupMenu_exports, {
56
49
  PopupMenu: () => PopupMenu
57
50
  });
51
+ module.exports = __toCommonJS(PopupMenu_exports);
58
52
  var React = __toESM(require("react"));
59
53
  var import_react = __toESM(require("react"));
54
+ var import_ds_utilities = require("@elliemae/ds-utilities");
60
55
  var import_ds_popperjs = require("@elliemae/ds-popperjs");
61
- var import_PopupMenuContent = require("./PopupMenuContent");
62
- var import_styles = require("../../components/Toolbar/styles");
63
- var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
56
+ var import_PopupMenuContent = require("./menuContent/PopupMenuContent");
57
+ var import_styles = require("../../../styles");
58
+ var import_exported_related = require("../../../../exported-related");
64
59
  const PopupMenu = (_a) => {
65
- var _b = _a, { Icon, title, onClick, id, componentProps } = _b, otherProps = __objRest(_b, ["Icon", "title", "onClick", "id", "componentProps"]);
60
+ var _b = _a, {
61
+ Icon,
62
+ title,
63
+ onClick,
64
+ id,
65
+ setRef,
66
+ componentProps
67
+ } = _b, otherProps = __objRest(_b, [
68
+ "Icon",
69
+ "title",
70
+ "onClick",
71
+ "id",
72
+ "setRef",
73
+ "componentProps"
74
+ ]);
66
75
  const [isOpen, setIsOpen] = (0, import_react.useState)(false);
67
76
  const [buttonRef, setButtonRef] = (0, import_react.useState)(null);
68
77
  const {
@@ -73,8 +82,8 @@ const PopupMenu = (_a) => {
73
82
  options,
74
83
  closeOnClick
75
84
  } = componentProps;
76
- const handleKeyPress = (0, import_react.useCallback)((e) => {
77
- if (e.code === "Enter" || e.code === "Space") {
85
+ const handleOnKeyDown = (0, import_react.useCallback)((e) => {
86
+ if (e.code === "ArrowDown") {
78
87
  setIsOpen(true);
79
88
  }
80
89
  if (onKeyPress)
@@ -89,34 +98,41 @@ const PopupMenu = (_a) => {
89
98
  const handleTriggerOnClick = (0, import_react.useCallback)((e) => {
90
99
  if (userIsOpen === void 0)
91
100
  setIsOpen(true);
92
- onClick(e);
101
+ if (onClick)
102
+ onClick(e);
93
103
  }, [onClick, userIsOpen]);
94
104
  const handleItemClick = (0, import_react.useCallback)(() => {
95
105
  if (closeOnClick && userIsOpen === void 0)
96
106
  handleOnClose();
97
107
  }, [closeOnClick, handleOnClose, userIsOpen]);
98
- const content = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement(import_PopupMenuContent.PopupMenuContent, {
99
- options,
100
- onItemClick: handleItemClick,
101
- onClose: handleOnClose,
102
- popupOnKeyPress
103
- }), [options, handleItemClick, handleOnClose, popupOnKeyPress]);
104
- return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_styles.Button, __spreadValues({
108
+ const handleRefs = (0, import_react.useCallback)((ref) => {
109
+ setRef(ref);
110
+ setButtonRef(ref);
111
+ }, []);
112
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledButton, __spreadValues({
105
113
  onClick: handleTriggerOnClick,
106
- onKeyPress: handleKeyPress,
107
- title,
108
- ref: setButtonRef,
109
- "data-testid": "gh-toolbar-item",
114
+ onKeyDown: handleOnKeyDown,
115
+ "aria-label": title,
116
+ ref: handleRefs,
117
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON,
118
+ role: "menuitem",
119
+ "aria-haspopup": true,
120
+ "aria-expanded": userIsOpen ?? isOpen,
110
121
  id
111
- }, (0, import_ds_props_helpers.getDataProps)(otherProps)), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
112
- fill: "#FFF",
122
+ }, (0, import_ds_utilities.useGetGlobalAttributes)(otherProps)), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
113
123
  size: "m"
114
124
  })), /* @__PURE__ */ import_react.default.createElement(import_ds_popperjs.DSPopperJS, {
115
125
  referenceElement: buttonRef,
116
126
  showPopover: userIsOpen ?? isOpen,
117
127
  closeContextMenu: handleOnClose,
118
- onClickOutside
119
- }, content));
128
+ onClickOutside,
129
+ withoutPortal: true
130
+ }, /* @__PURE__ */ import_react.default.createElement(import_PopupMenuContent.PopupMenuContent, {
131
+ options,
132
+ onItemClick: handleItemClick,
133
+ onClose: handleOnClose,
134
+ setIsOpen,
135
+ popupOnKeyPress
136
+ })));
120
137
  };
121
- module.exports = __toCommonJS(PopupMenu_exports);
122
138
  //# sourceMappingURL=PopupMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useCallback } from 'react';\nimport { useGetGlobalAttributes } from '@elliemae/ds-utilities';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { PopupMenuContent } from './menuContent/PopupMenuContent';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const PopupMenu = ({\n Icon,\n title,\n onClick,\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.PopupProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [buttonRef, setButtonRef] = useState<HTMLButtonElement | null>(null);\n\n const {\n onClickOutside = () => null,\n onKeyPress,\n popupOnKeyPress,\n isOpen: userIsOpen,\n options,\n closeOnClick,\n } = componentProps;\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.code === 'ArrowDown') {\n setIsOpen(true);\n }\n if (onKeyPress) onKeyPress(e);\n },\n [onKeyPress],\n );\n\n const handleOnClose = useCallback(() => {\n if (userIsOpen === undefined) {\n setIsOpen(false);\n }\n buttonRef?.focus();\n }, [buttonRef, userIsOpen]);\n\n const handleTriggerOnClick = useCallback(\n (e: React.MouseEvent) => {\n if (userIsOpen === undefined) setIsOpen(true);\n if (onClick) onClick(e);\n },\n [onClick, userIsOpen],\n );\n\n const handleItemClick = useCallback(() => {\n if (closeOnClick && userIsOpen === undefined) handleOnClose();\n }, [closeOnClick, handleOnClose, userIsOpen]);\n\n const handleRefs = useCallback((ref) => {\n setRef(ref);\n setButtonRef(ref);\n }, []);\n\n return (\n <>\n <StyledButton\n onClick={handleTriggerOnClick}\n onKeyDown={handleOnKeyDown}\n aria-label={title}\n ref={handleRefs}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n role=\"menuitem\"\n aria-haspopup\n aria-expanded={userIsOpen ?? isOpen}\n id={id}\n {...useGetGlobalAttributes(otherProps)}\n >\n {Icon && <Icon size=\"m\" />}\n </StyledButton>\n <DSPopperJS\n referenceElement={buttonRef}\n showPopover={userIsOpen ?? isOpen}\n closeContextMenu={handleOnClose}\n onClickOutside={onClickOutside}\n withoutPortal\n >\n <PopupMenuContent\n options={options}\n onItemClick={handleItemClick}\n onClose={handleOnClose}\n setIsOpen={setIsOpen}\n popupOnKeyPress={popupOnKeyPress}\n />\n </DSPopperJS>\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,0BAAuC;AACvC,yBAA2B;AAC3B,8BAAiC;AACjC,oBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,YAAY,CAAC,OAQ8B;AAR9B,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MANwB,IAOrB,uBAPqB,IAOrB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,CAAC,WAAW,gBAAgB,2BAAmC,IAAI;AAEzE,QAAM;AAAA,IACJ,iBAAiB,MAAM;AAAA,IACvB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,kBAAkB,8BACtB,CAAC,MAA2B;AAC1B,QAAI,EAAE,SAAS,aAAa;AAC1B,gBAAU,IAAI;AAAA,IAChB;AACA,QAAI;AAAY,iBAAW,CAAC;AAAA,EAC9B,GACA,CAAC,UAAU,CACb;AAEA,QAAM,gBAAgB,8BAAY,MAAM;AACtC,QAAI,eAAe,QAAW;AAC5B,gBAAU,KAAK;AAAA,IACjB;AACA,eAAW,MAAM;AAAA,EACnB,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,QAAM,uBAAuB,8BAC3B,CAAC,MAAwB;AACvB,QAAI,eAAe;AAAW,gBAAU,IAAI;AAC5C,QAAI;AAAS,cAAQ,CAAC;AAAA,EACxB,GACA,CAAC,SAAS,UAAU,CACtB;AAEA,QAAM,kBAAkB,8BAAY,MAAM;AACxC,QAAI,gBAAgB,eAAe;AAAW,oBAAc;AAAA,EAC9D,GAAG,CAAC,cAAc,eAAe,UAAU,CAAC;AAE5C,QAAM,aAAa,8BAAY,CAAC,QAAQ;AACtC,WAAO,GAAG;AACV,iBAAa,GAAG;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,SACE,wFACE,mDAAC;AAAA,IACC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAY;AAAA,IACZ,KAAK;AAAA,IACL,eAAa,iDAAyB,QAAQ;AAAA,IAC9C,MAAK;AAAA,IACL,iBAAa;AAAA,IACb,iBAAe,cAAc;AAAA,IAC7B;AAAA,KACI,gDAAuB,UAAU,IAEpC,QAAQ,mDAAC;AAAA,IAAK,MAAK;AAAA,GAAI,CAC1B,GACA,mDAAC;AAAA,IACC,kBAAkB;AAAA,IAClB,aAAa,cAAc;AAAA,IAC3B,kBAAkB;AAAA,IAClB;AAAA,IACA,eAAa;AAAA,KAEb,mDAAC;AAAA,IACC;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,IACT;AAAA,IACA;AAAA,GACF,CACF,CACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,123 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ var __export = (target, all) => {
34
+ for (var name in all)
35
+ __defProp(target, name, { get: all[name], enumerable: true });
36
+ };
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
42
+ }
43
+ return to;
44
+ };
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
47
+ var PopupMenuContent_exports = {};
48
+ __export(PopupMenuContent_exports, {
49
+ PopupMenuContent: () => PopupMenuContent
50
+ });
51
+ module.exports = __toCommonJS(PopupMenuContent_exports);
52
+ var React = __toESM(require("react"));
53
+ var import_react = __toESM(require("react"));
54
+ var import_ds_utilities = require("@elliemae/ds-utilities");
55
+ var import_styles = require("./styles");
56
+ var import_DSGlobalHeaderContext = require("../../../../../DSGlobalHeaderContext");
57
+ var import_exported_related = require("../../../../../exported-related");
58
+ var import_usePopupMenuContent = require("./usePopupMenuContent");
59
+ const PopupMenuContent = import_react.default.memo(({
60
+ options,
61
+ onItemClick,
62
+ onClose,
63
+ popupOnKeyPress,
64
+ setIsOpen
65
+ }) => {
66
+ const { instanceUID } = (0, import_react.useContext)(import_DSGlobalHeaderContext.DSGlobalHeaderContext);
67
+ const { menuRef, setRef, keyboardNavigation } = (0, import_usePopupMenuContent.usePopupMenuContent)({ setIsOpen });
68
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledList, {
69
+ ref: menuRef,
70
+ role: "menu",
71
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.LIST
72
+ }, options.map((option) => {
73
+ const _a = option, { type, Icon, label = "", onClick, Content, id } = _a, rest = __objRest(_a, ["type", "Icon", "label", "onClick", "Content", "id"]);
74
+ const globalAttrs = (0, import_ds_utilities.getGlobalAttributes)(rest);
75
+ const handleClick = (e) => {
76
+ onItemClick();
77
+ if (onClick)
78
+ onClick(e);
79
+ };
80
+ const handleKeyDown = (e) => {
81
+ keyboardNavigation(e);
82
+ if (e.code === "Escape")
83
+ onClose();
84
+ if (popupOnKeyPress)
85
+ popupOnKeyPress(e);
86
+ };
87
+ switch (type) {
88
+ case "separator":
89
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSeparator, __spreadValues({
90
+ key: `${instanceUID}-separator-${label}`,
91
+ role: "none",
92
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.SEPARATOR
93
+ }, globalAttrs));
94
+ case "custom":
95
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
96
+ key: `${instanceUID}-popup-${label}`,
97
+ role: "menuitem",
98
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM
99
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemButton, __spreadValues({
100
+ ref: setRef,
101
+ onClick: handleClick,
102
+ onKeyDown: handleKeyDown,
103
+ id,
104
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON
105
+ }, globalAttrs), Content && /* @__PURE__ */ import_react.default.createElement(Content, null)));
106
+ default:
107
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
108
+ key: `${instanceUID}-popup-${label}`,
109
+ role: "menuitem",
110
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM
111
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemButton, __spreadValues({
112
+ ref: setRef,
113
+ onClick: handleClick,
114
+ onKeyDown: handleKeyDown,
115
+ id,
116
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON
117
+ }, globalAttrs), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, null), label && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledLabel, {
118
+ "data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL
119
+ }, label)));
120
+ }
121
+ }));
122
+ });
123
+ //# sourceMappingURL=PopupMenuContent.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { getGlobalAttributes } from '@elliemae/ds-utilities';\nimport { StyledSeparator, StyledItemButton, StyledLabel, StyledList, StyledItemContainer } from './styles';\nimport { DSGlobalHeaderContext } from '../../../../../DSGlobalHeaderContext';\nimport { DSGlobalHeaderDatatestid } from '../../../../../exported-related';\nimport { usePopupMenuContent } from './usePopupMenuContent';\nimport type { DSGlobalHeaderInternalsT } from '../../../../../sharedTypes';\n\nexport const PopupMenuContent = React.memo(\n ({\n options,\n onItemClick,\n onClose,\n popupOnKeyPress,\n setIsOpen,\n }: DSGlobalHeaderInternalsT.PopupMenuContentProps): JSX.Element => {\n const { instanceUID } = useContext(DSGlobalHeaderContext);\n\n const { menuRef, setRef, keyboardNavigation } = usePopupMenuContent({ setIsOpen });\n\n return (\n <StyledList ref={menuRef} role=\"menu\" data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.LIST}>\n {options.map((option) => {\n const { type, Icon, label = '', onClick, Content, id, ...rest } = option;\n\n const globalAttrs = getGlobalAttributes(rest);\n\n const handleClick = (e: React.MouseEvent) => {\n onItemClick();\n if (onClick) onClick(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n keyboardNavigation(e);\n if (e.code === 'Escape') onClose();\n if (popupOnKeyPress) popupOnKeyPress(e);\n };\n\n switch (type) {\n case 'separator':\n return (\n <StyledSeparator\n key={`${instanceUID}-separator-${label}`}\n role=\"none\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.SEPARATOR}\n {...globalAttrs}\n />\n );\n case 'custom':\n return (\n <StyledItemContainer\n key={`${instanceUID}-popup-${label}`}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM}\n >\n <StyledItemButton\n ref={setRef}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n id={id}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON}\n {...globalAttrs}\n >\n {Content && <Content />}\n </StyledItemButton>\n </StyledItemContainer>\n );\n default:\n return (\n <StyledItemContainer\n key={`${instanceUID}-popup-${label}`}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM}\n >\n <StyledItemButton\n ref={setRef}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n id={id}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON}\n {...globalAttrs}\n >\n {Icon && <Icon />}\n {label && (\n <StyledLabel data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL}>\n {label}\n </StyledLabel>\n )}\n </StyledItemButton>\n </StyledItemContainer>\n );\n }\n })}\n </StyledList>\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,0BAAoC;AACpC,oBAAgG;AAChG,mCAAsC;AACtC,8BAAyC;AACzC,iCAAoC;AAG7B,MAAM,mBAAmB,qBAAM,KACpC,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACiE;AACjE,QAAM,EAAE,gBAAgB,6BAAW,kDAAqB;AAExD,QAAM,EAAE,SAAS,QAAQ,uBAAuB,oDAAoB,EAAE,UAAU,CAAC;AAEjF,SACE,mDAAC;AAAA,IAAW,KAAK;AAAA,IAAS,MAAK;AAAA,IAAO,eAAa,iDAAyB,QAAQ,WAAW;AAAA,KAC5F,QAAQ,IAAI,CAAC,WAAW;AACvB,UAAkE,aAA1D,QAAM,MAAM,QAAQ,IAAI,SAAS,SAAS,OAAgB,IAAT,iBAAS,IAAT,CAAjD,QAAM,QAAM,SAAY,WAAS,WAAS;AAElD,UAAM,cAAc,6CAAoB,IAAI;AAE5C,UAAM,cAAc,CAAC,MAAwB;AAC3C,kBAAY;AACZ,UAAI;AAAS,gBAAQ,CAAC;AAAA,IACxB;AAEA,UAAM,gBAAgB,CAAC,MAA2B;AAChD,yBAAmB,CAAC;AACpB,UAAI,EAAE,SAAS;AAAU,gBAAQ;AACjC,UAAI;AAAiB,wBAAgB,CAAC;AAAA,IACxC;AAEA,YAAQ;AAAA,WACD;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,yBAAyB;AAAA,UACjC,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,YACN;AAAA,WAEC;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,qBAAqB;AAAA,UAC7B,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WAEzD,mDAAC;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX;AAAA,UACA,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,cAEH,WAAW,mDAAC,aAAQ,CACvB,CACF;AAAA;AAGF,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,qBAAqB;AAAA,UAC7B,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WAEzD,mDAAC;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX;AAAA,UACA,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,cAEH,QAAQ,mDAAC,UAAK,GACd,SACC,mDAAC;AAAA,UAAY,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACnE,KACH,CAEJ,CACF;AAAA;AAAA,EAGR,CAAC,CACH;AAEJ,CACF;",
6
+ "names": []
7
+ }