@elliemae/ds-global-header 3.0.0-next.49 → 3.0.0-next.52
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/dist/cjs/DSGlobalHeader.js +57 -0
- package/dist/cjs/DSGlobalHeader.js.map +7 -0
- package/dist/cjs/{defaultProps.js → DSGlobalHeaderContext.js} +8 -12
- package/dist/cjs/DSGlobalHeaderContext.js.map +7 -0
- package/dist/cjs/config/useGlobalHeader.js +6 -7
- package/dist/cjs/config/useGlobalHeader.js.map +2 -2
- package/dist/cjs/config/useValidateProps.js +0 -13
- package/dist/cjs/config/useValidateProps.js.map +2 -2
- package/dist/cjs/config/validateHelpers.js.map +2 -2
- package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js +58 -0
- package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js.map +7 -0
- package/dist/cjs/exported-related/index.js +23 -0
- package/dist/cjs/exported-related/index.js.map +7 -0
- package/dist/cjs/{components/Toolbar/GlobalHeaderToolbar.js → exported-related/theming.js} +37 -19
- package/dist/cjs/exported-related/theming.js.map +7 -0
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/{components → parts}/Breadcrumb/GlobalHeaderBreadcrumb.js +32 -39
- package/dist/cjs/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
- package/dist/cjs/{components → parts}/Breadcrumb/PureBreadcrumb.js +30 -10
- package/dist/cjs/parts/Breadcrumb/PureBreadcrumb.js.map +7 -0
- package/dist/cjs/{components → parts}/Breadcrumb/styles.js +38 -13
- package/dist/cjs/parts/Breadcrumb/styles.js.map +7 -0
- package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +65 -0
- package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +7 -0
- package/dist/cjs/{config/useGetPropsWithDefaults.js → parts/GlobalHeaderContainer.js} +12 -11
- package/dist/cjs/parts/GlobalHeaderContainer.js.map +7 -0
- package/dist/cjs/{components/Title/GlobalHeaderTitle.js → parts/Logo/GlobalHeaderLogo.js} +12 -10
- package/dist/cjs/parts/Logo/GlobalHeaderLogo.js.map +7 -0
- package/dist/cjs/{styles.js → parts/Logo/styles.js} +4 -9
- package/dist/cjs/parts/Logo/styles.js.map +7 -0
- package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js +160 -0
- package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js.map +7 -0
- package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/AppPicker/AppPicker.js +27 -21
- package/dist/cjs/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
- package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/PopupMenu/PopupMenu.js +45 -22
- package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
- package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +123 -0
- package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +7 -0
- package/dist/cjs/{outOfTheBox/PopupMenu → parts/Toolbar/outOfTheBox/PopupMenu/menuContent}/styles.js +15 -9
- package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +7 -0
- package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +74 -0
- package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +7 -0
- package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/SearchToggle.js +45 -25
- package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
- package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/styles.js +7 -4
- package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +7 -0
- package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js +0 -0
- package/dist/cjs/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js.map +1 -1
- package/dist/cjs/parts/Toolbar/styles.js +40 -0
- package/dist/cjs/parts/Toolbar/styles.js.map +7 -0
- package/dist/cjs/parts/Toolbar/useGlobalHeaderToolbar.js +65 -0
- package/dist/cjs/parts/Toolbar/useGlobalHeaderToolbar.js.map +7 -0
- package/dist/cjs/{components/Toolbar → parts}/styles.js +17 -3
- package/dist/cjs/parts/styles.js.map +7 -0
- package/dist/cjs/react-desc-prop-types.js +74 -0
- package/dist/cjs/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/{GlobalHeaderTypes.js → sharedTypes.js} +3 -3
- package/dist/cjs/sharedTypes.js.map +7 -0
- package/dist/esm/DSGlobalHeader.js +35 -0
- package/dist/esm/DSGlobalHeader.js.map +7 -0
- package/dist/esm/DSGlobalHeaderContext.js +8 -0
- package/dist/esm/DSGlobalHeaderContext.js.map +7 -0
- package/dist/esm/config/useGlobalHeader.js +6 -7
- package/dist/esm/config/useGlobalHeader.js.map +2 -2
- package/dist/esm/config/useValidateProps.js +0 -13
- package/dist/esm/config/useValidateProps.js.map +2 -2
- package/dist/esm/config/validateHelpers.js.map +2 -2
- package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js +36 -0
- package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js.map +7 -0
- package/dist/esm/exported-related/index.js +4 -0
- package/dist/esm/exported-related/index.js.map +7 -0
- package/dist/esm/exported-related/theming.js +38 -0
- package/dist/esm/exported-related/theming.js.map +7 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js +76 -0
- package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +7 -0
- package/dist/esm/{components → parts}/Breadcrumb/PureBreadcrumb.js +31 -11
- package/dist/esm/parts/Breadcrumb/PureBreadcrumb.js.map +7 -0
- package/dist/esm/parts/Breadcrumb/styles.js +79 -0
- package/dist/esm/parts/Breadcrumb/styles.js.map +7 -0
- package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +43 -0
- package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +7 -0
- package/dist/esm/{config/useGetPropsWithDefaults.js → parts/GlobalHeaderContainer.js} +9 -8
- package/dist/esm/parts/GlobalHeaderContainer.js.map +7 -0
- package/dist/esm/parts/Logo/GlobalHeaderLogo.js +21 -0
- package/dist/esm/parts/Logo/GlobalHeaderLogo.js.map +7 -0
- package/dist/esm/parts/Logo/styles.js +9 -0
- package/dist/esm/parts/Logo/styles.js.map +7 -0
- package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js +140 -0
- package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js.map +7 -0
- package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/AppPicker/AppPicker.js +29 -23
- package/dist/esm/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +7 -0
- package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/PopupMenu/PopupMenu.js +46 -23
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +7 -0
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +103 -0
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +7 -0
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js +44 -0
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +7 -0
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +52 -0
- package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +7 -0
- package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/SearchToggle.js +45 -25
- package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +7 -0
- package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/SearchToggle/styles.js +7 -4
- package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +7 -0
- package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js +0 -0
- package/dist/esm/{outOfTheBox → parts/Toolbar/outOfTheBox}/index.js.map +1 -1
- package/dist/esm/parts/Toolbar/styles.js +18 -0
- package/dist/esm/parts/Toolbar/styles.js.map +7 -0
- package/dist/esm/parts/Toolbar/useGlobalHeaderToolbar.js +43 -0
- package/dist/esm/parts/Toolbar/useGlobalHeaderToolbar.js.map +7 -0
- package/dist/esm/parts/styles.js +46 -0
- package/dist/esm/parts/styles.js.map +7 -0
- package/dist/esm/react-desc-prop-types.js +54 -0
- package/dist/esm/react-desc-prop-types.js.map +7 -0
- package/dist/esm/sharedTypes.js +2 -0
- package/dist/esm/{GlobalHeaderTypes.js.map → sharedTypes.js.map} +0 -0
- package/package.json +16 -16
- package/dist/cjs/GlobalHeader.js +0 -50
- package/dist/cjs/GlobalHeader.js.map +0 -7
- package/dist/cjs/GlobalHeaderContainer.js +0 -34
- package/dist/cjs/GlobalHeaderContainer.js.map +0 -7
- package/dist/cjs/GlobalHeaderContext.js +0 -39
- package/dist/cjs/GlobalHeaderContext.js.map +0 -7
- package/dist/cjs/GlobalHeaderTypes.js.map +0 -7
- package/dist/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
- package/dist/cjs/components/Breadcrumb/PureBreadcrumb.js.map +0 -7
- package/dist/cjs/components/Breadcrumb/styles.js.map +0 -7
- package/dist/cjs/components/Title/GlobalHeaderTitle.js.map +0 -7
- package/dist/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +0 -7
- package/dist/cjs/components/Toolbar/ToolbarItems.js +0 -114
- package/dist/cjs/components/Toolbar/ToolbarItems.js.map +0 -7
- package/dist/cjs/components/Toolbar/styles.js.map +0 -7
- package/dist/cjs/config/useGetPropsWithDefaults.js.map +0 -7
- package/dist/cjs/defaultProps.js.map +0 -7
- package/dist/cjs/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -90
- package/dist/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +0 -7
- package/dist/cjs/outOfTheBox/PopupMenu/styles.js.map +0 -7
- package/dist/cjs/outOfTheBox/SearchToggle/SearchToggle.js.map +0 -7
- package/dist/cjs/outOfTheBox/SearchToggle/styles.js.map +0 -7
- package/dist/cjs/propTypes.js +0 -49
- package/dist/cjs/propTypes.js.map +0 -7
- 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/components/Breadcrumb/GlobalHeaderBreadcrumb.js +0 -83
- package/dist/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +0 -7
- 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 -94
- 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.map +0 -7
- package/dist/esm/defaultProps.js +0 -12
- package/dist/esm/defaultProps.js.map +0 -7
- package/dist/esm/outOfTheBox/AppPicker/AppPicker.js.map +0 -7
- package/dist/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +0 -7
- package/dist/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +0 -70
- 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.map +0 -7
- package/dist/esm/outOfTheBox/SearchToggle/styles.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,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React, { useState, useRef, useCallback } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { mergeRefs, getGlobalAttributes, useCallbackAfterRender } from '@elliemae/ds-utilities';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const AppPicker = ({\n label,\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.AppPickerProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const internalTriggerRef = useRef<HTMLButtonElement>(null);\n\n const {\n apps,\n icon,\n customApps,\n sectionTitle,\n customSectionTitle,\n actionRef,\n isOpen: userIsOpen,\n onKeyDown: userOnKeyDown,\n onClickOutside: userOnClickOutside,\n renderTrigger: userRenderTrigger,\n onClose,\n triggerRef,\n triggerOnClick,\n } = componentProps;\n\n const schedule = useCallbackAfterRender();\n\n const focusTrigger = useCallback(() => internalTriggerRef.current?.focus(), []);\n\n const handleTriggerKeyDown: React.KeyboardEventHandler = useCallback((e) => {\n if (e.code === 'Enter' || e.code === 'Space' || e.code === 'ArrowDown') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n setIsOpen(false);\n schedule(focusTrigger);\n }\n }, []);\n\n const handleOnClickOutside = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick: React.MouseEventHandler = useCallback(() => {\n setIsOpen(true);\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={\n userRenderTrigger ||\n (({ ref }: { ref: React.MutableRefObject<HTMLButtonElement> }) => (\n <StyledButton\n onClick={triggerOnClick ?? handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={(buttonRef: HTMLButtonElement) => {\n setRef(buttonRef);\n mergeRefs(internalTriggerRef, triggerRef, ref)(buttonRef);\n }}\n aria-label={label}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n role=\"menuitem\"\n aria-haspopup\n aria-expanded={userIsOpen ?? isOpen}\n id={id}\n {...getGlobalAttributes(otherProps)}\n >\n <MenuPicker width={20.73} height={20.73} />\n </StyledButton>\n ))\n }\n isOpen={userIsOpen ?? isOpen}\n onClose={onClose}\n triggerRef={triggerRef}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqD;AACrD,2BAA4B;AAC5B,0BAAuE;AACvE,sBAA2B;AAC3B,oBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,YAAY,CAAC,OAMkC;AANlC,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAJwB,IAKrB,uBALqB,IAKrB;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,qBAAqB,yBAA0B,IAAI;AAEzD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,WAAW,gDAAuB;AAExC,QAAM,eAAe,8BAAY,MAAM,mBAAmB,SAAS,MAAM,GAAG,CAAC,CAAC;AAE9E,QAAM,uBAAmD,8BAAY,CAAC,MAAM;AAC1E,QAAI,EAAE,SAAS,WAAW,EAAE,SAAS,WAAW,EAAE,SAAS,aAAa;AACtE,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,2BAA2B,8BAAY,CAAC,MAA2B;AACvE,QAAI,EAAE,QAAQ,UAAU;AACtB,gBAAU,KAAK;AACf,eAAS,YAAY;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,uBAAuB,8BAAY,MAAM;AAC7C,cAAU,KAAK;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAyC,8BAAY,MAAM;AAC/D,cAAU,IAAI;AAAA,EAChB,GAAG,CAAC,CAAC;AAEL,SACE,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,iBAAiB;AAAA,IAC5B;AAAA,IACA,gBAAgB,sBAAsB;AAAA,IACtC,eACE,qBACC,EAAC,EAAE,UACF,mDAAC;AAAA,MACC,SAAS,kBAAkB;AAAA,MAC3B,WAAW;AAAA,MACX,KAAK,CAAC,cAAiC;AACrC,eAAO,SAAS;AAChB,2CAAU,oBAAoB,YAAY,GAAG,EAAE,SAAS;AAAA,MAC1D;AAAA,MACA,cAAY;AAAA,MACZ,eAAa,iDAAyB,QAAQ;AAAA,MAC9C,MAAK;AAAA,MACL,iBAAa;AAAA,MACb,iBAAe,cAAc;AAAA,MAC7B;AAAA,OACI,6CAAoB,UAAU,IAElC,mDAAC;AAAA,MAAW,OAAO;AAAA,MAAO,QAAQ;AAAA,KAAO,CAC3C;AAAA,IAGJ,QAAQ,cAAc;AAAA,IACtB;AAAA,IACA;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -51,12 +51,27 @@ __export(PopupMenu_exports, {
|
|
|
51
51
|
module.exports = __toCommonJS(PopupMenu_exports);
|
|
52
52
|
var React = __toESM(require("react"));
|
|
53
53
|
var import_react = __toESM(require("react"));
|
|
54
|
-
var import_ds_popperjs = require("@elliemae/ds-popperjs");
|
|
55
|
-
var import_PopupMenuContent = require("./PopupMenuContent");
|
|
56
|
-
var import_styles = require("../../components/Toolbar/styles");
|
|
57
54
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
55
|
+
var import_ds_popperjs = require("@elliemae/ds-popperjs");
|
|
56
|
+
var import_PopupMenuContent = require("./menuContent/PopupMenuContent");
|
|
57
|
+
var import_styles = require("../../../styles");
|
|
58
|
+
var import_exported_related = require("../../../../exported-related");
|
|
58
59
|
const PopupMenu = (_a) => {
|
|
59
|
-
var _b = _a, {
|
|
60
|
+
var _b = _a, {
|
|
61
|
+
Icon,
|
|
62
|
+
title,
|
|
63
|
+
onClick,
|
|
64
|
+
id,
|
|
65
|
+
setRef,
|
|
66
|
+
componentProps
|
|
67
|
+
} = _b, otherProps = __objRest(_b, [
|
|
68
|
+
"Icon",
|
|
69
|
+
"title",
|
|
70
|
+
"onClick",
|
|
71
|
+
"id",
|
|
72
|
+
"setRef",
|
|
73
|
+
"componentProps"
|
|
74
|
+
]);
|
|
60
75
|
const [isOpen, setIsOpen] = (0, import_react.useState)(false);
|
|
61
76
|
const [buttonRef, setButtonRef] = (0, import_react.useState)(null);
|
|
62
77
|
const {
|
|
@@ -67,8 +82,8 @@ const PopupMenu = (_a) => {
|
|
|
67
82
|
options,
|
|
68
83
|
closeOnClick
|
|
69
84
|
} = componentProps;
|
|
70
|
-
const
|
|
71
|
-
if (e.code === "
|
|
85
|
+
const handleOnKeyDown = (0, import_react.useCallback)((e) => {
|
|
86
|
+
if (e.code === "ArrowDown") {
|
|
72
87
|
setIsOpen(true);
|
|
73
88
|
}
|
|
74
89
|
if (onKeyPress)
|
|
@@ -83,33 +98,41 @@ const PopupMenu = (_a) => {
|
|
|
83
98
|
const handleTriggerOnClick = (0, import_react.useCallback)((e) => {
|
|
84
99
|
if (userIsOpen === void 0)
|
|
85
100
|
setIsOpen(true);
|
|
86
|
-
onClick
|
|
101
|
+
if (onClick)
|
|
102
|
+
onClick(e);
|
|
87
103
|
}, [onClick, userIsOpen]);
|
|
88
104
|
const handleItemClick = (0, import_react.useCallback)(() => {
|
|
89
105
|
if (closeOnClick && userIsOpen === void 0)
|
|
90
106
|
handleOnClose();
|
|
91
107
|
}, [closeOnClick, handleOnClose, userIsOpen]);
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}), [options, handleItemClick, handleOnClose, popupOnKeyPress]);
|
|
98
|
-
return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_styles.Button, __spreadValues({
|
|
108
|
+
const handleRefs = (0, import_react.useCallback)((ref) => {
|
|
109
|
+
setRef(ref);
|
|
110
|
+
setButtonRef(ref);
|
|
111
|
+
}, []);
|
|
112
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledButton, __spreadValues({
|
|
99
113
|
onClick: handleTriggerOnClick,
|
|
100
|
-
|
|
101
|
-
title,
|
|
102
|
-
ref:
|
|
103
|
-
"data-testid":
|
|
114
|
+
onKeyDown: handleOnKeyDown,
|
|
115
|
+
"aria-label": title,
|
|
116
|
+
ref: handleRefs,
|
|
117
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON,
|
|
118
|
+
role: "menuitem",
|
|
119
|
+
"aria-haspopup": true,
|
|
120
|
+
"aria-expanded": userIsOpen ?? isOpen,
|
|
104
121
|
id
|
|
105
|
-
}, (0, import_ds_utilities.
|
|
106
|
-
fill: "#FFF",
|
|
122
|
+
}, (0, import_ds_utilities.useGetGlobalAttributes)(otherProps)), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, {
|
|
107
123
|
size: "m"
|
|
108
124
|
})), /* @__PURE__ */ import_react.default.createElement(import_ds_popperjs.DSPopperJS, {
|
|
109
125
|
referenceElement: buttonRef,
|
|
110
126
|
showPopover: userIsOpen ?? isOpen,
|
|
111
127
|
closeContextMenu: handleOnClose,
|
|
112
|
-
onClickOutside
|
|
113
|
-
|
|
128
|
+
onClickOutside,
|
|
129
|
+
withoutPortal: true
|
|
130
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_PopupMenuContent.PopupMenuContent, {
|
|
131
|
+
options,
|
|
132
|
+
onItemClick: handleItemClick,
|
|
133
|
+
onClose: handleOnClose,
|
|
134
|
+
setIsOpen,
|
|
135
|
+
popupOnKeyPress
|
|
136
|
+
})));
|
|
114
137
|
};
|
|
115
138
|
//# sourceMappingURL=PopupMenu.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React, { useState, useCallback } from 'react';\nimport { useGetGlobalAttributes } from '@elliemae/ds-utilities';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { PopupMenuContent } from './menuContent/PopupMenuContent';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const PopupMenu = ({\n Icon,\n title,\n onClick,\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.PopupProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const [buttonRef, setButtonRef] = useState<HTMLButtonElement | null>(null);\n\n const {\n onClickOutside = () => null,\n onKeyPress,\n popupOnKeyPress,\n isOpen: userIsOpen,\n options,\n closeOnClick,\n } = componentProps;\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.code === 'ArrowDown') {\n setIsOpen(true);\n }\n if (onKeyPress) onKeyPress(e);\n },\n [onKeyPress],\n );\n\n const handleOnClose = useCallback(() => {\n if (userIsOpen === undefined) {\n setIsOpen(false);\n }\n buttonRef?.focus();\n }, [buttonRef, userIsOpen]);\n\n const handleTriggerOnClick = useCallback(\n (e: React.MouseEvent) => {\n if (userIsOpen === undefined) setIsOpen(true);\n if (onClick) onClick(e);\n },\n [onClick, userIsOpen],\n );\n\n const handleItemClick = useCallback(() => {\n if (closeOnClick && userIsOpen === undefined) handleOnClose();\n }, [closeOnClick, handleOnClose, userIsOpen]);\n\n const handleRefs = useCallback((ref) => {\n setRef(ref);\n setButtonRef(ref);\n }, []);\n\n return (\n <>\n <StyledButton\n onClick={handleTriggerOnClick}\n onKeyDown={handleOnKeyDown}\n aria-label={title}\n ref={handleRefs}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.ITEM_BUTTON}\n role=\"menuitem\"\n aria-haspopup\n aria-expanded={userIsOpen ?? isOpen}\n id={id}\n {...useGetGlobalAttributes(otherProps)}\n >\n {Icon && <Icon size=\"m\" />}\n </StyledButton>\n <DSPopperJS\n referenceElement={buttonRef}\n showPopover={userIsOpen ?? isOpen}\n closeContextMenu={handleOnClose}\n onClickOutside={onClickOutside}\n withoutPortal\n >\n <PopupMenuContent\n options={options}\n onItemClick={handleItemClick}\n onClose={handleOnClose}\n setIsOpen={setIsOpen}\n popupOnKeyPress={popupOnKeyPress}\n />\n </DSPopperJS>\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,0BAAuC;AACvC,yBAA2B;AAC3B,8BAAiC;AACjC,oBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,YAAY,CAAC,OAQ8B;AAR9B,eACxB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MANwB,IAOrB,uBAPqB,IAOrB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,CAAC,WAAW,gBAAgB,2BAAmC,IAAI;AAEzE,QAAM;AAAA,IACJ,iBAAiB,MAAM;AAAA,IACvB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,kBAAkB,8BACtB,CAAC,MAA2B;AAC1B,QAAI,EAAE,SAAS,aAAa;AAC1B,gBAAU,IAAI;AAAA,IAChB;AACA,QAAI;AAAY,iBAAW,CAAC;AAAA,EAC9B,GACA,CAAC,UAAU,CACb;AAEA,QAAM,gBAAgB,8BAAY,MAAM;AACtC,QAAI,eAAe,QAAW;AAC5B,gBAAU,KAAK;AAAA,IACjB;AACA,eAAW,MAAM;AAAA,EACnB,GAAG,CAAC,WAAW,UAAU,CAAC;AAE1B,QAAM,uBAAuB,8BAC3B,CAAC,MAAwB;AACvB,QAAI,eAAe;AAAW,gBAAU,IAAI;AAC5C,QAAI;AAAS,cAAQ,CAAC;AAAA,EACxB,GACA,CAAC,SAAS,UAAU,CACtB;AAEA,QAAM,kBAAkB,8BAAY,MAAM;AACxC,QAAI,gBAAgB,eAAe;AAAW,oBAAc;AAAA,EAC9D,GAAG,CAAC,cAAc,eAAe,UAAU,CAAC;AAE5C,QAAM,aAAa,8BAAY,CAAC,QAAQ;AACtC,WAAO,GAAG;AACV,iBAAa,GAAG;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,SACE,wFACE,mDAAC;AAAA,IACC,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAY;AAAA,IACZ,KAAK;AAAA,IACL,eAAa,iDAAyB,QAAQ;AAAA,IAC9C,MAAK;AAAA,IACL,iBAAa;AAAA,IACb,iBAAe,cAAc;AAAA,IAC7B;AAAA,KACI,gDAAuB,UAAU,IAEpC,QAAQ,mDAAC;AAAA,IAAK,MAAK;AAAA,GAAI,CAC1B,GACA,mDAAC;AAAA,IACC,kBAAkB;AAAA,IAClB,aAAa,cAAc;AAAA,IAC3B,kBAAkB;AAAA,IAClB;AAAA,IACA,eAAa;AAAA,KAEb,mDAAC;AAAA,IACC;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,IACT;AAAA,IACA;AAAA,GACF,CACF,CACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __objRest = (source, exclude) => {
|
|
22
|
+
var target = {};
|
|
23
|
+
for (var prop in source)
|
|
24
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
if (source != null && __getOwnPropSymbols)
|
|
27
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
}
|
|
31
|
+
return target;
|
|
32
|
+
};
|
|
33
|
+
var __export = (target, all) => {
|
|
34
|
+
for (var name in all)
|
|
35
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
36
|
+
};
|
|
37
|
+
var __copyProps = (to, from, except, desc) => {
|
|
38
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
39
|
+
for (let key of __getOwnPropNames(from))
|
|
40
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
41
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
42
|
+
}
|
|
43
|
+
return to;
|
|
44
|
+
};
|
|
45
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
46
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
47
|
+
var PopupMenuContent_exports = {};
|
|
48
|
+
__export(PopupMenuContent_exports, {
|
|
49
|
+
PopupMenuContent: () => PopupMenuContent
|
|
50
|
+
});
|
|
51
|
+
module.exports = __toCommonJS(PopupMenuContent_exports);
|
|
52
|
+
var React = __toESM(require("react"));
|
|
53
|
+
var import_react = __toESM(require("react"));
|
|
54
|
+
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
55
|
+
var import_styles = require("./styles");
|
|
56
|
+
var import_DSGlobalHeaderContext = require("../../../../../DSGlobalHeaderContext");
|
|
57
|
+
var import_exported_related = require("../../../../../exported-related");
|
|
58
|
+
var import_usePopupMenuContent = require("./usePopupMenuContent");
|
|
59
|
+
const PopupMenuContent = import_react.default.memo(({
|
|
60
|
+
options,
|
|
61
|
+
onItemClick,
|
|
62
|
+
onClose,
|
|
63
|
+
popupOnKeyPress,
|
|
64
|
+
setIsOpen
|
|
65
|
+
}) => {
|
|
66
|
+
const { instanceUID } = (0, import_react.useContext)(import_DSGlobalHeaderContext.DSGlobalHeaderContext);
|
|
67
|
+
const { menuRef, setRef, keyboardNavigation } = (0, import_usePopupMenuContent.usePopupMenuContent)({ setIsOpen });
|
|
68
|
+
return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledList, {
|
|
69
|
+
ref: menuRef,
|
|
70
|
+
role: "menu",
|
|
71
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.LIST
|
|
72
|
+
}, options.map((option) => {
|
|
73
|
+
const _a = option, { type, Icon, label = "", onClick, Content, id } = _a, rest = __objRest(_a, ["type", "Icon", "label", "onClick", "Content", "id"]);
|
|
74
|
+
const globalAttrs = (0, import_ds_utilities.getGlobalAttributes)(rest);
|
|
75
|
+
const handleClick = (e) => {
|
|
76
|
+
onItemClick();
|
|
77
|
+
if (onClick)
|
|
78
|
+
onClick(e);
|
|
79
|
+
};
|
|
80
|
+
const handleKeyDown = (e) => {
|
|
81
|
+
keyboardNavigation(e);
|
|
82
|
+
if (e.code === "Escape")
|
|
83
|
+
onClose();
|
|
84
|
+
if (popupOnKeyPress)
|
|
85
|
+
popupOnKeyPress(e);
|
|
86
|
+
};
|
|
87
|
+
switch (type) {
|
|
88
|
+
case "separator":
|
|
89
|
+
return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSeparator, __spreadValues({
|
|
90
|
+
key: `${instanceUID}-separator-${label}`,
|
|
91
|
+
role: "none",
|
|
92
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.SEPARATOR
|
|
93
|
+
}, globalAttrs));
|
|
94
|
+
case "custom":
|
|
95
|
+
return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
|
|
96
|
+
key: `${instanceUID}-popup-${label}`,
|
|
97
|
+
role: "menuitem",
|
|
98
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM
|
|
99
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemButton, __spreadValues({
|
|
100
|
+
ref: setRef,
|
|
101
|
+
onClick: handleClick,
|
|
102
|
+
onKeyDown: handleKeyDown,
|
|
103
|
+
id,
|
|
104
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON
|
|
105
|
+
}, globalAttrs), Content && /* @__PURE__ */ import_react.default.createElement(Content, null)));
|
|
106
|
+
default:
|
|
107
|
+
return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
|
|
108
|
+
key: `${instanceUID}-popup-${label}`,
|
|
109
|
+
role: "menuitem",
|
|
110
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM
|
|
111
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemButton, __spreadValues({
|
|
112
|
+
ref: setRef,
|
|
113
|
+
onClick: handleClick,
|
|
114
|
+
onKeyDown: handleKeyDown,
|
|
115
|
+
id,
|
|
116
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON
|
|
117
|
+
}, globalAttrs), Icon && /* @__PURE__ */ import_react.default.createElement(Icon, null), label && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledLabel, {
|
|
118
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL
|
|
119
|
+
}, label)));
|
|
120
|
+
}
|
|
121
|
+
}));
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=PopupMenuContent.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React, { useContext } from 'react';\nimport { getGlobalAttributes } from '@elliemae/ds-utilities';\nimport { StyledSeparator, StyledItemButton, StyledLabel, StyledList, StyledItemContainer } from './styles';\nimport { DSGlobalHeaderContext } from '../../../../../DSGlobalHeaderContext';\nimport { DSGlobalHeaderDatatestid } from '../../../../../exported-related';\nimport { usePopupMenuContent } from './usePopupMenuContent';\nimport type { DSGlobalHeaderInternalsT } from '../../../../../sharedTypes';\n\nexport const PopupMenuContent = React.memo(\n ({\n options,\n onItemClick,\n onClose,\n popupOnKeyPress,\n setIsOpen,\n }: DSGlobalHeaderInternalsT.PopupMenuContentProps): JSX.Element => {\n const { instanceUID } = useContext(DSGlobalHeaderContext);\n\n const { menuRef, setRef, keyboardNavigation } = usePopupMenuContent({ setIsOpen });\n\n return (\n <StyledList ref={menuRef} role=\"menu\" data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.LIST}>\n {options.map((option) => {\n const { type, Icon, label = '', onClick, Content, id, ...rest } = option;\n\n const globalAttrs = getGlobalAttributes(rest);\n\n const handleClick = (e: React.MouseEvent) => {\n onItemClick();\n if (onClick) onClick(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n keyboardNavigation(e);\n if (e.code === 'Escape') onClose();\n if (popupOnKeyPress) popupOnKeyPress(e);\n };\n\n switch (type) {\n case 'separator':\n return (\n <StyledSeparator\n key={`${instanceUID}-separator-${label}`}\n role=\"none\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.SEPARATOR}\n {...globalAttrs}\n />\n );\n case 'custom':\n return (\n <StyledItemContainer\n key={`${instanceUID}-popup-${label}`}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM}\n >\n <StyledItemButton\n ref={setRef}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n id={id}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON}\n {...globalAttrs}\n >\n {Content && <Content />}\n </StyledItemButton>\n </StyledItemContainer>\n );\n default:\n return (\n <StyledItemContainer\n key={`${instanceUID}-popup-${label}`}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM}\n >\n <StyledItemButton\n ref={setRef}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n id={id}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON}\n {...globalAttrs}\n >\n {Icon && <Icon />}\n {label && (\n <StyledLabel data-testid={DSGlobalHeaderDatatestid.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL}>\n {label}\n </StyledLabel>\n )}\n </StyledItemButton>\n </StyledItemContainer>\n );\n }\n })}\n </StyledList>\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,0BAAoC;AACpC,oBAAgG;AAChG,mCAAsC;AACtC,8BAAyC;AACzC,iCAAoC;AAG7B,MAAM,mBAAmB,qBAAM,KACpC,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACiE;AACjE,QAAM,EAAE,gBAAgB,6BAAW,kDAAqB;AAExD,QAAM,EAAE,SAAS,QAAQ,uBAAuB,oDAAoB,EAAE,UAAU,CAAC;AAEjF,SACE,mDAAC;AAAA,IAAW,KAAK;AAAA,IAAS,MAAK;AAAA,IAAO,eAAa,iDAAyB,QAAQ,WAAW;AAAA,KAC5F,QAAQ,IAAI,CAAC,WAAW;AACvB,UAAkE,aAA1D,QAAM,MAAM,QAAQ,IAAI,SAAS,SAAS,OAAgB,IAAT,iBAAS,IAAT,CAAjD,QAAM,QAAM,SAAY,WAAS,WAAS;AAElD,UAAM,cAAc,6CAAoB,IAAI;AAE5C,UAAM,cAAc,CAAC,MAAwB;AAC3C,kBAAY;AACZ,UAAI;AAAS,gBAAQ,CAAC;AAAA,IACxB;AAEA,UAAM,gBAAgB,CAAC,MAA2B;AAChD,yBAAmB,CAAC;AACpB,UAAI,EAAE,SAAS;AAAU,gBAAQ;AACjC,UAAI;AAAiB,wBAAgB,CAAC;AAAA,IACxC;AAEA,YAAQ;AAAA,WACD;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,yBAAyB;AAAA,UACjC,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,YACN;AAAA,WAEC;AACH,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,qBAAqB;AAAA,UAC7B,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WAEzD,mDAAC;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX;AAAA,UACA,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,cAEH,WAAW,mDAAC,aAAQ,CACvB,CACF;AAAA;AAGF,eACE,mDAAC;AAAA,UACC,KAAK,GAAG,qBAAqB;AAAA,UAC7B,MAAK;AAAA,UACL,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WAEzD,mDAAC;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAW;AAAA,UACX;AAAA,UACA,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACrD,cAEH,QAAQ,mDAAC,UAAK,GACd,SACC,mDAAC;AAAA,UAAY,eAAa,iDAAyB,QAAQ,WAAW;AAAA,WACnE,KACH,CAEJ,CACF;AAAA;AAAA,EAGR,CAAC,CACH;AAEJ,CACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/cjs/{outOfTheBox/PopupMenu → parts/Toolbar/outOfTheBox/PopupMenu/menuContent}/styles.js
RENAMED
|
@@ -20,19 +20,25 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
20
20
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
21
|
var styles_exports = {};
|
|
22
22
|
__export(styles_exports, {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
StyledItemButton: () => StyledItemButton,
|
|
24
|
+
StyledItemContainer: () => StyledItemContainer,
|
|
25
|
+
StyledLabel: () => StyledLabel,
|
|
26
|
+
StyledList: () => StyledList,
|
|
27
|
+
StyledSeparator: () => StyledSeparator
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(styles_exports);
|
|
29
30
|
var React = __toESM(require("react"));
|
|
30
|
-
var
|
|
31
|
-
|
|
31
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
32
|
+
var import_theming = require("../../../../../exported-related/theming");
|
|
33
|
+
const StyledList = (0, import_ds_system.styled)("ul", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.LIST })`
|
|
32
34
|
padding: 5px 0px;
|
|
35
|
+
margin: 0;
|
|
33
36
|
background: white;
|
|
34
37
|
`;
|
|
35
|
-
const
|
|
38
|
+
const StyledItemContainer = (0, import_ds_system.styled)("li", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.ITEM })`
|
|
39
|
+
list-style: none;
|
|
40
|
+
`;
|
|
41
|
+
const StyledItemButton = (0, import_ds_system.styled)("button", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.ITEM_BUTTON })`
|
|
36
42
|
display: flex;
|
|
37
43
|
align-items: center;
|
|
38
44
|
justify-content: center;
|
|
@@ -47,12 +53,12 @@ const ItemWrapper = import_styled_components.default.button`
|
|
|
47
53
|
border: ${({ theme }) => `1px solid ${theme.colors.brand[600]}`};
|
|
48
54
|
}
|
|
49
55
|
`;
|
|
50
|
-
const
|
|
56
|
+
const StyledLabel = (0, import_ds_system.styled)("span", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL })`
|
|
51
57
|
width: 100%;
|
|
52
58
|
font-size: 14px;
|
|
53
59
|
margin: 10px;
|
|
54
60
|
`;
|
|
55
|
-
const
|
|
61
|
+
const StyledSeparator = (0, import_ds_system.styled)("div", { name: import_theming.COMPONENT_NAME, slot: import_theming.slots.MENUBAR.POPUP_MENU.SEPARATOR })`
|
|
56
62
|
width: 100%;
|
|
57
63
|
border: none;
|
|
58
64
|
border-bottom: 1px solid #ccc;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport { COMPONENT_NAME, slots } from '../../../../../exported-related/theming';\n\nexport const StyledList = styled('ul', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.LIST })`\n padding: 5px 0px;\n margin: 0;\n background: white;\n`;\n\nexport const StyledItemContainer = styled('li', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.ITEM })`\n list-style: none;\n`;\n\nexport const StyledItemButton = styled('button', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.ITEM_BUTTON })`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: 0 20px;\n cursor: pointer;\n border: 1px solid transparent;\n background-color: transparent;\n outline: none;\n :hover,\n :focus {\n border: ${({ theme }) => `1px solid ${theme.colors.brand[600]}`};\n }\n`;\n\nexport const StyledLabel = styled('span', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL })`\n width: 100%;\n font-size: 14px;\n margin: 10px;\n`;\n\nexport const StyledSeparator = styled('div', { name: COMPONENT_NAME, slot: slots.MENUBAR.POPUP_MENU.SEPARATOR })`\n width: 100%;\n border: none;\n border-bottom: 1px solid #ccc;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AACvB,qBAAsC;AAE/B,MAAM,aAAa,6BAAO,MAAM,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAM7F,MAAM,sBAAsB,6BAAO,MAAM,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,KAAK,CAAC;AAAA;AAAA;AAItG,MAAM,mBAAmB,6BAAO,UAAU,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAYvG,CAAC,EAAE,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA;AAAA;AAItD,MAAM,cAAc,6BAAO,QAAQ,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA;AAM7G,MAAM,kBAAkB,6BAAO,OAAO,EAAE,MAAM,+BAAgB,MAAM,qBAAM,QAAQ,WAAW,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var usePopupMenuContent_exports = {};
|
|
22
|
+
__export(usePopupMenuContent_exports, {
|
|
23
|
+
usePopupMenuContent: () => usePopupMenuContent
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(usePopupMenuContent_exports);
|
|
26
|
+
var React = __toESM(require("react"));
|
|
27
|
+
var import_react = require("react");
|
|
28
|
+
const usePopupMenuContent = ({ setIsOpen }) => {
|
|
29
|
+
const menuRef = (0, import_react.useRef)(null);
|
|
30
|
+
const allMenuItemsRef = (0, import_react.useRef)([]);
|
|
31
|
+
const setRef = (0, import_react.useCallback)((ref) => {
|
|
32
|
+
if (ref && !allMenuItemsRef.current.includes(ref)) {
|
|
33
|
+
allMenuItemsRef.current.push(ref);
|
|
34
|
+
}
|
|
35
|
+
allMenuItemsRef.current.forEach((item, index) => {
|
|
36
|
+
if (index === 0) {
|
|
37
|
+
item?.setAttribute?.("tabindex", "0");
|
|
38
|
+
} else {
|
|
39
|
+
item?.setAttribute?.("tabindex", "-1");
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}, []);
|
|
43
|
+
(0, import_react.useEffect)(() => {
|
|
44
|
+
allMenuItemsRef.current?.[0]?.focus();
|
|
45
|
+
}, []);
|
|
46
|
+
const keyboardNavigation = (0, import_react.useCallback)((e) => {
|
|
47
|
+
if (e.code === "Tab") {
|
|
48
|
+
setIsOpen(false);
|
|
49
|
+
} else {
|
|
50
|
+
const currentIndex = allMenuItemsRef.current.indexOf(e.target);
|
|
51
|
+
const allRefsLength = allMenuItemsRef.current.length;
|
|
52
|
+
if (e.key === "ArrowDown") {
|
|
53
|
+
if (currentIndex < allRefsLength - 1) {
|
|
54
|
+
allMenuItemsRef.current[currentIndex + 1]?.focus?.();
|
|
55
|
+
} else {
|
|
56
|
+
allMenuItemsRef.current[0]?.focus?.();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (e.key === "ArrowUp") {
|
|
60
|
+
if (currentIndex === 0) {
|
|
61
|
+
allMenuItemsRef.current[allRefsLength - 1]?.focus?.();
|
|
62
|
+
} else {
|
|
63
|
+
allMenuItemsRef.current[currentIndex - 1]?.focus?.();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, [setIsOpen]);
|
|
68
|
+
return {
|
|
69
|
+
menuRef,
|
|
70
|
+
setRef,
|
|
71
|
+
keyboardNavigation
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=usePopupMenuContent.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { useRef, useCallback, useEffect } from 'react';\n\ninterface UsePopupMenuContentT {\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const usePopupMenuContent = ({ setIsOpen }: UsePopupMenuContentT) => {\n const menuRef = useRef<HTMLDivElement>(null);\n const allMenuItemsRef = useRef<HTMLButtonElement[]>([]);\n\n const setRef = useCallback((ref: HTMLButtonElement) => {\n if (ref && !allMenuItemsRef.current.includes(ref)) {\n allMenuItemsRef.current.push(ref);\n }\n\n allMenuItemsRef.current.forEach((item, index) => {\n if (index === 0) {\n item?.setAttribute?.('tabindex', '0');\n } else {\n item?.setAttribute?.('tabindex', '-1');\n }\n });\n }, []);\n\n useEffect(() => {\n (allMenuItemsRef.current?.[0] as HTMLButtonElement)?.focus();\n }, []);\n\n const keyboardNavigation = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.code === 'Tab') {\n setIsOpen(false);\n } else {\n const currentIndex = allMenuItemsRef.current.indexOf(e.target as HTMLButtonElement);\n const allRefsLength = allMenuItemsRef.current.length;\n if (e.key === 'ArrowDown') {\n if (currentIndex < allRefsLength - 1) {\n allMenuItemsRef.current[currentIndex + 1]?.focus?.();\n } else {\n allMenuItemsRef.current[0]?.focus?.();\n }\n }\n if (e.key === 'ArrowUp') {\n if (currentIndex === 0) {\n allMenuItemsRef.current[allRefsLength - 1]?.focus?.();\n } else {\n allMenuItemsRef.current[currentIndex - 1]?.focus?.();\n }\n }\n }\n },\n [setIsOpen],\n );\n\n return {\n menuRef,\n setRef,\n keyboardNavigation,\n };\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+C;AAMxC,MAAM,sBAAsB,CAAC,EAAE,gBAAsC;AAC1E,QAAM,UAAU,yBAAuB,IAAI;AAC3C,QAAM,kBAAkB,yBAA4B,CAAC,CAAC;AAEtD,QAAM,SAAS,8BAAY,CAAC,QAA2B;AACrD,QAAI,OAAO,CAAC,gBAAgB,QAAQ,SAAS,GAAG,GAAG;AACjD,sBAAgB,QAAQ,KAAK,GAAG;AAAA,IAClC;AAEA,oBAAgB,QAAQ,QAAQ,CAAC,MAAM,UAAU;AAC/C,UAAI,UAAU,GAAG;AACf,cAAM,eAAe,YAAY,GAAG;AAAA,MACtC,OAAO;AACL,cAAM,eAAe,YAAY,IAAI;AAAA,MACvC;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,8BAAU,MAAM;AACd,IAAC,gBAAgB,UAAU,IAA0B,MAAM;AAAA,EAC7D,GAAG,CAAC,CAAC;AAEL,QAAM,qBAAqB,8BACzB,CAAC,MAA2B;AAC1B,QAAI,EAAE,SAAS,OAAO;AACpB,gBAAU,KAAK;AAAA,IACjB,OAAO;AACL,YAAM,eAAe,gBAAgB,QAAQ,QAAQ,EAAE,MAA2B;AAClF,YAAM,gBAAgB,gBAAgB,QAAQ;AAC9C,UAAI,EAAE,QAAQ,aAAa;AACzB,YAAI,eAAe,gBAAgB,GAAG;AACpC,0BAAgB,QAAQ,eAAe,IAAI,QAAQ;AAAA,QACrD,OAAO;AACL,0BAAgB,QAAQ,IAAI,QAAQ;AAAA,QACtC;AAAA,MACF;AACA,UAAI,EAAE,QAAQ,WAAW;AACvB,YAAI,iBAAiB,GAAG;AACtB,0BAAgB,QAAQ,gBAAgB,IAAI,QAAQ;AAAA,QACtD,OAAO;AACL,0BAAgB,QAAQ,eAAe,IAAI,QAAQ;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AAAA,EACF,GACA,CAAC,SAAS,CACZ;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -52,16 +52,24 @@ module.exports = __toCommonJS(SearchToggle_exports);
|
|
|
52
52
|
var React = __toESM(require("react"));
|
|
53
53
|
var import_react = __toESM(require("react"));
|
|
54
54
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
55
|
-
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
56
|
-
var import_ds_icon = require("@elliemae/ds-icon");
|
|
57
55
|
var import_ds_form = require("@elliemae/ds-form");
|
|
56
|
+
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
58
57
|
var import_styles = require("./styles");
|
|
59
|
-
var import_styles2 = require("
|
|
58
|
+
var import_styles2 = require("../../../styles");
|
|
59
|
+
var import_exported_related = require("../../../../exported-related");
|
|
60
60
|
const SearchToggle = (_a) => {
|
|
61
|
-
var _b = _a, {
|
|
61
|
+
var _b = _a, {
|
|
62
|
+
id,
|
|
63
|
+
setRef,
|
|
64
|
+
componentProps
|
|
65
|
+
} = _b, otherProps = __objRest(_b, [
|
|
66
|
+
"id",
|
|
67
|
+
"setRef",
|
|
68
|
+
"componentProps"
|
|
69
|
+
]);
|
|
62
70
|
const [isOpen, setIsOpen] = (0, import_react.useState)(false);
|
|
63
|
-
const
|
|
64
|
-
const
|
|
71
|
+
const internalInputRef = (0, import_react.useRef)(null);
|
|
72
|
+
const internalTriggerRef = (0, import_react.useRef)(null);
|
|
65
73
|
const containerRef = (0, import_react.useRef)(null);
|
|
66
74
|
const {
|
|
67
75
|
onNext,
|
|
@@ -75,8 +83,12 @@ const SearchToggle = (_a) => {
|
|
|
75
83
|
onClear,
|
|
76
84
|
isOpen: userIsOpen,
|
|
77
85
|
onKeyDown,
|
|
78
|
-
onClick
|
|
86
|
+
onClick,
|
|
87
|
+
triggerRef,
|
|
88
|
+
searchContainerRef
|
|
79
89
|
} = componentProps;
|
|
90
|
+
const schedule = (0, import_ds_utilities.useCallbackAfterRender)();
|
|
91
|
+
const focusTrigger = (0, import_react.useCallback)(() => internalTriggerRef.current?.focus(), []);
|
|
80
92
|
const handleOnClick = (0, import_react.useCallback)((e) => {
|
|
81
93
|
if (userIsOpen === void 0)
|
|
82
94
|
setIsOpen(true);
|
|
@@ -85,25 +97,33 @@ const SearchToggle = (_a) => {
|
|
|
85
97
|
}, [onClick, userIsOpen]);
|
|
86
98
|
const handleOnKeyDown = (0, import_react.useCallback)((e) => {
|
|
87
99
|
if (userIsOpen === void 0) {
|
|
88
|
-
if (e.
|
|
100
|
+
if (e.key === "Escape") {
|
|
89
101
|
setIsOpen(false);
|
|
90
|
-
|
|
102
|
+
schedule(focusTrigger);
|
|
91
103
|
}
|
|
92
104
|
}
|
|
93
105
|
if (onKeyDown)
|
|
94
106
|
onKeyDown(e);
|
|
95
|
-
}, [onKeyDown, userIsOpen]);
|
|
107
|
+
}, [focusTrigger, onKeyDown, schedule, userIsOpen]);
|
|
96
108
|
const handleOnBlur = (0, import_react.useCallback)(() => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
109
|
+
const contains = containerRef.current?.contains(document.activeElement);
|
|
110
|
+
if (value === "" && !contains)
|
|
111
|
+
setIsOpen(false);
|
|
112
|
+
schedule(focusTrigger);
|
|
113
|
+
}, [focusTrigger, schedule, value]);
|
|
114
|
+
const handleNavInputRefs = (0, import_react.useCallback)((searchNavRef) => {
|
|
115
|
+
setRef(searchNavRef);
|
|
116
|
+
internalInputRef.current = searchNavRef;
|
|
117
|
+
}, [setRef]);
|
|
118
|
+
const handleTriggerRefs = (0, import_react.useCallback)((buttonRef) => {
|
|
119
|
+
(0, import_ds_utilities.mergeRefs)(triggerRef, internalTriggerRef)(buttonRef);
|
|
120
|
+
setRef(buttonRef);
|
|
121
|
+
}, [setRef, triggerRef]);
|
|
103
122
|
return userIsOpen || isOpen ? /* @__PURE__ */ import_react.default.createElement(import_styles.StyledNavSearchBoxContainer, {
|
|
104
123
|
onKeyDown: handleOnKeyDown,
|
|
105
|
-
ref: containerRef,
|
|
106
|
-
onBlur: handleOnBlur
|
|
124
|
+
ref: (0, import_ds_utilities.mergeRefs)(searchContainerRef, containerRef),
|
|
125
|
+
onBlur: handleOnBlur,
|
|
126
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.CONTAINER
|
|
107
127
|
}, /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSNavSearchBox, {
|
|
108
128
|
onNext,
|
|
109
129
|
onPrevious,
|
|
@@ -114,14 +134,14 @@ const SearchToggle = (_a) => {
|
|
|
114
134
|
onChange,
|
|
115
135
|
value,
|
|
116
136
|
onBlur,
|
|
117
|
-
innerRef:
|
|
137
|
+
innerRef: handleNavInputRefs,
|
|
118
138
|
autoFocus: true
|
|
119
|
-
})) : /* @__PURE__ */ import_react.default.createElement(import_styles2.
|
|
139
|
+
})) : /* @__PURE__ */ import_react.default.createElement(import_styles2.StyledButton, __spreadValues({
|
|
120
140
|
onClick: handleOnClick,
|
|
121
|
-
ref:
|
|
122
|
-
id
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}));
|
|
141
|
+
ref: handleTriggerRefs,
|
|
142
|
+
id,
|
|
143
|
+
role: "menuitem",
|
|
144
|
+
"data-testid": import_exported_related.DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.ITEM_BUTTON
|
|
145
|
+
}, (0, import_ds_utilities.getGlobalAttributes)(otherProps)), /* @__PURE__ */ import_react.default.createElement(import_ds_icons.Search, null));
|
|
126
146
|
};
|
|
127
147
|
//# sourceMappingURL=SearchToggle.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React, { useState, useCallback, useRef } from 'react';\nimport { Search } from '@elliemae/ds-icons';\nimport { DSNavSearchBox } from '@elliemae/ds-form';\nimport { getGlobalAttributes, mergeRefs, useCallbackAfterRender } from '@elliemae/ds-utilities';\nimport { StyledNavSearchBoxContainer } from './styles';\nimport { StyledButton } from '../../../styles';\nimport { DSGlobalHeaderDatatestid } from '../../../../exported-related';\nimport type { DSGlobalHeaderInternalsT } from '../../../../sharedTypes';\n\nexport const SearchToggle = ({\n id,\n setRef,\n componentProps,\n ...otherProps\n}: DSGlobalHeaderInternalsT.SearchToggleProps): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const internalInputRef = useRef<HTMLInputElement | null>(null);\n const internalTriggerRef = useRef<HTMLButtonElement | null>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const {\n onNext,\n onPrevious,\n currentResultIndex,\n totalResults,\n placeholder,\n value,\n onChange,\n onBlur,\n onClear,\n isOpen: userIsOpen,\n onKeyDown,\n onClick,\n triggerRef,\n searchContainerRef,\n } = componentProps;\n\n const schedule = useCallbackAfterRender();\n\n const focusTrigger = useCallback(() => internalTriggerRef.current?.focus(), []);\n\n const handleOnClick = useCallback(\n (e: React.MouseEvent) => {\n if (userIsOpen === undefined) setIsOpen(true);\n if (onClick) onClick(e);\n },\n [onClick, userIsOpen],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (userIsOpen === undefined) {\n if (e.key === 'Escape') {\n setIsOpen(false);\n schedule(focusTrigger);\n }\n }\n if (onKeyDown) onKeyDown(e);\n },\n [focusTrigger, onKeyDown, schedule, userIsOpen],\n );\n\n const handleOnBlur = useCallback(() => {\n const contains = containerRef.current?.contains(document.activeElement);\n if (value === '' && !contains) setIsOpen(false);\n schedule(focusTrigger);\n }, [focusTrigger, schedule, value]);\n\n const handleNavInputRefs = useCallback(\n (searchNavRef: HTMLInputElement) => {\n setRef(searchNavRef);\n internalInputRef.current = searchNavRef;\n },\n [setRef],\n );\n\n const handleTriggerRefs = useCallback(\n (buttonRef: HTMLButtonElement) => {\n mergeRefs(triggerRef, internalTriggerRef)(buttonRef);\n setRef(buttonRef);\n },\n [setRef, triggerRef],\n );\n\n return userIsOpen || isOpen ? (\n <StyledNavSearchBoxContainer\n onKeyDown={handleOnKeyDown}\n ref={mergeRefs(searchContainerRef, containerRef)}\n onBlur={handleOnBlur}\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.CONTAINER}\n >\n <DSNavSearchBox\n onNext={onNext}\n onPrevious={onPrevious}\n currentResultIndex={currentResultIndex}\n totalResults={totalResults}\n onClear={onClear}\n placeholder={placeholder}\n onChange={onChange}\n value={value}\n onBlur={onBlur}\n innerRef={handleNavInputRefs}\n autoFocus\n />\n </StyledNavSearchBoxContainer>\n ) : (\n <StyledButton\n onClick={handleOnClick}\n ref={handleTriggerRefs}\n id={id}\n role=\"menuitem\"\n data-testid={DSGlobalHeaderDatatestid.MENUBAR.SEARCH_TOGGLE.ITEM_BUTTON}\n {...getGlobalAttributes(otherProps)}\n >\n <Search />\n </StyledButton>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqD;AACrD,sBAAuB;AACvB,qBAA+B;AAC/B,0BAAuE;AACvE,oBAA4C;AAC5C,qBAA6B;AAC7B,8BAAyC;AAGlC,MAAM,eAAe,CAAC,OAKkC;AALlC,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,MAH2B,IAIxB,uBAJwB,IAIxB;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,QAAQ,aAAa,2BAAkB,KAAK;AACnD,QAAM,mBAAmB,yBAAgC,IAAI;AAC7D,QAAM,qBAAqB,yBAAiC,IAAI;AAChE,QAAM,eAAe,yBAA8B,IAAI;AAEvD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,WAAW,gDAAuB;AAExC,QAAM,eAAe,8BAAY,MAAM,mBAAmB,SAAS,MAAM,GAAG,CAAC,CAAC;AAE9E,QAAM,gBAAgB,8BACpB,CAAC,MAAwB;AACvB,QAAI,eAAe;AAAW,gBAAU,IAAI;AAC5C,QAAI;AAAS,cAAQ,CAAC;AAAA,EACxB,GACA,CAAC,SAAS,UAAU,CACtB;AAEA,QAAM,kBAAkB,8BACtB,CAAC,MAA2B;AAC1B,QAAI,eAAe,QAAW;AAC5B,UAAI,EAAE,QAAQ,UAAU;AACtB,kBAAU,KAAK;AACf,iBAAS,YAAY;AAAA,MACvB;AAAA,IACF;AACA,QAAI;AAAW,gBAAU,CAAC;AAAA,EAC5B,GACA,CAAC,cAAc,WAAW,UAAU,UAAU,CAChD;AAEA,QAAM,eAAe,8BAAY,MAAM;AACrC,UAAM,WAAW,aAAa,SAAS,SAAS,SAAS,aAAa;AACtE,QAAI,UAAU,MAAM,CAAC;AAAU,gBAAU,KAAK;AAC9C,aAAS,YAAY;AAAA,EACvB,GAAG,CAAC,cAAc,UAAU,KAAK,CAAC;AAElC,QAAM,qBAAqB,8BACzB,CAAC,iBAAmC;AAClC,WAAO,YAAY;AACnB,qBAAiB,UAAU;AAAA,EAC7B,GACA,CAAC,MAAM,CACT;AAEA,QAAM,oBAAoB,8BACxB,CAAC,cAAiC;AAChC,uCAAU,YAAY,kBAAkB,EAAE,SAAS;AACnD,WAAO,SAAS;AAAA,EAClB,GACA,CAAC,QAAQ,UAAU,CACrB;AAEA,SAAO,cAAc,SACnB,mDAAC;AAAA,IACC,WAAW;AAAA,IACX,KAAK,mCAAU,oBAAoB,YAAY;AAAA,IAC/C,QAAQ;AAAA,IACR,eAAa,iDAAyB,QAAQ,cAAc;AAAA,KAE5D,mDAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,WAAS;AAAA,GACX,CACF,IAEA,mDAAC;AAAA,IACC,SAAS;AAAA,IACT,KAAK;AAAA,IACL;AAAA,IACA,MAAK;AAAA,IACL,eAAa,iDAAyB,QAAQ,cAAc;AAAA,KACxD,6CAAoB,UAAU,IAElC,mDAAC,4BAAO,CACV;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -24,11 +24,14 @@ __export(styles_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(styles_exports);
|
|
26
26
|
var React = __toESM(require("react"));
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
28
|
+
var import_theming = require("../../../../exported-related/theming");
|
|
29
|
+
const StyledNavSearchBoxContainer = (0, import_ds_system.styled)("div", {
|
|
30
|
+
name: import_theming.COMPONENT_NAME,
|
|
31
|
+
slot: import_theming.slots.MENUBAR.SEARCH_TOGGLE.CONTAINER
|
|
32
|
+
})`
|
|
33
|
+
background: ${({ theme }) => theme.colors.neutral["000"]};
|
|
30
34
|
position: relative;
|
|
31
|
-
|
|
32
35
|
min-width: 260px;
|
|
33
36
|
|
|
34
37
|
& .em-ds-button {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/parts/Toolbar/outOfTheBox/SearchToggle/styles.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport { COMPONENT_NAME, slots } from '../../../../exported-related/theming';\n\nexport const StyledNavSearchBoxContainer = styled('div', {\n name: COMPONENT_NAME,\n slot: slots.MENUBAR.SEARCH_TOGGLE.CONTAINER,\n})`\n background: ${({ theme }) => theme.colors.neutral['000']};\n position: relative;\n min-width: 260px;\n\n & .em-ds-button {\n margin-right: 2px;\n height: 24px;\n width: 24px;\n }\n\n & .em-ds-input {\n border: none;\n outline: none;\n box-shadow: none;\n }\n\n & .em-ds-input:focus {\n border: none;\n box-shadow: none;\n }\n\n & .em-ds-input.em-ds-input--clearable:hover {\n border: none;\n outline: none;\n box-shadow: none;\n }\n\n & .em-ds-input-addon-wrapper {\n box-shadow: none;\n }\n\n & .em-ds-input-addon-wrapper:hover {\n outline: none;\n }\n\n & .em-ds-input-addon-wrapper__addon:hover {\n outline: none;\n }\n\n & .em-ds-input:not(.floating-label-input-controller):hover:active {\n border: none;\n outline: none;\n box-shadow: none;\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AACvB,qBAAsC;AAE/B,MAAM,8BAA8B,6BAAO,OAAO;AAAA,EACvD,MAAM;AAAA,EACN,MAAM,qBAAM,QAAQ,cAAc;AACpC,CAAC;AAAA,gBACe,CAAC,EAAE,YAAY,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../src/parts/Toolbar/outOfTheBox/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["export * from './AppPicker/AppPicker';\nexport * from './PopupMenu/PopupMenu';\nexport * from './SearchToggle/SearchToggle';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,gCAAc,kCAAd;AACA,gCAAc,kCADd;AAEA,gCAAc,wCAFd;",
|
|
6
6
|
"names": []
|