@elliemae/ds-left-navigation 3.22.0-next.3 → 3.22.0-next.5
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/LeftNavigation.js +3 -3
- package/dist/cjs/LeftNavigation.js.map +2 -2
- package/dist/cjs/LeftNavigationContext.js +2 -1
- package/dist/cjs/LeftNavigationContext.js.map +2 -2
- package/dist/cjs/common/getItemBackgroundStyle.js.map +2 -2
- package/dist/cjs/common/getLeftBorderStyle.js.map +2 -2
- package/dist/cjs/configs/useLeftNavConfig.js +31 -26
- package/dist/cjs/configs/useLeftNavConfig.js.map +2 -2
- package/dist/cjs/configs/useLeftNavItems.js +4 -2
- package/dist/cjs/configs/useLeftNavItems.js.map +2 -2
- package/dist/cjs/configs/useLeftNavSmoothExpand.js.map +2 -2
- package/dist/cjs/exported-related/ChevronItem/index.js.map +2 -2
- package/dist/cjs/exported-related/Icon/index.js.map +2 -2
- package/dist/cjs/exported-related/ItemRenderer/index.js +8 -5
- package/dist/cjs/exported-related/ItemRenderer/index.js.map +2 -2
- package/dist/cjs/exported-related/ItemRenderer/styled.js.map +1 -1
- package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +2 -2
- package/dist/cjs/exported-related/OpenWindowItem/index.js.map +2 -2
- package/dist/cjs/exported-related/constants.js +13 -1
- package/dist/cjs/exported-related/constants.js.map +2 -2
- package/dist/cjs/hooks/useExpandableOnClickHandler.js.map +2 -2
- package/dist/cjs/hooks/useKeyboardNavigation.js +2 -2
- package/dist/cjs/hooks/useKeyboardNavigation.js.map +2 -2
- package/dist/cjs/hooks/useOpenableOnClickHandler.js.map +2 -2
- package/dist/cjs/hooks/useSelectFirstBodyItem.js.map +2 -2
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemHeader/index.js +2 -1
- package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemLink/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemSection/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemSeparator/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemSkeleton/index.js +5 -4
- package/dist/cjs/outOfTheBox/ItemSkeleton/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +2 -1
- package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/ItemWithDate/index.js +1 -0
- package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/index.js.map +2 -2
- package/dist/cjs/outOfTheBox/styled.js.map +1 -1
- package/dist/cjs/parts/LeftNavContent/index.js +30 -4
- package/dist/cjs/parts/LeftNavContent/index.js.map +2 -2
- package/dist/cjs/parts/LeftNavContent/styled.js +2 -2
- package/dist/cjs/parts/LeftNavContent/styled.js.map +2 -2
- package/dist/cjs/parts/LeftNavFooterItem/index.js +14 -5
- package/dist/cjs/parts/LeftNavFooterItem/index.js.map +2 -2
- package/dist/cjs/parts/LeftNavFooterItem/styled.js +1 -1
- package/dist/cjs/parts/LeftNavFooterItem/styled.js.map +2 -2
- package/dist/cjs/parts/OutOfTheBoxMapItem.js +7 -1
- package/dist/cjs/parts/OutOfTheBoxMapItem.js.map +2 -2
- package/dist/cjs/{prop-types.js → react-desc-prop-types.js} +9 -6
- package/dist/cjs/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/typescript-testing/typescript-left-navigation-valid.js +186 -0
- package/dist/cjs/typescript-testing/typescript-left-navigation-valid.js.map +7 -0
- package/dist/esm/LeftNavigation.js +1 -1
- package/dist/esm/LeftNavigation.js.map +2 -2
- package/dist/esm/LeftNavigationContext.js +2 -1
- package/dist/esm/LeftNavigationContext.js.map +2 -2
- package/dist/esm/common/getItemBackgroundStyle.js.map +2 -2
- package/dist/esm/common/getLeftBorderStyle.js.map +2 -2
- package/dist/esm/configs/useLeftNavConfig.js +31 -26
- package/dist/esm/configs/useLeftNavConfig.js.map +2 -2
- package/dist/esm/configs/useLeftNavItems.js +4 -2
- package/dist/esm/configs/useLeftNavItems.js.map +2 -2
- package/dist/esm/configs/useLeftNavSmoothExpand.js.map +2 -2
- package/dist/esm/exported-related/ChevronItem/index.js.map +2 -2
- package/dist/esm/exported-related/Icon/index.js.map +2 -2
- package/dist/esm/exported-related/ItemRenderer/index.js +8 -5
- package/dist/esm/exported-related/ItemRenderer/index.js.map +2 -2
- package/dist/esm/exported-related/ItemRenderer/styled.js.map +1 -1
- package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +2 -2
- package/dist/esm/exported-related/OpenWindowItem/index.js.map +2 -2
- package/dist/esm/exported-related/constants.js +13 -1
- package/dist/esm/exported-related/constants.js.map +2 -2
- package/dist/esm/hooks/useExpandableOnClickHandler.js.map +2 -2
- package/dist/esm/hooks/useKeyboardNavigation.js +2 -2
- package/dist/esm/hooks/useKeyboardNavigation.js.map +2 -2
- package/dist/esm/hooks/useOpenableOnClickHandler.js.map +2 -2
- package/dist/esm/hooks/useSelectFirstBodyItem.js.map +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemHeader/index.js +2 -1
- package/dist/esm/outOfTheBox/ItemHeader/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemLink/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemSection/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemSeparator/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemSkeleton/index.js +5 -4
- package/dist/esm/outOfTheBox/ItemSkeleton/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemSubmenu/index.js +2 -1
- package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +2 -2
- package/dist/esm/outOfTheBox/ItemWithDate/index.js +1 -0
- package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +2 -2
- package/dist/esm/outOfTheBox/index.js.map +2 -2
- package/dist/esm/outOfTheBox/styled.js.map +1 -1
- package/dist/esm/parts/LeftNavContent/index.js +30 -4
- package/dist/esm/parts/LeftNavContent/index.js.map +2 -2
- package/dist/esm/parts/LeftNavContent/styled.js +2 -2
- package/dist/esm/parts/LeftNavContent/styled.js.map +2 -2
- package/dist/esm/parts/LeftNavFooterItem/index.js +15 -6
- package/dist/esm/parts/LeftNavFooterItem/index.js.map +2 -2
- package/dist/esm/parts/LeftNavFooterItem/styled.js +1 -1
- package/dist/esm/parts/LeftNavFooterItem/styled.js.map +2 -2
- package/dist/esm/parts/OutOfTheBoxMapItem.js +7 -1
- package/dist/esm/parts/OutOfTheBoxMapItem.js.map +2 -2
- package/dist/esm/{prop-types.js → react-desc-prop-types.js} +6 -3
- package/dist/esm/react-desc-prop-types.js.map +7 -0
- package/dist/esm/typescript-testing/typescript-left-navigation-valid.js +163 -0
- package/dist/esm/typescript-testing/typescript-left-navigation-valid.js.map +7 -0
- package/dist/types/LeftNavigation.d.ts +6 -17
- package/dist/types/LeftNavigationContext.d.ts +4 -4
- package/dist/types/common/getItemBackgroundStyle.d.ts +2 -2
- package/dist/types/common/getLeftBorderStyle.d.ts +2 -2
- package/dist/types/configs/useLeftNavConfig.d.ts +16 -3
- package/dist/types/configs/useLeftNavItems.d.ts +5 -5
- package/dist/types/configs/useLeftNavSmoothExpand.d.ts +2 -2
- package/dist/types/exported-related/ChevronItem/index.d.ts +2 -1
- package/dist/types/exported-related/Icon/index.d.ts +2 -1
- package/dist/types/exported-related/ItemRenderer/index.d.ts +2 -2
- package/dist/types/exported-related/ItemRenderer/styled.d.ts +1 -0
- package/dist/types/exported-related/ItemRenderer/usePropsWithDefaults.d.ts +2 -2
- package/dist/types/exported-related/OpenWindowItem/index.d.ts +2 -1
- package/dist/types/exported-related/constants.d.ts +11 -0
- package/dist/types/hooks/useExpandableOnClickHandler.d.ts +2 -2
- package/dist/types/hooks/useKeyboardNavigation.d.ts +4 -4
- package/dist/types/hooks/useOpenableOnClickHandler.d.ts +3 -2
- package/dist/types/hooks/useSelectFirstBodyItem.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/outOfTheBox/ItemControlledDrilldown/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemHeader/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemLink/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemSection/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemSeparator/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemSkeleton/index.d.ts +7 -2
- package/dist/types/outOfTheBox/ItemSubmenu/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemTextLabel/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemUncontrolledDrilldown/index.d.ts +2 -2
- package/dist/types/outOfTheBox/ItemWithDate/index.d.ts +2 -2
- package/dist/types/outOfTheBox/index.d.ts +2 -2
- package/dist/types/outOfTheBox/styled.d.ts +2 -1
- package/dist/types/parts/LeftNavContent/styled.d.ts +2 -0
- package/dist/types/parts/LeftNavFooterItem/styled.d.ts +6 -4
- package/dist/types/parts/OutOfTheBoxMapItem.d.ts +2 -2
- package/dist/types/react-desc-prop-types.d.ts +100 -0
- package/dist/types/typescript-testing/typescript-left-navigation-valid.d.ts +1 -0
- package/package.json +10 -10
- package/dist/cjs/index.d.js +0 -28
- package/dist/cjs/index.d.js.map +0 -7
- package/dist/cjs/prop-types.js.map +0 -7
- package/dist/esm/index.d.js +0 -2
- package/dist/esm/index.d.js.map +0 -7
- package/dist/esm/prop-types.js.map +0 -7
- package/dist/types/index.d.d.ts +0 -78
- package/dist/types/prop-types.d.ts +0 -22
|
@@ -35,7 +35,7 @@ module.exports = __toCommonJS(LeftNavigation_exports);
|
|
|
35
35
|
var React = __toESM(require("react"));
|
|
36
36
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
37
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
38
|
-
var
|
|
38
|
+
var import_react_desc_prop_types = require("./react-desc-prop-types.js");
|
|
39
39
|
var import_LeftNavigationContext = __toESM(require("./LeftNavigationContext.js"));
|
|
40
40
|
var import_useLeftNavConfig = require("./configs/useLeftNavConfig.js");
|
|
41
41
|
var import_LeftNavContent = __toESM(require("./parts/LeftNavContent/index.js"));
|
|
@@ -43,9 +43,9 @@ const LeftNavigation = (props) => {
|
|
|
43
43
|
const leftNavConfig = (0, import_useLeftNavConfig.useLeftNavConfig)(props);
|
|
44
44
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LeftNavigationContext.default.Provider, { value: leftNavConfig, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LeftNavContent.default, {}) });
|
|
45
45
|
};
|
|
46
|
-
LeftNavigation.propTypes =
|
|
46
|
+
LeftNavigation.propTypes = import_react_desc_prop_types.leftNavigationProps;
|
|
47
47
|
LeftNavigation.defaultProps = import_LeftNavigationContext.defaultProps;
|
|
48
48
|
LeftNavigation.displayName = "LeftNavigation";
|
|
49
49
|
const LeftNavigationWithSchema = (0, import_ds_props_helpers.describe)(LeftNavigation).description("Left Navigation");
|
|
50
|
-
LeftNavigationWithSchema.propTypes =
|
|
50
|
+
LeftNavigationWithSchema.propTypes = import_react_desc_prop_types.leftNavigationProps;
|
|
51
51
|
//# sourceMappingURL=LeftNavigation.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/LeftNavigation.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { leftNavigationProps } from './prop-types.js';\nimport LeftNavigationContext, { defaultProps } from './LeftNavigationContext.js';\nimport { useLeftNavConfig } from './configs/useLeftNavConfig.js';\nimport LeftNavContent from './parts/LeftNavContent/index.js';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADajB;AAZN,8BAAyB;AACzB,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { leftNavigationProps } from './react-desc-prop-types.js';\nimport LeftNavigationContext, { defaultProps } from './LeftNavigationContext.js';\nimport { useLeftNavConfig } from './configs/useLeftNavConfig.js';\nimport LeftNavContent from './parts/LeftNavContent/index.js';\nimport type { DSLeftNavigationT } from './react-desc-prop-types.js';\n\nexport const LeftNavigation = (props: DSLeftNavigationT.Props): JSX.Element => {\n const leftNavConfig = useLeftNavConfig(props);\n\n return (\n <LeftNavigationContext.Provider value={leftNavConfig}>\n <LeftNavContent />\n </LeftNavigationContext.Provider>\n );\n};\n\nLeftNavigation.propTypes = leftNavigationProps;\nLeftNavigation.defaultProps = defaultProps;\nLeftNavigation.displayName = 'LeftNavigation';\nexport const LeftNavigationWithSchema = describe(LeftNavigation).description('Left Navigation');\nLeftNavigationWithSchema.propTypes = leftNavigationProps;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADajB;AAZN,8BAAyB;AACzB,mCAAoC;AACpC,mCAAoD;AACpD,8BAAiC;AACjC,4BAA2B;AAGpB,MAAM,iBAAiB,CAAC,UAAgD;AAC7E,QAAM,oBAAgB,0CAAiB,KAAK;AAE5C,SACE,4CAAC,6BAAAA,QAAsB,UAAtB,EAA+B,OAAO,eACrC,sDAAC,sBAAAC,SAAA,EAAe,GAClB;AAEJ;AAEA,eAAe,YAAY;AAC3B,eAAe,eAAe;AAC9B,eAAe,cAAc;AACtB,MAAM,+BAA2B,kCAAS,cAAc,EAAE,YAAY,iBAAiB;AAC9F,yBAAyB,YAAY;",
|
|
6
6
|
"names": ["LeftNavigationContext", "LeftNavContent"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/LeftNavigationContext.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type { MutableRefObject, RefObject } from 'react';\nimport type React from 'react';\nimport { createContext } from 'react';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA8B;AAkBvB,MAAM,
|
|
4
|
+
"sourcesContent": ["import type { MutableRefObject, RefObject } from 'react';\nimport type React from 'react';\nimport { createContext } from 'react';\nimport type { DSLeftNavigationT } from './react-desc-prop-types.js';\n\nexport type ContextProps = {\n selectedItem: string | null;\n setSelectedItem: React.Dispatch<React.SetStateAction<string | null>>;\n selectedParent: string | null;\n setSelectedParent: React.Dispatch<React.SetStateAction<string | null>>;\n focusedItem: string | null;\n setFocusedItem: React.Dispatch<React.SetStateAction<string | null>>;\n openedDrilldowns: string[];\n setOpenedDrilldowns: React.Dispatch<React.SetStateAction<string[]>>;\n visibleItems: string[];\n visibleItemsRefs: MutableRefObject<Record<string, RefObject<HTMLDivElement>>>;\n leftNavProps: DSLeftNavigationT.InternalProps;\n expandedForAnimation: boolean;\n};\n\nexport const defaultProps: DSLeftNavigationT.DefaultProps = {\n expandedWidth: '240px',\n loading: false,\n expanded: false,\n openedItem: null,\n footerLabel: '',\n onSelectedChange: () => null,\n onFocusChange: () => null,\n onFooterExpand: () => null,\n onFooterClose: () => null,\n items: [],\n labelOverflow: 'wrap' as DSLeftNavigationT.LabelOveflowT,\n onItemClick: () => null,\n isSkeleton: false,\n};\n\nexport const defaultContext: ContextProps = {\n leftNavProps: defaultProps,\n selectedItem: null,\n setSelectedItem: () => null,\n selectedParent: null,\n setSelectedParent: () => null,\n focusedItem: null,\n setFocusedItem: () => null,\n expandedForAnimation: true,\n openedDrilldowns: [],\n setOpenedDrilldowns: () => null,\n visibleItems: [],\n visibleItemsRefs: { current: {} },\n};\n\nexport const LeftNavContext = createContext<ContextProps>(defaultContext);\n\nexport default LeftNavContext;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA8B;AAkBvB,MAAM,eAA+C;AAAA,EAC1D,eAAe;AAAA,EACf,SAAS;AAAA,EACT,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB,MAAM;AAAA,EACxB,eAAe,MAAM;AAAA,EACrB,gBAAgB,MAAM;AAAA,EACtB,eAAe,MAAM;AAAA,EACrB,OAAO,CAAC;AAAA,EACR,eAAe;AAAA,EACf,aAAa,MAAM;AAAA,EACnB,YAAY;AACd;AAEO,MAAM,iBAA+B;AAAA,EAC1C,cAAc;AAAA,EACd,cAAc;AAAA,EACd,iBAAiB,MAAM;AAAA,EACvB,gBAAgB;AAAA,EAChB,mBAAmB,MAAM;AAAA,EACzB,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EACtB,sBAAsB;AAAA,EACtB,kBAAkB,CAAC;AAAA,EACnB,qBAAqB,MAAM;AAAA,EAC3B,cAAc,CAAC;AAAA,EACf,kBAAkB,EAAE,SAAS,CAAC,EAAE;AAClC;AAEO,MAAM,qBAAiB,4BAA4B,cAAc;AAExE,IAAO,gCAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/common/getItemBackgroundStyle.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type { Theme } from '@elliemae/ds-system';\n\nconst commonItemBackgroundStyle = (color: string, hoverColor: string, activeColor: string): string => `\n\n background: ${color};\n\n\n :active {\n background: ${activeColor};\n }\n`;\n\nexport const getItemBackgroundStyle = (props: { theme: Theme; selected
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,4BAA4B,CAAC,OAAe,YAAoB,gBAAgC;AAAA;AAAA,gBAEtF;AAAA;AAAA;AAAA;AAAA,kBAIE;AAAA;AAAA;AAIX,MAAM,yBAAyB,CAAC,
|
|
4
|
+
"sourcesContent": ["import type { Theme } from '@elliemae/ds-system';\n\nconst commonItemBackgroundStyle = (color: string, hoverColor: string, activeColor: string): string => `\n\n background: ${color};\n\n\n :active {\n background: ${activeColor};\n }\n`;\n\nexport const getItemBackgroundStyle = (props: { theme: Theme; selected?: boolean; opened?: boolean }): string => {\n if (props.selected && !props.opened)\n return commonItemBackgroundStyle(\n props.theme.colors.brand[200],\n props.theme.colors.brand[200],\n props.theme.colors.brand[200],\n );\n\n return commonItemBackgroundStyle(\n props.theme.colors.neutral['000'],\n props.theme.colors.neutral['080'],\n props.theme.colors.brand[200],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,4BAA4B,CAAC,OAAe,YAAoB,gBAAgC;AAAA;AAAA,gBAEtF;AAAA;AAAA;AAAA;AAAA,kBAIE;AAAA;AAAA;AAIX,MAAM,yBAAyB,CAAC,UAA0E;AAC/G,MAAI,MAAM,YAAY,CAAC,MAAM;AAC3B,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,MAC5B,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,MAC5B,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,IAC9B;AAEF,SAAO;AAAA,IACL,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA,IAChC,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA,IAChC,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,EAC9B;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/common/getLeftBorderStyle.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type { Theme } from '@elliemae/ds-system';\n\nconst commonLeftBorderStyle = (color: string, hoverColor: string, activeColor: string): string => `\n\n -webkit-box-shadow: inset 4px 0 0 0 ${color};\n box-shadow: inset 4px 0 0 0 ${color};\n\n :hover {\n -webkit-box-shadow: inset 4px 0 0 0 ${hoverColor};\n box-shadow: inset 4px 0 0 0 ${hoverColor};\n }\n\n :active {\n -webkit-box-shadow: inset 4px 0 0 0 ${activeColor};\n box-shadow: inset 4px 0 0 0 ${activeColor};\n }\n`;\n\nexport const getLeftBorderStyle = (props: { theme: Theme; selected
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,wBAAwB,CAAC,OAAe,YAAoB,gBAAgC;AAAA;AAAA,wCAE1D;AAAA,wCACA;AAAA;AAAA;AAAA,0CAGE;AAAA,0CACA;AAAA;AAAA;AAAA;AAAA,0CAIA;AAAA,0CACA;AAAA;AAAA;AAInC,MAAM,qBAAqB,CAAC,
|
|
4
|
+
"sourcesContent": ["import type { Theme } from '@elliemae/ds-system';\n\nconst commonLeftBorderStyle = (color: string, hoverColor: string, activeColor: string): string => `\n\n -webkit-box-shadow: inset 4px 0 0 0 ${color};\n box-shadow: inset 4px 0 0 0 ${color};\n\n :hover {\n -webkit-box-shadow: inset 4px 0 0 0 ${hoverColor};\n box-shadow: inset 4px 0 0 0 ${hoverColor};\n }\n\n :active {\n -webkit-box-shadow: inset 4px 0 0 0 ${activeColor};\n box-shadow: inset 4px 0 0 0 ${activeColor};\n }\n`;\n\nexport const getLeftBorderStyle = (props: { theme: Theme; selected?: boolean; selectedParent?: boolean }): string => {\n if (props.selected || props.selectedParent)\n return commonLeftBorderStyle(\n props.theme.colors.brand[400],\n props.theme.colors.brand[400],\n props.theme.colors.brand[400],\n );\n\n return commonLeftBorderStyle('transparent', props.theme.colors.brand[300], props.theme.colors.brand[400]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,wBAAwB,CAAC,OAAe,YAAoB,gBAAgC;AAAA;AAAA,wCAE1D;AAAA,wCACA;AAAA;AAAA;AAAA,0CAGE;AAAA,0CACA;AAAA;AAAA;AAAA;AAAA,0CAIA;AAAA,0CACA;AAAA;AAAA;AAInC,MAAM,qBAAqB,CAAC,UAAkF;AACnH,MAAI,MAAM,YAAY,MAAM;AAC1B,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,MAC5B,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,MAC5B,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,IAC9B;AAEF,SAAO,sBAAsB,eAAe,MAAM,MAAM,OAAO,MAAM,GAAG,GAAG,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAC1G;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -34,11 +34,14 @@ __export(useLeftNavConfig_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(useLeftNavConfig_exports);
|
|
35
35
|
var React = __toESM(require("react"));
|
|
36
36
|
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
38
|
+
var import_LeftNavigationContext = require("../LeftNavigationContext.js");
|
|
37
39
|
var import_useLeftNavItems = __toESM(require("./useLeftNavItems.js"));
|
|
38
40
|
var import_useLeftNavSmoothExpand = require("./useLeftNavSmoothExpand.js");
|
|
39
41
|
var import_useSelectFirstBodyItem = require("../hooks/useSelectFirstBodyItem.js");
|
|
40
42
|
const useLeftNavConfig = (props) => {
|
|
41
|
-
const
|
|
43
|
+
const propsWithDefaults = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_LeftNavigationContext.defaultProps);
|
|
44
|
+
const { expanded, openedItem, onSelectedChange, onFocusChange, items } = propsWithDefaults;
|
|
42
45
|
const [selectedItem, setSelectedItem] = import_react.default.useState(null);
|
|
43
46
|
const [selectedParent, setSelectedParent] = import_react.default.useState(null);
|
|
44
47
|
const [focusedItem, setFocusedItem] = import_react.default.useState(null);
|
|
@@ -53,46 +56,53 @@ const useLeftNavConfig = (props) => {
|
|
|
53
56
|
}),
|
|
54
57
|
[expandedForAnimation, timeoutRef, setExpandedForAnimation]
|
|
55
58
|
);
|
|
56
|
-
(0, import_useLeftNavSmoothExpand.useLeftNavSmoothExpand)(
|
|
59
|
+
(0, import_useLeftNavSmoothExpand.useLeftNavSmoothExpand)(propsWithDefaults, smoothExpandOpts);
|
|
57
60
|
import_react.default.useEffect(() => {
|
|
58
|
-
onSelectedChange
|
|
61
|
+
if (onSelectedChange)
|
|
62
|
+
onSelectedChange(selectedItem);
|
|
59
63
|
}, [selectedItem, onSelectedChange]);
|
|
60
64
|
import_react.default.useEffect(() => {
|
|
61
|
-
if (
|
|
62
|
-
|
|
65
|
+
if (propsWithDefaults.actionRef && propsWithDefaults.actionRef.current) {
|
|
66
|
+
propsWithDefaults.actionRef.current.setFocusedItem = setFocusedItem;
|
|
63
67
|
}
|
|
64
|
-
}, [
|
|
68
|
+
}, [propsWithDefaults.actionRef]);
|
|
65
69
|
import_react.default.useEffect(() => {
|
|
66
|
-
if (openedItem
|
|
70
|
+
if (openedItem)
|
|
67
71
|
setSelectedParent(openedItem);
|
|
68
72
|
}, [openedItem]);
|
|
69
73
|
import_react.default.useEffect(() => {
|
|
70
|
-
onFocusChange
|
|
74
|
+
if (onFocusChange)
|
|
75
|
+
onFocusChange(focusedItem);
|
|
71
76
|
}, [focusedItem, onFocusChange]);
|
|
72
77
|
(0, import_useSelectFirstBodyItem.useSelectFirstBodyItem)(
|
|
73
|
-
items,
|
|
74
|
-
openedItem,
|
|
75
|
-
|
|
78
|
+
items ?? [],
|
|
79
|
+
openedItem ?? "",
|
|
80
|
+
propsWithDefaults.selectedItem !== void 0 ? propsWithDefaults.selectedItem : selectedItem,
|
|
76
81
|
setSelectedItem,
|
|
77
|
-
|
|
82
|
+
propsWithDefaults.disableDefaultSelection
|
|
78
83
|
);
|
|
79
84
|
const leftNavItemsProps = import_react.default.useMemo(
|
|
80
85
|
() => ({
|
|
81
|
-
headerItem:
|
|
82
|
-
bodyHeaderItem:
|
|
83
|
-
items:
|
|
86
|
+
headerItem: propsWithDefaults.HeaderComponent,
|
|
87
|
+
bodyHeaderItem: propsWithDefaults.BodyHeaderComponent,
|
|
88
|
+
items: propsWithDefaults.items,
|
|
84
89
|
openedDrilldowns
|
|
85
90
|
}),
|
|
86
|
-
[
|
|
91
|
+
[
|
|
92
|
+
propsWithDefaults.HeaderComponent,
|
|
93
|
+
propsWithDefaults.BodyHeaderComponent,
|
|
94
|
+
propsWithDefaults.items,
|
|
95
|
+
openedDrilldowns
|
|
96
|
+
]
|
|
87
97
|
);
|
|
88
98
|
const { visibleItems, visibleItemsRefs } = (0, import_useLeftNavItems.default)(leftNavItemsProps);
|
|
89
|
-
|
|
99
|
+
return import_react.default.useMemo(
|
|
90
100
|
() => ({
|
|
91
|
-
leftNavProps:
|
|
101
|
+
leftNavProps: propsWithDefaults,
|
|
92
102
|
expandedForAnimation,
|
|
93
|
-
selectedItem:
|
|
103
|
+
selectedItem: propsWithDefaults.selectedItem !== void 0 ? propsWithDefaults.selectedItem : selectedItem,
|
|
94
104
|
setSelectedItem,
|
|
95
|
-
selectedParent:
|
|
105
|
+
selectedParent: propsWithDefaults.selectedParent !== void 0 ? propsWithDefaults.selectedParent : selectedParent,
|
|
96
106
|
setSelectedParent,
|
|
97
107
|
focusedItem,
|
|
98
108
|
setFocusedItem,
|
|
@@ -102,21 +112,16 @@ const useLeftNavConfig = (props) => {
|
|
|
102
112
|
visibleItemsRefs
|
|
103
113
|
}),
|
|
104
114
|
[
|
|
105
|
-
|
|
115
|
+
propsWithDefaults,
|
|
106
116
|
expandedForAnimation,
|
|
107
117
|
selectedItem,
|
|
108
|
-
setSelectedItem,
|
|
109
|
-
setSelectedParent,
|
|
110
118
|
selectedParent,
|
|
111
119
|
focusedItem,
|
|
112
|
-
setFocusedItem,
|
|
113
120
|
openedDrilldowns,
|
|
114
|
-
setOpenedDrilldowns,
|
|
115
121
|
visibleItems,
|
|
116
122
|
visibleItemsRefs
|
|
117
123
|
]
|
|
118
124
|
);
|
|
119
|
-
return finalConfig;
|
|
120
125
|
};
|
|
121
126
|
var useLeftNavConfig_default = useLeftNavConfig;
|
|
122
127
|
//# sourceMappingURL=useLeftNavConfig.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/configs/useLeftNavConfig.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\nimport { useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { defaultProps } from '../LeftNavigationContext.js';\n// import { leftNavigationProps } from '../react-desc-prop-types.js';\n// import { DSLeftNavigationName } from '../constants/constants.js';\nimport useLeftNavItems from './useLeftNavItems.js';\nimport { useLeftNavSmoothExpand } from './useLeftNavSmoothExpand.js';\nimport { useSelectFirstBodyItem } from '../hooks/useSelectFirstBodyItem.js';\n\nexport const useLeftNavConfig = (props: DSLeftNavigationT.Props) => {\n const propsWithDefaults = useMemoMergePropsWithDefault<DSLeftNavigationT.InternalProps>(props, defaultProps);\n // useValidateTypescriptPropTypes(propsWithDefaults, leftNavigationProps, DSLeftNavigationName);\n const { expanded, openedItem, onSelectedChange, onFocusChange, items } = propsWithDefaults;\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * INTERNAL STATE *\n // ************************** ------------ **************************\n // Selection related\n const [selectedItem, setSelectedItem] = React.useState<string | null>(null);\n const [selectedParent, setSelectedParent] = React.useState<string | null>(null);\n // Focus related\n const [focusedItem, setFocusedItem] = React.useState<string | null>(null);\n // Opened uncontrolled drilldowns\n const [openedDrilldowns, setOpenedDrilldowns] = React.useState<string[]>([]);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * EXPAND ANIMATION *\n // ************************** ------------ **************************\n const [expandedForAnimation, setExpandedForAnimation] = React.useState(expanded);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null);\n const smoothExpandOpts = React.useMemo(\n () => ({\n expandedForAnimation,\n timeoutRef,\n setExpandedForAnimation,\n }),\n [expandedForAnimation, timeoutRef, setExpandedForAnimation],\n );\n useLeftNavSmoothExpand(propsWithDefaults, smoothExpandOpts);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * SIDE EFFECTS *\n // ************************** ------------ **************************\n React.useEffect(() => {\n if (onSelectedChange) onSelectedChange(selectedItem);\n }, [selectedItem, onSelectedChange]);\n\n React.useEffect(() => {\n if (propsWithDefaults.actionRef && propsWithDefaults.actionRef.current) {\n propsWithDefaults.actionRef.current.setFocusedItem = setFocusedItem;\n }\n }, [propsWithDefaults.actionRef]);\n\n React.useEffect(() => {\n if (openedItem) setSelectedParent(openedItem);\n }, [openedItem]);\n\n React.useEffect(() => {\n if (onFocusChange) onFocusChange(focusedItem);\n }, [focusedItem, onFocusChange]);\n\n useSelectFirstBodyItem(\n items ?? [],\n openedItem ?? '',\n propsWithDefaults.selectedItem !== undefined ? propsWithDefaults.selectedItem : selectedItem,\n setSelectedItem,\n propsWithDefaults.disableDefaultSelection,\n );\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * ITEMS MANAGEMENT *\n // ************************** ------------ **************************\n\n const leftNavItemsProps = React.useMemo(\n () => ({\n headerItem: propsWithDefaults.HeaderComponent,\n bodyHeaderItem: propsWithDefaults.BodyHeaderComponent,\n items: propsWithDefaults.items,\n openedDrilldowns,\n }),\n [\n propsWithDefaults.HeaderComponent,\n propsWithDefaults.BodyHeaderComponent,\n propsWithDefaults.items,\n openedDrilldowns,\n ],\n );\n\n // We need to know the current visible items since we have drilldowns\n const { visibleItems, visibleItemsRefs } = useLeftNavItems(leftNavItemsProps);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * LEFTNAV CONFIG *\n // ************************** ------------ **************************\n return React.useMemo(\n () => ({\n leftNavProps: propsWithDefaults,\n expandedForAnimation,\n selectedItem: propsWithDefaults.selectedItem !== undefined ? propsWithDefaults.selectedItem : selectedItem,\n setSelectedItem,\n selectedParent:\n propsWithDefaults.selectedParent !== undefined ? propsWithDefaults.selectedParent : selectedParent,\n setSelectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n }),\n [\n propsWithDefaults,\n expandedForAnimation,\n selectedItem,\n selectedParent,\n focusedItem,\n openedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n ],\n );\n};\n\nexport default useLeftNavConfig;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,8BAA6C;AAC7C,mCAA6B;AAG7B,6BAA4B;AAC5B,oCAAuC;AACvC,oCAAuC;AAEhC,MAAM,mBAAmB,CAAC,UAAmC;AAClE,QAAM,wBAAoB,sDAA8D,OAAO,yCAAY;AAE3G,QAAM,EAAE,UAAU,YAAY,kBAAkB,eAAe,MAAM,IAAI;AAOzE,QAAM,CAAC,cAAc,eAAe,IAAI,aAAAA,QAAM,SAAwB,IAAI;AAC1E,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,aAAAA,QAAM,SAAwB,IAAI;AAE9E,QAAM,CAAC,aAAa,cAAc,IAAI,aAAAA,QAAM,SAAwB,IAAI;AAExE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,aAAAA,QAAM,SAAmB,CAAC,CAAC;AAM3E,QAAM,CAAC,sBAAsB,uBAAuB,IAAI,aAAAA,QAAM,SAAS,QAAQ;AAC/E,QAAM,aAAa,aAAAA,QAAM,OAAsC,IAAI;AACnE,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,sBAAsB,YAAY,uBAAuB;AAAA,EAC5D;AACA,4DAAuB,mBAAmB,gBAAgB;AAM1D,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI;AAAkB,uBAAiB,YAAY;AAAA,EACrD,GAAG,CAAC,cAAc,gBAAgB,CAAC;AAEnC,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI,kBAAkB,aAAa,kBAAkB,UAAU,SAAS;AACtE,wBAAkB,UAAU,QAAQ,iBAAiB;AAAA,IACvD;AAAA,EACF,GAAG,CAAC,kBAAkB,SAAS,CAAC;AAEhC,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI;AAAY,wBAAkB,UAAU;AAAA,EAC9C,GAAG,CAAC,UAAU,CAAC;AAEf,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI;AAAe,oBAAc,WAAW;AAAA,EAC9C,GAAG,CAAC,aAAa,aAAa,CAAC;AAE/B;AAAA,IACE,SAAS,CAAC;AAAA,IACV,cAAc;AAAA,IACd,kBAAkB,iBAAiB,SAAY,kBAAkB,eAAe;AAAA,IAChF;AAAA,IACA,kBAAkB;AAAA,EACpB;AAOA,QAAM,oBAAoB,aAAAA,QAAM;AAAA,IAC9B,OAAO;AAAA,MACL,YAAY,kBAAkB;AAAA,MAC9B,gBAAgB,kBAAkB;AAAA,MAClC,OAAO,kBAAkB;AAAA,MACzB;AAAA,IACF;AAAA,IACA;AAAA,MACE,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAGA,QAAM,EAAE,cAAc,iBAAiB,QAAI,uBAAAC,SAAgB,iBAAiB;AAM5E,SAAO,aAAAD,QAAM;AAAA,IACX,OAAO;AAAA,MACL,cAAc;AAAA,MACd;AAAA,MACA,cAAc,kBAAkB,iBAAiB,SAAY,kBAAkB,eAAe;AAAA,MAC9F;AAAA,MACA,gBACE,kBAAkB,mBAAmB,SAAY,kBAAkB,iBAAiB;AAAA,MACtF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,2BAAQ;",
|
|
6
6
|
"names": ["React", "useLeftNavItems"]
|
|
7
7
|
}
|
|
@@ -39,7 +39,7 @@ var import_constants = require("../exported-related/constants.js");
|
|
|
39
39
|
const notFocuseableItems = [import_exported_related.ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, import_exported_related.ITEM_TYPES.LEFT_NAV_ITEM_SECTION];
|
|
40
40
|
const walkItems = (items, openedDrilldowns, callback) => {
|
|
41
41
|
items.forEach((item) => {
|
|
42
|
-
if (typeof item.type === "string") {
|
|
42
|
+
if (typeof item.type === "string" && item.dsId) {
|
|
43
43
|
if (notFocuseableItems.includes(item.type))
|
|
44
44
|
return;
|
|
45
45
|
callback(item.dsId);
|
|
@@ -47,7 +47,7 @@ const walkItems = (items, openedDrilldowns, callback) => {
|
|
|
47
47
|
walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);
|
|
48
48
|
if (item.type === import_exported_related.ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN && item.itemOpts?.isOpened)
|
|
49
49
|
walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);
|
|
50
|
-
} else {
|
|
50
|
+
} else if (item.dsId) {
|
|
51
51
|
if (!item.itemOpts?.focuseable)
|
|
52
52
|
return;
|
|
53
53
|
callback(item.dsId);
|
|
@@ -57,6 +57,8 @@ const walkItems = (items, openedDrilldowns, callback) => {
|
|
|
57
57
|
const useLeftNavItems = (props) => {
|
|
58
58
|
const { headerItem, bodyHeaderItem, items: bodyItems, openedDrilldowns } = props;
|
|
59
59
|
const items = (0, import_react.useMemo)(() => {
|
|
60
|
+
if (!bodyItems)
|
|
61
|
+
return [];
|
|
60
62
|
const itemsArray = [...bodyItems];
|
|
61
63
|
if (bodyHeaderItem)
|
|
62
64
|
itemsArray.unshift(bodyHeaderItem);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/configs/useLeftNavItems.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\nimport type { MutableRefObject, RefObject } from 'react';\nimport { createRef, useMemo, useRef } from 'react';\nimport { ITEM_TYPES } from '../exported-related/index.js';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA2C;AAC3C,8BAA2B;AAE3B,uBAA6B;AAE7B,MAAM,qBAAqB,CAAC,mCAAW,yBAAyB,mCAAW,qBAAqB;AAIhG,MAAM,YAAY,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\nimport type { MutableRefObject, RefObject } from 'react';\nimport { createRef, useMemo, useRef } from 'react';\nimport { ITEM_TYPES } from '../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\nimport { FOOTER_DS_ID } from '../exported-related/constants.js';\n\nconst notFocuseableItems = [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, ITEM_TYPES.LEFT_NAV_ITEM_SECTION];\n\n// Walks the array of items\n// Drilldowns are tree-like structures\nconst walkItems = (\n items: DSLeftNavigationT.GenericItemItemProps[],\n openedDrilldowns: string[],\n callback: (dsId: string) => void,\n) => {\n items.forEach((item) => {\n if (typeof item.type === 'string' && item.dsId) {\n // Out of the box item\n if (notFocuseableItems.includes(item.type)) return; // not focuseable\n\n callback(item.dsId);\n\n // If it's an opened uncontrolled drilldown\n if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN && openedDrilldowns.includes(item.dsId))\n walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);\n\n // If it's an opened controlled drilldown\n if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN && item.itemOpts?.isOpened)\n walkItems(item.itemOpts?.items ?? [], openedDrilldowns, callback);\n } else if (item.dsId) {\n // Custom item\n if (!item.itemOpts?.focuseable) return; // not focuseable specified\n callback(item.dsId);\n }\n });\n};\n\nexport const useLeftNavItems = (props: {\n headerItem?: DSLeftNavigationT.GenericItemItemProps;\n bodyHeaderItem?: DSLeftNavigationT.GenericItemItemProps;\n items?: DSLeftNavigationT.GenericItemItemProps[];\n openedDrilldowns: string[];\n}): {\n visibleItems: string[];\n visibleItemsRefs: MutableRefObject<Record<string, RefObject<HTMLDivElement>>>;\n} => {\n const { headerItem, bodyHeaderItem, items: bodyItems, openedDrilldowns } = props;\n\n // Place the header and body header items into the array of items\n const items = useMemo(() => {\n if (!bodyItems) return [];\n const itemsArray: DSLeftNavigationT.GenericItemItemProps[] = [...bodyItems];\n if (bodyHeaderItem) itemsArray.unshift(bodyHeaderItem);\n if (headerItem) itemsArray.unshift(headerItem);\n return itemsArray;\n }, [headerItem, bodyHeaderItem, bodyItems]);\n\n const visibleItemsRefs = useRef<Record<string, RefObject<HTMLDivElement>>>({});\n\n const visibleItems: string[] = useMemo(() => {\n const visibleItemsArray: string[] = [];\n walkItems(items, openedDrilldowns, (dsId: string) => {\n visibleItemsArray.push(dsId);\n });\n visibleItemsArray.push(FOOTER_DS_ID);\n return visibleItemsArray;\n }, [items, openedDrilldowns]);\n\n visibleItems.forEach((dsId) => {\n if (!(dsId in visibleItemsRefs.current)) visibleItemsRefs.current[dsId] = createRef();\n });\n\n return { visibleItems, visibleItemsRefs };\n};\n\nexport default useLeftNavItems;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA2C;AAC3C,8BAA2B;AAE3B,uBAA6B;AAE7B,MAAM,qBAAqB,CAAC,mCAAW,yBAAyB,mCAAW,qBAAqB;AAIhG,MAAM,YAAY,CAChB,OACA,kBACA,aACG;AACH,QAAM,QAAQ,CAAC,SAAS;AACtB,QAAI,OAAO,KAAK,SAAS,YAAY,KAAK,MAAM;AAE9C,UAAI,mBAAmB,SAAS,KAAK,IAAI;AAAG;AAE5C,eAAS,KAAK,IAAI;AAGlB,UAAI,KAAK,SAAS,mCAAW,wCAAwC,iBAAiB,SAAS,KAAK,IAAI;AACtG,kBAAU,KAAK,UAAU,SAAS,CAAC,GAAG,kBAAkB,QAAQ;AAGlE,UAAI,KAAK,SAAS,mCAAW,sCAAsC,KAAK,UAAU;AAChF,kBAAU,KAAK,UAAU,SAAS,CAAC,GAAG,kBAAkB,QAAQ;AAAA,IACpE,WAAW,KAAK,MAAM;AAEpB,UAAI,CAAC,KAAK,UAAU;AAAY;AAChC,eAAS,KAAK,IAAI;AAAA,IACpB;AAAA,EACF,CAAC;AACH;AAEO,MAAM,kBAAkB,CAAC,UAQ3B;AACH,QAAM,EAAE,YAAY,gBAAgB,OAAO,WAAW,iBAAiB,IAAI;AAG3E,QAAM,YAAQ,sBAAQ,MAAM;AAC1B,QAAI,CAAC;AAAW,aAAO,CAAC;AACxB,UAAM,aAAuD,CAAC,GAAG,SAAS;AAC1E,QAAI;AAAgB,iBAAW,QAAQ,cAAc;AACrD,QAAI;AAAY,iBAAW,QAAQ,UAAU;AAC7C,WAAO;AAAA,EACT,GAAG,CAAC,YAAY,gBAAgB,SAAS,CAAC;AAE1C,QAAM,uBAAmB,qBAAkD,CAAC,CAAC;AAE7E,QAAM,mBAAyB,sBAAQ,MAAM;AAC3C,UAAM,oBAA8B,CAAC;AACrC,cAAU,OAAO,kBAAkB,CAAC,SAAiB;AACnD,wBAAkB,KAAK,IAAI;AAAA,IAC7B,CAAC;AACD,sBAAkB,KAAK,6BAAY;AACnC,WAAO;AAAA,EACT,GAAG,CAAC,OAAO,gBAAgB,CAAC;AAE5B,eAAa,QAAQ,CAAC,SAAS;AAC7B,QAAI,EAAE,QAAQ,iBAAiB;AAAU,uBAAiB,QAAQ,IAAI,QAAI,wBAAU;AAAA,EACtF,CAAC;AAED,SAAO,EAAE,cAAc,iBAAiB;AAC1C;AAEA,IAAO,0BAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/configs/useLeftNavSmoothExpand.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAQX,MAAM,yBAAyB,CAAC,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\n\ninterface SmoothExpandOptsT {\n expandedForAnimation: boolean;\n timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>;\n setExpandedForAnimation: React.Dispatch<React.SetStateAction<boolean>>;\n}\nexport const useLeftNavSmoothExpand = (props: DSLeftNavigationT.Props, smoothExpandOpts: SmoothExpandOptsT): void => {\n const { expanded } = props;\n const { expandedForAnimation, timeoutRef, setExpandedForAnimation } = smoothExpandOpts;\n\n React.useEffect(() => {\n // If expanded changes, we need to smoothly transition to the non-expanded state\n // so we need to wait for 350ms\n if (!expanded && expandedForAnimation) {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => setExpandedForAnimation(false), 350);\n } else if (expanded) setExpandedForAnimation(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expanded]);\n\n React.useEffect(\n () => () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n },\n [timeoutRef],\n );\n};\n\nexport default useLeftNavSmoothExpand;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAQX,MAAM,yBAAyB,CAAC,OAAgC,qBAA8C;AACnH,QAAM,EAAE,SAAS,IAAI;AACrB,QAAM,EAAE,sBAAsB,YAAY,wBAAwB,IAAI;AAEtE,eAAAA,QAAM,UAAU,MAAM;AAGpB,QAAI,CAAC,YAAY,sBAAsB;AACrC,UAAI,WAAW;AAAS,qBAAa,WAAW,OAAO;AACvD,iBAAW,UAAU,WAAW,MAAM,wBAAwB,KAAK,GAAG,GAAG;AAAA,IAC3E,WAAW;AAAU,8BAAwB,IAAI;AAAA,EAEnD,GAAG,CAAC,QAAQ,CAAC;AAEb,eAAAA,QAAM;AAAA,IACJ,MAAM,MAAM;AACV,UAAI,WAAW;AAAS,qBAAa,WAAW,OAAO;AAAA,IACzD;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AACF;AAEA,IAAO,iCAAQ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/ChevronItem/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { ChevronSmallRight } from '@elliemae/ds-icons';\n\nexport const ChevronItem = (props
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIrB;AAHF,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { ChevronSmallRight, type SvgIconT } from '@elliemae/ds-icons';\n\nexport const ChevronItem = (props?: SvgIconT.Props): JSX.Element => (\n <ChevronSmallRight size=\"m\" color={['brand-primary', '800']} {...props} />\n);\n\nexport default ChevronItem;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIrB;AAHF,sBAAiD;AAE1C,MAAM,cAAc,CAAC,UAC1B,4CAAC,qCAAkB,MAAK,KAAI,OAAO,CAAC,iBAAiB,KAAK,GAAI,GAAG,OAAO;AAG1E,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/Icon/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\n\nconst AugmentedIcon = (Icon: React.ComponentType<{ color: unknown; tabIndex: number }>) => styled(Icon)`\n cursor: pointer;\n\n outline: 0;\n :focus,\n :active {\n outline: 1px solid #1e79c2;\n }\n`;\n\nexport const Icon = (IconComponent: React.ComponentType<{ color: unknown; tabIndex: number }>) =>\n function (props
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { type SvgIconT } from '@elliemae/ds-icons';\n\nconst AugmentedIcon = (Icon: React.ComponentType<{ color: unknown; tabIndex: number }>) => styled(Icon)`\n cursor: pointer;\n\n outline: 0;\n :focus,\n :active {\n outline: 1px solid #1e79c2;\n }\n`;\n\nexport const Icon = (IconComponent: React.ComponentType<{ color: unknown; tabIndex: number }>) =>\n function (props?: SvgIconT.Props): JSX.Element {\n const StyledComponent = AugmentedIcon(IconComponent);\n return <StyledComponent color={['brand-primary', '800']} tabIndex={0} {...props} />;\n };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiBZ;AAhBX,uBAAuB;AAGvB,MAAM,gBAAgB,CAACA,cAAoE,yBAAOA,KAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU/F,MAAM,OAAO,CAAC,kBACnB,SAAU,OAAqC;AAC7C,QAAM,kBAAkB,cAAc,aAAa;AACnD,SAAO,4CAAC,mBAAgB,OAAO,CAAC,iBAAiB,KAAK,GAAG,UAAU,GAAI,GAAG,OAAO;AACnF;",
|
|
6
6
|
"names": ["Icon"]
|
|
7
7
|
}
|
|
@@ -44,7 +44,7 @@ const ItemRenderer = (props) => {
|
|
|
44
44
|
item,
|
|
45
45
|
item: {
|
|
46
46
|
dsId,
|
|
47
|
-
itemOpts: { selectable, focuseable, indent, ariaLabel, ariaRole, ariaExpanded, ariaDescribedBy },
|
|
47
|
+
itemOpts: { selectable = false, focuseable, indent, ariaLabel, ariaRole, ariaExpanded, ariaDescribedBy },
|
|
48
48
|
CollapsedComponent
|
|
49
49
|
},
|
|
50
50
|
subitems,
|
|
@@ -71,7 +71,8 @@ const ItemRenderer = (props) => {
|
|
|
71
71
|
(e) => {
|
|
72
72
|
if (onClick)
|
|
73
73
|
onClick();
|
|
74
|
-
onItemClick
|
|
74
|
+
if (onItemClick)
|
|
75
|
+
onItemClick(item, e);
|
|
75
76
|
if (selectable)
|
|
76
77
|
setSelectedItem(item.dsId);
|
|
77
78
|
},
|
|
@@ -90,11 +91,13 @@ const ItemRenderer = (props) => {
|
|
|
90
91
|
if (!expandedForAnimation && !CollapsedComponent) {
|
|
91
92
|
return null;
|
|
92
93
|
}
|
|
94
|
+
const isSelectedParent = selectedParent === dsId;
|
|
95
|
+
const visibleItemRef = dsId ? visibleItemsRefs.current[dsId] : void 0;
|
|
93
96
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
94
97
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
95
98
|
import_styled.StyledItem,
|
|
96
99
|
{
|
|
97
|
-
ref:
|
|
100
|
+
ref: visibleItemRef,
|
|
98
101
|
pt: paddingTop,
|
|
99
102
|
pl: indent === void 0 ? "xxxs" : `${indent}px`,
|
|
100
103
|
minHeight,
|
|
@@ -105,7 +108,7 @@ const ItemRenderer = (props) => {
|
|
|
105
108
|
onKeyDown,
|
|
106
109
|
selectable,
|
|
107
110
|
selected: isSelected,
|
|
108
|
-
selectedParent:
|
|
111
|
+
selectedParent: isSelectedParent,
|
|
109
112
|
opened,
|
|
110
113
|
onFocus: handleFocus,
|
|
111
114
|
"data-testid": "leftnav-item-container",
|
|
@@ -114,7 +117,7 @@ const ItemRenderer = (props) => {
|
|
|
114
117
|
"aria-expanded": ariaExpanded,
|
|
115
118
|
role: ariaRole,
|
|
116
119
|
"data-selected": isSelected,
|
|
117
|
-
"data-selectedparent":
|
|
120
|
+
"data-selectedparent": isSelectedParent,
|
|
118
121
|
"data-opened": opened,
|
|
119
122
|
"data-type": item.type,
|
|
120
123
|
"aria-label": ariaLabel,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/ItemRenderer/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useMemo, useCallback } from 'react';\nimport { StyledItem, StyledCollapsedContainer, StyledBorderBottom } from './styled.js';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useMemo, useCallback } from 'react';\nimport { StyledItem, StyledCollapsedContainer, StyledBorderBottom } from './styled.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { LeftNavContext } from '../../LeftNavigationContext.js';\nimport { usePropsWithDefaults } from './usePropsWithDefaults.js';\nimport { useKeyboardNavigation } from '../../hooks/index.js';\n\nexport const ItemRenderer: React.ComponentType<DSLeftNavigationT.ItemRendererT> = (props) => {\n const propsWithDefault = usePropsWithDefaults(props);\n const {\n item,\n item: {\n dsId,\n itemOpts: { selectable = false, focuseable, indent, ariaLabel, ariaRole, ariaExpanded, ariaDescribedBy },\n CollapsedComponent,\n },\n subitems,\n minHeight,\n paddingTop,\n onClick,\n shadowStyle,\n hasBorderBottom,\n borderBottomMr,\n children,\n } = propsWithDefault;\n\n const ctx = useContext(LeftNavContext);\n const {\n leftNavProps: { onItemClick, openedItem },\n expandedForAnimation,\n selectedParent,\n selectedItem,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = ctx;\n\n const opened = dsId === openedItem;\n\n const handleOnClick = useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n if (onClick) onClick(); // used by uncontrolled drilldowns\n if (onItemClick) onItemClick(item, e);\n if (selectable) setSelectedItem(item.dsId as string);\n },\n [onItemClick, item, setSelectedItem, selectable, onClick],\n );\n\n const handleFocus = useCallback(() => {\n if (focuseable) setFocusedItem(dsId as string);\n }, [dsId, setFocusedItem, focuseable]);\n\n const onKeyDown = useKeyboardNavigation({\n item,\n onClick: handleOnClick,\n });\n\n const cols = useMemo(() => (expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']), [expandedForAnimation]);\n const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);\n\n if (!expandedForAnimation && !CollapsedComponent) {\n return null;\n }\n\n const isSelectedParent = selectedParent === dsId;\n const visibleItemRef = dsId ? visibleItemsRefs.current[dsId] : undefined;\n return (\n <>\n <StyledItem\n ref={visibleItemRef}\n pt={paddingTop}\n pl={indent === undefined ? 'xxxs' : `${indent}px`}\n minHeight={minHeight}\n shadowStyle={shadowStyle(opened, item.type)}\n alignItems=\"flex-start\"\n cols={cols}\n onClick={!opened ? handleOnClick : () => null}\n onKeyDown={onKeyDown}\n selectable={selectable}\n selected={isSelected}\n selectedParent={isSelectedParent}\n opened={opened}\n onFocus={handleFocus}\n data-testid=\"leftnav-item-container\"\n tabIndex={focuseable ? 0 : undefined}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n role={ariaRole}\n data-selected={isSelected}\n data-selectedparent={isSelectedParent}\n data-opened={opened}\n data-type={item.type}\n aria-label={ariaLabel}\n >\n {!expandedForAnimation ? (\n <StyledCollapsedContainer data-testid=\"leftnav-leftcomponent\" justifyContent=\"center\">\n {CollapsedComponent && <CollapsedComponent item={item} ctx={ctx} />}\n </StyledCollapsedContainer>\n ) : (\n children\n )}\n {hasBorderBottom && <StyledBorderBottom opened={opened} borderBottomMr={borderBottomMr} />}\n </StyledItem>\n {subitems}\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqEnB;AAnEJ,mBAAwD;AACxD,oBAAyE;AAEzE,mCAA+B;AAC/B,kCAAqC;AACrC,mBAAsC;AAE/B,MAAM,eAAqE,CAAC,UAAU;AAC3F,QAAM,uBAAmB,kDAAqB,KAAK;AACnD,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,aAAa,OAAO,YAAY,QAAQ,WAAW,UAAU,cAAc,gBAAgB;AAAA,MACvG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,UAAM,yBAAW,2CAAc;AACrC,QAAM;AAAA,IACJ,cAAc,EAAE,aAAa,WAAW;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,SAAS,SAAS;AAExB,QAAM,oBAAgB;AAAA,IACpB,CAAC,MAAqC;AACpC,UAAI;AAAS,gBAAQ;AACrB,UAAI;AAAa,oBAAY,MAAM,CAAC;AACpC,UAAI;AAAY,wBAAgB,KAAK,IAAc;AAAA,IACrD;AAAA,IACA,CAAC,aAAa,MAAM,iBAAiB,YAAY,OAAO;AAAA,EAC1D;AAEA,QAAM,kBAAc,0BAAY,MAAM;AACpC,QAAI;AAAY,qBAAe,IAAc;AAAA,EAC/C,GAAG,CAAC,MAAM,gBAAgB,UAAU,CAAC;AAErC,QAAM,gBAAY,oCAAsB;AAAA,IACtC;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AAED,QAAM,WAAO,sBAAQ,MAAO,uBAAuB,CAAC,QAAQ,OAAO,MAAM,IAAI,CAAC,MAAM,GAAI,CAAC,oBAAoB,CAAC;AAC9G,QAAM,iBAAa,sBAAQ,MAAM,iBAAiB,MAAM,CAAC,cAAc,IAAI,CAAC;AAE5E,MAAI,CAAC,wBAAwB,CAAC,oBAAoB;AAChD,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,mBAAmB;AAC5C,QAAM,iBAAiB,OAAO,iBAAiB,QAAQ,IAAI,IAAI;AAC/D,SACE,4EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,IAAI,WAAW,SAAY,SAAS,GAAG;AAAA,QACvC;AAAA,QACA,aAAa,YAAY,QAAQ,KAAK,IAAI;AAAA,QAC1C,YAAW;AAAA,QACX;AAAA,QACA,SAAS,CAAC,SAAS,gBAAgB,MAAM;AAAA,QACzC;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB;AAAA,QACA,SAAS;AAAA,QACT,eAAY;AAAA,QACZ,UAAU,aAAa,IAAI;AAAA,QAC3B,oBAAkB;AAAA,QAClB,iBAAe;AAAA,QACf,MAAM;AAAA,QACN,iBAAe;AAAA,QACf,uBAAqB;AAAA,QACrB,eAAa;AAAA,QACb,aAAW,KAAK;AAAA,QAChB,cAAY;AAAA,QAEX;AAAA,WAAC,uBACA,4CAAC,0CAAyB,eAAY,yBAAwB,gBAAe,UAC1E,gCAAsB,4CAAC,sBAAmB,MAAY,KAAU,GACnE,IAEA;AAAA,UAED,mBAAmB,4CAAC,oCAAmB,QAAgB,gBAAgC;AAAA;AAAA;AAAA,IAC1F;AAAA,IACC;AAAA,KACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/ItemRenderer/styled.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable indent */\nimport Grid from '@elliemae/ds-grid';\nimport { styled, type Theme } from '@elliemae/ds-system';\nimport { DSLeftNavigationName, DSLeftNavigationSlots } from '../../constants/index.js';\n\ninterface ItemProps {\n selected: boolean;\n selectable: boolean;\n opened: boolean;\n theme: Theme;\n shadowStyle: (theme: Theme) => string;\n}\n\nexport const borderOutside = (color: string, weight = 2): string => `&:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${weight}px solid ${color};\n pointer-events: none;\n}`;\n\nconst getItemBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.neutral['000'];\n};\n\nconst getItemHoverBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.brand['200'];\n};\n\nexport const StyledItem = styled(Grid, { name: DSLeftNavigationName, slot: DSLeftNavigationSlots.ITEM })<\n { minHeight: string } & ItemProps\n>`\n position: relative;\n cursor: ${(props) => (props.selectable && !props.opened ? 'pointer' : 'auto')};\n min-height: ${(props) => props.minHeight};\n\n background: ${getItemBackground};\n\n ${(props) => (props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '')}\n\n :hover {\n background: ${getItemHoverBackground};\n }\n\n :active {\n background: ${({ selectable, theme }) => (selectable ? theme.colors.brand[200] : 'white')};\n }\n\n ${(props) => props.shadowStyle(props.theme)};\n\n outline: none;\n\n :focus {\n ${(props) => borderOutside(props.theme.colors.brand[700])}\n }\n`;\n\nexport const StyledCollapsedContainer = styled(Grid, {\n name: DSLeftNavigationName,\n slot: DSLeftNavigationSlots.COLLAPSED_CONTAINER,\n})``;\n\nexport const StyledBorderBottom = styled('div', {\n name: DSLeftNavigationName,\n slot: DSLeftNavigationSlots.ITEM_BORDER_BOTTOM,\n})<{ opened: boolean; borderBottomMr?: string }>`\n margin-left: ${({ opened }) => (opened ? '12px' : '-4px')};\n margin-right: ${({ borderBottomMr }) => borderBottomMr};\n margin-top: 1px;\n height: 1px;\n width: calc(100% - ${({ borderBottomMr }) => borderBottomMr} - ${({ opened }) => (opened ? '12px' : '-4px')});\n background-color: #e0e3e8;\n grid-column: span 3;\n align-self: end;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable indent */\nimport Grid from '@elliemae/ds-grid';\nimport { styled, type Theme } from '@elliemae/ds-system';\nimport { DSLeftNavigationName, DSLeftNavigationSlots } from '../../constants/index.js';\n\ninterface ItemProps {\n selected: boolean;\n selectable: boolean;\n opened: boolean;\n theme: Theme;\n shadowStyle: (theme: Theme) => string;\n}\n\nexport const borderOutside = (color: string, weight = 2): string => `&:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${weight}px solid ${color};\n pointer-events: none;\n}`;\n\nconst getItemBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.neutral['000'];\n};\n\nconst getItemHoverBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.brand['200'];\n};\n\nexport const StyledItem = styled(Grid, { name: DSLeftNavigationName, slot: DSLeftNavigationSlots.ITEM })<\n { minHeight: string; selectedParent: boolean } & ItemProps\n>`\n position: relative;\n cursor: ${(props) => (props.selectable && !props.opened ? 'pointer' : 'auto')};\n min-height: ${(props) => props.minHeight};\n\n background: ${getItemBackground};\n\n ${(props) => (props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '')}\n\n :hover {\n background: ${getItemHoverBackground};\n }\n\n :active {\n background: ${({ selectable, theme }) => (selectable ? theme.colors.brand[200] : 'white')};\n }\n\n ${(props) => props.shadowStyle(props.theme)};\n\n outline: none;\n\n :focus {\n ${(props) => borderOutside(props.theme.colors.brand[700])}\n }\n`;\n\nexport const StyledCollapsedContainer = styled(Grid, {\n name: DSLeftNavigationName,\n slot: DSLeftNavigationSlots.COLLAPSED_CONTAINER,\n})``;\n\nexport const StyledBorderBottom = styled('div', {\n name: DSLeftNavigationName,\n slot: DSLeftNavigationSlots.ITEM_BORDER_BOTTOM,\n})<{ opened: boolean; borderBottomMr?: string }>`\n margin-left: ${({ opened }) => (opened ? '12px' : '-4px')};\n margin-right: ${({ borderBottomMr }) => borderBottomMr};\n margin-top: 1px;\n height: 1px;\n width: calc(100% - ${({ borderBottomMr }) => borderBottomMr} - ${({ opened }) => (opened ? '12px' : '-4px')});\n background-color: #e0e3e8;\n grid-column: span 3;\n align-self: end;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,qBAAiB;AACjB,uBAAmC;AACnC,uBAA4D;AAUrD,MAAM,gBAAgB,CAAC,OAAe,SAAS,MAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAOxD,kBAAkB;AAAA;AAAA;AAI9B,MAAM,oBAAoB,CAAC,EAAE,YAAY,QAAQ,UAAU,MAAM,MAAiB;AAChF,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,YAAY,CAAC;AAAQ,WAAO,MAAM,OAAO,MAAM,GAAG;AACtD,SAAO,MAAM,OAAO,QAAQ,KAAK;AACnC;AAEA,MAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,UAAU,MAAM,MAAiB;AACrF,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,YAAY,CAAC;AAAQ,WAAO,MAAM,OAAO,MAAM,GAAG;AACtD,SAAO,MAAM,OAAO,MAAM,KAAK;AACjC;AAEO,MAAM,iBAAa,yBAAO,eAAAA,SAAM,EAAE,MAAM,uCAAsB,MAAM,uCAAsB,KAAK,CAAC;AAAA;AAAA,YAI3F,CAAC,UAAW,MAAM,cAAc,CAAC,MAAM,SAAS,YAAY;AAAA,gBACxD,CAAC,UAAU,MAAM;AAAA;AAAA,gBAEjB;AAAA;AAAA,IAEZ,CAAC,UAAW,MAAM,YAAY,CAAC,MAAM,SAAS,cAAc,MAAM,MAAM,OAAO,MAAM,GAAG,GAAG,CAAC,IAAI;AAAA;AAAA;AAAA,kBAGlF;AAAA;AAAA;AAAA;AAAA,kBAIA,CAAC,EAAE,YAAY,MAAM,MAAO,aAAa,MAAM,OAAO,MAAM,GAAG,IAAI;AAAA;AAAA;AAAA,IAGjF,CAAC,UAAU,MAAM,YAAY,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,MAKtC,CAAC,UAAU,cAAc,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAIrD,MAAM,+BAA2B,yBAAO,eAAAA,SAAM;AAAA,EACnD,MAAM;AAAA,EACN,MAAM,uCAAsB;AAC9B,CAAC;AAEM,MAAM,yBAAqB,yBAAO,OAAO;AAAA,EAC9C,MAAM;AAAA,EACN,MAAM,uCAAsB;AAC9B,CAAC;AAAA,iBACgB,CAAC,EAAE,OAAO,MAAO,SAAS,SAAS;AAAA,kBAClC,CAAC,EAAE,eAAe,MAAM;AAAA;AAAA;AAAA,uBAGnB,CAAC,EAAE,eAAe,MAAM,oBAAoB,CAAC,EAAE,OAAO,MAAO,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": ["Grid"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/ItemRenderer/usePropsWithDefaults.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useMemo } from 'react';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AAGxB,MAAM,
|
|
4
|
+
"sourcesContent": ["import { useMemo } from 'react';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\n\nconst itemDefaultProps: DSLeftNavigationT.ItemOptsT = {\n label: '',\n labelOverflow: 'truncate',\n selectable: true,\n focuseable: true,\n openable: false,\n closable: false,\n ariaLabel: undefined,\n ariaRole: 'menuitem',\n ariaExpanded: undefined,\n ariaDescribedBy: undefined,\n};\n\nconst itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu'];\n\n// Make use Item props with defaults\nexport const usePropsWithDefaults = (\n props: DSLeftNavigationT.ItemRendererT,\n): Required<DSLeftNavigationT.ItemRendererT> => {\n const propsWithDefault = useMemo(() => {\n const itemWithDefaults = {\n CollapsedComponent: () => null,\n ...props.item,\n itemOpts: { ...itemDefaultProps, ...props.item.itemOpts },\n };\n return {\n minHeight: '48px',\n paddingTop: '12px',\n subitems: [],\n shadowStyle: (opened: boolean, type: string) => () =>\n `box-shadow: ${\n opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white'\n }`,\n hasBorderBottom: false,\n borderBottomMr: '0px',\n ...props,\n item: itemWithDefaults,\n };\n }, [props]);\n\n return propsWithDefault as Required<DSLeftNavigationT.ItemRendererT>;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AAGxB,MAAM,mBAAgD;AAAA,EACpD,OAAO;AAAA,EACP,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,UAAU;AAAA,EACV,cAAc;AAAA,EACd,iBAAiB;AACnB;AAEA,MAAM,qBAAqB,CAAC,2BAA2B,yBAAyB,0BAA0B;AAGnG,MAAM,uBAAuB,CAClC,UAC8C;AAC9C,QAAM,uBAAmB,sBAAQ,MAAM;AACrC,UAAM,mBAAmB;AAAA,MACvB,oBAAoB,MAAM;AAAA,MAC1B,GAAG,MAAM;AAAA,MACT,UAAU,EAAE,GAAG,kBAAkB,GAAG,MAAM,KAAK,SAAS;AAAA,IAC1D;AACA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU,CAAC;AAAA,MACX,aAAa,CAAC,QAAiB,SAAiB,MAC9C,eACE,UAAU,CAAC,mBAAmB,SAAS,IAAI,IAAI,4BAA4B;AAAA,MAE/E,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,MAChB,GAAG;AAAA,MACH,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/OpenWindowItem/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { OpenWindow as OpenWindowIcon } from '@elliemae/ds-icons';\n\nconst StyledOpenWindow = styled(OpenWindowIcon)`\n cursor: pointer;\n :focus {\n outline: 1px solid ${(props) => props.theme.colors.brand[800]};\n }\n`;\n\nexport const OpenWindow = (props:
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADYrB;AAXF,uBAAuB;AACvB,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { OpenWindow as OpenWindowIcon, type SvgIconT } from '@elliemae/ds-icons';\n\nconst StyledOpenWindow = styled(OpenWindowIcon)`\n cursor: pointer;\n :focus {\n outline: 1px solid ${(props) => props.theme.colors.brand[800]};\n }\n`;\n\nexport const OpenWindow = (props: SvgIconT.Props): JSX.Element => (\n <StyledOpenWindow size=\"s\" color={['brand-primary', '800']} {...props} />\n);\n\nexport default OpenWindow;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADYrB;AAXF,uBAAuB;AACvB,sBAA4D;AAE5D,MAAM,uBAAmB,yBAAO,gBAAAA,UAAc;AAAA;AAAA;AAAA,yBAGrB,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA;AAIzD,MAAM,aAAa,CAAC,UACzB,4CAAC,oBAAiB,MAAK,KAAI,OAAO,CAAC,iBAAiB,KAAK,GAAI,GAAG,OAAO;AAGzE,IAAO,yBAAQ;",
|
|
6
6
|
"names": ["OpenWindowIcon"]
|
|
7
7
|
}
|
|
@@ -32,7 +32,8 @@ __export(constants_exports, {
|
|
|
32
32
|
FOOTER_DS_ID: () => FOOTER_DS_ID,
|
|
33
33
|
FOOTER_MENU_CLOSE_DS_ID: () => FOOTER_MENU_CLOSE_DS_ID,
|
|
34
34
|
ITEM_TYPES: () => ITEM_TYPES,
|
|
35
|
-
LABEL_OVERFLOW: () => LABEL_OVERFLOW
|
|
35
|
+
LABEL_OVERFLOW: () => LABEL_OVERFLOW,
|
|
36
|
+
MAP_ITEMS_TO_SKELETON: () => MAP_ITEMS_TO_SKELETON
|
|
36
37
|
});
|
|
37
38
|
module.exports = __toCommonJS(constants_exports);
|
|
38
39
|
var React = __toESM(require("react"));
|
|
@@ -53,6 +54,17 @@ const ITEM_TYPES = {
|
|
|
53
54
|
LEFT_NAV_ITEM_TEXT_LABEL: "ds-left-nav-item-text-label",
|
|
54
55
|
LEFT_NAV_ITEM_WITH_DATE: "ds-left-nav-item-with-date"
|
|
55
56
|
};
|
|
57
|
+
const MAP_ITEMS_TO_SKELETON = {
|
|
58
|
+
"ds-left-nav-item-header": "item",
|
|
59
|
+
"ds-left-nav-item-link": "subitem",
|
|
60
|
+
"ds-left-nav-item-submenu": "item",
|
|
61
|
+
"ds-left-nav-item-controlled-drilldown": "subitem",
|
|
62
|
+
"ds-left-nav-item-uncontrolled-drilldown": "subitem",
|
|
63
|
+
"ds-left-nav-item-section": "subitem",
|
|
64
|
+
"ds-left-nav-item-separator": "subitem",
|
|
65
|
+
"ds-left-nav-item-text-label": "subitem",
|
|
66
|
+
"ds-left-nav-item-with-date": "subitem"
|
|
67
|
+
};
|
|
56
68
|
const FOOTER_DS_ID = "ds-left-nav-__internal__-footer";
|
|
57
69
|
const FOOTER_MENU_CLOSE_DS_ID = "ds-left-nav-__internal__-footer-menu-close";
|
|
58
70
|
const CHEVRON_BACK_DS_ID = "ds-left-nav-__internal__-chevron-back";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exported-related/constants.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export const LABEL_OVERFLOW = {\n WRAP: 'wrap',\n WRAP_ALL: 'wrapAll',\n TRUNCATE: 'truncate',\n};\n\nexport const ITEM_TYPES = {\n LEFT_NAV_ITEM_HEADER: 'ds-left-nav-item-header',\n LEFT_NAV_ITEM_LINK: 'ds-left-nav-item-link',\n LEFT_NAV_ITEM_SUBMENU: 'ds-left-nav-item-submenu',\n LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN: 'ds-left-nav-item-controlled-drilldown',\n LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN: 'ds-left-nav-item-uncontrolled-drilldown',\n LEFT_NAV_ITEM_SECTION: 'ds-left-nav-item-section',\n LEFT_NAV_ITEM_SEPARATOR: 'ds-left-nav-item-separator',\n LEFT_NAV_ITEM_SKELETON: 'ds-left-nav-item-skeleton',\n LEFT_NAV_ITEM_TEXT_LABEL: 'ds-left-nav-item-text-label',\n LEFT_NAV_ITEM_WITH_DATE: 'ds-left-nav-item-with-date',\n};\n\nexport const FOOTER_DS_ID = 'ds-left-nav-__internal__-footer';\n\nexport const FOOTER_MENU_CLOSE_DS_ID = 'ds-left-nav-__internal__-footer-menu-close';\n\nexport const CHEVRON_BACK_DS_ID = 'ds-left-nav-__internal__-chevron-back';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,MAAM,aAAa;AAAA,EACxB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,oCAAoC;AAAA,EACpC,sCAAsC;AAAA,EACtC,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,yBAAyB;AAC3B;AAEO,MAAM,eAAe;AAErB,MAAM,0BAA0B;AAEhC,MAAM,qBAAqB;",
|
|
4
|
+
"sourcesContent": ["export const LABEL_OVERFLOW = {\n WRAP: 'wrap',\n WRAP_ALL: 'wrapAll',\n TRUNCATE: 'truncate',\n};\n\nexport const ITEM_TYPES = {\n LEFT_NAV_ITEM_HEADER: 'ds-left-nav-item-header',\n LEFT_NAV_ITEM_LINK: 'ds-left-nav-item-link',\n LEFT_NAV_ITEM_SUBMENU: 'ds-left-nav-item-submenu',\n LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN: 'ds-left-nav-item-controlled-drilldown',\n LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN: 'ds-left-nav-item-uncontrolled-drilldown',\n LEFT_NAV_ITEM_SECTION: 'ds-left-nav-item-section',\n LEFT_NAV_ITEM_SEPARATOR: 'ds-left-nav-item-separator',\n LEFT_NAV_ITEM_SKELETON: 'ds-left-nav-item-skeleton',\n LEFT_NAV_ITEM_TEXT_LABEL: 'ds-left-nav-item-text-label',\n LEFT_NAV_ITEM_WITH_DATE: 'ds-left-nav-item-with-date',\n};\n\nexport const MAP_ITEMS_TO_SKELETON = {\n 'ds-left-nav-item-header': 'item',\n 'ds-left-nav-item-link': 'subitem',\n 'ds-left-nav-item-submenu': 'item',\n 'ds-left-nav-item-controlled-drilldown': 'subitem',\n 'ds-left-nav-item-uncontrolled-drilldown': 'subitem',\n 'ds-left-nav-item-section': 'subitem',\n 'ds-left-nav-item-separator': 'subitem',\n 'ds-left-nav-item-text-label': 'subitem',\n 'ds-left-nav-item-with-date': 'subitem',\n} as const;\n\nexport const FOOTER_DS_ID = 'ds-left-nav-__internal__-footer';\n\nexport const FOOTER_MENU_CLOSE_DS_ID = 'ds-left-nav-__internal__-footer-menu-close';\n\nexport const CHEVRON_BACK_DS_ID = 'ds-left-nav-__internal__-chevron-back';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,MAAM,aAAa;AAAA,EACxB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,oCAAoC;AAAA,EACpC,sCAAsC;AAAA,EACtC,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,yBAAyB;AAC3B;AAEO,MAAM,wBAAwB;AAAA,EACnC,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,4BAA4B;AAAA,EAC5B,yCAAyC;AAAA,EACzC,2CAA2C;AAAA,EAC3C,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAC9B,+BAA+B;AAAA,EAC/B,8BAA8B;AAChC;AAEO,MAAM,eAAe;AAErB,MAAM,0BAA0B;AAEhC,MAAM,qBAAqB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useExpandableOnClickHandler.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type React from 'react';\nimport { useCallback, useContext } from 'react';\nimport LeftNavigationContext from '../LeftNavigationContext.js';\n\ntype
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwC;AACxC,mCAAkC;AAS3B,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AACf,MAAsF;AACpF,QAAM;AAAA,IACJ,cAAc,EAAE,SAAS;AAAA,IACzB;AAAA,EACF,QAAI,yBAAW,6BAAAA,OAAqB;AAEpC,QAAM,
|
|
4
|
+
"sourcesContent": ["import type React from 'react';\nimport { useCallback, useContext } from 'react';\nimport LeftNavigationContext from '../LeftNavigationContext.js';\n\ntype UseExpandableOnClickHandlerProps = {\n id: string;\n onExpand: React.MouseEventHandler & React.KeyboardEventHandler;\n onOpen: React.MouseEventHandler & React.KeyboardEventHandler;\n selectable?: boolean;\n};\n\nexport const useExpandableOnClickHandler = ({\n id,\n onExpand,\n onOpen,\n selectable = true,\n}: UseExpandableOnClickHandlerProps): ((e: React.MouseEvent<HTMLElement>) => void) => {\n const {\n leftNavProps: { expanded },\n setSelectedItem,\n } = useContext(LeftNavigationContext);\n\n const handleOnExpand: React.MouseEventHandler = useCallback(\n (e) => {\n onExpand(e);\n if (selectable) setSelectedItem(id);\n },\n [id, onExpand, setSelectedItem, selectable],\n );\n\n const handleOnOpen: React.MouseEventHandler = useCallback(\n (e) => {\n onOpen(e);\n if (selectable) setSelectedItem(id);\n },\n [id, onOpen, setSelectedItem, selectable],\n );\n\n const handleOnClick: React.MouseEventHandler = useCallback(\n (e) => {\n if (!expanded) handleOnExpand(e);\n else handleOnOpen(e);\n },\n [expanded, handleOnExpand, handleOnOpen],\n );\n\n return handleOnClick;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwC;AACxC,mCAAkC;AAS3B,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AACf,MAAsF;AACpF,QAAM;AAAA,IACJ,cAAc,EAAE,SAAS;AAAA,IACzB;AAAA,EACF,QAAI,yBAAW,6BAAAA,OAAqB;AAEpC,QAAM,qBAA0C;AAAA,IAC9C,CAAC,MAAM;AACL,eAAS,CAAC;AACV,UAAI;AAAY,wBAAgB,EAAE;AAAA,IACpC;AAAA,IACA,CAAC,IAAI,UAAU,iBAAiB,UAAU;AAAA,EAC5C;AAEA,QAAM,mBAAwC;AAAA,IAC5C,CAAC,MAAM;AACL,aAAO,CAAC;AACR,UAAI;AAAY,wBAAgB,EAAE;AAAA,IACpC;AAAA,IACA,CAAC,IAAI,QAAQ,iBAAiB,UAAU;AAAA,EAC1C;AAEA,QAAM,oBAAyC;AAAA,IAC7C,CAAC,MAAM;AACL,UAAI,CAAC;AAAU,uBAAe,CAAC;AAAA;AAC1B,qBAAa,CAAC;AAAA,IACrB;AAAA,IACA,CAAC,UAAU,gBAAgB,YAAY;AAAA,EACzC;AAEA,SAAO;AACT;",
|
|
6
6
|
"names": ["LeftNavigationContext"]
|
|
7
7
|
}
|
|
@@ -76,7 +76,7 @@ const useKeyboardNavigation = ({ item, onClick }) => {
|
|
|
76
76
|
if (keyCode !== KEY_CODES.TAB) {
|
|
77
77
|
e.preventDefault();
|
|
78
78
|
}
|
|
79
|
-
if (keyCode === KEY_CODES.ENTER || keyCode === KEY_CODES.SPACE) {
|
|
79
|
+
if (dsId && (keyCode === KEY_CODES.ENTER || keyCode === KEY_CODES.SPACE)) {
|
|
80
80
|
if (selectable) {
|
|
81
81
|
onClick(e);
|
|
82
82
|
focusAndSelect(dsId);
|
|
@@ -91,7 +91,7 @@ const useKeyboardNavigation = ({ item, onClick }) => {
|
|
|
91
91
|
if (openable && keyCode === KEY_CODES.RIGHT_ARROW) {
|
|
92
92
|
onClick(e);
|
|
93
93
|
}
|
|
94
|
-
if (closable && keyCode === KEY_CODES.LEFT_ARROW) {
|
|
94
|
+
if (dsId && closable && keyCode === KEY_CODES.LEFT_ARROW) {
|
|
95
95
|
onClick(e);
|
|
96
96
|
setFocusedItem(dsId);
|
|
97
97
|
}
|