@elliemae/ds-global-header 2.3.0-alpha.9 → 2.3.0-next.3

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 (182) hide show
  1. package/cjs/GlobalHeader.js +37 -0
  2. package/cjs/GlobalHeaderContainer.js +24 -0
  3. package/cjs/GlobalHeaderContext.js +20 -0
  4. package/cjs/GlobalHeaderTypes.js +2 -0
  5. package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +85 -0
  6. package/cjs/components/Breadcrumb/PureBreadcrumb.js +60 -0
  7. package/cjs/components/Breadcrumb/styles.js +59 -0
  8. package/cjs/components/Title/GlobalHeaderTitle.js +29 -0
  9. package/cjs/components/Toolbar/GlobalHeaderToolbar.js +30 -0
  10. package/cjs/components/Toolbar/ToolbarItems.js +107 -0
  11. package/cjs/components/Toolbar/styles.js +25 -0
  12. package/cjs/config/useGetPropsWithDefaults.js +31 -0
  13. package/cjs/config/useGlobalHeader.js +39 -0
  14. package/cjs/config/useValidateProps.js +92 -0
  15. package/cjs/config/validateHelpers.js +57 -0
  16. package/cjs/defaultProps.js +14 -0
  17. package/cjs/index.js +11 -0
  18. package/cjs/outOfTheBox/AppPicker/AppPicker.js +117 -0
  19. package/cjs/outOfTheBox/PopupMenu/PopupMenu.js +101 -0
  20. package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +96 -0
  21. package/cjs/outOfTheBox/PopupMenu/styles.js +32 -0
  22. package/cjs/outOfTheBox/SearchToggle/SearchToggle.js +113 -0
  23. package/cjs/outOfTheBox/SearchToggle/styles.js +15 -0
  24. package/cjs/outOfTheBox/index.js +13 -0
  25. package/cjs/propTypes.js +29 -0
  26. package/cjs/styles.js +21 -0
  27. package/esm/GlobalHeader.js +28 -0
  28. package/esm/GlobalHeaderContainer.js +16 -0
  29. package/esm/GlobalHeaderContext.js +16 -0
  30. package/esm/GlobalHeaderTypes.js +1 -0
  31. package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +75 -0
  32. package/esm/components/Breadcrumb/PureBreadcrumb.js +49 -0
  33. package/esm/components/Breadcrumb/styles.js +48 -0
  34. package/esm/components/Title/GlobalHeaderTitle.js +21 -0
  35. package/esm/components/Toolbar/GlobalHeaderToolbar.js +22 -0
  36. package/esm/components/Toolbar/ToolbarItems.js +97 -0
  37. package/esm/components/Toolbar/styles.js +17 -0
  38. package/esm/config/useGetPropsWithDefaults.js +23 -0
  39. package/esm/config/useGlobalHeader.js +31 -0
  40. package/esm/config/useValidateProps.js +88 -0
  41. package/esm/config/validateHelpers.js +44 -0
  42. package/{dist/esm → esm}/defaultProps.js +3 -5
  43. package/esm/index.js +1 -0
  44. package/esm/outOfTheBox/AppPicker/AppPicker.js +107 -0
  45. package/esm/outOfTheBox/PopupMenu/PopupMenu.js +91 -0
  46. package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +86 -0
  47. package/esm/outOfTheBox/PopupMenu/styles.js +21 -0
  48. package/esm/outOfTheBox/SearchToggle/SearchToggle.js +103 -0
  49. package/esm/outOfTheBox/SearchToggle/styles.js +7 -0
  50. package/esm/outOfTheBox/index.js +3 -0
  51. package/esm/propTypes.js +23 -0
  52. package/esm/styles.js +13 -0
  53. package/package.json +72 -76
  54. package/{dist/types → types}/GlobalHeader.d.ts +0 -0
  55. package/{dist/types → types}/GlobalHeaderContainer.d.ts +0 -0
  56. package/{dist/types → types}/GlobalHeaderContext.d.ts +0 -0
  57. package/{dist/types → types}/GlobalHeaderTypes.d.ts +0 -0
  58. package/{dist/types → types}/components/Breadcrumb/GlobalHeaderBreadcrumb.d.ts +0 -0
  59. package/{dist/types → types}/components/Breadcrumb/PureBreadcrumb.d.ts +0 -0
  60. package/{dist/types → types}/components/Breadcrumb/styles.d.ts +0 -0
  61. package/{dist/types → types}/components/Title/GlobalHeaderTitle.d.ts +0 -0
  62. package/{dist/types → types}/components/Toolbar/GlobalHeaderToolbar.d.ts +0 -0
  63. package/{dist/types → types}/components/Toolbar/ToolbarItems.d.ts +0 -0
  64. package/{dist/types → types}/components/Toolbar/styles.d.ts +0 -0
  65. package/{dist/types → types}/config/useGetPropsWithDefaults.d.ts +0 -0
  66. package/{dist/types → types}/config/useGlobalHeader.d.ts +0 -0
  67. package/{dist/types → types}/config/useValidateProps.d.ts +0 -0
  68. package/{dist/types → types}/config/validateHelpers.d.ts +0 -0
  69. package/{dist/types → types}/defaultProps.d.ts +0 -0
  70. package/{dist/types → types}/index.d.ts +0 -0
  71. package/{dist/types → types}/outOfTheBox/AppPicker/AppPicker.d.ts +0 -0
  72. package/{dist/types → types}/outOfTheBox/PopupMenu/PopupMenu.d.ts +0 -0
  73. package/{dist/types → types}/outOfTheBox/PopupMenu/PopupMenuContent.d.ts +0 -0
  74. package/{dist/types → types}/outOfTheBox/PopupMenu/styles.d.ts +0 -0
  75. package/{dist/types → types}/outOfTheBox/SearchToggle/SearchToggle.d.ts +0 -0
  76. package/{dist/types → types}/outOfTheBox/SearchToggle/styles.d.ts +0 -0
  77. package/{dist/types → types}/outOfTheBox/index.d.ts +0 -0
  78. package/{dist/types → types}/propTypes.d.ts +0 -0
  79. package/{dist/types → types}/styles.d.ts +1 -1
  80. package/dist/cjs/GlobalHeader.js +0 -57
  81. package/dist/cjs/GlobalHeader.js.map +0 -7
  82. package/dist/cjs/GlobalHeaderContainer.js +0 -41
  83. package/dist/cjs/GlobalHeaderContainer.js.map +0 -7
  84. package/dist/cjs/GlobalHeaderContext.js +0 -46
  85. package/dist/cjs/GlobalHeaderContext.js.map +0 -7
  86. package/dist/cjs/GlobalHeaderTypes.js +0 -27
  87. package/dist/cjs/GlobalHeaderTypes.js.map +0 -7
  88. package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -85
  89. package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
  90. package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js +0 -51
  91. package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
  92. package/dist/cjs/components/Breadcrumb/styles.js +0 -83
  93. package/dist/cjs/components/Breadcrumb/styles.js.map +0 -7
  94. package/dist/cjs/components/Title/GlobalHeaderTitle.js +0 -48
  95. package/dist/cjs/components/Title/GlobalHeaderTitle.js.map +0 -7
  96. package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js +0 -49
  97. package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
  98. package/dist/cjs/components/Toolbar/ToolbarItems.js +0 -96
  99. package/dist/cjs/components/Toolbar/ToolbarItems.js.map +0 -7
  100. package/dist/cjs/components/Toolbar/styles.js +0 -61
  101. package/dist/cjs/components/Toolbar/styles.js.map +0 -7
  102. package/dist/cjs/config/useGetPropsWithDefaults.js +0 -43
  103. package/dist/cjs/config/useGetPropsWithDefaults.js.map +0 -7
  104. package/dist/cjs/config/useGlobalHeader.js +0 -53
  105. package/dist/cjs/config/useGlobalHeader.js.map +0 -7
  106. package/dist/cjs/config/useValidateProps.js +0 -109
  107. package/dist/cjs/config/useValidateProps.js.map +0 -7
  108. package/dist/cjs/config/validateHelpers.js +0 -111
  109. package/dist/cjs/config/validateHelpers.js.map +0 -7
  110. package/dist/cjs/defaultProps.js +0 -41
  111. package/dist/cjs/defaultProps.js.map +0 -7
  112. package/dist/cjs/index.js +0 -36
  113. package/dist/cjs/index.js.map +0 -7
  114. package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js +0 -110
  115. package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
  116. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js +0 -96
  117. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
  118. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -89
  119. package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
  120. package/dist/cjs/outOfTheBox/PopupMenu/styles.js +0 -67
  121. package/dist/cjs/outOfTheBox/PopupMenu/styles.js.map +0 -7
  122. package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js +0 -108
  123. package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
  124. package/dist/cjs/outOfTheBox/SearchToggle/styles.js +0 -82
  125. package/dist/cjs/outOfTheBox/SearchToggle/styles.js.map +0 -7
  126. package/dist/cjs/outOfTheBox/index.js +0 -30
  127. package/dist/cjs/outOfTheBox/index.js.map +0 -7
  128. package/dist/cjs/propTypes.js +0 -56
  129. package/dist/cjs/propTypes.js.map +0 -7
  130. package/dist/cjs/styles.js +0 -43
  131. package/dist/cjs/styles.js.map +0 -7
  132. package/dist/esm/GlobalHeader.js +0 -28
  133. package/dist/esm/GlobalHeader.js.map +0 -7
  134. package/dist/esm/GlobalHeaderContainer.js +0 -12
  135. package/dist/esm/GlobalHeaderContainer.js.map +0 -7
  136. package/dist/esm/GlobalHeaderContext.js +0 -17
  137. package/dist/esm/GlobalHeaderContext.js.map +0 -7
  138. package/dist/esm/GlobalHeaderTypes.js +0 -2
  139. package/dist/esm/GlobalHeaderTypes.js.map +0 -7
  140. package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -56
  141. package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
  142. package/dist/esm/components/Breadcrumb/PureBreadcrumb.js +0 -22
  143. package/dist/esm/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
  144. package/dist/esm/components/Breadcrumb/styles.js +0 -54
  145. package/dist/esm/components/Breadcrumb/styles.js.map +0 -7
  146. package/dist/esm/components/Title/GlobalHeaderTitle.js +0 -19
  147. package/dist/esm/components/Title/GlobalHeaderTitle.js.map +0 -7
  148. package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js +0 -20
  149. package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
  150. package/dist/esm/components/Toolbar/ToolbarItems.js +0 -67
  151. package/dist/esm/components/Toolbar/ToolbarItems.js.map +0 -7
  152. package/dist/esm/components/Toolbar/styles.js +0 -32
  153. package/dist/esm/components/Toolbar/styles.js.map +0 -7
  154. package/dist/esm/config/useGetPropsWithDefaults.js +0 -14
  155. package/dist/esm/config/useGetPropsWithDefaults.js.map +0 -7
  156. package/dist/esm/config/useGlobalHeader.js +0 -24
  157. package/dist/esm/config/useGlobalHeader.js.map +0 -7
  158. package/dist/esm/config/useValidateProps.js +0 -88
  159. package/dist/esm/config/useValidateProps.js.map +0 -7
  160. package/dist/esm/config/validateHelpers.js +0 -82
  161. package/dist/esm/config/validateHelpers.js.map +0 -7
  162. package/dist/esm/defaultProps.js.map +0 -7
  163. package/dist/esm/index.js +0 -7
  164. package/dist/esm/index.js.map +0 -7
  165. package/dist/esm/outOfTheBox/AppPicker/AppPicker.js +0 -81
  166. package/dist/esm/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
  167. package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js +0 -67
  168. package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
  169. package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -60
  170. package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
  171. package/dist/esm/outOfTheBox/PopupMenu/styles.js +0 -38
  172. package/dist/esm/outOfTheBox/PopupMenu/styles.js.map +0 -7
  173. package/dist/esm/outOfTheBox/SearchToggle/SearchToggle.js +0 -79
  174. package/dist/esm/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
  175. package/dist/esm/outOfTheBox/SearchToggle/styles.js +0 -53
  176. package/dist/esm/outOfTheBox/SearchToggle/styles.js.map +0 -7
  177. package/dist/esm/outOfTheBox/index.js +0 -5
  178. package/dist/esm/outOfTheBox/index.js.map +0 -7
  179. package/dist/esm/propTypes.js +0 -27
  180. package/dist/esm/propTypes.js.map +0 -7
  181. package/dist/esm/styles.js +0 -14
  182. package/dist/esm/styles.js.map +0 -7
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('react');
7
+ var reactDesc = require('react-desc');
8
+ var propTypes = require('./propTypes.js');
9
+ var GlobalHeaderTitle = require('./components/Title/GlobalHeaderTitle.js');
10
+ var GlobalHeaderBreadcrumb = require('./components/Breadcrumb/GlobalHeaderBreadcrumb.js');
11
+ var GlobalHeaderToolbar = require('./components/Toolbar/GlobalHeaderToolbar.js');
12
+ var GlobalHeaderContext = require('./GlobalHeaderContext.js');
13
+ var useGlobalHeader = require('./config/useGlobalHeader.js');
14
+ var defaultProps = require('./defaultProps.js');
15
+ var GlobalHeaderContainer = require('./GlobalHeaderContainer.js');
16
+ var useValidateProps = require('./config/useValidateProps.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
+
22
+ var _GlobalHeaderTitle, _GlobalHeaderBreadcru, _GlobalHeaderToolbar;
23
+
24
+ const GlobalHeader = props => {
25
+ useValidateProps.useValidateProps(props);
26
+ const ctx = useGlobalHeader.useGlobalHeader(props);
27
+ return /*#__PURE__*/_jsx__default["default"](GlobalHeaderContainer.GlobalHeaderContainer, {}, void 0, /*#__PURE__*/_jsx__default["default"](GlobalHeaderContext.GlobalHeaderContext.Provider, {
28
+ value: ctx
29
+ }, void 0, _GlobalHeaderTitle || (_GlobalHeaderTitle = /*#__PURE__*/_jsx__default["default"](GlobalHeaderTitle.GlobalHeaderTitle, {})), _GlobalHeaderBreadcru || (_GlobalHeaderBreadcru = /*#__PURE__*/_jsx__default["default"](GlobalHeaderBreadcrumb.GlobalHeaderBreadcrumb, {})), _GlobalHeaderToolbar || (_GlobalHeaderToolbar = /*#__PURE__*/_jsx__default["default"](GlobalHeaderToolbar.GlobalHeaderToolbar, {}))));
30
+ };
31
+
32
+ GlobalHeader.defaultProps = defaultProps.defaultProps;
33
+ const GlobalHeaderWithSchema = reactDesc.describe(GlobalHeader);
34
+ GlobalHeaderWithSchema.propTypes = propTypes.globalHeaderProps;
35
+
36
+ exports.GlobalHeader = GlobalHeader;
37
+ exports.GlobalHeaderWithSchema = GlobalHeaderWithSchema;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('react');
7
+ var styles = require('./styles.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
+
13
+ const GlobalHeaderContainer = _ref => {
14
+ let {
15
+ children
16
+ } = _ref;
17
+ return /*#__PURE__*/_jsx__default["default"]("header", {
18
+ "data-testid": "ds-global-header"
19
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styles.Wrapper, {
20
+ cols: ['auto', '1fr', 'auto']
21
+ }, void 0, children));
22
+ };
23
+
24
+ exports.GlobalHeaderContainer = GlobalHeaderContainer;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var defaultProps = require('./defaultProps.js');
7
+
8
+ const noop = () => null;
9
+
10
+ const defaultContext = {
11
+ props: defaultProps.defaultProps,
12
+ showIconOnly: false,
13
+ setShowIconOnly: noop,
14
+ instanceUID: '',
15
+ globalHeaderToolbarGrid: [],
16
+ globalHeaderBreadcrumbGrid: []
17
+ };
18
+ const GlobalHeaderContext = /*#__PURE__*/React.createContext(defaultContext);
19
+
20
+ exports.GlobalHeaderContext = GlobalHeaderContext;
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,85 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
+ var _jsx = require('@babel/runtime/helpers/jsx');
8
+ require('core-js/modules/esnext.async-iterator.map.js');
9
+ require('core-js/modules/esnext.iterator.map.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.constructor.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ require('core-js/modules/esnext.async-iterator.for-each.js');
14
+ require('core-js/modules/esnext.iterator.for-each.js');
15
+ var React = require('react');
16
+ var dsGrid = require('@elliemae/ds-grid');
17
+ var styles = require('./styles.js');
18
+ var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
19
+ var PureBreadcrumb = require('./PureBreadcrumb.js');
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 _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
26
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
27
+
28
+ const _excluded = ["label"];
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+ const GlobalHeaderBreadcrumb = () => {
34
+ const {
35
+ props: {
36
+ breadcrumb
37
+ },
38
+ instanceUID,
39
+ showIconOnly,
40
+ setShowIconOnly,
41
+ globalHeaderBreadcrumbGrid
42
+ } = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
43
+ const breakpoint = React.useRef(null);
44
+ const flexRegion = React.useRef(null);
45
+ React.useEffect(() => {
46
+ const evaluateShowIconOnly = () => {
47
+ if (flexRegion && flexRegion.current && (flexRegion === null || flexRegion === void 0 ? void 0 : flexRegion.current.offsetWidth) <= 0 && !breakpoint.current) {
48
+ setShowIconOnly(true);
49
+ breakpoint.current = window.innerWidth;
50
+ } else if (breakpoint && breakpoint.current !== null && window.innerWidth >= breakpoint.current) {
51
+ setShowIconOnly(false);
52
+ breakpoint.current = null;
53
+ }
54
+ };
55
+
56
+ evaluateShowIconOnly();
57
+ window.addEventListener('resize', evaluateShowIconOnly);
58
+ return () => window.removeEventListener('resize', evaluateShowIconOnly);
59
+ }, [breakpoint, flexRegion, setShowIconOnly]);
60
+ return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
61
+ height: "100%",
62
+ alignItems: "center",
63
+ justifyContent: "flex-start",
64
+ "aria-label": "breadcrumbs",
65
+ cols: globalHeaderBreadcrumbGrid,
66
+ role: "navigation"
67
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styles.Pipe, {
68
+ showIconOnly: showIconOnly
69
+ }), breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.map(item => {
70
+ const {
71
+ label
72
+ } = item,
73
+ rest = _objectWithoutProperties__default["default"](item, _excluded);
74
+
75
+ return /*#__PURE__*/jsxRuntime.jsx(PureBreadcrumb.PureBreadcrumb, _objectSpread({
76
+ label: label,
77
+ length: breadcrumb.length
78
+ }, rest), "".concat(instanceUID, "-breadcrumb-item-").concat(label));
79
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
80
+ id: "global-header-flex-region",
81
+ ref: flexRegion
82
+ }));
83
+ };
84
+
85
+ exports.GlobalHeaderBreadcrumb = GlobalHeaderBreadcrumb;
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var _jsx = require('@babel/runtime/helpers/jsx');
12
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
13
+ var React = require('react');
14
+ var dsIcons = require('@elliemae/ds-icons');
15
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
16
+ var styles = require('./styles.js');
17
+ var jsxRuntime = require('react/jsx-runtime');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
22
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
23
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
24
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
+
26
+ var _ChevronSmallRight;
27
+
28
+ const _excluded = ["onClick", "isSelected", "length", "label", "hasNext", "id"];
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+ const PureBreadcrumb = /*#__PURE__*/React__default["default"].memo(_ref => {
34
+ let {
35
+ onClick,
36
+ isSelected,
37
+ length,
38
+ label,
39
+ hasNext,
40
+ id
41
+ } = _ref,
42
+ rest = _objectWithoutProperties__default["default"](_ref, _excluded);
43
+
44
+ return /*#__PURE__*/_jsx__default["default"](styles.BreadcrumbItem, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(styles.LabelButton, _objectSpread(_objectSpread({
45
+ onClick: onClick,
46
+ "aria-selected": isSelected,
47
+ "data-testid": "gh-breadcrumb-btn",
48
+ id: id
49
+ }, dsPropsHelpers.getDataProps(rest)), {}, {
50
+ children: /*#__PURE__*/_jsx__default["default"](styles.Label, {
51
+ isSelected: !!isSelected,
52
+ isOnlyItem: length === 1
53
+ }, void 0, label)
54
+ })), hasNext && (_ChevronSmallRight || (_ChevronSmallRight = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallRight, {
55
+ size: "m",
56
+ fill: "#FFF"
57
+ }))));
58
+ });
59
+
60
+ exports.PureBreadcrumb = PureBreadcrumb;
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
10
+
11
+ const Pipe = /*#__PURE__*/styled__default["default"].span.withConfig({
12
+ componentId: "sc-1n5l527-0"
13
+ })(["margin:0 7px 0 0;border-left:", ";height:20px;"], _ref => {
14
+ let {
15
+ showIconOnly
16
+ } = _ref;
17
+ return showIconOnly ? 'none' : '1px solid #fff';
18
+ });
19
+ const BreadcrumbItem = /*#__PURE__*/styled__default["default"].div.withConfig({
20
+ componentId: "sc-1n5l527-1"
21
+ })(["display:flex;align-items:center;height:100%;"]);
22
+ const LabelButton = /*#__PURE__*/styled__default["default"].button.withConfig({
23
+ componentId: "sc-1n5l527-2"
24
+ })(["width:fit-content;height:100%;margin:0;padding:0;border:1px solid transparent;background-color:transparent;outline:none;cursor:pointer;position:relative;&:focus{:before{content:'';position:absolute;z-index:2;top:2px;left:-5px;width:calc(100% + 10px);height:calc(100% - 4px);border:2px solid ", ";border-radius:4px;}}"], _ref2 => {
25
+ let {
26
+ theme
27
+ } = _ref2;
28
+ return theme.colors.neutral['000'];
29
+ });
30
+ const Label = /*#__PURE__*/styled__default["default"].p.withConfig({
31
+ componentId: "sc-1n5l527-3"
32
+ })(["color:", ";", ";font-size:16px;text-transform:uppercase;border-bottom:", ";margin:3px 5px 0 5px;:hover{", ";}"], _ref3 => {
33
+ let {
34
+ theme
35
+ } = _ref3;
36
+ return theme.colors.neutral['000'];
37
+ }, _ref4 => {
38
+ let {
39
+ theme,
40
+ isSelected
41
+ } = _ref4;
42
+ return "-webkit-text-stroke: 0.4px ".concat(isSelected ? theme.colors.neutral['000'] : 'transparent');
43
+ }, _ref5 => {
44
+ let {
45
+ isSelected,
46
+ isOnlyItem
47
+ } = _ref5;
48
+ return "2px solid ".concat(isSelected && !isOnlyItem ? '#FFF' : 'transparent');
49
+ }, _ref6 => {
50
+ let {
51
+ theme
52
+ } = _ref6;
53
+ return "-webkit-text-stroke: 0.4px ".concat(theme.colors.neutral['000']);
54
+ });
55
+
56
+ exports.BreadcrumbItem = BreadcrumbItem;
57
+ exports.Label = Label;
58
+ exports.LabelButton = LabelButton;
59
+ exports.Pipe = Pipe;
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ var React = require('react');
7
+ var dsGrid = require('@elliemae/ds-grid');
8
+ var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
13
+
14
+ const GlobalHeaderTitle = () => {
15
+ const {
16
+ props: {
17
+ Logo,
18
+ LogoWithBrand
19
+ },
20
+ showIconOnly
21
+ } = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
22
+ return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
23
+ alignItems: "center",
24
+ pr: showIconOnly ? '0px' : '36px',
25
+ cols: showIconOnly ? ['auto'] : ['auto', '1fr']
26
+ }, void 0, Logo && showIconOnly && /*#__PURE__*/_jsx__default["default"](Logo, {}), LogoWithBrand && !showIconOnly && /*#__PURE__*/_jsx__default["default"](LogoWithBrand, {}));
27
+ };
28
+
29
+ exports.GlobalHeaderTitle = GlobalHeaderTitle;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ var React = require('react');
7
+ var dsGrid = require('@elliemae/ds-grid');
8
+ var ToolbarItems = require('./ToolbarItems.js');
9
+ var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
+
15
+ var _ToolbarItems;
16
+ const GlobalHeaderToolbar = () => {
17
+ const {
18
+ globalHeaderToolbarGrid
19
+ } = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
20
+ return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
21
+ height: "100%",
22
+ alignItems: "center",
23
+ justifyContent: "center",
24
+ gutter: "xxs",
25
+ cols: globalHeaderToolbarGrid,
26
+ role: "toolbar"
27
+ }, void 0, _ToolbarItems || (_ToolbarItems = /*#__PURE__*/_jsx__default["default"](ToolbarItems.ToolbarItems, {})));
28
+ };
29
+
30
+ exports.GlobalHeaderToolbar = GlobalHeaderToolbar;
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
+ require('core-js/modules/esnext.async-iterator.map.js');
9
+ require('core-js/modules/esnext.iterator.map.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.constructor.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ require('core-js/modules/esnext.async-iterator.for-each.js');
14
+ require('core-js/modules/esnext.iterator.for-each.js');
15
+ var React = require('react');
16
+ var AppPicker = require('../../outOfTheBox/AppPicker/AppPicker.js');
17
+ var PopupMenu = require('../../outOfTheBox/PopupMenu/PopupMenu.js');
18
+ var SearchToggle = require('../../outOfTheBox/SearchToggle/SearchToggle.js');
19
+ var styles = require('./styles.js');
20
+ var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
21
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
22
+ var jsxRuntime = require('react/jsx-runtime');
23
+
24
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
+
26
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
27
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
28
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
29
+
30
+ const _excluded = ["Icon", "type", "onClick", "componentProps", "label", "onKeyPress", "id", "CustomComponent"];
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 ToolbarItems = () => {
36
+ const {
37
+ props: {
38
+ toolbar
39
+ },
40
+ instanceUID
41
+ } = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
42
+ const itemsList = React.useMemo(() => toolbar === null || toolbar === void 0 ? void 0 : toolbar.map(item => {
43
+ var _Icon;
44
+
45
+ const {
46
+ Icon,
47
+ type,
48
+ onClick,
49
+ componentProps,
50
+ label,
51
+ onKeyPress,
52
+ id,
53
+ CustomComponent
54
+ } = item,
55
+ otherProps = _objectWithoutProperties__default["default"](item, _excluded);
56
+
57
+ switch (type) {
58
+ case 'ds-popup-menu':
59
+ return /*#__PURE__*/jsxRuntime.jsx(PopupMenu.PopupMenu, _objectSpread(_objectSpread({
60
+ title: label,
61
+ Icon: Icon,
62
+ onClick: onClick,
63
+ onKeyPress: onKeyPress,
64
+ id: id
65
+ }, otherProps), {}, {
66
+ componentProps: componentProps
67
+ }), "".concat(instanceUID, "-ds-popup-menu-").concat(label));
68
+
69
+ case 'ds-app-picker':
70
+ return /*#__PURE__*/jsxRuntime.jsx(AppPicker.AppPicker, _objectSpread({
71
+ label: label,
72
+ id: id,
73
+ componentProps: componentProps
74
+ }, otherProps), "".concat(instanceUID, "-ds-app-picker-").concat(label));
75
+
76
+ case 'ds-search-toggle':
77
+ return /*#__PURE__*/jsxRuntime.jsx(SearchToggle.SearchToggle, _objectSpread({
78
+ id: id,
79
+ componentProps: componentProps
80
+ }, otherProps), "".concat(instanceUID, "-ds-search-toggle-").concat(id));
81
+
82
+ case 'custom':
83
+ if (CustomComponent) return /*#__PURE__*/_jsx__default["default"](CustomComponent, {
84
+ item: item
85
+ });
86
+ return null;
87
+
88
+ default:
89
+ return /*#__PURE__*/jsxRuntime.jsx(styles.Button, _objectSpread(_objectSpread({
90
+ onClick: onClick,
91
+ title: label,
92
+ "data-testid": "gh-toolbar-item",
93
+ id: id
94
+ }, dsPropsHelpers.getDataProps(otherProps)), {}, {
95
+ children: _Icon || (_Icon = /*#__PURE__*/_jsx__default["default"](Icon, {
96
+ fill: "#FFF",
97
+ size: "m"
98
+ }))
99
+ }), "".concat(instanceUID, "-ds-toolbar-button-").concat(label));
100
+ }
101
+ }), [toolbar, instanceUID]);
102
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
103
+ children: itemsList
104
+ });
105
+ };
106
+
107
+ exports.ToolbarItems = ToolbarItems;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
10
+
11
+ const Button = /*#__PURE__*/styled__default["default"].button.withConfig({
12
+ componentId: "sc-1gqj0i3-0"
13
+ })(["height:40px;width:40px;border:none;background-color:transparent;cursor:pointer;position:relative;outline:none;&:hover:not(:focus){background-color:", ";outline:none;}&:focus{:before{content:'';position:absolute;z-index:2;top:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px);border:2px solid ", ";border-radius:4px;}}"], _ref => {
14
+ let {
15
+ theme
16
+ } = _ref;
17
+ return theme.colors.brand[700];
18
+ }, _ref2 => {
19
+ let {
20
+ theme
21
+ } = _ref2;
22
+ return theme.colors.neutral['000'];
23
+ });
24
+
25
+ exports.Button = Button;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var React = require('react');
12
+ var defaultProps = require('../defaultProps.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+ const useGetPropsWithDefaults = props => {
22
+ const {
23
+ toolbar,
24
+ breadcrumb,
25
+ Logo,
26
+ LogoWithBrand
27
+ } = props;
28
+ return React.useMemo(() => _objectSpread(_objectSpread({}, defaultProps.defaultProps), props), [toolbar, breadcrumb, Logo, LogoWithBrand]);
29
+ };
30
+
31
+ exports.useGetPropsWithDefaults = useGetPropsWithDefaults;
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ var React = require('react');
7
+ var uid = require('uid');
8
+ var useGetPropsWithDefaults = require('./useGetPropsWithDefaults.js');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+
14
+ const useGlobalHeader = props => {
15
+ const [showIconOnly, setShowIconOnly] = React.useState(false);
16
+ const instanceUID = React.useMemo(() => uid.uid(5), []);
17
+ const globalHeaderToolbarGrid = React.useMemo(() => {
18
+ var _props$toolbar$length, _props$toolbar;
19
+
20
+ return new Array((_props$toolbar$length = props === null || props === void 0 ? void 0 : (_props$toolbar = props.toolbar) === null || _props$toolbar === void 0 ? void 0 : _props$toolbar.length) !== null && _props$toolbar$length !== void 0 ? _props$toolbar$length : 0).fill('auto');
21
+ }, [props.toolbar]);
22
+ const globalHeaderBreadcrumbGrid = React.useMemo(() => {
23
+ var _props$breadcrumb$len, _props$breadcrumb;
24
+
25
+ return ['auto', ...new Array((_props$breadcrumb$len = props === null || props === void 0 ? void 0 : (_props$breadcrumb = props.breadcrumb) === null || _props$breadcrumb === void 0 ? void 0 : _props$breadcrumb.length) !== null && _props$breadcrumb$len !== void 0 ? _props$breadcrumb$len : 0).fill('auto'), '1fr'];
26
+ }, [props.breadcrumb]);
27
+ const propsWithDefaults = useGetPropsWithDefaults.useGetPropsWithDefaults(props);
28
+ const ctx = React__default["default"].useMemo(() => ({
29
+ props: propsWithDefaults,
30
+ showIconOnly,
31
+ setShowIconOnly,
32
+ instanceUID,
33
+ globalHeaderToolbarGrid,
34
+ globalHeaderBreadcrumbGrid
35
+ }), [propsWithDefaults, showIconOnly, instanceUID, globalHeaderToolbarGrid, globalHeaderBreadcrumbGrid]);
36
+ return ctx;
37
+ };
38
+
39
+ exports.useGlobalHeader = useGlobalHeader;
@@ -0,0 +1,92 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.for-each.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
8
+ var validateHelpers = require('./validateHelpers.js');
9
+
10
+ const validatePopupItem = componentProps => {
11
+ if (componentProps.options && !Array.isArray(componentProps.options)) {
12
+ validateHelpers.throwToolbarPopupItemError('options', componentProps.options);
13
+ }
14
+
15
+ if (componentProps.closeOnClick && typeof componentProps.closeOnClick !== 'boolean') {
16
+ validateHelpers.throwToolbarPopupItemError('closeOnClick', componentProps.closeOnClick);
17
+ }
18
+ };
19
+
20
+ const validateAppPickerItem = componentProps => {
21
+ if (componentProps.apps && !Array.isArray(componentProps.apps)) {
22
+ validateHelpers.throwToolbarAppPickerItemError('apps', componentProps.apps);
23
+ }
24
+
25
+ if (componentProps.customApps && !Array.isArray(componentProps.customApps)) {
26
+ validateHelpers.throwToolbarAppPickerItemError('customApps', componentProps.customApps);
27
+ }
28
+
29
+ if (componentProps.sectionTitle && typeof componentProps.sectionTitle !== 'string') {
30
+ validateHelpers.throwToolbarAppPickerItemError('sectionTitle', componentProps.sectionTitle);
31
+ }
32
+
33
+ if (componentProps.customSectionTitle && typeof componentProps.customSectionTitle !== 'string') {
34
+ validateHelpers.throwToolbarAppPickerItemError('customSectionTitle', componentProps.customSectionTitle);
35
+ }
36
+ };
37
+
38
+ const useValidateProps = props => {
39
+ const {
40
+ breadcrumb,
41
+ toolbar,
42
+ Logo,
43
+ LogoWithBrand
44
+ } = props;
45
+
46
+ if (Logo && typeof Logo !== 'function') {
47
+ validateHelpers.throwLogoError('Logo', Logo);
48
+ }
49
+
50
+ if (LogoWithBrand && typeof LogoWithBrand !== 'function') {
51
+ validateHelpers.throwLogoError('LogoWithBrand', LogoWithBrand);
52
+ }
53
+
54
+ breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.forEach(breadcrumbItem => {
55
+ if (breadcrumbItem.label && typeof breadcrumbItem.label !== 'string') {
56
+ validateHelpers.throwBreadcrumbItemError('label', breadcrumbItem.label);
57
+ }
58
+
59
+ if (breadcrumbItem.onClick && typeof breadcrumbItem.onClick !== 'function') {
60
+ validateHelpers.throwBreadcrumbItemError('onClick', breadcrumbItem.onClick);
61
+ }
62
+
63
+ if (breadcrumbItem.hasNext && typeof breadcrumbItem.hasNext !== 'boolean') {
64
+ validateHelpers.throwBreadcrumbItemError('hasNext', breadcrumbItem.hasNext);
65
+ }
66
+
67
+ if (breadcrumbItem.isSelected && typeof breadcrumbItem.isSelected !== 'boolean') {
68
+ validateHelpers.throwBreadcrumbItemError('isSelected', breadcrumbItem.isSelected);
69
+ }
70
+ });
71
+ toolbar === null || toolbar === void 0 ? void 0 : toolbar.forEach(toolbarItem => {
72
+ if (toolbarItem.type) {
73
+ if (!validateHelpers.isValidToolbarType(toolbarItem.type)) {
74
+ validateHelpers.throwToolbarItemGenericError('type', toolbarItem.type);
75
+ }
76
+
77
+ if (toolbarItem.componentProps && !validateHelpers.isObject(toolbarItem.componentProps)) {
78
+ validateHelpers.throwToolbarItemGenericError('componentProps', toolbarItem.componentProps);
79
+ }
80
+
81
+ if (toolbarItem.type === 'ds-popup-menu') {
82
+ validatePopupItem(toolbarItem.componentProps);
83
+ }
84
+
85
+ if (toolbarItem.type === 'ds-app-picker') {
86
+ validateAppPickerItem(toolbarItem.componentProps);
87
+ }
88
+ }
89
+ });
90
+ };
91
+
92
+ exports.useValidateProps = useValidateProps;