@elliemae/ds-global-header 2.0.0-rc.9 → 2.0.2
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.
- package/cjs/{index.d.js → GlobalHeaderTypes.js} +0 -0
- package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +28 -18
- package/cjs/components/Breadcrumb/PureBreadcrumb.js +31 -8
- package/cjs/components/Breadcrumb/styles.js +9 -14
- package/cjs/components/Toolbar/ToolbarItems.js +49 -26
- package/cjs/components/Toolbar/styles.js +1 -6
- package/cjs/config/useGetPropsWithDefaults.js +2 -2
- package/cjs/config/useGlobalHeader.js +10 -4
- package/cjs/config/useValidateProps.js +5 -20
- package/cjs/config/validateHelpers.js +2 -2
- package/cjs/defaultProps.js +4 -2
- package/cjs/outOfTheBox/AppPicker/AppPicker.js +59 -27
- package/cjs/outOfTheBox/PopupMenu/PopupMenu.js +64 -49
- package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +36 -16
- package/cjs/outOfTheBox/PopupMenu/styles.js +1 -1
- package/cjs/outOfTheBox/SearchToggle/SearchToggle.js +113 -0
- package/cjs/outOfTheBox/SearchToggle/styles.js +15 -0
- package/cjs/outOfTheBox/index.js +2 -0
- package/cjs/propTypes.js +1 -1
- package/esm/{index.d.js → GlobalHeaderTypes.js} +0 -0
- package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +26 -18
- package/esm/components/Breadcrumb/PureBreadcrumb.js +29 -8
- package/esm/components/Breadcrumb/styles.js +9 -14
- package/esm/components/Toolbar/ToolbarItems.js +48 -26
- package/esm/components/Toolbar/styles.js +1 -6
- package/esm/config/useGetPropsWithDefaults.js +2 -2
- package/esm/config/useGlobalHeader.js +10 -4
- package/esm/config/useValidateProps.js +5 -20
- package/esm/config/validateHelpers.js +2 -2
- package/esm/defaultProps.js +4 -2
- package/esm/outOfTheBox/AppPicker/AppPicker.js +57 -27
- package/esm/outOfTheBox/PopupMenu/PopupMenu.js +63 -49
- package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +37 -18
- package/esm/outOfTheBox/PopupMenu/styles.js +1 -1
- package/esm/outOfTheBox/SearchToggle/SearchToggle.js +103 -0
- package/esm/outOfTheBox/SearchToggle/styles.js +7 -0
- package/esm/outOfTheBox/index.js +1 -0
- package/esm/propTypes.js +1 -1
- package/package.json +19 -5
- package/types/GlobalHeader.d.ts +1 -1
- package/types/GlobalHeaderContainer.d.ts +1 -1
- package/types/GlobalHeaderContext.d.ts +1 -1
- package/types/{index.d.d.ts → GlobalHeaderTypes.d.ts} +28 -17
- package/types/components/Breadcrumb/PureBreadcrumb.d.ts +2 -2
- package/types/components/Breadcrumb/styles.d.ts +1 -1
- package/types/config/useGetPropsWithDefaults.d.ts +1 -1
- package/types/config/useGlobalHeader.d.ts +1 -1
- package/types/config/useValidateProps.d.ts +1 -1
- package/types/config/validateHelpers.d.ts +4 -4
- package/types/defaultProps.d.ts +1 -1
- package/types/outOfTheBox/AppPicker/AppPicker.d.ts +8 -3
- package/types/outOfTheBox/PopupMenu/PopupMenu.d.ts +2 -2
- package/types/outOfTheBox/PopupMenu/PopupMenuContent.d.ts +2 -2
- package/types/outOfTheBox/SearchToggle/SearchToggle.d.ts +2 -0
- package/types/outOfTheBox/SearchToggle/styles.d.ts +1 -0
- package/types/outOfTheBox/index.d.ts +1 -0
|
File without changes
|
|
@@ -2,9 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
7
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
8
|
require('core-js/modules/esnext.async-iterator.map.js');
|
|
7
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');
|
|
8
15
|
var React = require('react');
|
|
9
16
|
var dsGrid = require('@elliemae/ds-grid');
|
|
10
17
|
var styles = require('./styles.js');
|
|
@@ -14,8 +21,15 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
14
21
|
|
|
15
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
23
|
|
|
24
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
25
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
17
26
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
18
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; }
|
|
19
33
|
const GlobalHeaderBreadcrumb = () => {
|
|
20
34
|
const {
|
|
21
35
|
props: {
|
|
@@ -26,14 +40,14 @@ const GlobalHeaderBreadcrumb = () => {
|
|
|
26
40
|
setShowIconOnly,
|
|
27
41
|
globalHeaderBreadcrumbGrid
|
|
28
42
|
} = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
|
|
29
|
-
const breakpoint = React.useRef();
|
|
30
|
-
const flexRegion = React.useRef();
|
|
43
|
+
const breakpoint = React.useRef(null);
|
|
44
|
+
const flexRegion = React.useRef(null);
|
|
31
45
|
React.useEffect(() => {
|
|
32
46
|
const evaluateShowIconOnly = () => {
|
|
33
|
-
if ((flexRegion === null || flexRegion === void 0 ? void 0 : flexRegion.current.offsetWidth) <= 0 && !breakpoint.current) {
|
|
47
|
+
if (flexRegion && flexRegion.current && (flexRegion === null || flexRegion === void 0 ? void 0 : flexRegion.current.offsetWidth) <= 0 && !breakpoint.current) {
|
|
34
48
|
setShowIconOnly(true);
|
|
35
49
|
breakpoint.current = window.innerWidth;
|
|
36
|
-
} else if (window.innerWidth >= breakpoint.current) {
|
|
50
|
+
} else if (breakpoint && breakpoint.current !== null && window.innerWidth >= breakpoint.current) {
|
|
37
51
|
setShowIconOnly(false);
|
|
38
52
|
breakpoint.current = null;
|
|
39
53
|
}
|
|
@@ -46,26 +60,22 @@ const GlobalHeaderBreadcrumb = () => {
|
|
|
46
60
|
return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
|
|
47
61
|
height: "100%",
|
|
48
62
|
alignItems: "center",
|
|
49
|
-
justifyContent: "
|
|
50
|
-
role: "navigation",
|
|
63
|
+
justifyContent: "flex-start",
|
|
51
64
|
"aria-label": "breadcrumbs",
|
|
52
|
-
cols: globalHeaderBreadcrumbGrid
|
|
65
|
+
cols: globalHeaderBreadcrumbGrid,
|
|
66
|
+
role: "navigation"
|
|
53
67
|
}, void 0, /*#__PURE__*/_jsx__default["default"](styles.Pipe, {
|
|
54
68
|
showIconOnly: showIconOnly
|
|
55
|
-
}), breadcrumb.map(item => {
|
|
69
|
+
}), breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.map(item => {
|
|
56
70
|
const {
|
|
57
|
-
label
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return /*#__PURE__*/_jsx__default["default"](PureBreadcrumb.PureBreadcrumb, {
|
|
71
|
+
label
|
|
72
|
+
} = item,
|
|
73
|
+
rest = _objectWithoutProperties__default["default"](item, _excluded);
|
|
74
|
+
|
|
75
|
+
return /*#__PURE__*/jsxRuntime.jsx(PureBreadcrumb.PureBreadcrumb, _objectSpread({
|
|
63
76
|
label: label,
|
|
64
|
-
hasNext: hasNext,
|
|
65
|
-
isSelected: isSelected,
|
|
66
|
-
onClick: onClick,
|
|
67
77
|
length: breadcrumb.length
|
|
68
|
-
}, "".concat(instanceUID, "-breadcrumb-item-").concat(label));
|
|
78
|
+
}, rest), "".concat(instanceUID, "-breadcrumb-item-").concat(label));
|
|
69
79
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
70
80
|
id: "global-header-flex-region",
|
|
71
81
|
ref: flexRegion
|
|
@@ -2,33 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
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');
|
|
5
11
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
12
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
13
|
var React = require('react');
|
|
7
14
|
var dsIcons = require('@elliemae/ds-icons');
|
|
15
|
+
var dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
8
16
|
var styles = require('./styles.js');
|
|
17
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
18
|
|
|
10
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
20
|
|
|
21
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
12
22
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
23
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
13
24
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
25
|
|
|
15
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; }
|
|
16
33
|
const PureBreadcrumb = /*#__PURE__*/React__default["default"].memo(_ref => {
|
|
17
34
|
let {
|
|
18
35
|
onClick,
|
|
19
36
|
isSelected,
|
|
20
37
|
length,
|
|
21
38
|
label,
|
|
22
|
-
hasNext
|
|
23
|
-
|
|
24
|
-
|
|
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({
|
|
25
45
|
onClick: onClick,
|
|
26
46
|
"aria-selected": isSelected,
|
|
27
|
-
"data-testid": "gh-breadcrumb-btn"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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, {
|
|
32
55
|
size: "m",
|
|
33
56
|
fill: "#FFF"
|
|
34
57
|
}))));
|
|
@@ -21,40 +21,35 @@ const BreadcrumbItem = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
|
21
21
|
})(["display:flex;align-items:center;height:100%;"]);
|
|
22
22
|
const LabelButton = /*#__PURE__*/styled__default["default"].button.withConfig({
|
|
23
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{:
|
|
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
25
|
let {
|
|
26
26
|
theme
|
|
27
27
|
} = _ref2;
|
|
28
|
-
return theme.colors.brand[700];
|
|
29
|
-
}, _ref3 => {
|
|
30
|
-
let {
|
|
31
|
-
theme
|
|
32
|
-
} = _ref3;
|
|
33
28
|
return theme.colors.neutral['000'];
|
|
34
29
|
});
|
|
35
30
|
const Label = /*#__PURE__*/styled__default["default"].p.withConfig({
|
|
36
31
|
componentId: "sc-1n5l527-3"
|
|
37
|
-
})(["color:", ";", ";font-size:16px;text-transform:uppercase;border-bottom:", ";margin:3px 5px 0 5px;:hover{", ";}"],
|
|
32
|
+
})(["color:", ";", ";font-size:16px;text-transform:uppercase;border-bottom:", ";margin:3px 5px 0 5px;:hover{", ";}"], _ref3 => {
|
|
38
33
|
let {
|
|
39
34
|
theme
|
|
40
|
-
} =
|
|
35
|
+
} = _ref3;
|
|
41
36
|
return theme.colors.neutral['000'];
|
|
42
|
-
},
|
|
37
|
+
}, _ref4 => {
|
|
43
38
|
let {
|
|
44
39
|
theme,
|
|
45
40
|
isSelected
|
|
46
|
-
} =
|
|
41
|
+
} = _ref4;
|
|
47
42
|
return "-webkit-text-stroke: 0.4px ".concat(isSelected ? theme.colors.neutral['000'] : 'transparent');
|
|
48
|
-
},
|
|
43
|
+
}, _ref5 => {
|
|
49
44
|
let {
|
|
50
45
|
isSelected,
|
|
51
46
|
isOnlyItem
|
|
52
|
-
} =
|
|
47
|
+
} = _ref5;
|
|
53
48
|
return "2px solid ".concat(isSelected && !isOnlyItem ? '#FFF' : 'transparent');
|
|
54
|
-
},
|
|
49
|
+
}, _ref6 => {
|
|
55
50
|
let {
|
|
56
51
|
theme
|
|
57
|
-
} =
|
|
52
|
+
} = _ref6;
|
|
58
53
|
return "-webkit-text-stroke: 0.4px ".concat(theme.colors.neutral['000']);
|
|
59
54
|
});
|
|
60
55
|
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
8
|
require('core-js/modules/esnext.async-iterator.map.js');
|
|
8
9
|
require('core-js/modules/esnext.iterator.map.js');
|
|
9
10
|
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
@@ -14,18 +15,23 @@ require('core-js/modules/esnext.iterator.for-each.js');
|
|
|
14
15
|
var React = require('react');
|
|
15
16
|
var AppPicker = require('../../outOfTheBox/AppPicker/AppPicker.js');
|
|
16
17
|
var PopupMenu = require('../../outOfTheBox/PopupMenu/PopupMenu.js');
|
|
18
|
+
var SearchToggle = require('../../outOfTheBox/SearchToggle/SearchToggle.js');
|
|
17
19
|
var styles = require('./styles.js');
|
|
18
20
|
var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
|
|
21
|
+
var dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
19
22
|
var jsxRuntime = require('react/jsx-runtime');
|
|
20
23
|
|
|
21
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
25
|
|
|
23
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
24
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"];
|
|
25
31
|
|
|
26
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
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; }
|
|
27
33
|
|
|
28
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
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; }
|
|
29
35
|
const ToolbarItems = () => {
|
|
30
36
|
const {
|
|
31
37
|
props: {
|
|
@@ -33,7 +39,7 @@ const ToolbarItems = () => {
|
|
|
33
39
|
},
|
|
34
40
|
instanceUID
|
|
35
41
|
} = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
|
|
36
|
-
const itemsList = React.useMemo(() => toolbar.map(item => {
|
|
42
|
+
const itemsList = React.useMemo(() => toolbar === null || toolbar === void 0 ? void 0 : toolbar.map(item => {
|
|
37
43
|
var _Icon;
|
|
38
44
|
|
|
39
45
|
const {
|
|
@@ -41,39 +47,56 @@ const ToolbarItems = () => {
|
|
|
41
47
|
type,
|
|
42
48
|
onClick,
|
|
43
49
|
componentProps,
|
|
44
|
-
label
|
|
45
|
-
|
|
50
|
+
label,
|
|
51
|
+
onKeyPress,
|
|
52
|
+
id,
|
|
53
|
+
CustomComponent
|
|
54
|
+
} = item,
|
|
55
|
+
otherProps = _objectWithoutProperties__default["default"](item, _excluded);
|
|
46
56
|
|
|
47
57
|
switch (type) {
|
|
48
58
|
case 'ds-popup-menu':
|
|
49
|
-
|
|
50
|
-
options,
|
|
51
|
-
closeOnClick
|
|
52
|
-
} = componentProps;
|
|
53
|
-
return /*#__PURE__*/_jsx__default["default"](PopupMenu.PopupMenu, {
|
|
54
|
-
onClick: onClick,
|
|
59
|
+
return /*#__PURE__*/jsxRuntime.jsx(PopupMenu.PopupMenu, _objectSpread(_objectSpread({
|
|
55
60
|
title: label,
|
|
56
61
|
Icon: Icon,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
onClick: onClick,
|
|
63
|
+
onKeyPress: onKeyPress,
|
|
64
|
+
id: id
|
|
65
|
+
}, otherProps), {}, {
|
|
66
|
+
componentProps: componentProps
|
|
67
|
+
}), "".concat(instanceUID, "-ds-popup-menu-").concat(label));
|
|
60
68
|
|
|
61
69
|
case 'ds-app-picker':
|
|
62
|
-
return /*#__PURE__*/
|
|
63
|
-
onClick: onClick,
|
|
70
|
+
return /*#__PURE__*/jsxRuntime.jsx(AppPicker.AppPicker, _objectSpread({
|
|
64
71
|
label: label,
|
|
65
|
-
|
|
66
|
-
|
|
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;
|
|
67
87
|
|
|
68
88
|
default:
|
|
69
|
-
return /*#__PURE__*/
|
|
89
|
+
return /*#__PURE__*/jsxRuntime.jsx(styles.Button, _objectSpread(_objectSpread({
|
|
70
90
|
onClick: onClick,
|
|
71
91
|
title: label,
|
|
72
|
-
"data-testid": "gh-toolbar-item"
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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));
|
|
77
100
|
}
|
|
78
101
|
}), [toolbar, instanceUID]);
|
|
79
102
|
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
@@ -10,7 +10,7 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
|
10
10
|
|
|
11
11
|
const Button = /*#__PURE__*/styled__default["default"].button.withConfig({
|
|
12
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{:
|
|
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
14
|
let {
|
|
15
15
|
theme
|
|
16
16
|
} = _ref;
|
|
@@ -19,11 +19,6 @@ const Button = /*#__PURE__*/styled__default["default"].button.withConfig({
|
|
|
19
19
|
let {
|
|
20
20
|
theme
|
|
21
21
|
} = _ref2;
|
|
22
|
-
return theme.colors.brand[700];
|
|
23
|
-
}, _ref3 => {
|
|
24
|
-
let {
|
|
25
|
-
theme
|
|
26
|
-
} = _ref3;
|
|
27
22
|
return theme.colors.neutral['000'];
|
|
28
23
|
});
|
|
29
24
|
|
|
@@ -15,9 +15,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
15
15
|
|
|
16
16
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
17
17
|
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
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
19
|
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
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
21
|
const useGetPropsWithDefaults = props => {
|
|
22
22
|
const {
|
|
23
23
|
toolbar,
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
|
-
require('core-js/modules/esnext.async-iterator.map.js');
|
|
7
|
-
require('core-js/modules/esnext.iterator.map.js');
|
|
8
6
|
var React = require('react');
|
|
9
7
|
var uid = require('uid');
|
|
10
8
|
var useGetPropsWithDefaults = require('./useGetPropsWithDefaults.js');
|
|
@@ -16,8 +14,16 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
16
14
|
const useGlobalHeader = props => {
|
|
17
15
|
const [showIconOnly, setShowIconOnly] = React.useState(false);
|
|
18
16
|
const instanceUID = React.useMemo(() => uid.uid(5), []);
|
|
19
|
-
const globalHeaderToolbarGrid = React.useMemo(() =>
|
|
20
|
-
|
|
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]);
|
|
21
27
|
const propsWithDefaults = useGetPropsWithDefaults.useGetPropsWithDefaults(props);
|
|
22
28
|
const ctx = React__default["default"].useMemo(() => ({
|
|
23
29
|
props: propsWithDefaults,
|
|
@@ -35,21 +35,6 @@ const validateAppPickerItem = componentProps => {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
const validateGenericToolbarItem = item => {
|
|
39
|
-
if (item.label && typeof item.label !== 'string') {
|
|
40
|
-
validateHelpers.throwToolbarItemGenericError('label', item.label);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (item.onClick && typeof item.onClick !== 'function') {
|
|
44
|
-
validateHelpers.throwToolbarItemGenericError('onClick', item.onClick);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (item.Icon && typeof item.Icon !== 'function') {
|
|
48
|
-
if (item.type === 'ds-app-picker') return;
|
|
49
|
-
validateHelpers.throwToolbarItemGenericError('Icon', item.Icon);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
38
|
const useValidateProps = props => {
|
|
54
39
|
const {
|
|
55
40
|
breadcrumb,
|
|
@@ -66,7 +51,7 @@ const useValidateProps = props => {
|
|
|
66
51
|
validateHelpers.throwLogoError('LogoWithBrand', LogoWithBrand);
|
|
67
52
|
}
|
|
68
53
|
|
|
69
|
-
breadcrumb.forEach(breadcrumbItem => {
|
|
54
|
+
breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.forEach(breadcrumbItem => {
|
|
70
55
|
if (breadcrumbItem.label && typeof breadcrumbItem.label !== 'string') {
|
|
71
56
|
validateHelpers.throwBreadcrumbItemError('label', breadcrumbItem.label);
|
|
72
57
|
}
|
|
@@ -83,9 +68,7 @@ const useValidateProps = props => {
|
|
|
83
68
|
validateHelpers.throwBreadcrumbItemError('isSelected', breadcrumbItem.isSelected);
|
|
84
69
|
}
|
|
85
70
|
});
|
|
86
|
-
toolbar.forEach(toolbarItem => {
|
|
87
|
-
validateGenericToolbarItem(toolbarItem);
|
|
88
|
-
|
|
71
|
+
toolbar === null || toolbar === void 0 ? void 0 : toolbar.forEach(toolbarItem => {
|
|
89
72
|
if (toolbarItem.type) {
|
|
90
73
|
if (!validateHelpers.isValidToolbarType(toolbarItem.type)) {
|
|
91
74
|
validateHelpers.throwToolbarItemGenericError('type', toolbarItem.type);
|
|
@@ -97,7 +80,9 @@ const useValidateProps = props => {
|
|
|
97
80
|
|
|
98
81
|
if (toolbarItem.type === 'ds-popup-menu') {
|
|
99
82
|
validatePopupItem(toolbarItem.componentProps);
|
|
100
|
-
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (toolbarItem.type === 'ds-app-picker') {
|
|
101
86
|
validateAppPickerItem(toolbarItem.componentProps);
|
|
102
87
|
}
|
|
103
88
|
}
|
|
@@ -10,7 +10,7 @@ const breadcrumbProps = {
|
|
|
10
10
|
};
|
|
11
11
|
const toolbarProps = {
|
|
12
12
|
label: 'string',
|
|
13
|
-
type: '"ds-app-picker" or "ds-popup-menu"',
|
|
13
|
+
type: '"ds-app-picker" or "ds-popup-menu" or "ds-search-toggle"',
|
|
14
14
|
componentProps: 'object',
|
|
15
15
|
Icon: 'react component',
|
|
16
16
|
onClick: 'function',
|
|
@@ -28,7 +28,7 @@ const getVariableType = arg => {
|
|
|
28
28
|
if (arg === undefined) return 'undefined';
|
|
29
29
|
return typeof arg;
|
|
30
30
|
};
|
|
31
|
-
const isValidToolbarType = string => string === 'ds-app-picker' || string === 'ds-popup-menu';
|
|
31
|
+
const isValidToolbarType = string => string === 'ds-app-picker' || string === 'ds-popup-menu' || string === 'ds-search-toggle' || string === 'custom';
|
|
32
32
|
const throwBreadcrumbItemError = (validPropKey, invalidProp) => {
|
|
33
33
|
throw new Error("You are trying to pass a not valid \"".concat(validPropKey, "\" property for a breadcrumb item, please provide a valid type.\n\n Received: ").concat(invalidProp, " (").concat(typeof invalidProp, ")\n Expected: (").concat(breadcrumbProps[validPropKey], ")\n "));
|
|
34
34
|
};
|
package/cjs/defaultProps.js
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
const emptyComp = () => null;
|
|
6
|
+
|
|
5
7
|
const defaultProps = {
|
|
6
8
|
breadcrumb: [],
|
|
7
9
|
toolbar: [],
|
|
8
|
-
LogoWithBrand:
|
|
9
|
-
Logo:
|
|
10
|
+
LogoWithBrand: emptyComp,
|
|
11
|
+
Logo: emptyComp
|
|
10
12
|
};
|
|
11
13
|
|
|
12
14
|
exports.defaultProps = defaultProps;
|
|
@@ -2,84 +2,116 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
6
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
7
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
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');
|
|
7
14
|
var React = require('react');
|
|
8
15
|
var dsAppPicker = require('@elliemae/ds-app-picker');
|
|
16
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
9
17
|
var dsIcons = require('@elliemae/ds-icons');
|
|
10
18
|
var styles = require('../../components/Toolbar/styles.js');
|
|
19
|
+
var dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
11
20
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
21
|
|
|
13
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
23
|
|
|
24
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
15
25
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
26
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
16
27
|
|
|
17
28
|
var _MenuPicker;
|
|
18
|
-
const AppPicker = _ref => {
|
|
19
|
-
var _DSAppPicker;
|
|
20
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 => {
|
|
21
36
|
let {
|
|
22
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);
|
|
45
|
+
const {
|
|
23
46
|
apps,
|
|
47
|
+
icon,
|
|
24
48
|
customApps,
|
|
25
49
|
sectionTitle,
|
|
26
50
|
customSectionTitle,
|
|
27
|
-
onClick = () => null,
|
|
28
51
|
actionRef,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
52
|
+
isOpen: userIsOpen,
|
|
53
|
+
onKeyDown: userOnKeyDown,
|
|
54
|
+
onClickOutside: userOnClickOutside,
|
|
55
|
+
renderTrigger: userRenderTrigger,
|
|
56
|
+
onClose,
|
|
57
|
+
triggerRef,
|
|
58
|
+
triggerOnClick
|
|
59
|
+
} = componentProps;
|
|
33
60
|
const handleTriggerKeyDown = React.useCallback(e => {
|
|
34
61
|
if (e.code === 'Enter' || e.code === 'Space') {
|
|
35
62
|
setIsOpen(true);
|
|
36
63
|
}
|
|
37
64
|
}, []);
|
|
38
65
|
const handleAppPickerOnKeyDown = React.useCallback(e => {
|
|
39
|
-
customHandleOnKeyDown(e);
|
|
40
|
-
|
|
41
66
|
if (e.code === 'Escape') {
|
|
67
|
+
var _buttonRef$current;
|
|
68
|
+
|
|
42
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();
|
|
43
71
|
}
|
|
44
|
-
}, [
|
|
72
|
+
}, []);
|
|
45
73
|
const handleOnClickOutside = React.useCallback(() => {
|
|
46
74
|
setIsOpen(false);
|
|
47
75
|
}, []);
|
|
48
|
-
const handleOnClick = React.useCallback(
|
|
76
|
+
const handleOnClick = React.useCallback(() => {
|
|
49
77
|
setIsOpen(true);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const trigger = React.useMemo(() => _ref2 => {
|
|
78
|
+
}, []);
|
|
79
|
+
const renderTrigger = React.useMemo(() => _ref2 => {
|
|
53
80
|
let {
|
|
54
81
|
ref
|
|
55
82
|
} = _ref2;
|
|
56
83
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
57
84
|
ref: ref,
|
|
58
|
-
children: /*#__PURE__*/jsxRuntime.jsx(styles.Button, {
|
|
59
|
-
onClick: handleOnClick,
|
|
85
|
+
children: /*#__PURE__*/jsxRuntime.jsx(styles.Button, _objectSpread(_objectSpread({
|
|
86
|
+
onClick: triggerOnClick !== null && triggerOnClick !== void 0 ? triggerOnClick : handleOnClick,
|
|
60
87
|
onKeyDown: handleTriggerKeyDown,
|
|
61
|
-
ref: buttonRef,
|
|
88
|
+
ref: dsUtilities.mergeRefs(buttonRef, triggerRef),
|
|
62
89
|
title: label,
|
|
63
90
|
"data-testid": "gh-toolbar-item",
|
|
91
|
+
id: id
|
|
92
|
+
}, dsPropsHelpers.getDataProps(otherProps)), {}, {
|
|
64
93
|
children: _MenuPicker || (_MenuPicker = /*#__PURE__*/_jsx__default["default"](dsIcons.MenuPicker, {
|
|
65
94
|
fill: "#FFF",
|
|
66
|
-
|
|
95
|
+
width: 20.73,
|
|
96
|
+
height: 20.73
|
|
67
97
|
}))
|
|
68
|
-
})
|
|
98
|
+
}))
|
|
69
99
|
});
|
|
70
|
-
}, [handleOnClick, handleTriggerKeyDown, label]);
|
|
71
|
-
return
|
|
72
|
-
isOpen: isOpen,
|
|
100
|
+
}, [triggerOnClick, handleOnClick, handleTriggerKeyDown, triggerRef, label, id, otherProps]);
|
|
101
|
+
return /*#__PURE__*/_jsx__default["default"](dsAppPicker.DSAppPicker, {
|
|
73
102
|
apps: apps,
|
|
74
103
|
customApps: customApps,
|
|
75
104
|
sectionTitle: sectionTitle,
|
|
76
105
|
customSectionTitle: customSectionTitle,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
triggerRef: buttonRef,
|
|
106
|
+
icon: icon,
|
|
107
|
+
onKeyDown: userOnKeyDown !== null && userOnKeyDown !== void 0 ? userOnKeyDown : handleAppPickerOnKeyDown,
|
|
80
108
|
actionRef: actionRef,
|
|
81
|
-
|
|
82
|
-
|
|
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
|
|
114
|
+
});
|
|
83
115
|
};
|
|
84
116
|
|
|
85
117
|
exports.AppPicker = AppPicker;
|