@elliemae/ds-global-header 1.59.7 → 1.61.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 +5 -2
- package/cjs/GlobalHeader.js.map +1 -1
- package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +8 -8
- package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +1 -1
- package/cjs/components/Breadcrumb/PureBreadcrumb.js +1 -1
- package/cjs/components/Breadcrumb/PureBreadcrumb.js.map +1 -1
- package/cjs/components/Toolbar/GlobalHeaderToolbar.js +5 -1
- package/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +1 -1
- package/cjs/components/Toolbar/ToolbarItems.js +10 -20
- package/cjs/components/Toolbar/ToolbarItems.js.map +1 -1
- package/cjs/config/useGlobalHeader.js +6 -6
- package/cjs/config/useGlobalHeader.js.map +1 -1
- package/cjs/config/useValidateProps.js +2 -2
- package/cjs/config/useValidateProps.js.map +1 -1
- package/cjs/config/validateHelpers.js.map +1 -1
- package/cjs/defaultProps.js +6 -2
- package/cjs/defaultProps.js.map +1 -1
- package/cjs/index.js +5 -2
- package/cjs/index.js.map +1 -1
- package/cjs/outOfTheBox/AppPicker/AppPicker.js +34 -33
- package/cjs/outOfTheBox/AppPicker/AppPicker.js.map +1 -1
- package/cjs/outOfTheBox/PopupMenu/PopupMenu.js +25 -41
- package/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +21 -10
- package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +1 -1
- package/cjs/outOfTheBox/index.js +5 -1
- package/cjs/outOfTheBox/index.js.map +1 -1
- package/esm/GlobalHeader.js +5 -2
- package/esm/GlobalHeader.js.map +1 -1
- package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +8 -8
- package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +1 -1
- package/esm/components/Breadcrumb/PureBreadcrumb.js +1 -1
- package/esm/components/Breadcrumb/PureBreadcrumb.js.map +1 -1
- package/esm/components/Toolbar/GlobalHeaderToolbar.js +5 -1
- package/esm/components/Toolbar/GlobalHeaderToolbar.js.map +1 -1
- package/esm/components/Toolbar/ToolbarItems.js +9 -20
- package/esm/components/Toolbar/ToolbarItems.js.map +1 -1
- package/esm/config/useGlobalHeader.js +6 -6
- package/esm/config/useGlobalHeader.js.map +1 -1
- package/esm/config/useValidateProps.js +2 -2
- package/esm/config/useValidateProps.js.map +1 -1
- package/esm/config/validateHelpers.js.map +1 -1
- package/esm/defaultProps.js +6 -2
- package/esm/defaultProps.js.map +1 -1
- package/esm/index.js +5 -2
- package/esm/index.js.map +1 -1
- package/esm/outOfTheBox/AppPicker/AppPicker.js +34 -33
- package/esm/outOfTheBox/AppPicker/AppPicker.js.map +1 -1
- package/esm/outOfTheBox/PopupMenu/PopupMenu.js +26 -41
- package/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +1 -1
- package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +19 -10
- package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +1 -1
- package/esm/outOfTheBox/index.js +5 -1
- package/esm/outOfTheBox/index.js.map +1 -1
- package/package.json +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useValidateProps.js","sources":["../../../src/config/useValidateProps.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useValidateProps.js","sources":["../../../src/config/useValidateProps.tsx"],"sourcesContent":["import { AppPickerProps, GlobalHeaderPropsT, PopupPropsT, ToolbarItemT } from '../index.d';\nimport {\n throwToolbarPopupItemError,\n throwToolbarAppPickerItemError,\n throwToolbarItemGenericError,\n throwLogoError,\n throwBreadcrumbItemError,\n isValidToolbarType,\n isObject,\n} from './validateHelpers';\n\nconst validatePopupItem = (componentProps: PopupPropsT): void => {\n if (componentProps.options && !Array.isArray(componentProps.options)) {\n throwToolbarPopupItemError('options', componentProps.options);\n }\n if (componentProps.closeOnClick && typeof componentProps.closeOnClick !== 'boolean') {\n throwToolbarPopupItemError('closeOnClick', componentProps.closeOnClick);\n }\n};\n\nconst validateAppPickerItem = (componentProps: AppPickerProps): void => {\n if (componentProps.apps && !Array.isArray(componentProps.apps)) {\n throwToolbarAppPickerItemError('apps', componentProps.apps);\n }\n if (componentProps.customApps && !Array.isArray(componentProps.customApps)) {\n throwToolbarAppPickerItemError('customApps', componentProps.customApps);\n }\n if (componentProps.sectionTitle && typeof componentProps.sectionTitle !== 'string') {\n throwToolbarAppPickerItemError('sectionTitle', componentProps.sectionTitle);\n }\n if (componentProps.customSectionTitle && typeof componentProps.customSectionTitle !== 'string') {\n throwToolbarAppPickerItemError('customSectionTitle', componentProps.customSectionTitle);\n }\n};\n\nconst validateGenericToolbarItem = (item: ToolbarItemT): void => {\n if (item.label && typeof item.label !== 'string') {\n throwToolbarItemGenericError('label', item.label);\n }\n if (item.onClick && typeof item.onClick !== 'function') {\n throwToolbarItemGenericError('onClick', item.onClick);\n }\n if (item.Icon && typeof item.Icon !== 'function') {\n if (item.type === 'ds-app-picker') return;\n throwToolbarItemGenericError('Icon', item.Icon);\n }\n};\n\nexport const useValidateProps = (props: GlobalHeaderPropsT): void => {\n const { breadcrumb, toolbar, Logo, LogoWithBrand } = props;\n\n if (Logo && typeof Logo !== 'function') {\n throwLogoError('Logo', Logo);\n }\n\n if (LogoWithBrand && typeof LogoWithBrand !== 'function') {\n throwLogoError('LogoWithBrand', LogoWithBrand);\n }\n\n breadcrumb?.forEach((breadcrumbItem) => {\n if (breadcrumbItem.label && typeof breadcrumbItem.label !== 'string') {\n throwBreadcrumbItemError('label', breadcrumbItem.label);\n }\n if (breadcrumbItem.onClick && typeof breadcrumbItem.onClick !== 'function') {\n throwBreadcrumbItemError('onClick', breadcrumbItem.onClick);\n }\n if (breadcrumbItem.hasNext && typeof breadcrumbItem.hasNext !== 'boolean') {\n throwBreadcrumbItemError('hasNext', breadcrumbItem.hasNext);\n }\n if (breadcrumbItem.isSelected && typeof breadcrumbItem.isSelected !== 'boolean') {\n throwBreadcrumbItemError('isSelected', breadcrumbItem.isSelected);\n }\n });\n\n toolbar?.forEach((toolbarItem) => {\n validateGenericToolbarItem(toolbarItem);\n if (toolbarItem.type) {\n if (!isValidToolbarType(toolbarItem.type)) {\n throwToolbarItemGenericError('type', toolbarItem.type);\n }\n if (toolbarItem.componentProps && !isObject(toolbarItem.componentProps)) {\n throwToolbarItemGenericError('componentProps', toolbarItem.componentProps);\n }\n if (toolbarItem.type === 'ds-popup-menu') {\n validatePopupItem(toolbarItem.componentProps as PopupPropsT);\n } else {\n validateAppPickerItem(toolbarItem.componentProps as AppPickerProps);\n }\n }\n });\n};\n"],"names":["validatePopupItem","componentProps","options","Array","isArray","throwToolbarPopupItemError","closeOnClick","validateAppPickerItem","apps","throwToolbarAppPickerItemError","customApps","sectionTitle","customSectionTitle","validateGenericToolbarItem","item","label","throwToolbarItemGenericError","onClick","Icon","type","useValidateProps","props","breadcrumb","toolbar","Logo","LogoWithBrand","throwLogoError","forEach","breadcrumbItem","throwBreadcrumbItemError","hasNext","isSelected","toolbarItem","isValidToolbarType","isObject"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateHelpers.js","sources":["../../../src/config/validateHelpers.tsx"],"sourcesContent":["export const breadcrumbProps = {\n label: 'string',\n onClick: 'function',\n hasNext: 'boolean',\n isSelected: 'boolean',\n};\n\nexport const toolbarProps = {\n label: 'string',\n type: '\"ds-app-picker\" or \"ds-popup-menu\"',\n componentProps: 'object',\n Icon: 'react component',\n onClick: 'function',\n options: 'array',\n closeOnClick: 'boolean',\n apps: 'array',\n customApps: 'array',\n sectionTitle: 'string',\n customSectionTitle: 'string',\n};\n\nexport const isObject = (obj: unknown): boolean => typeof obj === 'object' && !!obj && !Array.isArray(obj);\n\nexport const getVariableType = (arg: unknown): string => {\n if (Array.isArray(arg)) return 'array';\n if (arg === null) return 'null';\n if (arg === undefined) return 'undefined';\n return typeof arg;\n};\n\nexport const isValidToolbarType = (string: unknown): boolean =>\n string === 'ds-app-picker' || string === 'ds-popup-menu';\n\nexport const throwBreadcrumbItemError = (validPropKey:
|
|
1
|
+
{"version":3,"file":"validateHelpers.js","sources":["../../../src/config/validateHelpers.tsx"],"sourcesContent":["export const breadcrumbProps = {\n label: 'string',\n onClick: 'function',\n hasNext: 'boolean',\n isSelected: 'boolean',\n};\n\nexport const toolbarProps = {\n label: 'string',\n type: '\"ds-app-picker\" or \"ds-popup-menu\"',\n componentProps: 'object',\n Icon: 'react component',\n onClick: 'function',\n options: 'array',\n closeOnClick: 'boolean',\n apps: 'array',\n customApps: 'array',\n sectionTitle: 'string',\n customSectionTitle: 'string',\n};\n\nexport const isObject = (obj: unknown): boolean => typeof obj === 'object' && !!obj && !Array.isArray(obj);\n\nexport const getVariableType = (arg: unknown): string => {\n if (Array.isArray(arg)) return 'array';\n if (arg === null) return 'null';\n if (arg === undefined) return 'undefined';\n return typeof arg;\n};\n\nexport const isValidToolbarType = (string: unknown): boolean =>\n string === 'ds-app-picker' || string === 'ds-popup-menu';\n\nexport const throwBreadcrumbItemError = (validPropKey: keyof typeof breadcrumbProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a breadcrumb item, please provide a valid type.\n\n Received: ${invalidProp} (${typeof invalidProp})\n Expected: (${breadcrumbProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarPopupItemError = (validPropKey: keyof typeof toolbarProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property inside componentProps for a ds-popup-menu \n toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarAppPickerItemError = (validPropKey: keyof typeof toolbarProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property inside componentProps for a ds-app-picker \n toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarItemGenericError = (validPropKey: keyof typeof toolbarProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwLogoError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a global header, \n remember to provide both Logo and LogoWithBrand properties with a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)}).\n Expected: (react component).\n `,\n );\n};\n"],"names":["breadcrumbProps","label","onClick","hasNext","isSelected","toolbarProps","type","componentProps","Icon","options","closeOnClick","apps","customApps","sectionTitle","customSectionTitle","isObject","obj","Array","isArray","getVariableType","arg","undefined","isValidToolbarType","string","throwBreadcrumbItemError","validPropKey","invalidProp","Error","throwToolbarPopupItemError","throwToolbarAppPickerItemError","throwToolbarItemGenericError","throwLogoError"],"mappings":";;IAAaA,eAAe,GAAG;AAC7BC,EAAAA,KAAK,EAAE,QADsB;AAE7BC,EAAAA,OAAO,EAAE,UAFoB;AAG7BC,EAAAA,OAAO,EAAE,SAHoB;AAI7BC,EAAAA,UAAU,EAAE;AAJiB;IAOlBC,YAAY,GAAG;AAC1BJ,EAAAA,KAAK,EAAE,QADmB;AAE1BK,EAAAA,IAAI,EAAE,oCAFoB;AAG1BC,EAAAA,cAAc,EAAE,QAHU;AAI1BC,EAAAA,IAAI,EAAE,iBAJoB;AAK1BN,EAAAA,OAAO,EAAE,UALiB;AAM1BO,EAAAA,OAAO,EAAE,OANiB;AAO1BC,EAAAA,YAAY,EAAE,SAPY;AAQ1BC,EAAAA,IAAI,EAAE,OARoB;AAS1BC,EAAAA,UAAU,EAAE,OATc;AAU1BC,EAAAA,YAAY,EAAE,QAVY;AAW1BC,EAAAA,kBAAkB,EAAE;AAXM;IAcfC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD;AAAA,SAA2B,QAAOA,GAAP,MAAe,QAAf,IAA2B,CAAC,CAACA,GAA7B,IAAoC,CAACC,KAAK,CAACC,OAAN,CAAcF,GAAd,CAAhE;AAAA;IAEXG,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAA0B;AACvD,MAAIH,KAAK,CAACC,OAAN,CAAcE,GAAd,CAAJ,EAAwB,OAAO,OAAP;AACxB,MAAIA,GAAG,KAAK,IAAZ,EAAkB,OAAO,MAAP;AAClB,MAAIA,GAAG,KAAKC,SAAZ,EAAuB,OAAO,WAAP;AACvB,iBAAcD,GAAd;AACD;IAEYE,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,MAAD;AAAA,SAChCA,MAAM,KAAK,eAAX,IAA8BA,MAAM,KAAK,eADT;AAAA;IAGrBC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,YAAD,EAA6CC,WAA7C,EAA4E;AAClH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,4FAGMC,WAHN,uBAG6BA,WAH7B,8BAIO1B,eAAe,CAACyB,YAAD,CAJtB,WAAN;AAOD;IAEYG,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACH,YAAD,EAA0CC,WAA1C,EAAyE;AACjH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,mIAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,6BAKOrB,YAAY,CAACoB,YAAD,CALnB,WAAN;AAQD;IAEYI,8BAA8B,GAAG,SAAjCA,8BAAiC,CAACJ,YAAD,EAA0CC,WAA1C,EAAyE;AACrH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,mIAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,6BAKOrB,YAAY,CAACoB,YAAD,CALnB,WAAN;AAQD;IAEYK,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACL,YAAD,EAA0CC,WAA1C,EAAyE;AACnH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,yFAGMC,WAHN,eAGsBP,eAAe,CAACO,WAAD,CAHrC,6BAIOrB,YAAY,CAACoB,YAAD,CAJnB,WAAN;AAOD;IAEYM,cAAc,GAAG,SAAjBA,cAAiB,CAACN,YAAD,EAAuBC,WAAvB,EAAsD;AAClF,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,iJAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,4CAAN;AAQD;;;;"}
|
package/esm/defaultProps.js
CHANGED
package/esm/defaultProps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["import type { GlobalHeaderPropsT } from './index.d';\n\nexport const defaultProps: GlobalHeaderPropsT = {
|
|
1
|
+
{"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["import type { GlobalHeaderPropsT } from './index.d';\n\nconst emptyComp = () => null;\n\nexport const defaultProps: GlobalHeaderPropsT = {\n breadcrumb: [],\n toolbar: [],\n LogoWithBrand: emptyComp,\n Logo: emptyComp,\n};\n"],"names":["emptyComp","defaultProps","breadcrumb","toolbar","LogoWithBrand","Logo"],"mappings":"AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAM,IAAN;AAAA,CAAlB;;IAEaC,YAAgC,GAAG;AAC9CC,EAAAA,UAAU,EAAE,EADkC;AAE9CC,EAAAA,OAAO,EAAE,EAFqC;AAG9CC,EAAAA,aAAa,EAAEJ,SAH+B;AAI9CK,EAAAA,IAAI,EAAEL;AAJwC;;;;"}
|
package/esm/index.js
CHANGED
|
@@ -13,19 +13,22 @@ import './components/Breadcrumb/PureBreadcrumb.js';
|
|
|
13
13
|
import '@elliemae/ds-icons';
|
|
14
14
|
import './components/Toolbar/GlobalHeaderToolbar.js';
|
|
15
15
|
import './components/Toolbar/ToolbarItems.js';
|
|
16
|
+
import '@babel/runtime/helpers/esm/extends';
|
|
16
17
|
import './outOfTheBox/AppPicker/AppPicker.js';
|
|
17
18
|
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
18
19
|
import '@elliemae/ds-app-picker';
|
|
20
|
+
import '@elliemae/ds-utilities';
|
|
19
21
|
import './components/Toolbar/styles.js';
|
|
20
22
|
import './outOfTheBox/PopupMenu/PopupMenu.js';
|
|
21
|
-
import '@elliemae/ds-
|
|
23
|
+
import '@elliemae/ds-popperjs';
|
|
22
24
|
import './outOfTheBox/PopupMenu/PopupMenuContent.js';
|
|
25
|
+
import '@babel/runtime/helpers/esm/defineProperty';
|
|
26
|
+
import '@elliemae/ds-props-helpers';
|
|
23
27
|
import './outOfTheBox/PopupMenu/styles.js';
|
|
24
28
|
import './config/useGlobalHeader.js';
|
|
25
29
|
import '@babel/runtime/helpers/esm/toConsumableArray';
|
|
26
30
|
import 'uid';
|
|
27
31
|
import './config/useGetPropsWithDefaults.js';
|
|
28
|
-
import '@babel/runtime/helpers/esm/defineProperty';
|
|
29
32
|
import './GlobalHeaderContainer.js';
|
|
30
33
|
import './styles.js';
|
|
31
34
|
import './config/useValidateProps.js';
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
|
|
2
2
|
import React, { useState, useRef, useCallback, useMemo } from 'react';
|
|
3
3
|
import { DSAppPicker } from '@elliemae/ds-app-picker';
|
|
4
|
+
import { mergeRefs } from '@elliemae/ds-utilities';
|
|
4
5
|
import { MenuPicker } from '@elliemae/ds-icons';
|
|
5
6
|
import { Button } from '../../components/Toolbar/styles.js';
|
|
6
7
|
import 'styled-components';
|
|
@@ -8,53 +9,53 @@ import 'styled-components';
|
|
|
8
9
|
var AppPicker = function AppPicker(_ref) {
|
|
9
10
|
var label = _ref.label,
|
|
10
11
|
apps = _ref.apps,
|
|
12
|
+
icon = _ref.icon,
|
|
11
13
|
customApps = _ref.customApps,
|
|
12
14
|
sectionTitle = _ref.sectionTitle,
|
|
13
15
|
customSectionTitle = _ref.customSectionTitle,
|
|
14
|
-
_ref$onClick = _ref.onClick,
|
|
15
|
-
onClick = _ref$onClick === void 0 ? function () {
|
|
16
|
-
return null;
|
|
17
|
-
} : _ref$onClick,
|
|
18
16
|
actionRef = _ref.actionRef,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
userIsOpen = _ref.isOpen,
|
|
18
|
+
userOnKeyDown = _ref.onKeyDown,
|
|
19
|
+
userOnClickOutside = _ref.onClickOutside,
|
|
20
|
+
userRenderTrigger = _ref.renderTrigger,
|
|
21
|
+
onClose = _ref.onClose,
|
|
22
|
+
triggerRef = _ref.triggerRef,
|
|
23
|
+
triggerOnClick = _ref.triggerOnClick;
|
|
23
24
|
|
|
24
25
|
var _useState = useState(false),
|
|
25
26
|
_useState2 = _slicedToArray(_useState, 2),
|
|
26
27
|
isOpen = _useState2[0],
|
|
27
28
|
setIsOpen = _useState2[1];
|
|
28
29
|
|
|
29
|
-
var buttonRef = useRef();
|
|
30
|
+
var buttonRef = useRef(null);
|
|
30
31
|
var handleTriggerKeyDown = useCallback(function (e) {
|
|
31
32
|
if (e.code === 'Enter' || e.code === 'Space') {
|
|
32
33
|
setIsOpen(true);
|
|
33
34
|
}
|
|
34
35
|
}, []);
|
|
35
36
|
var handleAppPickerOnKeyDown = useCallback(function (e) {
|
|
36
|
-
customHandleOnKeyDown(e);
|
|
37
|
-
|
|
38
37
|
if (e.code === 'Escape') {
|
|
38
|
+
var _buttonRef$current;
|
|
39
|
+
|
|
39
40
|
setIsOpen(false);
|
|
41
|
+
buttonRef === null || buttonRef === void 0 ? void 0 : (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
|
|
40
42
|
}
|
|
41
|
-
}, [
|
|
43
|
+
}, []);
|
|
42
44
|
var handleOnClickOutside = useCallback(function () {
|
|
43
45
|
setIsOpen(false);
|
|
44
46
|
}, []);
|
|
45
|
-
var handleOnClick = useCallback(function (
|
|
47
|
+
var handleOnClick = useCallback(function () {
|
|
46
48
|
setIsOpen(true);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var trigger = useMemo(function () {
|
|
49
|
+
}, []);
|
|
50
|
+
var renderTrigger = useMemo(function () {
|
|
50
51
|
return function (_ref2) {
|
|
51
52
|
var ref = _ref2.ref;
|
|
52
53
|
return /*#__PURE__*/React.createElement("div", {
|
|
53
54
|
ref: ref
|
|
54
55
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
55
|
-
onClick: handleOnClick,
|
|
56
|
+
onClick: triggerOnClick !== null && triggerOnClick !== void 0 ? triggerOnClick : handleOnClick,
|
|
56
57
|
onKeyDown: handleTriggerKeyDown,
|
|
57
|
-
ref: buttonRef,
|
|
58
|
+
ref: mergeRefs(buttonRef, triggerRef),
|
|
58
59
|
title: label,
|
|
59
60
|
"data-testid": "gh-toolbar-item"
|
|
60
61
|
}, /*#__PURE__*/React.createElement(MenuPicker, {
|
|
@@ -62,21 +63,21 @@ var AppPicker = function AppPicker(_ref) {
|
|
|
62
63
|
size: "m"
|
|
63
64
|
})));
|
|
64
65
|
};
|
|
65
|
-
}, [handleOnClick, handleTriggerKeyDown, label]);
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
66
|
+
}, [triggerOnClick, handleOnClick, handleTriggerKeyDown, label]);
|
|
67
|
+
return /*#__PURE__*/React.createElement(DSAppPicker, {
|
|
68
|
+
apps: apps,
|
|
69
|
+
customApps: customApps,
|
|
70
|
+
sectionTitle: sectionTitle,
|
|
71
|
+
customSectionTitle: customSectionTitle,
|
|
72
|
+
icon: icon,
|
|
73
|
+
onKeyDown: userOnKeyDown !== null && userOnKeyDown !== void 0 ? userOnKeyDown : handleAppPickerOnKeyDown,
|
|
74
|
+
actionRef: actionRef,
|
|
75
|
+
onClickOutside: userOnClickOutside !== null && userOnClickOutside !== void 0 ? userOnClickOutside : handleOnClickOutside,
|
|
76
|
+
renderTrigger: userRenderTrigger !== null && userRenderTrigger !== void 0 ? userRenderTrigger : renderTrigger,
|
|
77
|
+
isOpen: userIsOpen !== null && userIsOpen !== void 0 ? userIsOpen : isOpen,
|
|
78
|
+
onClose: onClose,
|
|
79
|
+
triggerRef: triggerRef
|
|
80
|
+
});
|
|
80
81
|
};
|
|
81
82
|
|
|
82
83
|
export { AppPicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppPicker.js","sources":["../../../../src/outOfTheBox/AppPicker/AppPicker.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport {
|
|
1
|
+
{"version":3,"file":"AppPicker.js","sources":["../../../../src/outOfTheBox/AppPicker/AppPicker.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport { Button } from '../../components/Toolbar/styles';\n\ntype AppPickerProps = React.ComponentProps<typeof DSAppPicker>;\n\nexport const AppPicker = ({\n label,\n apps,\n icon,\n customApps,\n sectionTitle,\n customSectionTitle,\n actionRef,\n isOpen: userIsOpen,\n onKeyDown: userOnKeyDown,\n onClickOutside: userOnClickOutside,\n renderTrigger: userRenderTrigger,\n onClose,\n triggerRef,\n triggerOnClick,\n}: AppPickerProps & {\n label: string;\n triggerOnClick?: React.MouseEventHandler;\n}): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const handleTriggerKeyDown: React.KeyboardEventHandler = useCallback((e) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown: AppPickerProps['onKeyDown'] = useCallback((e) => {\n if (e.code === 'Escape') {\n setIsOpen(false);\n buttonRef?.current?.focus();\n }\n }, []);\n\n const handleOnClickOutside: AppPickerProps['onClickOutside'] = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick: React.MouseEventHandler = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const renderTrigger: AppPickerProps['renderTrigger'] = useMemo(\n () =>\n ({ ref }) =>\n (\n <div ref={ref}>\n <Button\n onClick={triggerOnClick ?? handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={mergeRefs(buttonRef, triggerRef)}\n title={label}\n data-testid=\"gh-toolbar-item\"\n >\n <MenuPicker fill=\"#FFF\" size=\"m\" />\n </Button>\n </div>\n ),\n [triggerOnClick, handleOnClick, handleTriggerKeyDown, label],\n );\n\n return (\n <DSAppPicker\n apps={apps}\n customApps={customApps}\n sectionTitle={sectionTitle}\n customSectionTitle={customSectionTitle}\n icon={icon}\n onKeyDown={userOnKeyDown ?? handleAppPickerOnKeyDown}\n actionRef={actionRef}\n onClickOutside={userOnClickOutside ?? handleOnClickOutside}\n renderTrigger={userRenderTrigger ?? renderTrigger}\n isOpen={userIsOpen ?? isOpen}\n onClose={onClose}\n triggerRef={triggerRef}\n />\n );\n};\n"],"names":["AppPicker","label","apps","icon","customApps","sectionTitle","customSectionTitle","actionRef","userIsOpen","isOpen","userOnKeyDown","onKeyDown","userOnClickOutside","onClickOutside","userRenderTrigger","renderTrigger","onClose","triggerRef","triggerOnClick","useState","setIsOpen","buttonRef","useRef","handleTriggerKeyDown","useCallback","e","code","handleAppPickerOnKeyDown","current","focus","handleOnClickOutside","handleOnClick","useMemo","ref","mergeRefs"],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
|
|
2
|
-
import React, { useState,
|
|
3
|
-
import
|
|
2
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
3
|
+
import { DSPopperJS } from '@elliemae/ds-popperjs';
|
|
4
4
|
import { PopupMenuContent } from './PopupMenuContent.js';
|
|
5
5
|
import { Button } from '../../components/Toolbar/styles.js';
|
|
6
|
+
import '@babel/runtime/helpers/esm/extends';
|
|
7
|
+
import '@babel/runtime/helpers/esm/defineProperty';
|
|
8
|
+
import '@elliemae/ds-props-helpers';
|
|
6
9
|
import './styles.js';
|
|
7
10
|
import 'styled-components';
|
|
8
11
|
import '../../GlobalHeaderContext.js';
|
|
@@ -20,18 +23,20 @@ var PopupMenu = function PopupMenu(_ref) {
|
|
|
20
23
|
isOpen = _useState2[0],
|
|
21
24
|
setIsOpen = _useState2[1];
|
|
22
25
|
|
|
23
|
-
var
|
|
26
|
+
var _useState3 = useState(null),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
+
buttonRef = _useState4[0],
|
|
29
|
+
setButtonRef = _useState4[1];
|
|
30
|
+
|
|
24
31
|
var handleKeyPress = useCallback(function (e) {
|
|
25
32
|
if (e.code === 'Enter' || e.code === 'Space') {
|
|
26
33
|
setIsOpen(true);
|
|
27
34
|
}
|
|
28
35
|
}, []);
|
|
29
36
|
var handleOnClose = useCallback(function () {
|
|
30
|
-
var _buttonRef$current;
|
|
31
|
-
|
|
32
37
|
setIsOpen(false);
|
|
33
|
-
|
|
34
|
-
}, []);
|
|
38
|
+
buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.focus();
|
|
39
|
+
}, [buttonRef]);
|
|
35
40
|
var handleTriggerOnClick = useCallback(function (e) {
|
|
36
41
|
setIsOpen(true);
|
|
37
42
|
onClick(e);
|
|
@@ -39,9 +44,6 @@ var PopupMenu = function PopupMenu(_ref) {
|
|
|
39
44
|
var handleItemClick = useCallback(function () {
|
|
40
45
|
if (closeOnClick) handleOnClose();
|
|
41
46
|
}, [closeOnClick, handleOnClose]);
|
|
42
|
-
var handleClickOutside = useCallback(function () {
|
|
43
|
-
return setIsOpen(false);
|
|
44
|
-
}, []);
|
|
45
47
|
var content = useMemo(function () {
|
|
46
48
|
return /*#__PURE__*/React.createElement(PopupMenuContent, {
|
|
47
49
|
options: options,
|
|
@@ -49,37 +51,20 @@ var PopupMenu = function PopupMenu(_ref) {
|
|
|
49
51
|
onClose: handleOnClose
|
|
50
52
|
});
|
|
51
53
|
}, [options, handleItemClick, handleOnClose]);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
};
|
|
67
|
-
}, [Icon, handleKeyPress, handleTriggerOnClick, title]);
|
|
68
|
-
return useMemo(function () {
|
|
69
|
-
return /*#__PURE__*/React.createElement(Popover, {
|
|
70
|
-
isOpen: isOpen,
|
|
71
|
-
content: content,
|
|
72
|
-
onClickOutside: handleClickOutside,
|
|
73
|
-
placement: "bottom",
|
|
74
|
-
interactionType: "click",
|
|
75
|
-
showArrow: true,
|
|
76
|
-
style: {
|
|
77
|
-
padding: '0',
|
|
78
|
-
width: 'fit-content'
|
|
79
|
-
},
|
|
80
|
-
renderTrigger: trigger
|
|
81
|
-
});
|
|
82
|
-
}, [content, handleClickOutside, isOpen, trigger]);
|
|
54
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
55
|
+
onClick: handleTriggerOnClick,
|
|
56
|
+
onKeyPress: handleKeyPress,
|
|
57
|
+
title: title,
|
|
58
|
+
ref: setButtonRef,
|
|
59
|
+
"data-testid": "gh-toolbar-item"
|
|
60
|
+
}, Icon && /*#__PURE__*/React.createElement(Icon, {
|
|
61
|
+
fill: "#FFF",
|
|
62
|
+
size: "m"
|
|
63
|
+
})), /*#__PURE__*/React.createElement(DSPopperJS, {
|
|
64
|
+
referenceElement: buttonRef,
|
|
65
|
+
showPopover: isOpen,
|
|
66
|
+
closeContextMenu: handleOnClose
|
|
67
|
+
}, content));
|
|
83
68
|
};
|
|
84
69
|
|
|
85
70
|
export { PopupMenu };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopupMenu.js","sources":["../../../../src/outOfTheBox/PopupMenu/PopupMenu.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"PopupMenu.js","sources":["../../../../src/outOfTheBox/PopupMenu/PopupMenu.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { PopupMenuContent } from './PopupMenuContent';\nimport { Button } from '../../components/Toolbar/styles';\nimport type { PopupPropsT as Props } from '../../index.d';\n\nexport const PopupMenu = ({ Icon, options, closeOnClick, title, onClick }: Props): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [buttonRef, setButtonRef] = useState<HTMLButtonElement | null>(null);\n\n const handleKeyPress = useCallback((e: React.KeyboardEvent) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n setIsOpen(true);\n }\n }, []);\n\n const handleOnClose = useCallback(() => {\n setIsOpen(false);\n buttonRef?.focus();\n }, [buttonRef]);\n\n const handleTriggerOnClick = useCallback(\n (e) => {\n setIsOpen(true);\n onClick(e);\n },\n [onClick],\n );\n\n const handleItemClick = useCallback(() => {\n if (closeOnClick) handleOnClose();\n }, [closeOnClick, handleOnClose]);\n\n const content = useMemo(\n () => <PopupMenuContent options={options} onItemClick={handleItemClick} onClose={handleOnClose} />,\n [options, handleItemClick, handleOnClose],\n );\n\n return (\n <div>\n <Button\n onClick={handleTriggerOnClick}\n onKeyPress={handleKeyPress}\n title={title}\n ref={setButtonRef}\n data-testid=\"gh-toolbar-item\"\n >\n {Icon && <Icon fill=\"#FFF\" size=\"m\" />}\n </Button>\n <DSPopperJS referenceElement={buttonRef} showPopover={isOpen} closeContextMenu={handleOnClose}>\n {content}\n </DSPopperJS>\n </div>\n );\n};\n"],"names":["PopupMenu","Icon","options","closeOnClick","title","onClick","useState","isOpen","setIsOpen","buttonRef","setButtonRef","handleKeyPress","useCallback","e","code","handleOnClose","focus","handleTriggerOnClick","handleItemClick","content","useMemo"],"mappings":";;;;;;;;;;;;;IAMaA,SAAS,GAAG,SAAZA,SAAY,OAAyE;AAAA,MAAtEC,IAAsE,QAAtEA,IAAsE;AAAA,MAAhEC,OAAgE,QAAhEA,OAAgE;AAAA,MAAvDC,YAAuD,QAAvDA,YAAuD;AAAA,MAAzCC,KAAyC,QAAzCA,KAAyC;AAAA,MAAlCC,OAAkC,QAAlCA,OAAkC;;AAChG,kBAA4BC,QAAQ,CAAU,KAAV,CAApC;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,mBAAkCF,QAAQ,CAA2B,IAA3B,CAA1C;AAAA;AAAA,MAAOG,SAAP;AAAA,MAAkBC,YAAlB;;AAEA,MAAMC,cAAc,GAAGC,WAAW,CAAC,UAACC,CAAD,EAA4B;AAC7D,QAAIA,CAAC,CAACC,IAAF,KAAW,OAAX,IAAsBD,CAAC,CAACC,IAAF,KAAW,OAArC,EAA8C;AAC5CN,MAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF,GAJiC,EAI/B,EAJ+B,CAAlC;AAMA,MAAMO,aAAa,GAAGH,WAAW,CAAC,YAAM;AACtCJ,IAAAA,SAAS,CAAC,KAAD,CAAT;AACAC,IAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEO,KAAX;AACD,GAHgC,EAG9B,CAACP,SAAD,CAH8B,CAAjC;AAKA,MAAMQ,oBAAoB,GAAGL,WAAW,CACtC,UAACC,CAAD,EAAO;AACLL,IAAAA,SAAS,CAAC,IAAD,CAAT;AACAH,IAAAA,OAAO,CAACQ,CAAD,CAAP;AACD,GAJqC,EAKtC,CAACR,OAAD,CALsC,CAAxC;AAQA,MAAMa,eAAe,GAAGN,WAAW,CAAC,YAAM;AACxC,QAAIT,YAAJ,EAAkBY,aAAa;AAChC,GAFkC,EAEhC,CAACZ,YAAD,EAAeY,aAAf,CAFgC,CAAnC;AAIA,MAAMI,OAAO,GAAGC,OAAO,CACrB;AAAA,wBAAM,oBAAC,gBAAD;AAAkB,MAAA,OAAO,EAAElB,OAA3B;AAAoC,MAAA,WAAW,EAAEgB,eAAjD;AAAkE,MAAA,OAAO,EAAEH;AAA3E,MAAN;AAAA,GADqB,EAErB,CAACb,OAAD,EAAUgB,eAAV,EAA2BH,aAA3B,CAFqB,CAAvB;AAKA,sBACE,8CACE,oBAAC,MAAD;AACE,IAAA,OAAO,EAAEE,oBADX;AAEE,IAAA,UAAU,EAAEN,cAFd;AAGE,IAAA,KAAK,EAAEP,KAHT;AAIE,IAAA,GAAG,EAAEM,YAJP;AAKE,mBAAY;AALd,KAOGT,IAAI,iBAAI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,IAAI,EAAC;AAAvB,IAPX,CADF,eAUE,oBAAC,UAAD;AAAY,IAAA,gBAAgB,EAAEQ,SAA9B;AAAyC,IAAA,WAAW,EAAEF,MAAtD;AAA8D,IAAA,gBAAgB,EAAEQ;AAAhF,KACGI,OADH,CAVF,CADF;AAgBD;;;;"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
1
3
|
import React, { useContext, useRef, useEffect, useMemo } from 'react';
|
|
4
|
+
import { getDataProps, getAriaProps } from '@elliemae/ds-props-helpers';
|
|
2
5
|
import { ItemWrapper, Label, Separator, List } from './styles.js';
|
|
3
6
|
import { GlobalHeaderContext } from '../../GlobalHeaderContext.js';
|
|
4
7
|
import 'styled-components';
|
|
5
8
|
import '../../defaultProps.js';
|
|
6
9
|
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
7
13
|
var PopupMenuContent = /*#__PURE__*/React.memo(function (_ref) {
|
|
8
14
|
var options = _ref.options,
|
|
9
15
|
onItemClick = _ref.onItemClick,
|
|
@@ -12,7 +18,7 @@ var PopupMenuContent = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
12
18
|
var _useContext = useContext(GlobalHeaderContext),
|
|
13
19
|
instanceUID = _useContext.instanceUID;
|
|
14
20
|
|
|
15
|
-
var menuRef = useRef();
|
|
21
|
+
var menuRef = useRef(null);
|
|
16
22
|
useEffect(function () {
|
|
17
23
|
var _menuRef$current, _menuRef$current$firs;
|
|
18
24
|
|
|
@@ -21,14 +27,17 @@ var PopupMenuContent = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
21
27
|
var content = useMemo(function () {
|
|
22
28
|
return options.map(function (option) {
|
|
23
29
|
var type = option.type,
|
|
24
|
-
|
|
25
|
-
label = option.label,
|
|
30
|
+
Icon = option.Icon,
|
|
31
|
+
_option$label = option.label,
|
|
32
|
+
label = _option$label === void 0 ? '' : _option$label,
|
|
26
33
|
onClick = option.onClick,
|
|
27
34
|
Content = option.Content;
|
|
28
35
|
|
|
36
|
+
var ariaAndDataProps = _objectSpread(_objectSpread({}, getAriaProps(option)), getDataProps(option));
|
|
37
|
+
|
|
29
38
|
var handleClick = function handleClick(e) {
|
|
30
39
|
onItemClick(e);
|
|
31
|
-
onClick(e);
|
|
40
|
+
if (onClick) onClick(e);
|
|
32
41
|
};
|
|
33
42
|
|
|
34
43
|
var handleKeyDown = function handleKeyDown(e) {
|
|
@@ -37,23 +46,23 @@ var PopupMenuContent = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
37
46
|
|
|
38
47
|
switch (type) {
|
|
39
48
|
case 'separator':
|
|
40
|
-
return /*#__PURE__*/React.createElement(Separator, {
|
|
49
|
+
return /*#__PURE__*/React.createElement(Separator, _extends({
|
|
41
50
|
key: "".concat(instanceUID, "-separator-").concat(label)
|
|
42
|
-
});
|
|
51
|
+
}, ariaAndDataProps));
|
|
43
52
|
|
|
44
53
|
case 'custom':
|
|
45
|
-
return /*#__PURE__*/React.createElement(ItemWrapper, {
|
|
54
|
+
return /*#__PURE__*/React.createElement(ItemWrapper, _extends({
|
|
46
55
|
onClick: handleClick,
|
|
47
56
|
onKeyDown: handleKeyDown,
|
|
48
57
|
key: "".concat(instanceUID, "-popup-").concat(label)
|
|
49
|
-
}, /*#__PURE__*/React.createElement(Content, null));
|
|
58
|
+
}, ariaAndDataProps), Content && /*#__PURE__*/React.createElement(Content, null));
|
|
50
59
|
|
|
51
60
|
default:
|
|
52
|
-
return /*#__PURE__*/React.createElement(ItemWrapper, {
|
|
61
|
+
return /*#__PURE__*/React.createElement(ItemWrapper, _extends({
|
|
53
62
|
onClick: handleClick,
|
|
54
63
|
onKeyDown: handleKeyDown,
|
|
55
64
|
key: "".concat(instanceUID, "-popup-").concat(label)
|
|
56
|
-
},
|
|
65
|
+
}, ariaAndDataProps), Icon && /*#__PURE__*/React.createElement(Icon, null), Label && /*#__PURE__*/React.createElement(Label, null, label));
|
|
57
66
|
}
|
|
58
67
|
});
|
|
59
68
|
}, [onClose, onItemClick, options, instanceUID]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopupMenuContent.js","sources":["../../../../src/outOfTheBox/PopupMenu/PopupMenuContent.tsx"],"sourcesContent":["import React, { useRef, useEffect, useMemo, useContext } from 'react';\nimport { Separator, ItemWrapper, Label, List } from './styles';\nimport type { PopupMenuContentPropsT as Props } from '../../index.d';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\n\nexport const PopupMenuContent = React.memo(({ options, onItemClick, onClose }: Props): JSX.Element => {\n const { instanceUID } = useContext(GlobalHeaderContext);\n\n const menuRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n (menuRef.current?.firstChild as HTMLButtonElement)?.focus();\n }, []);\n\n const content = useMemo(\n () =>\n options.map((option) => {\n const { type,
|
|
1
|
+
{"version":3,"file":"PopupMenuContent.js","sources":["../../../../src/outOfTheBox/PopupMenu/PopupMenuContent.tsx"],"sourcesContent":["import React, { useRef, useEffect, useMemo, useContext } from 'react';\nimport { getAriaProps, getDataProps } from '@elliemae/ds-props-helpers';\nimport { Separator, ItemWrapper, Label, List } from './styles';\nimport type { PopupMenuContentPropsT as Props } from '../../index.d';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\n\nexport const PopupMenuContent = React.memo(({ options, onItemClick, onClose }: Props): JSX.Element => {\n const { instanceUID } = useContext(GlobalHeaderContext);\n\n const menuRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n (menuRef.current?.firstChild as HTMLButtonElement)?.focus();\n }, []);\n\n const content = useMemo(\n () =>\n options.map((option) => {\n const { type, Icon, label = '', onClick, Content } = option;\n\n const ariaAndDataProps = {\n ...getAriaProps(option),\n ...getDataProps(option),\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onItemClick(e);\n if (onClick) onClick(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.code === 'Escape') onClose();\n };\n\n switch (type) {\n case 'separator':\n return <Separator key={`${instanceUID}-separator-${label}`} {...ariaAndDataProps} />;\n case 'custom':\n return (\n <ItemWrapper\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n key={`${instanceUID}-popup-${label}`}\n {...ariaAndDataProps}\n >\n {Content && <Content />}\n </ItemWrapper>\n );\n default:\n return (\n <ItemWrapper\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n key={`${instanceUID}-popup-${label}`}\n {...ariaAndDataProps}\n >\n {Icon && <Icon />}\n {Label && <Label>{label}</Label>}\n </ItemWrapper>\n );\n }\n }),\n [onClose, onItemClick, options, instanceUID],\n );\n return <List ref={menuRef}>{content}</List>;\n});\n"],"names":["PopupMenuContent","React","memo","options","onItemClick","onClose","useContext","GlobalHeaderContext","instanceUID","menuRef","useRef","useEffect","current","firstChild","focus","content","useMemo","map","option","type","Icon","label","onClick","Content","ariaAndDataProps","getAriaProps","getDataProps","handleClick","e","handleKeyDown","code","Label"],"mappings":";;;;;;;;;;;;IAMaA,gBAAgB,gBAAGC,KAAK,CAACC,IAAN,CAAW,gBAA2D;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,WAA+C,QAA/CA,WAA+C;AAAA,MAAlCC,OAAkC,QAAlCA,OAAkC;;AACpG,oBAAwBC,UAAU,CAACC,mBAAD,CAAlC;AAAA,MAAQC,WAAR,eAAQA,WAAR;;AAEA,MAAMC,OAAO,GAAGC,MAAM,CAAiB,IAAjB,CAAtB;AAEAC,EAAAA,SAAS,CAAC,YAAM;AAAA;;AACd,wBAACF,OAAO,CAACG,OAAT,8EAAC,iBAAiBC,UAAlB,gFAAoDC,KAApD;AACD,GAFQ,EAEN,EAFM,CAAT;AAIA,MAAMC,OAAO,GAAGC,OAAO,CACrB;AAAA,WACEb,OAAO,CAACc,GAAR,CAAY,UAACC,MAAD,EAAY;AACtB,UAAQC,IAAR,GAAqDD,MAArD,CAAQC,IAAR;AAAA,UAAcC,IAAd,GAAqDF,MAArD,CAAcE,IAAd;AAAA,0BAAqDF,MAArD,CAAoBG,KAApB;AAAA,UAAoBA,KAApB,8BAA4B,EAA5B;AAAA,UAAgCC,OAAhC,GAAqDJ,MAArD,CAAgCI,OAAhC;AAAA,UAAyCC,OAAzC,GAAqDL,MAArD,CAAyCK,OAAzC;;AAEA,UAAMC,gBAAgB,mCACjBC,YAAY,CAACP,MAAD,CADK,GAEjBQ,YAAY,CAACR,MAAD,CAFK,CAAtB;;AAKA,UAAMS,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAkD;AACpExB,QAAAA,WAAW,CAACwB,CAAD,CAAX;AACA,YAAIN,OAAJ,EAAaA,OAAO,CAACM,CAAD,CAAP;AACd,OAHD;;AAKA,UAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACD,CAAD,EAA4B;AAChD,YAAIA,CAAC,CAACE,IAAF,KAAW,QAAf,EAAyBzB,OAAO;AACjC,OAFD;;AAIA,cAAQc,IAAR;AACE,aAAK,WAAL;AACE,8BAAO,oBAAC,SAAD;AAAW,YAAA,GAAG,YAAKX,WAAL,wBAA8Ba,KAA9B;AAAd,aAAyDG,gBAAzD,EAAP;;AACF,aAAK,QAAL;AACE,8BACE,oBAAC,WAAD;AACE,YAAA,OAAO,EAAEG,WADX;AAEE,YAAA,SAAS,EAAEE,aAFb;AAGE,YAAA,GAAG,YAAKrB,WAAL,oBAA0Ba,KAA1B;AAHL,aAIMG,gBAJN,GAMGD,OAAO,iBAAI,oBAAC,OAAD,OANd,CADF;;AAUF;AACE,8BACE,oBAAC,WAAD;AACE,YAAA,OAAO,EAAEI,WADX;AAEE,YAAA,SAAS,EAAEE,aAFb;AAGE,YAAA,GAAG,YAAKrB,WAAL,oBAA0Ba,KAA1B;AAHL,aAIMG,gBAJN,GAMGJ,IAAI,iBAAI,oBAAC,IAAD,OANX,EAOGW,KAAK,iBAAI,oBAAC,KAAD,QAAQV,KAAR,CAPZ,CADF;AAfJ;AA2BD,KA5CD,CADF;AAAA,GADqB,EA+CrB,CAAChB,OAAD,EAAUD,WAAV,EAAuBD,OAAvB,EAAgCK,WAAhC,CA/CqB,CAAvB;AAiDA,sBAAO,oBAAC,IAAD;AAAM,IAAA,GAAG,EAAEC;AAAX,KAAqBM,OAArB,CAAP;AACD,CA3D+B;;;;"}
|
package/esm/outOfTheBox/index.js
CHANGED
|
@@ -3,11 +3,15 @@ export { PopupMenu } from './PopupMenu/PopupMenu.js';
|
|
|
3
3
|
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '@elliemae/ds-app-picker';
|
|
6
|
+
import '@elliemae/ds-utilities';
|
|
6
7
|
import '@elliemae/ds-icons';
|
|
7
8
|
import '../components/Toolbar/styles.js';
|
|
8
9
|
import 'styled-components';
|
|
9
|
-
import '@elliemae/ds-
|
|
10
|
+
import '@elliemae/ds-popperjs';
|
|
10
11
|
import './PopupMenu/PopupMenuContent.js';
|
|
12
|
+
import '@babel/runtime/helpers/esm/extends';
|
|
13
|
+
import '@babel/runtime/helpers/esm/defineProperty';
|
|
14
|
+
import '@elliemae/ds-props-helpers';
|
|
11
15
|
import './PopupMenu/styles.js';
|
|
12
16
|
import '../GlobalHeaderContext.js';
|
|
13
17
|
import '../defaultProps.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-global-header",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.61.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - Global Header",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -16,10 +16,14 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-app-picker": "1.
|
|
20
|
-
"@elliemae/ds-
|
|
21
|
-
"@elliemae/ds-
|
|
22
|
-
"@elliemae/ds-
|
|
19
|
+
"@elliemae/ds-app-picker": "1.61.2",
|
|
20
|
+
"@elliemae/ds-classnames": "1.61.2",
|
|
21
|
+
"@elliemae/ds-grid": "1.61.2",
|
|
22
|
+
"@elliemae/ds-icons": "1.61.2",
|
|
23
|
+
"@elliemae/ds-popover": "1.61.2",
|
|
24
|
+
"@elliemae/ds-popperjs": "1.61.2",
|
|
25
|
+
"@elliemae/ds-props-helpers": "1.61.2",
|
|
26
|
+
"@elliemae/ds-utilities": "1.61.2",
|
|
23
27
|
"react-desc": "^4.1.2",
|
|
24
28
|
"uid": "2.0.0"
|
|
25
29
|
},
|