@elliemae/ds-global-header 2.3.0-alpha.8 → 2.3.0-next.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/GlobalHeader.js +37 -0
- package/cjs/GlobalHeaderContainer.js +24 -0
- package/cjs/GlobalHeaderContext.js +20 -0
- package/cjs/GlobalHeaderTypes.js +2 -0
- package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +85 -0
- package/cjs/components/Breadcrumb/PureBreadcrumb.js +60 -0
- package/cjs/components/Breadcrumb/styles.js +59 -0
- package/cjs/components/Title/GlobalHeaderTitle.js +29 -0
- package/cjs/components/Toolbar/GlobalHeaderToolbar.js +30 -0
- package/cjs/components/Toolbar/ToolbarItems.js +107 -0
- package/cjs/components/Toolbar/styles.js +25 -0
- package/cjs/config/useGetPropsWithDefaults.js +31 -0
- package/cjs/config/useGlobalHeader.js +39 -0
- package/cjs/config/useValidateProps.js +92 -0
- package/cjs/config/validateHelpers.js +57 -0
- package/cjs/defaultProps.js +14 -0
- package/cjs/index.js +11 -0
- package/cjs/outOfTheBox/AppPicker/AppPicker.js +117 -0
- package/cjs/outOfTheBox/PopupMenu/PopupMenu.js +101 -0
- package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +96 -0
- package/cjs/outOfTheBox/PopupMenu/styles.js +32 -0
- package/cjs/outOfTheBox/SearchToggle/SearchToggle.js +113 -0
- package/cjs/outOfTheBox/SearchToggle/styles.js +15 -0
- package/cjs/outOfTheBox/index.js +13 -0
- package/cjs/propTypes.js +29 -0
- package/cjs/styles.js +21 -0
- package/esm/GlobalHeader.js +28 -0
- package/esm/GlobalHeaderContainer.js +16 -0
- package/esm/GlobalHeaderContext.js +16 -0
- package/esm/GlobalHeaderTypes.js +1 -0
- package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +75 -0
- package/esm/components/Breadcrumb/PureBreadcrumb.js +49 -0
- package/esm/components/Breadcrumb/styles.js +48 -0
- package/esm/components/Title/GlobalHeaderTitle.js +21 -0
- package/esm/components/Toolbar/GlobalHeaderToolbar.js +22 -0
- package/esm/components/Toolbar/ToolbarItems.js +97 -0
- package/esm/components/Toolbar/styles.js +17 -0
- package/esm/config/useGetPropsWithDefaults.js +23 -0
- package/esm/config/useGlobalHeader.js +31 -0
- package/esm/config/useValidateProps.js +88 -0
- package/esm/config/validateHelpers.js +44 -0
- package/{dist/esm → esm}/defaultProps.js +3 -5
- package/esm/index.js +1 -0
- package/esm/outOfTheBox/AppPicker/AppPicker.js +107 -0
- package/esm/outOfTheBox/PopupMenu/PopupMenu.js +91 -0
- package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +86 -0
- package/esm/outOfTheBox/PopupMenu/styles.js +21 -0
- package/esm/outOfTheBox/SearchToggle/SearchToggle.js +103 -0
- package/esm/outOfTheBox/SearchToggle/styles.js +7 -0
- package/esm/outOfTheBox/index.js +3 -0
- package/esm/propTypes.js +23 -0
- package/esm/styles.js +13 -0
- package/package.json +72 -76
- package/types/GlobalHeader.d.ts +39 -0
- package/types/GlobalHeaderContainer.d.ts +3 -0
- package/types/GlobalHeaderContext.d.ts +3 -0
- package/types/GlobalHeaderTypes.d.ts +85 -0
- package/types/components/Breadcrumb/GlobalHeaderBreadcrumb.d.ts +2 -0
- package/types/components/Breadcrumb/PureBreadcrumb.d.ts +3 -0
- package/types/components/Breadcrumb/styles.d.ts +5 -0
- package/types/components/Title/GlobalHeaderTitle.d.ts +2 -0
- package/types/components/Toolbar/GlobalHeaderToolbar.d.ts +2 -0
- package/types/components/Toolbar/ToolbarItems.d.ts +2 -0
- package/types/components/Toolbar/styles.d.ts +1 -0
- package/types/config/useGetPropsWithDefaults.d.ts +2 -0
- package/types/config/useGlobalHeader.d.ts +2 -0
- package/types/config/useValidateProps.d.ts +2 -0
- package/types/config/validateHelpers.d.ts +27 -0
- package/types/defaultProps.d.ts +2 -0
- package/types/index.d.ts +2 -0
- package/types/outOfTheBox/AppPicker/AppPicker.d.ts +8 -0
- package/types/outOfTheBox/PopupMenu/PopupMenu.d.ts +3 -0
- package/types/outOfTheBox/PopupMenu/PopupMenuContent.d.ts +3 -0
- package/types/outOfTheBox/PopupMenu/styles.d.ts +4 -0
- package/types/outOfTheBox/SearchToggle/SearchToggle.d.ts +2 -0
- package/types/outOfTheBox/SearchToggle/styles.d.ts +1 -0
- package/types/outOfTheBox/index.d.ts +3 -0
- package/types/propTypes.d.ts +29 -0
- package/types/styles.d.ts +2 -0
- package/dist/cjs/GlobalHeader.js +0 -57
- package/dist/cjs/GlobalHeader.js.map +0 -7
- package/dist/cjs/GlobalHeaderContainer.js +0 -41
- package/dist/cjs/GlobalHeaderContainer.js.map +0 -7
- package/dist/cjs/GlobalHeaderContext.js +0 -46
- package/dist/cjs/GlobalHeaderContext.js.map +0 -7
- package/dist/cjs/GlobalHeaderTypes.js +0 -27
- package/dist/cjs/GlobalHeaderTypes.js.map +0 -7
- package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -85
- package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
- package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js +0 -51
- package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
- package/dist/cjs/components/Breadcrumb/styles.js +0 -83
- package/dist/cjs/components/Breadcrumb/styles.js.map +0 -7
- package/dist/cjs/components/Title/GlobalHeaderTitle.js +0 -48
- package/dist/cjs/components/Title/GlobalHeaderTitle.js.map +0 -7
- package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js +0 -49
- package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
- package/dist/cjs/components/Toolbar/ToolbarItems.js +0 -96
- package/dist/cjs/components/Toolbar/ToolbarItems.js.map +0 -7
- package/dist/cjs/components/Toolbar/styles.js +0 -61
- package/dist/cjs/components/Toolbar/styles.js.map +0 -7
- package/dist/cjs/config/useGetPropsWithDefaults.js +0 -43
- package/dist/cjs/config/useGetPropsWithDefaults.js.map +0 -7
- package/dist/cjs/config/useGlobalHeader.js +0 -53
- package/dist/cjs/config/useGlobalHeader.js.map +0 -7
- package/dist/cjs/config/useValidateProps.js +0 -109
- package/dist/cjs/config/useValidateProps.js.map +0 -7
- package/dist/cjs/config/validateHelpers.js +0 -111
- package/dist/cjs/config/validateHelpers.js.map +0 -7
- package/dist/cjs/defaultProps.js +0 -41
- package/dist/cjs/defaultProps.js.map +0 -7
- package/dist/cjs/index.js +0 -36
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js +0 -110
- package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js +0 -96
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -89
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
- package/dist/cjs/outOfTheBox/PopupMenu/styles.js +0 -67
- package/dist/cjs/outOfTheBox/PopupMenu/styles.js.map +0 -7
- package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js +0 -108
- package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
- package/dist/cjs/outOfTheBox/SearchToggle/styles.js +0 -82
- package/dist/cjs/outOfTheBox/SearchToggle/styles.js.map +0 -7
- package/dist/cjs/outOfTheBox/index.js +0 -30
- package/dist/cjs/outOfTheBox/index.js.map +0 -7
- package/dist/cjs/propTypes.js +0 -56
- package/dist/cjs/propTypes.js.map +0 -7
- package/dist/cjs/styles.js +0 -43
- package/dist/cjs/styles.js.map +0 -7
- package/dist/esm/GlobalHeader.js +0 -28
- package/dist/esm/GlobalHeader.js.map +0 -7
- package/dist/esm/GlobalHeaderContainer.js +0 -12
- package/dist/esm/GlobalHeaderContainer.js.map +0 -7
- package/dist/esm/GlobalHeaderContext.js +0 -17
- package/dist/esm/GlobalHeaderContext.js.map +0 -7
- package/dist/esm/GlobalHeaderTypes.js +0 -2
- package/dist/esm/GlobalHeaderTypes.js.map +0 -7
- package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -56
- package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
- package/dist/esm/components/Breadcrumb/PureBreadcrumb.js +0 -22
- package/dist/esm/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
- package/dist/esm/components/Breadcrumb/styles.js +0 -54
- package/dist/esm/components/Breadcrumb/styles.js.map +0 -7
- package/dist/esm/components/Title/GlobalHeaderTitle.js +0 -19
- package/dist/esm/components/Title/GlobalHeaderTitle.js.map +0 -7
- package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js +0 -20
- package/dist/esm/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
- package/dist/esm/components/Toolbar/ToolbarItems.js +0 -67
- package/dist/esm/components/Toolbar/ToolbarItems.js.map +0 -7
- package/dist/esm/components/Toolbar/styles.js +0 -32
- package/dist/esm/components/Toolbar/styles.js.map +0 -7
- package/dist/esm/config/useGetPropsWithDefaults.js +0 -14
- package/dist/esm/config/useGetPropsWithDefaults.js.map +0 -7
- package/dist/esm/config/useGlobalHeader.js +0 -24
- package/dist/esm/config/useGlobalHeader.js.map +0 -7
- package/dist/esm/config/useValidateProps.js +0 -88
- package/dist/esm/config/useValidateProps.js.map +0 -7
- package/dist/esm/config/validateHelpers.js +0 -82
- package/dist/esm/config/validateHelpers.js.map +0 -7
- package/dist/esm/defaultProps.js.map +0 -7
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/outOfTheBox/AppPicker/AppPicker.js +0 -81
- package/dist/esm/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
- package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js +0 -67
- package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
- package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -60
- package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
- package/dist/esm/outOfTheBox/PopupMenu/styles.js +0 -38
- package/dist/esm/outOfTheBox/PopupMenu/styles.js.map +0 -7
- package/dist/esm/outOfTheBox/SearchToggle/SearchToggle.js +0 -79
- package/dist/esm/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
- package/dist/esm/outOfTheBox/SearchToggle/styles.js +0 -53
- package/dist/esm/outOfTheBox/SearchToggle/styles.js.map +0 -7
- package/dist/esm/outOfTheBox/index.js +0 -5
- package/dist/esm/outOfTheBox/index.js.map +0 -7
- package/dist/esm/propTypes.js +0 -27
- package/dist/esm/propTypes.js.map +0 -7
- package/dist/esm/styles.js +0 -14
- package/dist/esm/styles.js.map +0 -7
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const breadcrumbProps = {
|
|
6
|
+
label: 'string',
|
|
7
|
+
onClick: 'function',
|
|
8
|
+
hasNext: 'boolean',
|
|
9
|
+
isSelected: 'boolean'
|
|
10
|
+
};
|
|
11
|
+
const toolbarProps = {
|
|
12
|
+
label: 'string',
|
|
13
|
+
type: '"ds-app-picker" or "ds-popup-menu" or "ds-search-toggle"',
|
|
14
|
+
componentProps: 'object',
|
|
15
|
+
Icon: 'react component',
|
|
16
|
+
onClick: 'function',
|
|
17
|
+
options: 'array',
|
|
18
|
+
closeOnClick: 'boolean',
|
|
19
|
+
apps: 'array',
|
|
20
|
+
customApps: 'array',
|
|
21
|
+
sectionTitle: 'string',
|
|
22
|
+
customSectionTitle: 'string'
|
|
23
|
+
};
|
|
24
|
+
const isObject = obj => typeof obj === 'object' && !!obj && !Array.isArray(obj);
|
|
25
|
+
const getVariableType = arg => {
|
|
26
|
+
if (Array.isArray(arg)) return 'array';
|
|
27
|
+
if (arg === null) return 'null';
|
|
28
|
+
if (arg === undefined) return 'undefined';
|
|
29
|
+
return typeof arg;
|
|
30
|
+
};
|
|
31
|
+
const isValidToolbarType = string => string === 'ds-app-picker' || string === 'ds-popup-menu' || string === 'ds-search-toggle' || string === 'custom';
|
|
32
|
+
const throwBreadcrumbItemError = (validPropKey, invalidProp) => {
|
|
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
|
+
};
|
|
35
|
+
const throwToolbarPopupItemError = (validPropKey, invalidProp) => {
|
|
36
|
+
throw new Error("You are trying to pass a not valid \"".concat(validPropKey, "\" property inside componentProps for a ds-popup-menu \n toolbar item, please provide a valid type.\n\n Received: ").concat(invalidProp, " (").concat(getVariableType(invalidProp), ")\n Expected: (").concat(toolbarProps[validPropKey], ")\n "));
|
|
37
|
+
};
|
|
38
|
+
const throwToolbarAppPickerItemError = (validPropKey, invalidProp) => {
|
|
39
|
+
throw new Error("You are trying to pass a not valid \"".concat(validPropKey, "\" property inside componentProps for a ds-app-picker \n toolbar item, please provide a valid type.\n\n Received: ").concat(invalidProp, " (").concat(getVariableType(invalidProp), ")\n Expected: (").concat(toolbarProps[validPropKey], ")\n "));
|
|
40
|
+
};
|
|
41
|
+
const throwToolbarItemGenericError = (validPropKey, invalidProp) => {
|
|
42
|
+
throw new Error("You are trying to pass a not valid \"".concat(validPropKey, "\" property for a toolbar item, please provide a valid type.\n\n Received: ").concat(invalidProp, " (").concat(getVariableType(invalidProp), ")\n Expected: (").concat(toolbarProps[validPropKey], ")\n "));
|
|
43
|
+
};
|
|
44
|
+
const throwLogoError = (validPropKey, invalidProp) => {
|
|
45
|
+
throw new Error("You are trying to pass a not valid \"".concat(validPropKey, "\" property for a global header, \n remember to provide both Logo and LogoWithBrand properties with a valid type.\n\n Received: ").concat(invalidProp, " (").concat(getVariableType(invalidProp), ").\n Expected: (react component).\n "));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
exports.breadcrumbProps = breadcrumbProps;
|
|
49
|
+
exports.getVariableType = getVariableType;
|
|
50
|
+
exports.isObject = isObject;
|
|
51
|
+
exports.isValidToolbarType = isValidToolbarType;
|
|
52
|
+
exports.throwBreadcrumbItemError = throwBreadcrumbItemError;
|
|
53
|
+
exports.throwLogoError = throwLogoError;
|
|
54
|
+
exports.throwToolbarAppPickerItemError = throwToolbarAppPickerItemError;
|
|
55
|
+
exports.throwToolbarItemGenericError = throwToolbarItemGenericError;
|
|
56
|
+
exports.throwToolbarPopupItemError = throwToolbarPopupItemError;
|
|
57
|
+
exports.toolbarProps = toolbarProps;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const emptyComp = () => null;
|
|
6
|
+
|
|
7
|
+
const defaultProps = {
|
|
8
|
+
breadcrumb: [],
|
|
9
|
+
toolbar: [],
|
|
10
|
+
LogoWithBrand: emptyComp,
|
|
11
|
+
Logo: emptyComp
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.defaultProps = defaultProps;
|
package/cjs/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
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;
|
|
@@ -0,0 +1,117 @@
|
|
|
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);
|
|
45
|
+
const {
|
|
46
|
+
apps,
|
|
47
|
+
icon,
|
|
48
|
+
customApps,
|
|
49
|
+
sectionTitle,
|
|
50
|
+
customSectionTitle,
|
|
51
|
+
actionRef,
|
|
52
|
+
isOpen: userIsOpen,
|
|
53
|
+
onKeyDown: userOnKeyDown,
|
|
54
|
+
onClickOutside: userOnClickOutside,
|
|
55
|
+
renderTrigger: userRenderTrigger,
|
|
56
|
+
onClose,
|
|
57
|
+
triggerRef,
|
|
58
|
+
triggerOnClick
|
|
59
|
+
} = componentProps;
|
|
60
|
+
const handleTriggerKeyDown = React.useCallback(e => {
|
|
61
|
+
if (e.code === 'Enter' || e.code === 'Space') {
|
|
62
|
+
setIsOpen(true);
|
|
63
|
+
}
|
|
64
|
+
}, []);
|
|
65
|
+
const handleAppPickerOnKeyDown = React.useCallback(e => {
|
|
66
|
+
if (e.code === 'Escape') {
|
|
67
|
+
var _buttonRef$current;
|
|
68
|
+
|
|
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();
|
|
71
|
+
}
|
|
72
|
+
}, []);
|
|
73
|
+
const handleOnClickOutside = React.useCallback(() => {
|
|
74
|
+
setIsOpen(false);
|
|
75
|
+
}, []);
|
|
76
|
+
const handleOnClick = React.useCallback(() => {
|
|
77
|
+
setIsOpen(true);
|
|
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
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
exports.AppPicker = AppPicker;
|
|
@@ -0,0 +1,101 @@
|
|
|
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);
|
|
46
|
+
const {
|
|
47
|
+
onClickOutside = () => null,
|
|
48
|
+
onKeyPress,
|
|
49
|
+
popupOnKeyPress,
|
|
50
|
+
isOpen: userIsOpen,
|
|
51
|
+
options,
|
|
52
|
+
closeOnClick
|
|
53
|
+
} = componentProps;
|
|
54
|
+
const handleKeyPress = React.useCallback(e => {
|
|
55
|
+
if (e.code === 'Enter' || e.code === 'Space') {
|
|
56
|
+
setIsOpen(true);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (onKeyPress) onKeyPress(e);
|
|
60
|
+
}, [onKeyPress]);
|
|
61
|
+
const handleOnClose = React.useCallback(() => {
|
|
62
|
+
if (userIsOpen === undefined) {
|
|
63
|
+
setIsOpen(false);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.focus();
|
|
67
|
+
}, [buttonRef, userIsOpen]);
|
|
68
|
+
const handleTriggerOnClick = React.useCallback(e => {
|
|
69
|
+
if (userIsOpen === undefined) setIsOpen(true);
|
|
70
|
+
onClick(e);
|
|
71
|
+
}, [onClick, userIsOpen]);
|
|
72
|
+
const handleItemClick = React.useCallback(() => {
|
|
73
|
+
if (closeOnClick && userIsOpen === undefined) handleOnClose();
|
|
74
|
+
}, [closeOnClick, handleOnClose, userIsOpen]);
|
|
75
|
+
const content = React.useMemo(() => _PopupMenuContent || (_PopupMenuContent = /*#__PURE__*/_jsx__default["default"](PopupMenuContent.PopupMenuContent, {
|
|
76
|
+
options: options,
|
|
77
|
+
onItemClick: handleItemClick,
|
|
78
|
+
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({
|
|
82
|
+
onClick: handleTriggerOnClick,
|
|
83
|
+
onKeyPress: handleKeyPress,
|
|
84
|
+
title: title,
|
|
85
|
+
ref: setButtonRef,
|
|
86
|
+
"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, {
|
|
94
|
+
referenceElement: buttonRef,
|
|
95
|
+
showPopover: userIsOpen !== null && userIsOpen !== void 0 ? userIsOpen : isOpen,
|
|
96
|
+
closeContextMenu: handleOnClose,
|
|
97
|
+
onClickOutside: onClickOutside
|
|
98
|
+
}, void 0, content));
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
exports.PopupMenu = PopupMenu;
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.map.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 dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
16
|
+
var styles = require('./styles.js');
|
|
17
|
+
var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
|
|
18
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
19
|
+
|
|
20
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
+
|
|
22
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
23
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
24
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
|
+
|
|
26
|
+
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
|
+
|
|
28
|
+
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
|
+
const PopupMenuContent = /*#__PURE__*/React__default["default"].memo(_ref => {
|
|
30
|
+
let {
|
|
31
|
+
options,
|
|
32
|
+
onItemClick,
|
|
33
|
+
onClose,
|
|
34
|
+
popupOnKeyPress
|
|
35
|
+
} = _ref;
|
|
36
|
+
const {
|
|
37
|
+
instanceUID
|
|
38
|
+
} = React.useContext(GlobalHeaderContext.GlobalHeaderContext);
|
|
39
|
+
const menuRef = React.useRef(null);
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
var _menuRef$current, _menuRef$current$firs;
|
|
42
|
+
|
|
43
|
+
(_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : (_menuRef$current$firs = _menuRef$current.firstChild) === null || _menuRef$current$firs === void 0 ? void 0 : _menuRef$current$firs.focus();
|
|
44
|
+
}, []);
|
|
45
|
+
const content = React.useMemo(() => options.map(option => {
|
|
46
|
+
const {
|
|
47
|
+
type,
|
|
48
|
+
Icon,
|
|
49
|
+
label = '',
|
|
50
|
+
onClick,
|
|
51
|
+
Content,
|
|
52
|
+
id
|
|
53
|
+
} = option;
|
|
54
|
+
|
|
55
|
+
const ariaAndDataProps = _objectSpread(_objectSpread({}, dsPropsHelpers.getAriaProps(option)), dsPropsHelpers.getDataProps(option));
|
|
56
|
+
|
|
57
|
+
const handleClick = e => {
|
|
58
|
+
onItemClick(e);
|
|
59
|
+
if (onClick) onClick(e);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const handleKeyDown = e => {
|
|
63
|
+
if (e.code === 'Escape') onClose();
|
|
64
|
+
if (popupOnKeyPress) popupOnKeyPress(e);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
switch (type) {
|
|
68
|
+
case 'separator':
|
|
69
|
+
return /*#__PURE__*/jsxRuntime.jsx(styles.Separator, _objectSpread({}, ariaAndDataProps), "".concat(instanceUID, "-separator-").concat(label));
|
|
70
|
+
|
|
71
|
+
case 'custom':
|
|
72
|
+
return /*#__PURE__*/jsxRuntime.jsx(styles.ItemWrapper, _objectSpread(_objectSpread({
|
|
73
|
+
onClick: handleClick,
|
|
74
|
+
onKeyDown: handleKeyDown,
|
|
75
|
+
id: id
|
|
76
|
+
}, ariaAndDataProps), {}, {
|
|
77
|
+
children: Content && /*#__PURE__*/_jsx__default["default"](Content, {})
|
|
78
|
+
}), "".concat(instanceUID, "-popup-").concat(label));
|
|
79
|
+
|
|
80
|
+
default:
|
|
81
|
+
return /*#__PURE__*/jsxRuntime.jsxs(styles.ItemWrapper, _objectSpread(_objectSpread({
|
|
82
|
+
onClick: handleClick,
|
|
83
|
+
onKeyDown: handleKeyDown,
|
|
84
|
+
id: id
|
|
85
|
+
}, ariaAndDataProps), {}, {
|
|
86
|
+
children: [Icon && /*#__PURE__*/_jsx__default["default"](Icon, {}), styles.Label && /*#__PURE__*/_jsx__default["default"](styles.Label, {}, void 0, label)]
|
|
87
|
+
}), "".concat(instanceUID, "-popup-").concat(label));
|
|
88
|
+
}
|
|
89
|
+
}), [options, onItemClick, onClose, popupOnKeyPress, instanceUID]);
|
|
90
|
+
return /*#__PURE__*/jsxRuntime.jsx(styles.List, {
|
|
91
|
+
ref: menuRef,
|
|
92
|
+
children: content
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
exports.PopupMenuContent = PopupMenuContent;
|
|
@@ -0,0 +1,32 @@
|
|
|
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 List = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
12
|
+
componentId: "sc-snqcgs-0"
|
|
13
|
+
})(["padding:5px 0px;background:white;"]);
|
|
14
|
+
const ItemWrapper = /*#__PURE__*/styled__default["default"].button.withConfig({
|
|
15
|
+
componentId: "sc-snqcgs-1"
|
|
16
|
+
})(["display:flex;align-items:center;justify-content:center;width:100%;padding:0 20px;cursor:pointer;border:1px solid transparent;background-color:transparent;outline:none;:hover,:focus{border:", ";}"], _ref => {
|
|
17
|
+
let {
|
|
18
|
+
theme
|
|
19
|
+
} = _ref;
|
|
20
|
+
return "1px solid ".concat(theme.colors.brand[600]);
|
|
21
|
+
});
|
|
22
|
+
const Label = /*#__PURE__*/styled__default["default"].p.withConfig({
|
|
23
|
+
componentId: "sc-snqcgs-2"
|
|
24
|
+
})(["width:100%;font-size:14px;margin:10px;"]);
|
|
25
|
+
const Separator = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
26
|
+
componentId: "sc-snqcgs-3"
|
|
27
|
+
})(["width:100%;border:none;border-bottom:1px solid #ccc;"]);
|
|
28
|
+
|
|
29
|
+
exports.ItemWrapper = ItemWrapper;
|
|
30
|
+
exports.Label = Label;
|
|
31
|
+
exports.List = List;
|
|
32
|
+
exports.Separator = Separator;
|
|
@@ -0,0 +1,113 @@
|
|
|
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 dsIcons = require('@elliemae/ds-icons');
|
|
16
|
+
var dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
17
|
+
var dsIcon = require('@elliemae/ds-icon');
|
|
18
|
+
var dsForm = require('@elliemae/ds-form');
|
|
19
|
+
var styles = require('./styles.js');
|
|
20
|
+
var styles$1 = require('../../components/Toolbar/styles.js');
|
|
21
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
22
|
+
|
|
23
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
|
+
|
|
25
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
26
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
27
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
28
|
+
|
|
29
|
+
const _excluded = ["id", "componentProps"];
|
|
30
|
+
|
|
31
|
+
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; }
|
|
32
|
+
|
|
33
|
+
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; }
|
|
34
|
+
const SearchToggle = _ref => {
|
|
35
|
+
let {
|
|
36
|
+
id,
|
|
37
|
+
componentProps
|
|
38
|
+
} = _ref,
|
|
39
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
40
|
+
|
|
41
|
+
const [isOpen, setIsOpen] = React.useState(false);
|
|
42
|
+
const inputRef = React.useRef(null);
|
|
43
|
+
const triggerRef = React.useRef(null);
|
|
44
|
+
const containerRef = React.useRef(null);
|
|
45
|
+
const {
|
|
46
|
+
onNext,
|
|
47
|
+
onPrevious,
|
|
48
|
+
currentResultIndex,
|
|
49
|
+
totalResults,
|
|
50
|
+
placeholder,
|
|
51
|
+
value,
|
|
52
|
+
onChange,
|
|
53
|
+
onBlur,
|
|
54
|
+
onClear,
|
|
55
|
+
isOpen: userIsOpen,
|
|
56
|
+
onKeyDown,
|
|
57
|
+
onClick
|
|
58
|
+
} = componentProps;
|
|
59
|
+
const handleOnClick = React.useCallback(e => {
|
|
60
|
+
if (userIsOpen === undefined) setIsOpen(true);
|
|
61
|
+
if (onClick) onClick(e);
|
|
62
|
+
}, [onClick, userIsOpen]);
|
|
63
|
+
const handleOnKeyDown = React.useCallback(e => {
|
|
64
|
+
if (userIsOpen === undefined) {
|
|
65
|
+
if (e.code === 'Escape') {
|
|
66
|
+
setIsOpen(false);
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
var _triggerRef$current;
|
|
69
|
+
|
|
70
|
+
return (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.focus();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (onKeyDown) onKeyDown(e);
|
|
76
|
+
}, [onKeyDown, userIsOpen]);
|
|
77
|
+
const handleOnBlur = React.useCallback(() => {
|
|
78
|
+
setTimeout(() => {
|
|
79
|
+
var _containerRef$current;
|
|
80
|
+
|
|
81
|
+
const contains = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.contains(document.activeElement);
|
|
82
|
+
if (value === '' && !contains) setIsOpen(false);
|
|
83
|
+
});
|
|
84
|
+
}, [value]);
|
|
85
|
+
return userIsOpen || isOpen ? /*#__PURE__*/jsxRuntime.jsx(styles.StyledNavSearchBoxContainer, {
|
|
86
|
+
onKeyDown: handleOnKeyDown,
|
|
87
|
+
ref: containerRef,
|
|
88
|
+
onBlur: handleOnBlur,
|
|
89
|
+
children: /*#__PURE__*/_jsx__default["default"](dsForm.DSNavSearchBox, {
|
|
90
|
+
onNext: onNext,
|
|
91
|
+
onPrevious: onPrevious,
|
|
92
|
+
currentResultIndex: currentResultIndex,
|
|
93
|
+
totalResults: totalResults,
|
|
94
|
+
onClear: onClear,
|
|
95
|
+
placeholder: placeholder,
|
|
96
|
+
onChange: onChange,
|
|
97
|
+
value: value,
|
|
98
|
+
onBlur: onBlur,
|
|
99
|
+
innerRef: inputRef,
|
|
100
|
+
autoFocus: true
|
|
101
|
+
})
|
|
102
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(styles$1.Button, _objectSpread(_objectSpread({
|
|
103
|
+
onClick: handleOnClick,
|
|
104
|
+
ref: triggerRef,
|
|
105
|
+
id: id
|
|
106
|
+
}, dsPropsHelpers.getDataProps(otherProps)), {}, {
|
|
107
|
+
children: /*#__PURE__*/_jsx__default["default"](dsIcons.Search, {
|
|
108
|
+
color: dsIcon.DSIconColors.WHITE
|
|
109
|
+
})
|
|
110
|
+
}));
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
exports.SearchToggle = SearchToggle;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 StyledNavSearchBoxContainer = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
12
|
+
componentId: "sc-1dlcqwh-0"
|
|
13
|
+
})(["background:white;position:relative;min-width:260px;& .em-ds-button{margin-right:2px;height:24px;width:24px;}& .em-ds-input{border:none;outline:none;box-shadow:none;}& .em-ds-input:focus{border:none;box-shadow:none;}& .em-ds-input.em-ds-input--clearable:hover{border:none;outline:none;box-shadow:none;}& .em-ds-input-addon-wrapper{box-shadow:none;}& .em-ds-input-addon-wrapper:hover{outline:none;}& .em-ds-input-addon-wrapper__addon:hover{outline:none;}& .em-ds-input:not(.floating-label-input-controller):hover:active{border:none;outline:none;box-shadow:none;}"]);
|
|
14
|
+
|
|
15
|
+
exports.StyledNavSearchBoxContainer = StyledNavSearchBoxContainer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var AppPicker = require('./AppPicker/AppPicker.js');
|
|
6
|
+
var PopupMenu = require('./PopupMenu/PopupMenu.js');
|
|
7
|
+
var SearchToggle = require('./SearchToggle/SearchToggle.js');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.AppPicker = AppPicker.AppPicker;
|
|
12
|
+
exports.PopupMenu = PopupMenu.PopupMenu;
|
|
13
|
+
exports.SearchToggle = SearchToggle.SearchToggle;
|
package/cjs/propTypes.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var reactDesc = require('react-desc');
|
|
6
|
+
|
|
7
|
+
const breadcrumbItem = reactDesc.PropTypes.shape({
|
|
8
|
+
label: reactDesc.PropTypes.string.description('breadrcrumb item label'),
|
|
9
|
+
hasNext: reactDesc.PropTypes.bool.description('whether the item has a child or not'),
|
|
10
|
+
isSelected: reactDesc.PropTypes.bool.description('whether the item is selected or not'),
|
|
11
|
+
onClick: reactDesc.PropTypes.func.description('Callback executed on click')
|
|
12
|
+
});
|
|
13
|
+
const toolbarItem = reactDesc.PropTypes.shape({
|
|
14
|
+
label: reactDesc.PropTypes.string.description('title tag description'),
|
|
15
|
+
type: reactDesc.PropTypes.oneOf(['ds-app-picker', 'ds-popup-menu', 'ds-search-toggle', 'custom']).description('use to select one of the out-of-the-box types of items'),
|
|
16
|
+
componentProps: reactDesc.PropTypes.object.description('props of out-of-the-box component'),
|
|
17
|
+
Icon: reactDesc.PropTypes.func.description('Icon to display'),
|
|
18
|
+
onClick: reactDesc.PropTypes.func.description('Callback executed on click')
|
|
19
|
+
});
|
|
20
|
+
const globalHeaderProps = {
|
|
21
|
+
Logo: reactDesc.PropTypes.func.description('Global Header Logo to render. Logo and LogoWithBrand are going to swap during window resizing.'),
|
|
22
|
+
LogoWithBrand: reactDesc.PropTypes.func.description('Global Header Logo With Brand title to render. Logo and LogoWithBrand are going to swap during window resizing.'),
|
|
23
|
+
breadcrumb: reactDesc.PropTypes.arrayOf(breadcrumbItem).description('Breadcrumb items to display. max 3 levels'),
|
|
24
|
+
toolbar: reactDesc.PropTypes.arrayOf(toolbarItem).description('Toolbar items')
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.breadcrumbItem = breadcrumbItem;
|
|
28
|
+
exports.globalHeaderProps = globalHeaderProps;
|
|
29
|
+
exports.toolbarItem = toolbarItem;
|
package/cjs/styles.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var styled = require('styled-components');
|
|
6
|
+
var dsGrid = require('@elliemae/ds-grid');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
11
|
+
|
|
12
|
+
const Wrapper = /*#__PURE__*/styled__default["default"](dsGrid.GridContainer).withConfig({
|
|
13
|
+
componentId: "sc-1v5zxxm-0"
|
|
14
|
+
})(["background-image:linear-gradient(45deg,#0f364a 0%,#1b6392 54%,#164566 100%);color:", ";width:100%;height:40px;padding:0 24px 0 12px;"], _ref => {
|
|
15
|
+
let {
|
|
16
|
+
theme
|
|
17
|
+
} = _ref;
|
|
18
|
+
return theme.colors.neutral['000'];
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
exports.Wrapper = Wrapper;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
|
+
import 'react';
|
|
3
|
+
import { describe } from 'react-desc';
|
|
4
|
+
import { globalHeaderProps } from './propTypes.js';
|
|
5
|
+
import { GlobalHeaderTitle } from './components/Title/GlobalHeaderTitle.js';
|
|
6
|
+
import { GlobalHeaderBreadcrumb } from './components/Breadcrumb/GlobalHeaderBreadcrumb.js';
|
|
7
|
+
import { GlobalHeaderToolbar } from './components/Toolbar/GlobalHeaderToolbar.js';
|
|
8
|
+
import { GlobalHeaderContext } from './GlobalHeaderContext.js';
|
|
9
|
+
import { useGlobalHeader } from './config/useGlobalHeader.js';
|
|
10
|
+
import { defaultProps } from './defaultProps.js';
|
|
11
|
+
import { GlobalHeaderContainer } from './GlobalHeaderContainer.js';
|
|
12
|
+
import { useValidateProps } from './config/useValidateProps.js';
|
|
13
|
+
|
|
14
|
+
var _GlobalHeaderTitle, _GlobalHeaderBreadcru, _GlobalHeaderToolbar;
|
|
15
|
+
|
|
16
|
+
const GlobalHeader = props => {
|
|
17
|
+
useValidateProps(props);
|
|
18
|
+
const ctx = useGlobalHeader(props);
|
|
19
|
+
return /*#__PURE__*/_jsx(GlobalHeaderContainer, {}, void 0, /*#__PURE__*/_jsx(GlobalHeaderContext.Provider, {
|
|
20
|
+
value: ctx
|
|
21
|
+
}, void 0, _GlobalHeaderTitle || (_GlobalHeaderTitle = /*#__PURE__*/_jsx(GlobalHeaderTitle, {})), _GlobalHeaderBreadcru || (_GlobalHeaderBreadcru = /*#__PURE__*/_jsx(GlobalHeaderBreadcrumb, {})), _GlobalHeaderToolbar || (_GlobalHeaderToolbar = /*#__PURE__*/_jsx(GlobalHeaderToolbar, {}))));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
GlobalHeader.defaultProps = defaultProps;
|
|
25
|
+
const GlobalHeaderWithSchema = describe(GlobalHeader);
|
|
26
|
+
GlobalHeaderWithSchema.propTypes = globalHeaderProps;
|
|
27
|
+
|
|
28
|
+
export { GlobalHeader, GlobalHeaderWithSchema };
|