@elliemae/ds-left-navigation 2.2.0-next.6 → 2.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/LeftNavigation.js +49 -27
- package/cjs/LeftNavigation.js.map +7 -0
- package/cjs/LeftNavigationContext.js +44 -18
- package/cjs/LeftNavigationContext.js.map +7 -0
- package/cjs/common/getItemBackgroundStyle.js +47 -8
- package/cjs/common/getItemBackgroundStyle.js.map +7 -0
- package/cjs/common/getLeftBorderStyle.js +50 -8
- package/cjs/common/getLeftBorderStyle.js.map +7 -0
- package/cjs/common/getScrollbarStyle.js +55 -4
- package/cjs/common/getScrollbarStyle.js.map +7 -0
- package/cjs/common/index.js +30 -13
- package/cjs/common/index.js.map +7 -0
- package/cjs/configs/index.js +38 -10
- package/cjs/configs/index.js.map +7 -0
- package/cjs/configs/useLeftNavConfig.js +76 -76
- package/cjs/configs/useLeftNavConfig.js.map +7 -0
- package/cjs/configs/useLeftNavItems.js +66 -64
- package/cjs/configs/useLeftNavItems.js.map +7 -0
- package/cjs/configs/useLeftNavSmoothExpand.js +43 -25
- package/cjs/configs/useLeftNavSmoothExpand.js.map +7 -0
- package/cjs/exported-related/ChevronItem/index.js +42 -27
- package/cjs/exported-related/ChevronItem/index.js.map +7 -0
- package/cjs/exported-related/Icon/index.js +51 -34
- package/cjs/exported-related/Icon/index.js.map +7 -0
- package/cjs/exported-related/ItemRenderer/index.js +99 -94
- package/cjs/exported-related/ItemRenderer/index.js.map +7 -0
- package/cjs/exported-related/ItemRenderer/styled.js +83 -51
- package/cjs/exported-related/ItemRenderer/styled.js.map +7 -0
- package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +57 -45
- package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +7 -0
- package/cjs/exported-related/Notifications/index.js +81 -61
- package/cjs/exported-related/Notifications/index.js.map +7 -0
- package/cjs/exported-related/OpenWindowItem/index.js +49 -32
- package/cjs/exported-related/OpenWindowItem/index.js.map +7 -0
- package/cjs/exported-related/constants.js +53 -25
- package/cjs/exported-related/constants.js.map +7 -0
- package/cjs/exported-related/index.js +33 -23
- package/cjs/exported-related/index.js.map +7 -0
- package/cjs/hooks/index.js +30 -13
- package/cjs/hooks/index.js.map +7 -0
- package/cjs/hooks/useExpandableOnClickHandler.js +55 -26
- package/cjs/hooks/useExpandableOnClickHandler.js.map +7 -0
- package/cjs/hooks/useKeyboardNavigation.js +62 -54
- package/cjs/hooks/useKeyboardNavigation.js.map +7 -0
- package/cjs/hooks/useOpenableOnClickHandler.js +55 -26
- package/cjs/hooks/useOpenableOnClickHandler.js.map +7 -0
- package/cjs/hooks/useSelectFirstBodyItem.js +47 -34
- package/cjs/hooks/useSelectFirstBodyItem.js.map +7 -0
- package/cjs/index.d.js +27 -2
- package/cjs/index.d.js.map +7 -0
- package/cjs/index.js +41 -30
- package/cjs/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +97 -103
- package/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +49 -27
- package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemHeader/index.js +95 -93
- package/cjs/outOfTheBox/ItemHeader/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemHeader/styled.js +49 -22
- package/cjs/outOfTheBox/ItemHeader/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemLink/index.js +75 -67
- package/cjs/outOfTheBox/ItemLink/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemLink/styled.js +41 -17
- package/cjs/outOfTheBox/ItemLink/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemSection/index.js +59 -63
- package/cjs/outOfTheBox/ItemSection/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemSection/styled.js +53 -23
- package/cjs/outOfTheBox/ItemSection/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemSeparator/index.js +56 -45
- package/cjs/outOfTheBox/ItemSeparator/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemSubmenu/index.js +95 -92
- package/cjs/outOfTheBox/ItemSubmenu/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemSubmenu/styled.js +49 -22
- package/cjs/outOfTheBox/ItemSubmenu/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemTextLabel/index.js +51 -52
- package/cjs/outOfTheBox/ItemTextLabel/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemTextLabel/styled.js +43 -23
- package/cjs/outOfTheBox/ItemTextLabel/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +107 -113
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +49 -27
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +7 -0
- package/cjs/outOfTheBox/ItemWithDate/index.js +59 -54
- package/cjs/outOfTheBox/ItemWithDate/index.js.map +7 -0
- package/cjs/outOfTheBox/ItemWithDate/styled.js +49 -27
- package/cjs/outOfTheBox/ItemWithDate/styled.js.map +7 -0
- package/cjs/outOfTheBox/index.js +65 -50
- package/cjs/outOfTheBox/index.js.map +7 -0
- package/cjs/parts/LeftNavContent/index.js +75 -71
- package/cjs/parts/LeftNavContent/index.js.map +7 -0
- package/cjs/parts/LeftNavContent/styled.js +110 -50
- package/cjs/parts/LeftNavContent/styled.js.map +7 -0
- package/cjs/parts/LeftNavContentWithScrollbar/index.js +89 -79
- package/cjs/parts/LeftNavContentWithScrollbar/index.js.map +7 -0
- package/cjs/parts/LeftNavFooterItem/index.js +97 -80
- package/cjs/parts/LeftNavFooterItem/index.js.map +7 -0
- package/cjs/parts/LeftNavFooterItem/styled.js +89 -34
- package/cjs/parts/LeftNavFooterItem/styled.js.map +7 -0
- package/cjs/parts/LeftNavLoading/index.js +51 -33
- package/cjs/parts/LeftNavLoading/index.js.map +7 -0
- package/cjs/parts/OutOfTheBoxMapItem.js +49 -46
- package/cjs/parts/OutOfTheBoxMapItem.js.map +7 -0
- package/cjs/prop-types.js +58 -39
- package/cjs/prop-types.js.map +7 -0
- package/esm/LeftNavigation.js +17 -15
- package/esm/LeftNavigation.js.map +7 -0
- package/esm/LeftNavigationContext.js +15 -11
- package/esm/LeftNavigationContext.js.map +7 -0
- package/esm/common/getItemBackgroundStyle.js +20 -6
- package/esm/common/getItemBackgroundStyle.js.map +7 -0
- package/esm/common/getLeftBorderStyle.js +23 -6
- package/esm/common/getLeftBorderStyle.js.map +7 -0
- package/esm/common/getScrollbarStyle.js +28 -2
- package/esm/common/getScrollbarStyle.js.map +7 -0
- package/esm/common/index.js +5 -3
- package/esm/common/index.js.map +7 -0
- package/esm/configs/index.js +9 -2
- package/esm/configs/index.js.map +7 -0
- package/esm/configs/useLeftNavConfig.js +47 -67
- package/esm/configs/useLeftNavConfig.js.map +7 -0
- package/esm/configs/useLeftNavItems.js +33 -55
- package/esm/configs/useLeftNavItems.js.map +7 -0
- package/esm/configs/useLeftNavSmoothExpand.js +14 -16
- package/esm/configs/useLeftNavSmoothExpand.js.map +7 -0
- package/esm/exported-related/ChevronItem/index.js +13 -18
- package/esm/exported-related/ChevronItem/index.js.map +7 -0
- package/esm/exported-related/Icon/index.js +21 -24
- package/esm/exported-related/Icon/index.js.map +7 -0
- package/esm/exported-related/ItemRenderer/index.js +65 -80
- package/esm/exported-related/ItemRenderer/index.js.map +7 -0
- package/esm/exported-related/ItemRenderer/styled.js +56 -42
- package/esm/exported-related/ItemRenderer/styled.js.map +7 -0
- package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +27 -36
- package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +7 -0
- package/esm/exported-related/Notifications/index.js +57 -50
- package/esm/exported-related/Notifications/index.js.map +7 -0
- package/esm/exported-related/OpenWindowItem/index.js +20 -22
- package/esm/exported-related/OpenWindowItem/index.js.map +7 -0
- package/esm/exported-related/constants.js +24 -17
- package/esm/exported-related/constants.js.map +7 -0
- package/esm/exported-related/index.js +8 -6
- package/esm/exported-related/index.js.map +7 -0
- package/esm/hooks/index.js +5 -3
- package/esm/hooks/index.js.map +7 -0
- package/esm/hooks/useExpandableOnClickHandler.js +26 -22
- package/esm/hooks/useExpandableOnClickHandler.js.map +7 -0
- package/esm/hooks/useKeyboardNavigation.js +30 -47
- package/esm/hooks/useKeyboardNavigation.js.map +7 -0
- package/esm/hooks/useOpenableOnClickHandler.js +26 -22
- package/esm/hooks/useOpenableOnClickHandler.js.map +7 -0
- package/esm/hooks/useSelectFirstBodyItem.js +18 -30
- package/esm/hooks/useSelectFirstBodyItem.js.map +7 -0
- package/esm/index.d.js +2 -1
- package/esm/index.d.js.map +7 -0
- package/esm/index.js +12 -8
- package/esm/index.js.map +7 -0
- package/esm/outOfTheBox/ItemControlledDrilldown/index.js +62 -87
- package/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +7 -0
- package/esm/outOfTheBox/ItemControlledDrilldown/styled.js +20 -17
- package/esm/outOfTheBox/ItemControlledDrilldown/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemHeader/index.js +65 -82
- package/esm/outOfTheBox/ItemHeader/index.js.map +7 -0
- package/esm/outOfTheBox/ItemHeader/styled.js +20 -12
- package/esm/outOfTheBox/ItemHeader/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemLink/index.js +46 -57
- package/esm/outOfTheBox/ItemLink/index.js.map +7 -0
- package/esm/outOfTheBox/ItemLink/styled.js +12 -8
- package/esm/outOfTheBox/ItemLink/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemSection/index.js +30 -53
- package/esm/outOfTheBox/ItemSection/index.js.map +7 -0
- package/esm/outOfTheBox/ItemSection/styled.js +24 -13
- package/esm/outOfTheBox/ItemSection/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemSeparator/index.js +27 -35
- package/esm/outOfTheBox/ItemSeparator/index.js.map +7 -0
- package/esm/outOfTheBox/ItemSubmenu/index.js +65 -81
- package/esm/outOfTheBox/ItemSubmenu/index.js.map +7 -0
- package/esm/outOfTheBox/ItemSubmenu/styled.js +20 -12
- package/esm/outOfTheBox/ItemSubmenu/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemTextLabel/index.js +22 -43
- package/esm/outOfTheBox/ItemTextLabel/index.js.map +7 -0
- package/esm/outOfTheBox/ItemTextLabel/styled.js +14 -14
- package/esm/outOfTheBox/ItemTextLabel/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +70 -95
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +7 -0
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +20 -17
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +7 -0
- package/esm/outOfTheBox/ItemWithDate/index.js +30 -44
- package/esm/outOfTheBox/ItemWithDate/index.js.map +7 -0
- package/esm/outOfTheBox/ItemWithDate/styled.js +20 -17
- package/esm/outOfTheBox/ItemWithDate/styled.js.map +7 -0
- package/esm/outOfTheBox/index.js +25 -34
- package/esm/outOfTheBox/index.js.map +7 -0
- package/esm/parts/LeftNavContent/index.js +54 -64
- package/esm/parts/LeftNavContent/index.js.map +7 -0
- package/esm/parts/LeftNavContent/styled.js +81 -36
- package/esm/parts/LeftNavContent/styled.js.map +7 -0
- package/esm/parts/LeftNavContentWithScrollbar/index.js +56 -64
- package/esm/parts/LeftNavContentWithScrollbar/index.js.map +7 -0
- package/esm/parts/LeftNavFooterItem/index.js +73 -68
- package/esm/parts/LeftNavFooterItem/index.js.map +7 -0
- package/esm/parts/LeftNavFooterItem/styled.js +63 -24
- package/esm/parts/LeftNavFooterItem/styled.js.map +7 -0
- package/esm/parts/LeftNavLoading/index.js +22 -22
- package/esm/parts/LeftNavLoading/index.js.map +7 -0
- package/esm/parts/OutOfTheBoxMapItem.js +19 -35
- package/esm/parts/OutOfTheBoxMapItem.js.map +7 -0
- package/esm/prop-types.js +26 -29
- package/esm/prop-types.js.map +7 -0
- package/package.json +6 -6
- package/types/LeftNavigationContext.d.ts +4 -4
- package/types/configs/useLeftNavSmoothExpand.d.ts +3 -3
- package/types/hooks/useSelectFirstBodyItem.d.ts +1 -1
- package/types/index.d.d.ts +2 -5
|
@@ -1,77 +1,67 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { LeftNavContext } from "../../LeftNavigationContext";
|
|
4
|
+
import { LeftNavFooterItem } from "../LeftNavFooterItem";
|
|
5
|
+
import { LeftNavContentWithScrollbar } from "../LeftNavContentWithScrollbar";
|
|
6
|
+
import { OutOfTheBoxMapItem } from "../OutOfTheBoxMapItem";
|
|
7
|
+
import {
|
|
8
|
+
StyledLeftNavExpandAnimationWrapper,
|
|
9
|
+
StyledLeftNavAreasContainer,
|
|
10
|
+
StyledLeftNavHeaderArea,
|
|
11
|
+
StyledLeftNavBodyAreasContainer,
|
|
12
|
+
StyledLeftNavBodyHeaderArea,
|
|
13
|
+
StyledLeftNavBodyItemsArea,
|
|
14
|
+
StyledLeftNavFooterArea
|
|
15
|
+
} from "./styled";
|
|
16
|
+
import { LeftNavLoading } from "../LeftNavLoading";
|
|
17
|
+
const leftNavScreenReaderInstructions = "Left Navigation. You can navigate through the items using the Up/Down arrows. To expand or select an item, use the Enter/Return or Space keys. Expandable items can also be opened/closed with the Right/Left arrows. The Home and End keys will take you to the first and last item respectively.";
|
|
16
18
|
const LeftNavInnerContent = () => {
|
|
17
19
|
const {
|
|
18
|
-
leftNavProps: {
|
|
19
|
-
HeaderComponent,
|
|
20
|
-
BodyHeaderComponent,
|
|
21
|
-
openedItem,
|
|
22
|
-
items,
|
|
23
|
-
withoutBodyShadow
|
|
24
|
-
},
|
|
20
|
+
leftNavProps: { HeaderComponent, BodyHeaderComponent, openedItem, items, withoutBodyShadow },
|
|
25
21
|
selectedItem
|
|
26
|
-
} =
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
22
|
+
} = React2.useContext(LeftNavContext);
|
|
23
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(StyledLeftNavHeaderArea, {
|
|
24
|
+
"data-testid": "leftnav-header-area",
|
|
25
|
+
selected: HeaderComponent && [selectedItem, openedItem].includes(HeaderComponent.dsId)
|
|
26
|
+
}, HeaderComponent ? /* @__PURE__ */ React2.createElement(OutOfTheBoxMapItem, {
|
|
27
|
+
item: HeaderComponent
|
|
28
|
+
}) : null), /* @__PURE__ */ React2.createElement(StyledLeftNavBodyAreasContainer, null, /* @__PURE__ */ React2.createElement(StyledLeftNavBodyHeaderArea, {
|
|
29
|
+
"data-testid": "leftnav-body-header-area",
|
|
30
|
+
selected: BodyHeaderComponent && [selectedItem, openedItem].includes(BodyHeaderComponent.dsId)
|
|
31
|
+
}, BodyHeaderComponent ? /* @__PURE__ */ React2.createElement(OutOfTheBoxMapItem, {
|
|
32
|
+
item: BodyHeaderComponent
|
|
33
|
+
}) : null), /* @__PURE__ */ React2.createElement(StyledLeftNavBodyItemsArea, {
|
|
34
|
+
selected: !withoutBodyShadow && openedItem !== null,
|
|
35
|
+
"data-testid": "leftnav-body-items-area",
|
|
36
|
+
tabIndex: -1
|
|
37
|
+
}, /* @__PURE__ */ React2.createElement(LeftNavContentWithScrollbar, null, items.map((item) => /* @__PURE__ */ React2.createElement(OutOfTheBoxMapItem, {
|
|
38
|
+
item,
|
|
39
|
+
key: item.dsId
|
|
40
|
+
}))))));
|
|
46
41
|
};
|
|
47
|
-
|
|
48
42
|
const LeftNavContent = () => {
|
|
49
43
|
const {
|
|
50
44
|
expandedForAnimation,
|
|
51
|
-
leftNavProps: {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
onFooterClose,
|
|
57
|
-
loading
|
|
58
|
-
}
|
|
59
|
-
} = React.useContext(LeftNavContext);
|
|
60
|
-
return /*#__PURE__*/_jsx(StyledLeftNavExpandAnimationWrapper, {
|
|
61
|
-
expandedWidth: expandedWidth,
|
|
62
|
-
expanded: expanded,
|
|
45
|
+
leftNavProps: { expanded, expandedWidth, footerLabel, onFooterExpand, onFooterClose, loading }
|
|
46
|
+
} = React2.useContext(LeftNavContext);
|
|
47
|
+
return /* @__PURE__ */ React2.createElement(StyledLeftNavExpandAnimationWrapper, {
|
|
48
|
+
expandedWidth,
|
|
49
|
+
expanded,
|
|
63
50
|
"data-testid": "leftnav-component",
|
|
64
51
|
"aria-label": leftNavScreenReaderInstructions
|
|
65
|
-
},
|
|
66
|
-
expandedWidth
|
|
52
|
+
}, /* @__PURE__ */ React2.createElement(StyledLeftNavAreasContainer, {
|
|
53
|
+
expandedWidth,
|
|
67
54
|
expanded: expandedForAnimation
|
|
68
|
-
},
|
|
55
|
+
}, loading && /* @__PURE__ */ React2.createElement(LeftNavLoading, {
|
|
69
56
|
expanded: expandedForAnimation
|
|
70
|
-
}), !loading &&
|
|
71
|
-
footerLabel
|
|
72
|
-
onFooterExpand
|
|
73
|
-
onFooterClose
|
|
57
|
+
}), !loading && /* @__PURE__ */ React2.createElement(LeftNavInnerContent, null), /* @__PURE__ */ React2.createElement(StyledLeftNavFooterArea, null, /* @__PURE__ */ React2.createElement(LeftNavFooterItem, {
|
|
58
|
+
footerLabel,
|
|
59
|
+
onFooterExpand,
|
|
60
|
+
onFooterClose
|
|
74
61
|
}))));
|
|
75
62
|
};
|
|
76
|
-
|
|
77
|
-
export {
|
|
63
|
+
var LeftNavContent_default = LeftNavContent;
|
|
64
|
+
export {
|
|
65
|
+
LeftNavContent_default as default
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavContent/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { LeftNavContext } from '../../LeftNavigationContext';\nimport { LeftNavFooterItem } from '../LeftNavFooterItem';\nimport { LeftNavContentWithScrollbar } from '../LeftNavContentWithScrollbar';\nimport { OutOfTheBoxMapItem } from '../OutOfTheBoxMapItem';\nimport {\n StyledLeftNavExpandAnimationWrapper,\n StyledLeftNavAreasContainer,\n StyledLeftNavHeaderArea,\n StyledLeftNavBodyAreasContainer,\n StyledLeftNavBodyHeaderArea,\n StyledLeftNavBodyItemsArea,\n StyledLeftNavFooterArea,\n} from './styled';\nimport { LeftNavLoading } from '../LeftNavLoading';\n\nconst leftNavScreenReaderInstructions =\n 'Left Navigation. You can navigate through the items using the Up/Down arrows. ' +\n 'To expand or select an item, use the Enter/Return or Space keys. ' +\n 'Expandable items can also be opened/closed with the Right/Left arrows. ' +\n 'The Home and End keys will take you to the first and last item respectively.';\n\nconst LeftNavInnerContent = () => {\n const {\n leftNavProps: { HeaderComponent, BodyHeaderComponent, openedItem, items, withoutBodyShadow },\n selectedItem,\n } = React.useContext(LeftNavContext);\n return (\n <>\n <StyledLeftNavHeaderArea\n data-testid=\"leftnav-header-area\"\n selected={HeaderComponent && [selectedItem, openedItem].includes(HeaderComponent.dsId)}\n >\n {HeaderComponent ? <OutOfTheBoxMapItem item={HeaderComponent} /> : null}\n </StyledLeftNavHeaderArea>\n <StyledLeftNavBodyAreasContainer>\n <StyledLeftNavBodyHeaderArea\n data-testid=\"leftnav-body-header-area\"\n selected={BodyHeaderComponent && [selectedItem, openedItem].includes(BodyHeaderComponent.dsId)}\n >\n {BodyHeaderComponent ? <OutOfTheBoxMapItem item={BodyHeaderComponent} /> : null}\n </StyledLeftNavBodyHeaderArea>\n <StyledLeftNavBodyItemsArea\n selected={!withoutBodyShadow && openedItem !== null}\n data-testid=\"leftnav-body-items-area\"\n tabIndex={-1}\n >\n <LeftNavContentWithScrollbar>\n {items.map((item) => (\n <OutOfTheBoxMapItem item={item} key={item.dsId} />\n ))}\n </LeftNavContentWithScrollbar>\n </StyledLeftNavBodyItemsArea>\n </StyledLeftNavBodyAreasContainer>\n </>\n );\n};\n\nconst LeftNavContent: React.ComponentType = () => {\n const {\n expandedForAnimation,\n leftNavProps: { expanded, expandedWidth, footerLabel, onFooterExpand, onFooterClose, loading },\n } = React.useContext(LeftNavContext);\n\n return (\n <StyledLeftNavExpandAnimationWrapper\n expandedWidth={expandedWidth}\n expanded={expanded}\n data-testid=\"leftnav-component\"\n aria-label={leftNavScreenReaderInstructions}\n >\n <StyledLeftNavAreasContainer expandedWidth={expandedWidth} expanded={expandedForAnimation}>\n {loading && <LeftNavLoading expanded={expandedForAnimation} />}\n {!loading && <LeftNavInnerContent />}\n <StyledLeftNavFooterArea>\n <LeftNavFooterItem footerLabel={footerLabel} onFooterExpand={onFooterExpand} onFooterClose={onFooterClose} />\n </StyledLeftNavFooterArea>\n </StyledLeftNavAreasContainer>\n </StyledLeftNavExpandAnimationWrapper>\n );\n};\n\nexport default LeftNavContent;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA;AAEA,MAAM,kCACJ;AAKF,MAAM,sBAAsB,MAAM;AAChC,QAAM;AAAA,IACJ,cAAc,EAAE,iBAAiB,qBAAqB,YAAY,OAAO;AAAA,IACzE;AAAA,MACE,OAAM,WAAW;AACrB,SACE,4DACE,qCAAC,yBAAD;AAAA,IACE,eAAY;AAAA,IACZ,UAAU,mBAAmB,CAAC,cAAc,YAAY,SAAS,gBAAgB;AAAA,KAEhF,kBAAkB,qCAAC,oBAAD;AAAA,IAAoB,MAAM;AAAA,OAAsB,OAErE,qCAAC,iCAAD,MACE,qCAAC,6BAAD;AAAA,IACE,eAAY;AAAA,IACZ,UAAU,uBAAuB,CAAC,cAAc,YAAY,SAAS,oBAAoB;AAAA,KAExF,sBAAsB,qCAAC,oBAAD;AAAA,IAAoB,MAAM;AAAA,OAA0B,OAE7E,qCAAC,4BAAD;AAAA,IACE,UAAU,CAAC,qBAAqB,eAAe;AAAA,IAC/C,eAAY;AAAA,IACZ,UAAU;AAAA,KAEV,qCAAC,6BAAD,MACG,MAAM,IAAI,CAAC,SACV,qCAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY,KAAK,KAAK;AAAA;AAAA;AASxD,MAAM,iBAAsC,MAAM;AAChD,QAAM;AAAA,IACJ;AAAA,IACA,cAAc,EAAE,UAAU,eAAe,aAAa,gBAAgB,eAAe;AAAA,MACnF,OAAM,WAAW;AAErB,SACE,qCAAC,qCAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAY;AAAA,IACZ,cAAY;AAAA,KAEZ,qCAAC,6BAAD;AAAA,IAA6B;AAAA,IAA8B,UAAU;AAAA,KAClE,WAAW,qCAAC,gBAAD;AAAA,IAAgB,UAAU;AAAA,MACrC,CAAC,WAAW,qCAAC,qBAAD,OACb,qCAAC,yBAAD,MACE,qCAAC,mBAAD;AAAA,IAAmB;AAAA,IAA0B;AAAA,IAAgC;AAAA;AAAA;AAOvF,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,39 +1,84 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const getLeftShadowStyles =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} = _ref;
|
|
9
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
const getLeftShadowStyles = ({
|
|
4
|
+
selected,
|
|
5
|
+
selectedParent,
|
|
6
|
+
theme
|
|
7
|
+
}) => {
|
|
10
8
|
if (!selected && !selectedParent) {
|
|
11
|
-
return
|
|
9
|
+
return `
|
|
10
|
+
box-shadow: inset 4px 0 0 0 transparent;
|
|
11
|
+
:hover {
|
|
12
|
+
box-shadow: inset 4px 0 0 0 ${theme.colors.brand[300]};
|
|
13
|
+
}
|
|
14
|
+
:active {
|
|
15
|
+
box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
12
18
|
}
|
|
13
|
-
|
|
14
|
-
return "box-shadow: inset 4px 0 0 0 ".concat(theme.colors.brand[400], ";");
|
|
19
|
+
return `box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};`;
|
|
15
20
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
21
|
+
const StyledLeftNavExpandAnimationWrapper = styled.nav`
|
|
22
|
+
width: ${(props) => props.expanded ? props.expandedWidth : "48px"};
|
|
23
|
+
transition: width ${(props) => props.expanded ? "ease-out" : "ease-in"} 350ms;
|
|
24
|
+
box-shadow: -1px 0 0 0 ${(props) => props.theme.colors.neutral[100]};
|
|
25
|
+
border: 1px solid ${(props) => props.theme.colors.neutral[100]};
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
height: 100%;
|
|
28
|
+
position: relative;
|
|
29
|
+
`;
|
|
30
|
+
const StyledLeftNavAreasContainer = styled.div`
|
|
31
|
+
position: absolute;
|
|
32
|
+
width: ${(props) => props.expanded ? `calc(${props.expandedWidth} - 2px)` : "46px"};
|
|
33
|
+
height: 100%;
|
|
34
|
+
display: grid;
|
|
35
|
+
grid-template-columns: 1fr;
|
|
36
|
+
grid-template-rows: auto 1fr auto;
|
|
37
|
+
grid-template-areas:
|
|
38
|
+
'left-nav-header'
|
|
39
|
+
'left-nav-body'
|
|
40
|
+
'left-nav-footer';
|
|
41
|
+
`;
|
|
42
|
+
const StyledLeftNavHeaderArea = styled.div`
|
|
43
|
+
grid-area: left-nav-header;
|
|
44
|
+
${getLeftShadowStyles}
|
|
45
|
+
`;
|
|
46
|
+
const StyledLeftNavBodyAreasContainer = styled.div`
|
|
47
|
+
position: absolute;
|
|
48
|
+
width: 100%;
|
|
49
|
+
height: 100%;
|
|
50
|
+
display: grid;
|
|
51
|
+
grid-template-columns: 1fr;
|
|
52
|
+
grid-template-rows: auto 1fr;
|
|
53
|
+
grid-template-areas:
|
|
54
|
+
'left-nav-body-header'
|
|
55
|
+
'left-nav-body-body';
|
|
56
|
+
grid-area: left-nav-body;
|
|
57
|
+
`;
|
|
58
|
+
const StyledLeftNavBodyHeaderArea = styled.div`
|
|
59
|
+
width: 100%;
|
|
60
|
+
grid-area: left-nav-body-header;
|
|
61
|
+
${getLeftShadowStyles}
|
|
62
|
+
`;
|
|
63
|
+
const StyledLeftNavBodyItemsArea = styled.div`
|
|
64
|
+
width: 100%;
|
|
65
|
+
grid-area: left-nav-body-body;
|
|
66
|
+
max-height: 100%;
|
|
67
|
+
overflow-y: hidden;
|
|
68
|
+
overflow-x: hidden;
|
|
69
|
+
box-shadow: inset 4px 0 0 0 ${(props) => props.selected ? props.theme.colors.brand[400] : "transparent"};
|
|
70
|
+
`;
|
|
71
|
+
const StyledLeftNavFooterArea = styled.div`
|
|
72
|
+
width: 100%;
|
|
73
|
+
grid-area: left-nav-footer;
|
|
74
|
+
`;
|
|
75
|
+
export {
|
|
76
|
+
StyledLeftNavAreasContainer,
|
|
77
|
+
StyledLeftNavBodyAreasContainer,
|
|
78
|
+
StyledLeftNavBodyHeaderArea,
|
|
79
|
+
StyledLeftNavBodyItemsArea,
|
|
80
|
+
StyledLeftNavExpandAnimationWrapper,
|
|
81
|
+
StyledLeftNavFooterArea,
|
|
82
|
+
StyledLeftNavHeaderArea
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavContent/styled.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from 'styled-components';\n\ntype LeftNavProps = {\n expanded: boolean;\n expandedWidth: string;\n};\n\nconst getLeftShadowStyles = ({\n selected,\n selectedParent,\n theme,\n}: {\n selected: boolean;\n selectedParent: boolean;\n theme: any;\n}) => {\n if (!selected && !selectedParent) {\n return `\n box-shadow: inset 4px 0 0 0 transparent;\n :hover {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[300]};\n }\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n `;\n }\n return `box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};`;\n};\n\nexport const StyledLeftNavExpandAnimationWrapper = styled.nav<LeftNavProps>`\n width: ${(props) => (props.expanded ? props.expandedWidth : '48px')};\n transition: width ${(props) => (props.expanded ? 'ease-out' : 'ease-in')} 350ms;\n box-shadow: -1px 0 0 0 ${(props) => props.theme.colors.neutral[100]};\n border: 1px solid ${(props) => props.theme.colors.neutral[100]};\n overflow: hidden;\n height: 100%;\n position: relative;\n`;\nexport const StyledLeftNavAreasContainer = styled.div<LeftNavProps>`\n position: absolute;\n width: ${(props) => (props.expanded ? `calc(${props.expandedWidth} - 2px)` : '46px')};\n height: 100%;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n grid-template-areas:\n 'left-nav-header'\n 'left-nav-body'\n 'left-nav-footer';\n`;\n\nexport const StyledLeftNavHeaderArea = styled.div<{ selected: boolean }>`\n grid-area: left-nav-header;\n ${getLeftShadowStyles}\n`;\n\nexport const StyledLeftNavBodyAreasContainer = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr;\n grid-template-areas:\n 'left-nav-body-header'\n 'left-nav-body-body';\n grid-area: left-nav-body;\n`;\n\nexport const StyledLeftNavBodyHeaderArea = styled.div<{ selected: boolean }>`\n width: 100%;\n grid-area: left-nav-body-header;\n ${getLeftShadowStyles}\n`;\n\nexport const StyledLeftNavBodyItemsArea = styled.div<{ selected: boolean }>`\n width: 100%;\n grid-area: left-nav-body-body;\n max-height: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n box-shadow: inset 4px 0 0 0 ${(props) => (props.selected ? props.theme.colors.brand[400] : 'transparent')};\n`;\n\nexport const StyledLeftNavFooterArea = styled.div`\n width: 100%;\n grid-area: left-nav-footer;\n`;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAOA,MAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,MAKI;AACJ,MAAI,CAAC,YAAY,CAAC,gBAAgB;AAChC,WAAO;AAAA;AAAA;AAAA,sCAG2B,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA,sCAGnB,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAIvD,SAAO,+BAA+B,MAAM,OAAO,MAAM;AAAA;AAGpD,MAAM,sCAAsC,OAAO;AAAA,WAC/C,CAAC,UAAW,MAAM,WAAW,MAAM,gBAAgB;AAAA,sBACxC,CAAC,UAAW,MAAM,WAAW,aAAa;AAAA,2BACrC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA,sBAC3C,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKrD,MAAM,8BAA8B,OAAO;AAAA;AAAA,WAEvC,CAAC,UAAW,MAAM,WAAW,QAAQ,MAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWxE,MAAM,0BAA0B,OAAO;AAAA;AAAA,IAE1C;AAAA;AAGG,MAAM,kCAAkC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa/C,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA,IAG9C;AAAA;AAGG,MAAM,6BAA6B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAMjB,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,MAAM,OAAO;AAAA;AAGtF,MAAM,0BAA0B,OAAO;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,80 +1,72 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import OverlayScrollbars from 'overlayscrollbars';
|
|
12
|
-
import styled from 'styled-components';
|
|
13
|
-
import { jsxs } from 'react/jsx-runtime';
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { useEffect, useRef, useState } from "react";
|
|
3
|
+
import "overlayscrollbars/css/OverlayScrollbars.css";
|
|
4
|
+
import OverlayScrollbars from "overlayscrollbars";
|
|
5
|
+
import styled from "styled-components";
|
|
6
|
+
const StyledHandle = styled.div`
|
|
7
|
+
width: 6px;
|
|
8
|
+
border: 1px solid rgba(0, 0, 0, 0);
|
|
9
|
+
background-color: rgba(105, 116, 137, 0.5) !important;
|
|
10
|
+
border-radius: 7px;
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
:hover {
|
|
13
|
+
background-color: rgba(105, 116, 137, 0.7) !important;
|
|
14
|
+
}
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
:active {
|
|
17
|
+
background-color: rgba(105, 116, 137, 0.7) !important;
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
23
20
|
const options = {
|
|
24
|
-
className:
|
|
21
|
+
className: "os-theme-dark",
|
|
25
22
|
scrollbars: {
|
|
26
|
-
autoHide:
|
|
23
|
+
autoHide: "leave",
|
|
27
24
|
autoHideDelay: 0
|
|
28
25
|
}
|
|
29
26
|
};
|
|
30
|
-
const LeftNavContentWithScrollbar = props => {
|
|
31
|
-
const {
|
|
32
|
-
|
|
33
|
-
} = props;
|
|
34
|
-
const inheritBoxShadow = {
|
|
35
|
-
boxShadow: 'inherit'
|
|
36
|
-
};
|
|
27
|
+
const LeftNavContentWithScrollbar = (props) => {
|
|
28
|
+
const { children } = props;
|
|
29
|
+
const inheritBoxShadow = { boxShadow: "inherit" };
|
|
37
30
|
const [osInstance, setOsInstance] = useState();
|
|
38
31
|
const osTargetRef = useRef(null);
|
|
39
32
|
useEffect(() => {
|
|
40
33
|
const nextOsInstance = OverlayScrollbars(osTargetRef.current, options);
|
|
41
34
|
setOsInstance(nextOsInstance);
|
|
42
35
|
}, [osInstance]);
|
|
43
|
-
return
|
|
36
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
44
37
|
className: "os-host",
|
|
45
|
-
style:
|
|
46
|
-
height: '100%'
|
|
47
|
-
}, inheritBoxShadow),
|
|
38
|
+
style: { height: "100%", ...inheritBoxShadow },
|
|
48
39
|
tabIndex: -1,
|
|
49
|
-
ref: osTargetRef
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
});
|
|
40
|
+
ref: osTargetRef
|
|
41
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
42
|
+
className: "os-resize-observer-host"
|
|
43
|
+
}), /* @__PURE__ */ React2.createElement("div", {
|
|
44
|
+
className: "os-padding",
|
|
45
|
+
style: inheritBoxShadow
|
|
46
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
47
|
+
className: "os-viewport",
|
|
48
|
+
style: inheritBoxShadow
|
|
49
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
50
|
+
className: "os-content",
|
|
51
|
+
style: inheritBoxShadow,
|
|
52
|
+
"aria-hidden": true
|
|
53
|
+
}, children))), /* @__PURE__ */ React2.createElement("div", {
|
|
54
|
+
className: "os-scrollbar os-scrollbar-horizontal "
|
|
55
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
56
|
+
className: "os-scrollbar-track"
|
|
57
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
58
|
+
className: "os-scrollbar-handle"
|
|
59
|
+
}))), /* @__PURE__ */ React2.createElement("div", {
|
|
60
|
+
className: "os-scrollbar os-scrollbar-vertical"
|
|
61
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
62
|
+
className: "os-scrollbar-track"
|
|
63
|
+
}, /* @__PURE__ */ React2.createElement(StyledHandle, {
|
|
64
|
+
className: "os-scrollbar-handle"
|
|
65
|
+
}))), /* @__PURE__ */ React2.createElement("div", {
|
|
66
|
+
className: "os-scrollbar-corner"
|
|
67
|
+
}));
|
|
78
68
|
};
|
|
79
|
-
|
|
80
|
-
|
|
69
|
+
export {
|
|
70
|
+
LeftNavContentWithScrollbar
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavContentWithScrollbar/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { useEffect, useRef, useState } from 'react';\nimport 'overlayscrollbars/css/OverlayScrollbars.css';\nimport OverlayScrollbars, { Options } from 'overlayscrollbars';\nimport styled from 'styled-components';\n\nexport interface OverlayScrollbarsComponentProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n}\n\nconst StyledHandle = styled.div`\n width: 6px;\n border: 1px solid rgba(0, 0, 0, 0);\n background-color: rgba(105, 116, 137, 0.5) !important;\n border-radius: 7px;\n\n :hover {\n background-color: rgba(105, 116, 137, 0.7) !important;\n }\n\n :active {\n background-color: rgba(105, 116, 137, 0.7) !important;\n }\n`;\n\nconst options: Options = {\n className: 'os-theme-dark',\n scrollbars: {\n autoHide: 'leave',\n autoHideDelay: 0,\n },\n};\n\nexport const LeftNavContentWithScrollbar: React.ComponentType<OverlayScrollbarsComponentProps> = (props) => {\n const { children } = props;\n\n const inheritBoxShadow = { boxShadow: 'inherit' };\n const [osInstance, setOsInstance] = useState<OverlayScrollbars>();\n const osTargetRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const nextOsInstance: OverlayScrollbars = OverlayScrollbars(osTargetRef.current, options);\n setOsInstance(nextOsInstance);\n }, [osInstance]);\n\n return (\n <div className=\"os-host\" style={{ height: '100%', ...inheritBoxShadow }} tabIndex={-1} ref={osTargetRef}>\n <div className=\"os-resize-observer-host\" />\n <div className=\"os-padding\" style={inheritBoxShadow}>\n <div className=\"os-viewport\" style={inheritBoxShadow}>\n <div className=\"os-content\" style={inheritBoxShadow} aria-hidden>\n {children}\n </div>\n </div>\n </div>\n <div className=\"os-scrollbar os-scrollbar-horizontal \">\n <div className=\"os-scrollbar-track\">\n <div className=\"os-scrollbar-handle\" />\n </div>\n </div>\n <div className=\"os-scrollbar os-scrollbar-vertical\">\n <div className=\"os-scrollbar-track\">\n <StyledHandle className=\"os-scrollbar-handle\"></StyledHandle>\n </div>\n </div>\n <div className=\"os-scrollbar-corner\" />\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AAMA,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe5B,MAAM,UAAmB;AAAA,EACvB,WAAW;AAAA,EACX,YAAY;AAAA,IACV,UAAU;AAAA,IACV,eAAe;AAAA;AAAA;AAIZ,MAAM,8BAAoF,CAAC,UAAU;AAC1G,QAAM,EAAE,aAAa;AAErB,QAAM,mBAAmB,EAAE,WAAW;AACtC,QAAM,CAAC,YAAY,iBAAiB;AACpC,QAAM,cAAc,OAAuB;AAE3C,YAAU,MAAM;AACd,UAAM,iBAAoC,kBAAkB,YAAY,SAAS;AACjF,kBAAc;AAAA,KACb,CAAC;AAEJ,SACE,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAU,OAAO,EAAE,QAAQ,WAAW;AAAA,IAAoB,UAAU;AAAA,IAAI,KAAK;AAAA,KAC1F,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,MACf,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAa,OAAO;AAAA,KACjC,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAc,OAAO;AAAA,KAClC,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAa,OAAO;AAAA,IAAkB,eAAW;AAAA,KAC7D,aAIP,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,QAGnB,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,cAAD;AAAA,IAAc,WAAU;AAAA,QAG5B,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,31 +1,29 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useContext } from
|
|
3
|
-
import { MenuExpand } from
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { useContext } from "react";
|
|
3
|
+
import { MenuExpand } from "@elliemae/ds-icons";
|
|
4
|
+
import { PropTypes } from "react-desc";
|
|
5
|
+
import Grid from "@elliemae/ds-grid";
|
|
6
|
+
import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
|
|
7
|
+
import {
|
|
8
|
+
StyledFooterMenu,
|
|
9
|
+
StyledItem,
|
|
10
|
+
StyledItemWrapper,
|
|
11
|
+
StyledLabel,
|
|
12
|
+
StyledSeparator,
|
|
13
|
+
StyledMenuCollapse
|
|
14
|
+
} from "./styled";
|
|
15
|
+
import { useKeyboardNavigation } from "../../hooks";
|
|
16
|
+
import LeftNavigationContext from "../../LeftNavigationContext";
|
|
17
|
+
import { FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from "../../exported-related/constants";
|
|
18
|
+
const LeftNavFooterItem = (props) => {
|
|
19
|
+
const { footerLabel, onFooterExpand = () => null, onFooterClose = () => null } = props;
|
|
14
20
|
const {
|
|
15
|
-
|
|
16
|
-
onFooterExpand = () => null,
|
|
17
|
-
onFooterClose = () => null
|
|
18
|
-
} = props;
|
|
19
|
-
const {
|
|
20
|
-
leftNavProps: {
|
|
21
|
-
labelOverflow,
|
|
22
|
-
openedItem
|
|
23
|
-
},
|
|
21
|
+
leftNavProps: { labelOverflow, openedItem },
|
|
24
22
|
expandedForAnimation,
|
|
25
23
|
setSelectedItem,
|
|
26
24
|
setFocusedItem,
|
|
27
25
|
visibleItemsRefs
|
|
28
|
-
} = useContext(
|
|
26
|
+
} = useContext(LeftNavigationContext);
|
|
29
27
|
const id = FOOTER_DS_ID;
|
|
30
28
|
const handleOnClick = expandedForAnimation ? onFooterClose : onFooterExpand;
|
|
31
29
|
const onKeyDown = useKeyboardNavigation({
|
|
@@ -39,60 +37,67 @@ const LeftNavFooterItem = props => {
|
|
|
39
37
|
},
|
|
40
38
|
onClick: handleOnClick
|
|
41
39
|
});
|
|
42
|
-
return
|
|
40
|
+
return /* @__PURE__ */ React2.createElement(StyledFooterMenu, {
|
|
41
|
+
key: id,
|
|
43
42
|
"data-testid": "leftnav-container"
|
|
44
|
-
},
|
|
43
|
+
}, /* @__PURE__ */ React2.createElement(StyledItemWrapper, null, /* @__PURE__ */ React2.createElement(StyledItem, {
|
|
45
44
|
ref: visibleItemsRefs.current[id],
|
|
46
45
|
tabIndex: expandedForAnimation ? -1 : 0,
|
|
47
46
|
expanded: expandedForAnimation,
|
|
48
47
|
pt: "xxs2",
|
|
49
|
-
height: expandedForAnimation ?
|
|
48
|
+
height: expandedForAnimation ? "auto" : "48px",
|
|
50
49
|
alignItems: "flex-start",
|
|
51
50
|
pl: "xxs",
|
|
52
|
-
cols: expandedForAnimation ? [
|
|
51
|
+
cols: expandedForAnimation ? ["auto", "1fr", "auto"] : ["38px"],
|
|
53
52
|
onClick: expandedForAnimation ? () => null : handleOnClick,
|
|
54
|
-
onKeyDown
|
|
53
|
+
onKeyDown,
|
|
55
54
|
onFocus: () => setFocusedItem(id),
|
|
56
55
|
"data-testid": "leftnav-item-container",
|
|
57
56
|
role: "menuitem",
|
|
58
|
-
"aria-label": expandedForAnimation ?
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
57
|
+
"aria-label": expandedForAnimation ? `Footer, ${footerLabel}` : `Expand left navigation`
|
|
58
|
+
}, !expandedForAnimation ? /* @__PURE__ */ React2.createElement(MenuExpand, {
|
|
59
|
+
size: "m",
|
|
60
|
+
color: ["brand-primary", 800],
|
|
61
|
+
"data-testid": "leftnav-footer-btn"
|
|
62
|
+
}) : /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(StyledLabel, {
|
|
63
|
+
mt: "5px",
|
|
64
|
+
mr: "12px",
|
|
65
|
+
mb: "16px",
|
|
66
|
+
"data-testid": "leftnav-itemlabel",
|
|
67
|
+
labelOverflow,
|
|
68
|
+
"aria-live": "polite"
|
|
69
|
+
}, labelOverflow === "truncate" ? /* @__PURE__ */ React2.createElement(SimpleTruncatedTooltipText, {
|
|
70
|
+
value: footerLabel,
|
|
71
|
+
placement: "bottom-start"
|
|
72
|
+
}) : footerLabel), /* @__PURE__ */ React2.createElement(StyledSeparator, {
|
|
73
|
+
mt: "xxxs"
|
|
74
|
+
}), /* @__PURE__ */ React2.createElement(Grid, {
|
|
75
|
+
m: "0 12px"
|
|
76
|
+
}, /* @__PURE__ */ React2.createElement(StyledMenuCollapse, {
|
|
77
|
+
size: "m",
|
|
78
|
+
color: ["brand-primary", 800],
|
|
79
|
+
onClick: (e) => {
|
|
80
|
+
e.stopPropagation();
|
|
81
|
+
handleOnClick(e);
|
|
82
|
+
},
|
|
83
|
+
"data-testid": "leftnav-footer-btn",
|
|
84
|
+
tabIndex: 0,
|
|
85
|
+
onFocus: (e) => {
|
|
86
|
+
e.stopPropagation();
|
|
87
|
+
setFocusedItem(FOOTER_MENU_CLOSE_DS_ID);
|
|
88
|
+
},
|
|
89
|
+
role: "button",
|
|
90
|
+
"aria-label": "Collapse left navigation"
|
|
91
|
+
}))))));
|
|
92
|
+
};
|
|
93
|
+
LeftNavFooterItem.propTypes = {
|
|
94
|
+
footerLabel: PropTypes.any,
|
|
95
|
+
onFooterExpand: PropTypes.func,
|
|
96
|
+
onFooterClose: PropTypes.func
|
|
97
|
+
};
|
|
98
|
+
var LeftNavFooterItem_default = LeftNavFooterItem;
|
|
99
|
+
export {
|
|
100
|
+
LeftNavFooterItem,
|
|
101
|
+
LeftNavFooterItem_default as default
|
|
96
102
|
};
|
|
97
|
-
|
|
98
|
-
export { LeftNavFooterItem, LeftNavFooterItem as default };
|
|
103
|
+
//# sourceMappingURL=index.js.map
|