@elliemae/ds-global-header 2.2.1 → 2.3.0-alpha.4

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 (105) hide show
  1. package/cjs/GlobalHeader.js +55 -35
  2. package/cjs/GlobalHeader.js.map +7 -0
  3. package/cjs/GlobalHeaderContainer.js +40 -23
  4. package/cjs/GlobalHeaderContainer.js.map +7 -0
  5. package/cjs/GlobalHeaderContext.js +39 -13
  6. package/cjs/GlobalHeaderContext.js.map +7 -0
  7. package/cjs/GlobalHeaderTypes.js +27 -2
  8. package/cjs/GlobalHeaderTypes.js.map +7 -0
  9. package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +59 -59
  10. package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
  11. package/cjs/components/Breadcrumb/PureBreadcrumb.js +50 -59
  12. package/cjs/components/Breadcrumb/PureBreadcrumb.js.map +7 -0
  13. package/cjs/components/Breadcrumb/styles.js +82 -58
  14. package/cjs/components/Breadcrumb/styles.js.map +7 -0
  15. package/cjs/components/Title/GlobalHeaderTitle.js +43 -24
  16. package/cjs/components/Title/GlobalHeaderTitle.js.map +7 -0
  17. package/cjs/components/Toolbar/GlobalHeaderToolbar.js +41 -22
  18. package/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +7 -0
  19. package/cjs/components/Toolbar/ToolbarItems.js +83 -94
  20. package/cjs/components/Toolbar/ToolbarItems.js.map +7 -0
  21. package/cjs/components/Toolbar/styles.js +60 -24
  22. package/cjs/components/Toolbar/styles.js.map +7 -0
  23. package/cjs/config/useGetPropsWithDefaults.js +42 -30
  24. package/cjs/config/useGetPropsWithDefaults.js.map +7 -0
  25. package/cjs/config/useGlobalHeader.js +44 -30
  26. package/cjs/config/useGlobalHeader.js.map +7 -0
  27. package/cjs/config/useValidateProps.js +81 -64
  28. package/cjs/config/useValidateProps.js.map +7 -0
  29. package/cjs/config/validateHelpers.js +95 -41
  30. package/cjs/config/validateHelpers.js.map +7 -0
  31. package/cjs/defaultProps.js +34 -7
  32. package/cjs/defaultProps.js.map +7 -0
  33. package/cjs/index.js +36 -11
  34. package/cjs/index.js.map +7 -0
  35. package/cjs/outOfTheBox/AppPicker/AppPicker.js +83 -90
  36. package/cjs/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
  37. package/cjs/outOfTheBox/PopupMenu/PopupMenu.js +70 -75
  38. package/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
  39. package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +76 -83
  40. package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +7 -0
  41. package/cjs/outOfTheBox/PopupMenu/styles.js +66 -31
  42. package/cjs/outOfTheBox/PopupMenu/styles.js.map +7 -0
  43. package/cjs/outOfTheBox/SearchToggle/SearchToggle.js +80 -85
  44. package/cjs/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
  45. package/cjs/outOfTheBox/SearchToggle/styles.js +76 -9
  46. package/cjs/outOfTheBox/SearchToggle/styles.js.map +7 -0
  47. package/cjs/outOfTheBox/index.js +30 -13
  48. package/cjs/outOfTheBox/index.js.map +7 -0
  49. package/cjs/propTypes.js +52 -25
  50. package/cjs/propTypes.js.map +7 -0
  51. package/cjs/styles.js +42 -20
  52. package/cjs/styles.js.map +7 -0
  53. package/esm/GlobalHeader.js +21 -21
  54. package/esm/GlobalHeader.js.map +7 -0
  55. package/esm/GlobalHeaderContainer.js +11 -15
  56. package/esm/GlobalHeaderContainer.js.map +7 -0
  57. package/esm/GlobalHeaderContext.js +9 -8
  58. package/esm/GlobalHeaderContext.js.map +7 -0
  59. package/esm/GlobalHeaderTypes.js +2 -1
  60. package/esm/GlobalHeaderTypes.js.map +7 -0
  61. package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +26 -45
  62. package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
  63. package/esm/components/Breadcrumb/PureBreadcrumb.js +22 -49
  64. package/esm/components/Breadcrumb/PureBreadcrumb.js.map +7 -0
  65. package/esm/components/Breadcrumb/styles.js +54 -48
  66. package/esm/components/Breadcrumb/styles.js.map +7 -0
  67. package/esm/components/Title/GlobalHeaderTitle.js +13 -15
  68. package/esm/components/Title/GlobalHeaderTitle.js.map +7 -0
  69. package/esm/components/Toolbar/GlobalHeaderToolbar.js +12 -14
  70. package/esm/components/Toolbar/GlobalHeaderToolbar.js.map +7 -0
  71. package/esm/components/Toolbar/ToolbarItems.js +53 -83
  72. package/esm/components/Toolbar/ToolbarItems.js.map +7 -0
  73. package/esm/components/Toolbar/styles.js +32 -17
  74. package/esm/components/Toolbar/styles.js.map +7 -0
  75. package/esm/config/useGetPropsWithDefaults.js +13 -22
  76. package/esm/config/useGetPropsWithDefaults.js.map +7 -0
  77. package/esm/config/useGlobalHeader.js +12 -19
  78. package/esm/config/useGlobalHeader.js.map +7 -0
  79. package/esm/config/useValidateProps.js +58 -58
  80. package/esm/config/useValidateProps.js.map +7 -0
  81. package/esm/config/validateHelpers.js +66 -28
  82. package/esm/config/validateHelpers.js.map +7 -0
  83. package/esm/defaultProps.js +5 -3
  84. package/esm/defaultProps.js.map +7 -0
  85. package/esm/index.js +7 -1
  86. package/esm/index.js.map +7 -0
  87. package/esm/outOfTheBox/AppPicker/AppPicker.js +50 -76
  88. package/esm/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
  89. package/esm/outOfTheBox/PopupMenu/PopupMenu.js +37 -61
  90. package/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
  91. package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +45 -71
  92. package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +7 -0
  93. package/esm/outOfTheBox/PopupMenu/styles.js +38 -21
  94. package/esm/outOfTheBox/PopupMenu/styles.js.map +7 -0
  95. package/esm/outOfTheBox/SearchToggle/SearchToggle.js +46 -70
  96. package/esm/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
  97. package/esm/outOfTheBox/SearchToggle/styles.js +51 -5
  98. package/esm/outOfTheBox/SearchToggle/styles.js.map +7 -0
  99. package/esm/outOfTheBox/index.js +5 -3
  100. package/esm/outOfTheBox/index.js.map +7 -0
  101. package/esm/propTypes.js +21 -17
  102. package/esm/propTypes.js.map +7 -0
  103. package/esm/styles.js +14 -13
  104. package/esm/styles.js.map +7 -0
  105. package/package.json +7 -7
package/cjs/index.js CHANGED
@@ -1,11 +1,36 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var GlobalHeader = require('./GlobalHeader.js');
6
-
7
-
8
-
9
- exports.GlobalHeader = GlobalHeader.GlobalHeader;
10
- exports.GlobalHeaderWithSchema = GlobalHeader.GlobalHeaderWithSchema;
11
- exports["default"] = GlobalHeader.GlobalHeader;
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var src_exports = {};
29
+ __export(src_exports, {
30
+ default: () => import_GlobalHeader.GlobalHeader
31
+ });
32
+ var React = __toESM(require("react"));
33
+ __reExport(src_exports, require("./GlobalHeader"));
34
+ var import_GlobalHeader = require("./GlobalHeader");
35
+ module.exports = __toCommonJS(src_exports);
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export * from './GlobalHeader';\nexport { GlobalHeader as default } from './GlobalHeader';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc;AACd,0BAAwC;",
6
+ "names": []
7
+ }
@@ -1,47 +1,49 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var _jsx = require('@babel/runtime/helpers/jsx');
7
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
- require('core-js/modules/web.dom-collections.iterator.js');
9
- require('core-js/modules/esnext.async-iterator.filter.js');
10
- require('core-js/modules/esnext.iterator.constructor.js');
11
- require('core-js/modules/esnext.iterator.filter.js');
12
- require('core-js/modules/esnext.async-iterator.for-each.js');
13
- require('core-js/modules/esnext.iterator.for-each.js');
14
- var React = require('react');
15
- var dsAppPicker = require('@elliemae/ds-app-picker');
16
- var dsUtilities = require('@elliemae/ds-utilities');
17
- var dsIcons = require('@elliemae/ds-icons');
18
- var styles = require('../../components/Toolbar/styles.js');
19
- var dsPropsHelpers = require('@elliemae/ds-props-helpers');
20
- var jsxRuntime = require('react/jsx-runtime');
21
-
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
-
24
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
26
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
27
-
28
- var _MenuPicker;
29
-
30
- const _excluded = ["label", "id", "componentProps"];
31
-
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
-
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
- const AppPicker = _ref => {
36
- let {
37
- label,
38
- id,
39
- componentProps
40
- } = _ref,
41
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
42
-
43
- const [isOpen, setIsOpen] = React.useState(false);
44
- const buttonRef = React.useRef(null);
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var AppPicker_exports = {};
29
+ __export(AppPicker_exports, {
30
+ AppPicker: () => AppPicker
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_ds_app_picker = require("@elliemae/ds-app-picker");
35
+ var import_ds_utilities = require("@elliemae/ds-utilities");
36
+ var import_ds_icons = require("@elliemae/ds-icons");
37
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
38
+ var import_styles = require("../../components/Toolbar/styles");
39
+ const AppPicker = ({
40
+ label,
41
+ id,
42
+ componentProps,
43
+ ...otherProps
44
+ }) => {
45
+ const [isOpen, setIsOpen] = (0, import_react.useState)(false);
46
+ const buttonRef = (0, import_react.useRef)(null);
45
47
  const {
46
48
  apps,
47
49
  icon,
@@ -57,61 +59,52 @@ const AppPicker = _ref => {
57
59
  triggerRef,
58
60
  triggerOnClick
59
61
  } = componentProps;
60
- const handleTriggerKeyDown = React.useCallback(e => {
61
- if (e.code === 'Enter' || e.code === 'Space') {
62
+ const handleTriggerKeyDown = (0, import_react.useCallback)((e) => {
63
+ if (e.code === "Enter" || e.code === "Space") {
62
64
  setIsOpen(true);
63
65
  }
64
66
  }, []);
65
- const handleAppPickerOnKeyDown = React.useCallback(e => {
66
- if (e.code === 'Escape') {
67
- var _buttonRef$current;
68
-
67
+ const handleAppPickerOnKeyDown = (0, import_react.useCallback)((e) => {
68
+ if (e.code === "Escape") {
69
69
  setIsOpen(false);
70
- buttonRef === null || buttonRef === void 0 ? void 0 : (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
70
+ buttonRef?.current?.focus();
71
71
  }
72
72
  }, []);
73
- const handleOnClickOutside = React.useCallback(() => {
73
+ const handleOnClickOutside = (0, import_react.useCallback)(() => {
74
74
  setIsOpen(false);
75
75
  }, []);
76
- const handleOnClick = React.useCallback(() => {
76
+ const handleOnClick = (0, import_react.useCallback)(() => {
77
77
  setIsOpen(true);
78
78
  }, []);
79
- const renderTrigger = React.useMemo(() => _ref2 => {
80
- let {
81
- ref
82
- } = _ref2;
83
- return /*#__PURE__*/jsxRuntime.jsx("div", {
84
- ref: ref,
85
- children: /*#__PURE__*/jsxRuntime.jsx(styles.Button, _objectSpread(_objectSpread({
86
- onClick: triggerOnClick !== null && triggerOnClick !== void 0 ? triggerOnClick : handleOnClick,
87
- onKeyDown: handleTriggerKeyDown,
88
- ref: dsUtilities.mergeRefs(buttonRef, triggerRef),
89
- title: label,
90
- "data-testid": "gh-toolbar-item",
91
- id: id
92
- }, dsPropsHelpers.getDataProps(otherProps)), {}, {
93
- children: _MenuPicker || (_MenuPicker = /*#__PURE__*/_jsx__default["default"](dsIcons.MenuPicker, {
94
- fill: "#FFF",
95
- width: 20.73,
96
- height: 20.73
97
- }))
98
- }))
99
- });
100
- }, [triggerOnClick, handleOnClick, handleTriggerKeyDown, triggerRef, label, id, otherProps]);
101
- return /*#__PURE__*/_jsx__default["default"](dsAppPicker.DSAppPicker, {
102
- apps: apps,
103
- customApps: customApps,
104
- sectionTitle: sectionTitle,
105
- customSectionTitle: customSectionTitle,
106
- icon: icon,
107
- onKeyDown: userOnKeyDown !== null && userOnKeyDown !== void 0 ? userOnKeyDown : handleAppPickerOnKeyDown,
108
- actionRef: actionRef,
109
- onClickOutside: userOnClickOutside !== null && userOnClickOutside !== void 0 ? userOnClickOutside : handleOnClickOutside,
110
- renderTrigger: userRenderTrigger !== null && userRenderTrigger !== void 0 ? userRenderTrigger : renderTrigger,
111
- isOpen: userIsOpen !== null && userIsOpen !== void 0 ? userIsOpen : isOpen,
112
- onClose: onClose,
113
- triggerRef: triggerRef
79
+ const renderTrigger = (0, import_react.useMemo)(() => ({ ref }) => /* @__PURE__ */ import_react.default.createElement("div", {
80
+ ref
81
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.Button, {
82
+ onClick: triggerOnClick ?? handleOnClick,
83
+ onKeyDown: handleTriggerKeyDown,
84
+ ref: (0, import_ds_utilities.mergeRefs)(buttonRef, triggerRef),
85
+ title: label,
86
+ "data-testid": "gh-toolbar-item",
87
+ id,
88
+ ...(0, import_ds_props_helpers.getDataProps)(otherProps)
89
+ }, /* @__PURE__ */ import_react.default.createElement(import_ds_icons.MenuPicker, {
90
+ fill: "#FFF",
91
+ width: 20.73,
92
+ height: 20.73
93
+ }))), [triggerOnClick, handleOnClick, handleTriggerKeyDown, triggerRef, label, id, otherProps]);
94
+ return /* @__PURE__ */ import_react.default.createElement(import_ds_app_picker.DSAppPicker, {
95
+ apps,
96
+ customApps,
97
+ sectionTitle,
98
+ customSectionTitle,
99
+ icon,
100
+ onKeyDown: userOnKeyDown ?? handleAppPickerOnKeyDown,
101
+ actionRef,
102
+ onClickOutside: userOnClickOutside ?? handleOnClickOutside,
103
+ renderTrigger: userRenderTrigger ?? renderTrigger,
104
+ isOpen: userIsOpen ?? isOpen,
105
+ onClose,
106
+ triggerRef
114
107
  });
115
108
  };
116
-
117
- exports.AppPicker = AppPicker;
109
+ module.exports = __toCommonJS(AppPicker_exports);
110
+ //# sourceMappingURL=AppPicker.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/outOfTheBox/AppPicker/AppPicker.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport { getDataProps } from '@elliemae/ds-props-helpers';\nimport { Button } from '../../components/Toolbar/styles';\n\ntype AppPickerProps = React.ComponentProps<typeof DSAppPicker>;\n\nexport const AppPicker = ({\n label,\n id,\n componentProps,\n ...otherProps\n}: AppPickerProps & {\n label: string;\n triggerOnClick?: React.MouseEventHandler;\n}): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const buttonRef = 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 handleTriggerKeyDown: React.KeyboardEventHandler = useCallback((e) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown: AppPickerProps['onKeyDown'] = useCallback((e) => {\n if (e.code === 'Escape') {\n setIsOpen(false);\n buttonRef?.current?.focus();\n }\n }, []);\n\n const handleOnClickOutside: AppPickerProps['onClickOutside'] = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick: React.MouseEventHandler = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const renderTrigger: AppPickerProps['renderTrigger'] = useMemo(\n () =>\n ({ ref }) =>\n (\n <div ref={ref}>\n <Button\n onClick={triggerOnClick ?? handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={mergeRefs(buttonRef, triggerRef)}\n title={label}\n data-testid=\"gh-toolbar-item\"\n id={id}\n {...getDataProps(otherProps)}\n >\n <MenuPicker fill=\"#FFF\" width={20.73} height={20.73} />\n </Button>\n </div>\n ),\n [triggerOnClick, handleOnClick, handleTriggerKeyDown, triggerRef, label, id, otherProps],\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={userRenderTrigger ?? renderTrigger}\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;ACAA,YAAuB;ADAvB,mBAA8D;AAC9D,2BAA4B;AAC5B,0BAA0B;AAC1B,sBAA2B;AAC3B,8BAA6B;AAC7B,oBAAuB;AAIhB,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,KACG;AAAA,MAIc;AACjB,QAAM,CAAC,QAAQ,aAAa,2BAAkB;AAC9C,QAAM,YAAY,yBAA0B;AAE5C,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,uBAAmD,8BAAY,CAAC,MAAM;AAC1E,QAAI,EAAE,SAAS,WAAW,EAAE,SAAS,SAAS;AAC5C,gBAAU;AAAA;AAAA,KAEX;AAEH,QAAM,2BAAwD,8BAAY,CAAC,MAAM;AAC/E,QAAI,EAAE,SAAS,UAAU;AACvB,gBAAU;AACV,iBAAW,SAAS;AAAA;AAAA,KAErB;AAEH,QAAM,uBAAyD,8BAAY,MAAM;AAC/E,cAAU;AAAA,KACT;AAEH,QAAM,gBAAyC,8BAAY,MAAM;AAC/D,cAAU;AAAA,KACT;AAEH,QAAM,gBAAiD,0BACrD,MACE,CAAC,EAAE,UAEC,mDAAC,OAAD;AAAA,IAAK;AAAA,KACH,mDAAC,sBAAD;AAAA,IACE,SAAS,kBAAkB;AAAA,IAC3B,WAAW;AAAA,IACX,KAAK,mCAAU,WAAW;AAAA,IAC1B,OAAO;AAAA,IACP,eAAY;AAAA,IACZ;AAAA,OACI,0CAAa;AAAA,KAEjB,mDAAC,4BAAD;AAAA,IAAY,MAAK;AAAA,IAAO,OAAO;AAAA,IAAO,QAAQ;AAAA,QAIxD,CAAC,gBAAgB,eAAe,sBAAsB,YAAY,OAAO,IAAI;AAG/E,SACE,mDAAC,kCAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,iBAAiB;AAAA,IAC5B;AAAA,IACA,gBAAgB,sBAAsB;AAAA,IACtC,eAAe,qBAAqB;AAAA,IACpC,QAAQ,cAAc;AAAA,IACtB;AAAA,IACA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,48 +1,43 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var _jsx = require('@babel/runtime/helpers/jsx');
7
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
- require('core-js/modules/web.dom-collections.iterator.js');
9
- require('core-js/modules/esnext.async-iterator.filter.js');
10
- require('core-js/modules/esnext.iterator.constructor.js');
11
- require('core-js/modules/esnext.iterator.filter.js');
12
- require('core-js/modules/esnext.async-iterator.for-each.js');
13
- require('core-js/modules/esnext.iterator.for-each.js');
14
- var React = require('react');
15
- var dsPopperjs = require('@elliemae/ds-popperjs');
16
- var PopupMenuContent = require('./PopupMenuContent.js');
17
- var styles = require('../../components/Toolbar/styles.js');
18
- var dsPropsHelpers = require('@elliemae/ds-props-helpers');
19
- var jsxRuntime = require('react/jsx-runtime');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
25
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
26
-
27
- const _excluded = ["Icon", "title", "onClick", "id", "componentProps"];
28
-
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
-
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
- const PopupMenu = _ref => {
33
- var _PopupMenuContent;
34
-
35
- let {
36
- Icon,
37
- title,
38
- onClick,
39
- id,
40
- componentProps
41
- } = _ref,
42
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
43
-
44
- const [isOpen, setIsOpen] = React.useState(false);
45
- const [buttonRef, setButtonRef] = React.useState(null);
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var PopupMenu_exports = {};
29
+ __export(PopupMenu_exports, {
30
+ PopupMenu: () => PopupMenu
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react = __toESM(require("react"));
34
+ var import_ds_popperjs = require("@elliemae/ds-popperjs");
35
+ var import_PopupMenuContent = require("./PopupMenuContent");
36
+ var import_styles = require("../../components/Toolbar/styles");
37
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
38
+ const PopupMenu = ({ Icon, title, onClick, id, componentProps, ...otherProps }) => {
39
+ const [isOpen, setIsOpen] = (0, import_react.useState)(false);
40
+ const [buttonRef, setButtonRef] = (0, import_react.useState)(null);
46
41
  const {
47
42
  onClickOutside = () => null,
48
43
  onKeyPress,
@@ -51,51 +46,51 @@ const PopupMenu = _ref => {
51
46
  options,
52
47
  closeOnClick
53
48
  } = componentProps;
54
- const handleKeyPress = React.useCallback(e => {
55
- if (e.code === 'Enter' || e.code === 'Space') {
49
+ const handleKeyPress = (0, import_react.useCallback)((e) => {
50
+ if (e.code === "Enter" || e.code === "Space") {
56
51
  setIsOpen(true);
57
52
  }
58
-
59
- if (onKeyPress) onKeyPress(e);
53
+ if (onKeyPress)
54
+ onKeyPress(e);
60
55
  }, [onKeyPress]);
61
- const handleOnClose = React.useCallback(() => {
62
- if (userIsOpen === undefined) {
56
+ const handleOnClose = (0, import_react.useCallback)(() => {
57
+ if (userIsOpen === void 0) {
63
58
  setIsOpen(false);
64
59
  }
65
-
66
- buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.focus();
60
+ buttonRef?.focus();
67
61
  }, [buttonRef, userIsOpen]);
68
- const handleTriggerOnClick = React.useCallback(e => {
69
- if (userIsOpen === undefined) setIsOpen(true);
62
+ const handleTriggerOnClick = (0, import_react.useCallback)((e) => {
63
+ if (userIsOpen === void 0)
64
+ setIsOpen(true);
70
65
  onClick(e);
71
66
  }, [onClick, userIsOpen]);
72
- const handleItemClick = React.useCallback(() => {
73
- if (closeOnClick && userIsOpen === undefined) handleOnClose();
67
+ const handleItemClick = (0, import_react.useCallback)(() => {
68
+ if (closeOnClick && userIsOpen === void 0)
69
+ handleOnClose();
74
70
  }, [closeOnClick, handleOnClose, userIsOpen]);
75
- const content = React.useMemo(() => _PopupMenuContent || (_PopupMenuContent = /*#__PURE__*/_jsx__default["default"](PopupMenuContent.PopupMenuContent, {
76
- options: options,
71
+ const content = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement(import_PopupMenuContent.PopupMenuContent, {
72
+ options,
77
73
  onItemClick: handleItemClick,
78
74
  onClose: handleOnClose,
79
- popupOnKeyPress: popupOnKeyPress
80
- })), [options, handleItemClick, handleOnClose, popupOnKeyPress]);
81
- return /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, /*#__PURE__*/jsxRuntime.jsx(styles.Button, _objectSpread(_objectSpread({
75
+ popupOnKeyPress
76
+ }), [options, handleItemClick, handleOnClose, popupOnKeyPress]);
77
+ return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_styles.Button, {
82
78
  onClick: handleTriggerOnClick,
83
79
  onKeyPress: handleKeyPress,
84
- title: title,
80
+ title,
85
81
  ref: setButtonRef,
86
82
  "data-testid": "gh-toolbar-item",
87
- id: id
88
- }, dsPropsHelpers.getDataProps(otherProps)), {}, {
89
- children: Icon && /*#__PURE__*/_jsx__default["default"](Icon, {
90
- fill: "#FFF",
91
- size: "m"
92
- })
93
- })), /*#__PURE__*/_jsx__default["default"](dsPopperjs.DSPopperJS, {
83
+ id,
84
+ ...(0, import_ds_props_helpers.getDataProps)(otherProps)
85
+ }, Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
86
+ fill: "#FFF",
87
+ size: "m"
88
+ })), /* @__PURE__ */ import_react.default.createElement(import_ds_popperjs.DSPopperJS, {
94
89
  referenceElement: buttonRef,
95
- showPopover: userIsOpen !== null && userIsOpen !== void 0 ? userIsOpen : isOpen,
90
+ showPopover: userIsOpen ?? isOpen,
96
91
  closeContextMenu: handleOnClose,
97
- onClickOutside: onClickOutside
98
- }, void 0, content));
92
+ onClickOutside
93
+ }, content));
99
94
  };
100
-
101
- exports.PopupMenu = PopupMenu;
95
+ module.exports = __toCommonJS(PopupMenu_exports);
96
+ //# sourceMappingURL=PopupMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/outOfTheBox/PopupMenu/PopupMenu.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useState, useCallback, useMemo } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { PopupMenuContent } from './PopupMenuContent';\nimport { Button } from '../../components/Toolbar/styles';\nimport { getDataProps } from '@elliemae/ds-props-helpers';\nimport type { PopupPropsT as Props } from '../../GlobalHeaderTypes';\n\nexport const PopupMenu = ({ Icon, title, onClick, id, componentProps, ...otherProps }: Props): 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 handleKeyPress = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.code === 'Enter' || e.code === 'Space') {\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) => {\n if (userIsOpen === undefined) setIsOpen(true);\n 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 content = useMemo(\n () => (\n <PopupMenuContent\n options={options}\n onItemClick={handleItemClick}\n onClose={handleOnClose}\n popupOnKeyPress={popupOnKeyPress}\n />\n ),\n [options, handleItemClick, handleOnClose, popupOnKeyPress],\n );\n\n return (\n <div>\n <Button\n onClick={handleTriggerOnClick}\n onKeyPress={handleKeyPress}\n title={title}\n ref={setButtonRef}\n data-testid=\"gh-toolbar-item\"\n id={id}\n {...getDataProps(otherProps)}\n >\n {Icon && <Icon fill=\"#FFF\" size=\"m\" />}\n </Button>\n <DSPopperJS\n referenceElement={buttonRef}\n showPopover={userIsOpen ?? isOpen}\n closeContextMenu={handleOnClose}\n onClickOutside={onClickOutside}\n >\n {content}\n </DSPopperJS>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAsD;AACtD,yBAA2B;AAC3B,8BAAiC;AACjC,oBAAuB;AACvB,8BAA6B;AAGtB,MAAM,YAAY,CAAC,EAAE,MAAM,OAAO,SAAS,IAAI,mBAAmB,iBAAqC;AAC5G,QAAM,CAAC,QAAQ,aAAa,2BAAkB;AAC9C,QAAM,CAAC,WAAW,gBAAgB,2BAAmC;AAErE,QAAM;AAAA,IACJ,iBAAiB,MAAM;AAAA,IACvB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,iBAAiB,8BACrB,CAAC,MAA2B;AAC1B,QAAI,EAAE,SAAS,WAAW,EAAE,SAAS,SAAS;AAC5C,gBAAU;AAAA;AAEZ,QAAI;AAAY,iBAAW;AAAA,KAE7B,CAAC;AAGH,QAAM,gBAAgB,8BAAY,MAAM;AACtC,QAAI,eAAe,QAAW;AAC5B,gBAAU;AAAA;AAEZ,eAAW;AAAA,KACV,CAAC,WAAW;AAEf,QAAM,uBAAuB,8BAC3B,CAAC,MAAM;AACL,QAAI,eAAe;AAAW,gBAAU;AACxC,YAAQ;AAAA,KAEV,CAAC,SAAS;AAGZ,QAAM,kBAAkB,8BAAY,MAAM;AACxC,QAAI,gBAAgB,eAAe;AAAW;AAAA,KAC7C,CAAC,cAAc,eAAe;AAEjC,QAAM,UAAU,0BACd,MACE,mDAAC,0CAAD;AAAA,IACE;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,IACT;AAAA,MAGJ,CAAC,SAAS,iBAAiB,eAAe;AAG5C,SACE,mDAAC,OAAD,MACE,mDAAC,sBAAD;AAAA,IACE,SAAS;AAAA,IACT,YAAY;AAAA,IACZ;AAAA,IACA,KAAK;AAAA,IACL,eAAY;AAAA,IACZ;AAAA,OACI,0CAAa;AAAA,KAEhB,QAAQ,mDAAC,MAAD;AAAA,IAAM,MAAK;AAAA,IAAO,MAAK;AAAA,OAElC,mDAAC,+BAAD;AAAA,IACE,kBAAkB;AAAA,IAClB,aAAa,cAAc;AAAA,IAC3B,kBAAkB;AAAA,IAClB;AAAA,KAEC;AAAA;",
6
+ "names": []
7
+ }