@elliemae/ds-left-navigation 1.60.0 → 2.0.0-alpha.12
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 +11 -56
- package/cjs/LeftNavigationContext.js +12 -29
- package/cjs/common/getItemBackgroundStyle.js +2 -5
- package/cjs/common/getLeftBorderStyle.js +2 -5
- package/cjs/common/getScrollbarStyle.js +1 -4
- package/cjs/common/index.js +6 -7
- package/cjs/configs/index.js +3 -16
- package/cjs/configs/useLeftNavConfig.js +55 -92
- package/cjs/configs/useLeftNavItems.js +32 -30
- package/cjs/configs/useLeftNavSmoothExpand.js +13 -16
- package/cjs/exported-related/ChevronItem/index.js +17 -12
- package/cjs/exported-related/Icon/index.js +22 -18
- package/cjs/exported-related/ItemRenderer/index.js +99 -98
- package/cjs/exported-related/ItemRenderer/styled.js +26 -33
- package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +14 -16
- package/cjs/exported-related/Notifications/index.js +19 -20
- package/cjs/exported-related/OpenWindowItem/index.js +19 -16
- package/cjs/exported-related/constants.js +5 -6
- package/cjs/exported-related/index.js +16 -27
- package/cjs/hooks/index.js +6 -10
- package/cjs/hooks/useExpandableOnClickHandler.js +16 -15
- package/cjs/hooks/useKeyboardNavigation.js +39 -43
- package/cjs/hooks/useOpenableOnClickHandler.js +18 -16
- package/cjs/hooks/useSelectFirstBodyItem.js +16 -22
- package/cjs/index.d.js +0 -1
- package/cjs/index.js +17 -66
- package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +76 -64
- package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +9 -14
- package/cjs/outOfTheBox/ItemHeader/index.js +61 -69
- package/cjs/outOfTheBox/ItemHeader/styled.js +4 -11
- package/cjs/outOfTheBox/ItemLink/index.js +43 -48
- package/cjs/outOfTheBox/ItemLink/styled.js +2 -7
- package/cjs/outOfTheBox/ItemSection/index.js +40 -30
- package/cjs/outOfTheBox/ItemSection/styled.js +5 -14
- package/cjs/outOfTheBox/ItemSeparator/index.js +22 -24
- package/cjs/outOfTheBox/ItemSubmenu/index.js +63 -75
- package/cjs/outOfTheBox/ItemSubmenu/styled.js +4 -11
- package/cjs/outOfTheBox/ItemTextLabel/index.js +36 -25
- package/cjs/outOfTheBox/ItemTextLabel/styled.js +7 -10
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +86 -79
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +9 -14
- package/cjs/outOfTheBox/ItemWithDate/index.js +43 -32
- package/cjs/outOfTheBox/ItemWithDate/styled.js +9 -14
- package/cjs/outOfTheBox/index.js +50 -53
- package/cjs/parts/LeftNavContent/index.js +58 -90
- package/cjs/parts/LeftNavContent/styled.js +16 -27
- package/cjs/parts/LeftNavContentWithScrollbar/index.js +53 -48
- package/cjs/parts/LeftNavFooterItem/index.js +69 -83
- package/cjs/parts/LeftNavFooterItem/styled.js +14 -33
- package/cjs/parts/LeftNavLoading/index.js +9 -7
- package/cjs/parts/OutOfTheBoxMapItem.js +23 -42
- package/cjs/prop-types.js +10 -50
- package/esm/LeftNavigation.js +8 -53
- package/esm/LeftNavigationContext.js +11 -28
- package/esm/common/getItemBackgroundStyle.js +2 -5
- package/esm/common/getLeftBorderStyle.js +2 -5
- package/esm/common/getScrollbarStyle.js +1 -4
- package/esm/common/index.js +0 -1
- package/esm/configs/index.js +0 -13
- package/esm/configs/useLeftNavConfig.js +49 -85
- package/esm/configs/useLeftNavItems.js +27 -21
- package/esm/configs/useLeftNavSmoothExpand.js +12 -15
- package/esm/exported-related/ChevronItem/index.js +15 -9
- package/esm/exported-related/Icon/index.js +21 -16
- package/esm/exported-related/ItemRenderer/index.js +96 -95
- package/esm/exported-related/ItemRenderer/styled.js +25 -32
- package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +12 -14
- package/esm/exported-related/Notifications/index.js +17 -18
- package/esm/exported-related/OpenWindowItem/index.js +17 -13
- package/esm/exported-related/constants.js +5 -6
- package/esm/exported-related/index.js +0 -11
- package/esm/hooks/index.js +0 -4
- package/esm/hooks/useExpandableOnClickHandler.js +16 -15
- package/esm/hooks/useKeyboardNavigation.js +36 -40
- package/esm/hooks/useOpenableOnClickHandler.js +18 -16
- package/esm/hooks/useSelectFirstBodyItem.js +15 -21
- package/esm/index.d.js +0 -1
- package/esm/index.js +0 -49
- package/esm/outOfTheBox/ItemControlledDrilldown/index.js +69 -57
- package/esm/outOfTheBox/ItemControlledDrilldown/styled.js +9 -14
- package/esm/outOfTheBox/ItemHeader/index.js +56 -64
- package/esm/outOfTheBox/ItemHeader/styled.js +4 -11
- package/esm/outOfTheBox/ItemLink/index.js +40 -45
- package/esm/outOfTheBox/ItemLink/styled.js +2 -7
- package/esm/outOfTheBox/ItemSection/index.js +36 -26
- package/esm/outOfTheBox/ItemSection/styled.js +5 -14
- package/esm/outOfTheBox/ItemSeparator/index.js +19 -21
- package/esm/outOfTheBox/ItemSubmenu/index.js +58 -70
- package/esm/outOfTheBox/ItemSubmenu/styled.js +4 -11
- package/esm/outOfTheBox/ItemTextLabel/index.js +32 -21
- package/esm/outOfTheBox/ItemTextLabel/styled.js +7 -10
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +78 -70
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +9 -14
- package/esm/outOfTheBox/ItemWithDate/index.js +39 -28
- package/esm/outOfTheBox/ItemWithDate/styled.js +9 -14
- package/esm/outOfTheBox/index.js +31 -30
- package/esm/parts/LeftNavContent/index.js +52 -85
- package/esm/parts/LeftNavContent/styled.js +16 -27
- package/esm/parts/LeftNavContentWithScrollbar/index.js +52 -46
- package/esm/parts/LeftNavFooterItem/index.js +65 -79
- package/esm/parts/LeftNavFooterItem/styled.js +12 -31
- package/esm/parts/LeftNavLoading/index.js +8 -6
- package/esm/parts/OutOfTheBoxMapItem.js +18 -38
- package/esm/prop-types.js +8 -48
- package/package.json +235 -16
- package/types/LeftNavigation.d.ts +55 -0
- package/types/LeftNavigationContext.d.ts +18 -0
- package/types/common/getItemBackgroundStyle.d.ts +5 -0
- package/types/common/getLeftBorderStyle.d.ts +4 -0
- package/types/common/getScrollbarStyle.d.ts +1 -0
- package/types/common/index.d.ts +3 -0
- package/types/configs/index.d.ts +3 -0
- package/types/configs/useLeftNavConfig.d.ts +4 -0
- package/types/configs/useLeftNavItems.d.ts +12 -0
- package/types/configs/useLeftNavSmoothExpand.d.ts +10 -0
- package/types/exported-related/ChevronItem/index.d.ts +3 -0
- package/types/exported-related/Icon/index.d.ts +5 -0
- package/types/exported-related/ItemRenderer/index.d.ts +3 -0
- package/types/exported-related/ItemRenderer/styled.d.ts +16 -0
- package/types/exported-related/ItemRenderer/usePropsWithDefaults.d.ts +2 -0
- package/types/exported-related/Notifications/index.d.ts +8 -0
- package/types/exported-related/OpenWindowItem/index.d.ts +3 -0
- package/types/exported-related/constants.d.ts +19 -0
- package/types/exported-related/index.d.ts +6 -0
- package/types/hooks/index.d.ts +3 -0
- package/types/hooks/useExpandableOnClickHandler.d.ts +9 -0
- package/types/hooks/useKeyboardNavigation.d.ts +8 -0
- package/types/hooks/useOpenableOnClickHandler.d.ts +10 -0
- package/types/hooks/useSelectFirstBodyItem.d.ts +3 -0
- package/types/index.d.d.ts +74 -0
- package/types/index.d.ts +3 -0
- package/types/outOfTheBox/ItemControlledDrilldown/index.d.ts +3 -0
- package/types/outOfTheBox/ItemControlledDrilldown/styled.d.ts +5 -0
- package/types/outOfTheBox/ItemHeader/index.d.ts +3 -0
- package/types/outOfTheBox/ItemHeader/styled.d.ts +3 -0
- package/types/outOfTheBox/ItemLink/index.d.ts +3 -0
- package/types/outOfTheBox/ItemLink/styled.d.ts +2 -0
- package/types/outOfTheBox/ItemSection/index.d.ts +3 -0
- package/types/outOfTheBox/ItemSection/styled.d.ts +3 -0
- package/types/outOfTheBox/ItemSeparator/index.d.ts +3 -0
- package/types/outOfTheBox/ItemSubmenu/index.d.ts +3 -0
- package/types/outOfTheBox/ItemSubmenu/styled.d.ts +3 -0
- package/types/outOfTheBox/ItemTextLabel/index.d.ts +3 -0
- package/types/outOfTheBox/ItemTextLabel/styled.d.ts +2 -0
- package/types/outOfTheBox/ItemUncontrolledDrilldown/index.d.ts +3 -0
- package/types/outOfTheBox/ItemUncontrolledDrilldown/styled.d.ts +5 -0
- package/types/outOfTheBox/ItemWithDate/index.d.ts +3 -0
- package/types/outOfTheBox/ItemWithDate/styled.d.ts +5 -0
- package/types/outOfTheBox/index.d.ts +13 -0
- package/types/parts/LeftNavContent/index.d.ts +3 -0
- package/types/parts/LeftNavContent/styled.d.ts +14 -0
- package/types/parts/LeftNavContentWithScrollbar/index.d.ts +6 -0
- package/types/parts/LeftNavFooterItem/index.d.ts +8 -0
- package/types/parts/LeftNavFooterItem/styled.d.ts +14 -0
- package/types/parts/LeftNavLoading/index.d.ts +4 -0
- package/types/parts/OutOfTheBoxMapItem.d.ts +3 -0
- package/types/prop-types.d.ts +91 -0
- package/types/tests/LeftNavigation.collapsed.test.d.ts +1 -0
- package/types/tests/LeftNavigation.expanded.test.d.ts +1 -0
- package/types/tests/LeftNavigation.opened.test.d.ts +1 -0
- package/types/tests/events/LeftNavigation.events.keyboard.test.d.ts +1 -0
- package/types/tests/events/LeftNavigation.events.subitems.test.d.ts +1 -0
- package/types/tests/events/LeftNavigation.events.test.d.ts +1 -0
- package/types/tests/events/LeftNavigation.focus.events.test.d.ts +1 -0
- package/LeftNavigation/package.json +0 -10
- package/LeftNavigationContext/package.json +0 -10
- package/cjs/LeftNavigation.js.map +0 -1
- package/cjs/LeftNavigationContext.js.map +0 -1
- package/cjs/common/getItemBackgroundStyle.js.map +0 -1
- package/cjs/common/getLeftBorderStyle.js.map +0 -1
- package/cjs/common/getScrollbarStyle.js.map +0 -1
- package/cjs/common/index.js.map +0 -1
- package/cjs/configs/index.js.map +0 -1
- package/cjs/configs/useLeftNavConfig.js.map +0 -1
- package/cjs/configs/useLeftNavItems.js.map +0 -1
- package/cjs/configs/useLeftNavSmoothExpand.js.map +0 -1
- package/cjs/exported-related/ChevronItem/index.js.map +0 -1
- package/cjs/exported-related/Icon/index.js.map +0 -1
- package/cjs/exported-related/ItemRenderer/index.js.map +0 -1
- package/cjs/exported-related/ItemRenderer/styled.js.map +0 -1
- package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +0 -1
- package/cjs/exported-related/Notifications/index.js.map +0 -1
- package/cjs/exported-related/OpenWindowItem/index.js.map +0 -1
- package/cjs/exported-related/constants.js.map +0 -1
- package/cjs/exported-related/index.js.map +0 -1
- package/cjs/hooks/index.js.map +0 -1
- package/cjs/hooks/useExpandableOnClickHandler.js.map +0 -1
- package/cjs/hooks/useKeyboardNavigation.js.map +0 -1
- package/cjs/hooks/useOpenableOnClickHandler.js.map +0 -1
- package/cjs/hooks/useSelectFirstBodyItem.js.map +0 -1
- package/cjs/index.d.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemHeader/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemHeader/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemLink/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemLink/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemSection/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemSection/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemSeparator/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemSubmenu/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemSubmenu/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemTextLabel/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemTextLabel/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +0 -1
- package/cjs/outOfTheBox/ItemWithDate/index.js.map +0 -1
- package/cjs/outOfTheBox/ItemWithDate/styled.js.map +0 -1
- package/cjs/outOfTheBox/index.js.map +0 -1
- package/cjs/parts/LeftNavContent/index.js.map +0 -1
- package/cjs/parts/LeftNavContent/styled.js.map +0 -1
- package/cjs/parts/LeftNavContentWithScrollbar/index.js.map +0 -1
- package/cjs/parts/LeftNavFooterItem/index.js.map +0 -1
- package/cjs/parts/LeftNavFooterItem/styled.js.map +0 -1
- package/cjs/parts/LeftNavLoading/index.js.map +0 -1
- package/cjs/parts/OutOfTheBoxMapItem.js.map +0 -1
- package/cjs/prop-types.js.map +0 -1
- package/common/getItemBackgroundStyle/package.json +0 -10
- package/common/getLeftBorderStyle/package.json +0 -10
- package/common/getScrollbarStyle/package.json +0 -10
- package/common/package.json +0 -10
- package/configs/package.json +0 -10
- package/configs/useLeftNavConfig/package.json +0 -10
- package/configs/useLeftNavItems/package.json +0 -10
- package/configs/useLeftNavSmoothExpand/package.json +0 -10
- package/esm/LeftNavigation.js.map +0 -1
- package/esm/LeftNavigationContext.js.map +0 -1
- package/esm/common/getItemBackgroundStyle.js.map +0 -1
- package/esm/common/getLeftBorderStyle.js.map +0 -1
- package/esm/common/getScrollbarStyle.js.map +0 -1
- package/esm/common/index.js.map +0 -1
- package/esm/configs/index.js.map +0 -1
- package/esm/configs/useLeftNavConfig.js.map +0 -1
- package/esm/configs/useLeftNavItems.js.map +0 -1
- package/esm/configs/useLeftNavSmoothExpand.js.map +0 -1
- package/esm/exported-related/ChevronItem/index.js.map +0 -1
- package/esm/exported-related/Icon/index.js.map +0 -1
- package/esm/exported-related/ItemRenderer/index.js.map +0 -1
- package/esm/exported-related/ItemRenderer/styled.js.map +0 -1
- package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +0 -1
- package/esm/exported-related/Notifications/index.js.map +0 -1
- package/esm/exported-related/OpenWindowItem/index.js.map +0 -1
- package/esm/exported-related/constants.js.map +0 -1
- package/esm/exported-related/index.js.map +0 -1
- package/esm/hooks/index.js.map +0 -1
- package/esm/hooks/useExpandableOnClickHandler.js.map +0 -1
- package/esm/hooks/useKeyboardNavigation.js.map +0 -1
- package/esm/hooks/useOpenableOnClickHandler.js.map +0 -1
- package/esm/hooks/useSelectFirstBodyItem.js.map +0 -1
- package/esm/index.d.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +0 -1
- package/esm/outOfTheBox/ItemControlledDrilldown/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemHeader/index.js.map +0 -1
- package/esm/outOfTheBox/ItemHeader/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemLink/index.js.map +0 -1
- package/esm/outOfTheBox/ItemLink/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemSection/index.js.map +0 -1
- package/esm/outOfTheBox/ItemSection/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemSeparator/index.js.map +0 -1
- package/esm/outOfTheBox/ItemSubmenu/index.js.map +0 -1
- package/esm/outOfTheBox/ItemSubmenu/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemTextLabel/index.js.map +0 -1
- package/esm/outOfTheBox/ItemTextLabel/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +0 -1
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +0 -1
- package/esm/outOfTheBox/ItemWithDate/index.js.map +0 -1
- package/esm/outOfTheBox/ItemWithDate/styled.js.map +0 -1
- package/esm/outOfTheBox/index.js.map +0 -1
- package/esm/parts/LeftNavContent/index.js.map +0 -1
- package/esm/parts/LeftNavContent/styled.js.map +0 -1
- package/esm/parts/LeftNavContentWithScrollbar/index.js.map +0 -1
- package/esm/parts/LeftNavFooterItem/index.js.map +0 -1
- package/esm/parts/LeftNavFooterItem/styled.js.map +0 -1
- package/esm/parts/LeftNavLoading/index.js.map +0 -1
- package/esm/parts/OutOfTheBoxMapItem.js.map +0 -1
- package/esm/prop-types.js.map +0 -1
- package/exported-related/ChevronItem/package.json +0 -10
- package/exported-related/Icon/package.json +0 -10
- package/exported-related/ItemRenderer/package.json +0 -10
- package/exported-related/ItemRenderer/styled/package.json +0 -10
- package/exported-related/ItemRenderer/usePropsWithDefaults/package.json +0 -10
- package/exported-related/Notifications/package.json +0 -10
- package/exported-related/OpenWindowItem/package.json +0 -10
- package/exported-related/constants/package.json +0 -10
- package/exported-related/package.json +0 -10
- package/hooks/package.json +0 -10
- package/hooks/useExpandableOnClickHandler/package.json +0 -10
- package/hooks/useKeyboardNavigation/package.json +0 -10
- package/hooks/useOpenableOnClickHandler/package.json +0 -10
- package/hooks/useSelectFirstBodyItem/package.json +0 -10
- package/outOfTheBox/ItemControlledDrilldown/package.json +0 -10
- package/outOfTheBox/ItemControlledDrilldown/styled/package.json +0 -10
- package/outOfTheBox/ItemHeader/package.json +0 -10
- package/outOfTheBox/ItemHeader/styled/package.json +0 -10
- package/outOfTheBox/ItemLink/package.json +0 -10
- package/outOfTheBox/ItemLink/styled/package.json +0 -10
- package/outOfTheBox/ItemSection/package.json +0 -10
- package/outOfTheBox/ItemSection/styled/package.json +0 -10
- package/outOfTheBox/ItemSeparator/package.json +0 -10
- package/outOfTheBox/ItemSubmenu/package.json +0 -10
- package/outOfTheBox/ItemSubmenu/styled/package.json +0 -10
- package/outOfTheBox/ItemTextLabel/package.json +0 -10
- package/outOfTheBox/ItemTextLabel/styled/package.json +0 -10
- package/outOfTheBox/ItemUncontrolledDrilldown/package.json +0 -10
- package/outOfTheBox/ItemUncontrolledDrilldown/styled/package.json +0 -10
- package/outOfTheBox/ItemWithDate/package.json +0 -10
- package/outOfTheBox/ItemWithDate/styled/package.json +0 -10
- package/outOfTheBox/package.json +0 -10
- package/parts/LeftNavContent/package.json +0 -10
- package/parts/LeftNavContent/styled/package.json +0 -10
- package/parts/LeftNavContentWithScrollbar/package.json +0 -10
- package/parts/LeftNavFooterItem/package.json +0 -10
- package/parts/LeftNavFooterItem/styled/package.json +0 -10
- package/parts/LeftNavLoading/package.json +0 -10
- package/parts/OutOfTheBoxMapItem/package.json +0 -10
- package/prop-types/package.json +0 -10
|
@@ -2,53 +2,46 @@ import Grid from '@elliemae/ds-grid';
|
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
|
|
4
4
|
/* eslint-disable indent */
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const borderOutside = function (color) {
|
|
6
|
+
let weight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
7
7
|
return "&:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ".concat(weight, "px solid ").concat(color, ";\n pointer-events: none;\n}");
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
const StyledItemWrapper = /*#__PURE__*/styled(Grid).withConfig({
|
|
10
10
|
componentId: "sc-11wzgfh-0"
|
|
11
|
-
})(["position:relative;", ""],
|
|
12
|
-
return props.shadowStyle(props.theme);
|
|
13
|
-
});
|
|
11
|
+
})(["position:relative;", ""], props => props.shadowStyle(props.theme));
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
const getItemBackground = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
selectable,
|
|
16
|
+
opened,
|
|
17
|
+
selected,
|
|
18
|
+
theme
|
|
19
|
+
} = _ref;
|
|
20
20
|
if (!selectable) return 'white';
|
|
21
21
|
if (selected && !opened) return theme.colors.brand[200];
|
|
22
22
|
return theme.colors.neutral['000'];
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
const getItemHoverBackground = _ref2 => {
|
|
26
|
+
let {
|
|
27
|
+
selectable,
|
|
28
|
+
opened,
|
|
29
|
+
selected,
|
|
30
|
+
theme
|
|
31
|
+
} = _ref2;
|
|
30
32
|
if (!selectable) return 'white';
|
|
31
33
|
if (selected && !opened) return theme.colors.brand[200];
|
|
32
34
|
return theme.colors.brand['200'];
|
|
33
35
|
};
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
const StyledItem = /*#__PURE__*/styled(Grid).withConfig({
|
|
36
38
|
componentId: "sc-11wzgfh-1"
|
|
37
|
-
})(["cursor:", ";min-height:", ";background:", ";", ":hover{background:", ";}:active{background:", ";}", ";outline:none;", ""],
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
return props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '';
|
|
43
|
-
}, getItemHoverBackground, function (_ref3) {
|
|
44
|
-
var selectable = _ref3.selectable,
|
|
45
|
-
theme = _ref3.theme;
|
|
39
|
+
})(["cursor:", ";min-height:", ";background:", ";", ":hover{background:", ";}:active{background:", ";}", ";outline:none;", ""], props => props.selectable && !props.opened ? 'pointer' : 'auto', props => props.minHeight, getItemBackground, props => props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '', getItemHoverBackground, _ref3 => {
|
|
40
|
+
let {
|
|
41
|
+
selectable,
|
|
42
|
+
theme
|
|
43
|
+
} = _ref3;
|
|
46
44
|
return selectable ? theme.colors.brand[200] : 'white';
|
|
47
|
-
},
|
|
48
|
-
return props.shadowStyle(props.theme);
|
|
49
|
-
}, function (props) {
|
|
50
|
-
return props.tabIndex !== -1 ? ":focus {\n ".concat(borderOutside(props.theme.colors.brand[700]), "\n }") : '';
|
|
51
|
-
});
|
|
45
|
+
}, props => props.shadowStyle(props.theme), props => props.tabIndex !== -1 ? ":focus {\n ".concat(borderOutside(props.theme.colors.brand[700]), "\n }") : '');
|
|
52
46
|
|
|
53
47
|
export { StyledItem, StyledItemWrapper, borderOutside };
|
|
54
|
-
//# sourceMappingURL=styled.js.map
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
7
|
import { useMemo } from 'react';
|
|
3
8
|
|
|
4
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
5
10
|
|
|
6
11
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
7
|
-
|
|
12
|
+
const itemDefaultProps = {
|
|
8
13
|
label: '',
|
|
9
14
|
labelOverflow: 'truncate',
|
|
10
15
|
selectable: true,
|
|
@@ -17,14 +22,12 @@ var itemDefaultProps = {
|
|
|
17
22
|
ariaExpanded: undefined,
|
|
18
23
|
ariaDescribedBy: undefined
|
|
19
24
|
};
|
|
20
|
-
|
|
25
|
+
const itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu']; // Make use Item props with defaults
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
CollapsedComponent:
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
27
|
+
const usePropsWithDefaults = props => {
|
|
28
|
+
const propsWithDefault = useMemo(() => {
|
|
29
|
+
const itemWithDefaults = _objectSpread(_objectSpread({
|
|
30
|
+
CollapsedComponent: () => null
|
|
28
31
|
}, props.item), {}, {
|
|
29
32
|
itemOpts: _objectSpread(_objectSpread({}, itemDefaultProps), props.item.itemOpts)
|
|
30
33
|
});
|
|
@@ -33,11 +36,7 @@ var usePropsWithDefaults = function usePropsWithDefaults(props) {
|
|
|
33
36
|
minHeight: '48px',
|
|
34
37
|
paddingTop: '12px',
|
|
35
38
|
subitems: [],
|
|
36
|
-
shadowStyle:
|
|
37
|
-
return function (theme) {
|
|
38
|
-
return "box-shadow: ".concat(opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white');
|
|
39
|
-
};
|
|
40
|
-
},
|
|
39
|
+
shadowStyle: (opened, type) => theme => "box-shadow: ".concat(opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white'),
|
|
41
40
|
hasBorderBottom: false,
|
|
42
41
|
borderBottomMr: '0px'
|
|
43
42
|
}, props), {}, {
|
|
@@ -48,4 +47,3 @@ var usePropsWithDefaults = function usePropsWithDefaults(props) {
|
|
|
48
47
|
};
|
|
49
48
|
|
|
50
49
|
export { usePropsWithDefaults };
|
|
51
|
-
//# sourceMappingURL=usePropsWithDefaults.js.map
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
|
+
import 'react';
|
|
2
3
|
import { Notifications as Notifications$1, ExceptionsSmallFill, AlertsSmallFill, MessagesSmallFill } from '@elliemae/ds-icons';
|
|
3
4
|
import styled from 'styled-components';
|
|
4
5
|
import Grid from '@elliemae/ds-grid';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
const StyledIcon = /*#__PURE__*/styled.div.withConfig({
|
|
7
8
|
componentId: "sc-hasbsd-0"
|
|
8
9
|
})(["display:flex;flex-direction:column;align-items:center;"]);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return /*#__PURE__*/React.createElement(StyledIcon, null, /*#__PURE__*/React.createElement(Notifications$1, {
|
|
10
|
+
const Notifications = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
exceptions = false,
|
|
13
|
+
alerts = false,
|
|
14
|
+
messages = false
|
|
15
|
+
} = _ref;
|
|
16
|
+
return /*#__PURE__*/_jsx(StyledIcon, {}, void 0, /*#__PURE__*/_jsx(Notifications$1, {
|
|
17
17
|
size: "m",
|
|
18
18
|
color: ['brand-primary', 800],
|
|
19
19
|
"data-testid": "left-nav-notifications-icon"
|
|
20
|
-
}), (exceptions || alerts || messages) && /*#__PURE__*/
|
|
20
|
+
}), (exceptions || alerts || messages) && /*#__PURE__*/_jsx(Grid, {
|
|
21
21
|
cols: ['1fr', '1fr', '1fr'],
|
|
22
22
|
gutter: "xxxs",
|
|
23
23
|
mt: "2px"
|
|
24
|
-
}, /*#__PURE__*/
|
|
24
|
+
}, void 0, /*#__PURE__*/_jsx(Grid, {
|
|
25
25
|
width: "6px",
|
|
26
26
|
height: "6px",
|
|
27
27
|
"data-testid": "left-nav-exceptions-icon"
|
|
28
|
-
}, exceptions && /*#__PURE__*/
|
|
28
|
+
}, void 0, exceptions && /*#__PURE__*/_jsx(ExceptionsSmallFill, {
|
|
29
29
|
width: "6px",
|
|
30
30
|
height: "6px",
|
|
31
31
|
color: ['warning', 900]
|
|
32
|
-
})), /*#__PURE__*/
|
|
32
|
+
})), /*#__PURE__*/_jsx(Grid, {
|
|
33
33
|
width: "6px",
|
|
34
34
|
height: "6px",
|
|
35
35
|
"data-testid": "left-nav-alerts-icon"
|
|
36
|
-
}, alerts && /*#__PURE__*/
|
|
36
|
+
}, void 0, alerts && /*#__PURE__*/_jsx(AlertsSmallFill, {
|
|
37
37
|
width: "6px",
|
|
38
38
|
height: "6px",
|
|
39
39
|
color: ['danger', 900]
|
|
40
|
-
})), /*#__PURE__*/
|
|
40
|
+
})), /*#__PURE__*/_jsx(Grid, {
|
|
41
41
|
width: "6px",
|
|
42
42
|
height: "6px",
|
|
43
43
|
"data-testid": "left-nav-messages-icon"
|
|
44
|
-
}, messages && /*#__PURE__*/
|
|
44
|
+
}, void 0, messages && /*#__PURE__*/_jsx(MessagesSmallFill, {
|
|
45
45
|
width: "6px",
|
|
46
46
|
height: "6px",
|
|
47
47
|
color: ['success', 900]
|
|
@@ -49,4 +49,3 @@ var Notifications = function Notifications(_ref) {
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export { Notifications, Notifications as default };
|
|
52
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
6
|
+
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
+
import 'react';
|
|
3
8
|
import styled from 'styled-components';
|
|
4
9
|
import { OpenWindow as OpenWindow$1 } from '@elliemae/ds-icons';
|
|
10
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
11
|
|
|
6
|
-
var
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
|
+
const StyledOpenWindow = /*#__PURE__*/styled(OpenWindow$1).withConfig({
|
|
7
16
|
componentId: "sc-g53ios-0"
|
|
8
|
-
})(["cursor:pointer;:focus{outline:1px solid ", ";}"],
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
size: "s",
|
|
14
|
-
color: ['brand-primary', 800]
|
|
15
|
-
}, props));
|
|
16
|
-
};
|
|
17
|
+
})(["cursor:pointer;:focus{outline:1px solid ", ";}"], props => props.theme.colors.brand[800]);
|
|
18
|
+
const OpenWindow = props => /*#__PURE__*/jsx(StyledOpenWindow, _objectSpread({
|
|
19
|
+
size: "s",
|
|
20
|
+
color: ['brand-primary', 800]
|
|
21
|
+
}, props));
|
|
17
22
|
|
|
18
23
|
export { OpenWindow, OpenWindow as default };
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
const LABEL_OVERFLOW = {
|
|
2
2
|
WRAP: 'wrap',
|
|
3
3
|
WRAP_ALL: 'wrapAll',
|
|
4
4
|
TRUNCATE: 'truncate'
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
const ITEM_TYPES = {
|
|
7
7
|
LEFT_NAV_ITEM_HEADER: 'ds-left-nav-item-header',
|
|
8
8
|
LEFT_NAV_ITEM_LINK: 'ds-left-nav-item-link',
|
|
9
9
|
LEFT_NAV_ITEM_SUBMENU: 'ds-left-nav-item-submenu',
|
|
@@ -14,9 +14,8 @@ var ITEM_TYPES = {
|
|
|
14
14
|
LEFT_NAV_ITEM_TEXT_LABEL: 'ds-left-nav-item-text-label',
|
|
15
15
|
LEFT_NAV_ITEM_WITH_DATE: 'ds-left-nav-item-with-date'
|
|
16
16
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const FOOTER_DS_ID = 'ds-left-nav-__internal__-footer';
|
|
18
|
+
const FOOTER_MENU_CLOSE_DS_ID = 'ds-left-nav-__internal__-footer-menu-close';
|
|
19
|
+
const CHEVRON_BACK_DS_ID = 'ds-left-nav-__internal__-chevron-back';
|
|
20
20
|
|
|
21
21
|
export { CHEVRON_BACK_DS_ID, FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID, ITEM_TYPES, LABEL_OVERFLOW };
|
|
22
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -4,14 +4,3 @@ export { ChevronItem } from './ChevronItem/index.js';
|
|
|
4
4
|
export { Notifications } from './Notifications/index.js';
|
|
5
5
|
export { OpenWindow } from './OpenWindowItem/index.js';
|
|
6
6
|
export { Icon } from './Icon/index.js';
|
|
7
|
-
import 'react';
|
|
8
|
-
import '@elliemae/ds-grid';
|
|
9
|
-
import './ItemRenderer/styled.js';
|
|
10
|
-
import 'styled-components';
|
|
11
|
-
import '../LeftNavigationContext.js';
|
|
12
|
-
import './ItemRenderer/usePropsWithDefaults.js';
|
|
13
|
-
import '@babel/runtime/helpers/esm/defineProperty';
|
|
14
|
-
import '../hooks/useKeyboardNavigation.js';
|
|
15
|
-
import '@babel/runtime/helpers/esm/extends';
|
|
16
|
-
import '@elliemae/ds-icons';
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
package/esm/hooks/index.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
export { useOpenableOnClickHandler } from './useOpenableOnClickHandler.js';
|
|
2
2
|
export { useExpandableOnClickHandler } from './useExpandableOnClickHandler.js';
|
|
3
3
|
export { useKeyboardNavigation } from './useKeyboardNavigation.js';
|
|
4
|
-
import 'react';
|
|
5
|
-
import '../LeftNavigationContext.js';
|
|
6
|
-
import '../exported-related/constants.js';
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
import { useContext, useCallback } from 'react';
|
|
2
2
|
import { LeftNavContext } from '../LeftNavigationContext.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
const useExpandableOnClickHandler = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
id,
|
|
7
|
+
onExpand,
|
|
8
|
+
onOpen,
|
|
9
|
+
selectable = true
|
|
10
|
+
} = _ref;
|
|
11
|
+
const {
|
|
12
|
+
leftNavProps: {
|
|
13
|
+
expanded
|
|
14
|
+
},
|
|
15
|
+
setSelectedItem
|
|
16
|
+
} = useContext(LeftNavContext);
|
|
17
|
+
const handleOnExpand = useCallback(e => {
|
|
16
18
|
onExpand(e);
|
|
17
19
|
if (selectable) setSelectedItem(id);
|
|
18
20
|
}, [id, onExpand, setSelectedItem, selectable]);
|
|
19
|
-
|
|
21
|
+
const handleOnOpen = useCallback(e => {
|
|
20
22
|
onOpen(e);
|
|
21
23
|
if (selectable) setSelectedItem(id);
|
|
22
24
|
}, [id, onOpen, setSelectedItem, selectable]);
|
|
23
|
-
|
|
25
|
+
const handleOnClick = useCallback(e => {
|
|
24
26
|
if (!expanded) handleOnExpand(e);else handleOnOpen(e);
|
|
25
27
|
}, [expanded, handleOnExpand, handleOnOpen]);
|
|
26
28
|
return handleOnClick;
|
|
27
29
|
};
|
|
28
30
|
|
|
29
31
|
export { useExpandableOnClickHandler };
|
|
30
|
-
//# sourceMappingURL=useExpandableOnClickHandler.js.map
|
|
@@ -3,7 +3,7 @@ import { CHEVRON_BACK_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from '../exported-related
|
|
|
3
3
|
import { LeftNavContext } from '../LeftNavigationContext.js';
|
|
4
4
|
|
|
5
5
|
/* eslint-disable max-statements */
|
|
6
|
-
|
|
6
|
+
const KEY_CODES = {
|
|
7
7
|
TAB: 9,
|
|
8
8
|
ENTER: 13,
|
|
9
9
|
SPACE: 32,
|
|
@@ -15,49 +15,46 @@ var KEY_CODES = {
|
|
|
15
15
|
HOME: 36
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
setFocusedItem = _useContext2.setFocusedItem,
|
|
47
|
-
focusedItem = _useContext2.focusedItem,
|
|
48
|
-
setSelectedItem = _useContext2.setSelectedItem;
|
|
49
|
-
|
|
50
|
-
var focusAndSelect = useCallback(function (nextDsId) {
|
|
18
|
+
const nextIndex = (index, length) => (index + 1) % length;
|
|
19
|
+
|
|
20
|
+
const prevIndex = (index, length) => (index - 1 + length) % length;
|
|
21
|
+
|
|
22
|
+
const useKeyboardNavigation = _ref => {
|
|
23
|
+
let {
|
|
24
|
+
item,
|
|
25
|
+
onClick
|
|
26
|
+
} = _ref;
|
|
27
|
+
const {
|
|
28
|
+
dsId,
|
|
29
|
+
itemOpts: {
|
|
30
|
+
selectable,
|
|
31
|
+
openable,
|
|
32
|
+
closable
|
|
33
|
+
}
|
|
34
|
+
} = item;
|
|
35
|
+
const {
|
|
36
|
+
visibleItems,
|
|
37
|
+
visibleItemsRefs
|
|
38
|
+
} = useContext(LeftNavContext);
|
|
39
|
+
const currentIndex = useMemo(() => visibleItems.findIndex(visibleItemDsId => visibleItemDsId === dsId), [dsId, visibleItems]);
|
|
40
|
+
const {
|
|
41
|
+
setFocusedItem,
|
|
42
|
+
focusedItem,
|
|
43
|
+
setSelectedItem
|
|
44
|
+
} = useContext(LeftNavContext);
|
|
45
|
+
const focusAndSelect = useCallback(nextDsId => {
|
|
51
46
|
setFocusedItem(nextDsId);
|
|
52
47
|
setSelectedItem(nextDsId);
|
|
53
48
|
}, [setFocusedItem, setSelectedItem]);
|
|
54
|
-
useLayoutEffect(
|
|
49
|
+
useLayoutEffect(() => {
|
|
55
50
|
var _visibleItemsRefs$cur, _visibleItemsRefs$cur2;
|
|
56
51
|
|
|
57
52
|
if (dsId === focusedItem) (_visibleItemsRefs$cur = visibleItemsRefs.current[dsId]) === null || _visibleItemsRefs$cur === void 0 ? void 0 : (_visibleItemsRefs$cur2 = _visibleItemsRefs$cur.current) === null || _visibleItemsRefs$cur2 === void 0 ? void 0 : _visibleItemsRefs$cur2.focus();
|
|
58
53
|
}, [dsId, focusedItem, visibleItemsRefs]);
|
|
59
|
-
|
|
60
|
-
|
|
54
|
+
const onKeyDown = useCallback(e => {
|
|
55
|
+
const {
|
|
56
|
+
keyCode
|
|
57
|
+
} = e; // Prevent default behaviour when not tab
|
|
61
58
|
|
|
62
59
|
if (keyCode !== KEY_CODES.TAB) {
|
|
63
60
|
e.preventDefault();
|
|
@@ -86,12 +83,12 @@ var useKeyboardNavigation = function useKeyboardNavigation(_ref) {
|
|
|
86
83
|
}
|
|
87
84
|
|
|
88
85
|
if (keyCode === KEY_CODES.DOWN_ARROW) {
|
|
89
|
-
|
|
86
|
+
const nextDsId = visibleItems[nextIndex(currentIndex, visibleItems.length)];
|
|
90
87
|
setFocusedItem(nextDsId);
|
|
91
88
|
}
|
|
92
89
|
|
|
93
90
|
if (keyCode === KEY_CODES.UP_ARROW) {
|
|
94
|
-
|
|
91
|
+
const prevDsId = visibleItems[prevIndex(currentIndex, visibleItems.length)];
|
|
95
92
|
setFocusedItem(prevDsId);
|
|
96
93
|
}
|
|
97
94
|
|
|
@@ -107,4 +104,3 @@ var useKeyboardNavigation = function useKeyboardNavigation(_ref) {
|
|
|
107
104
|
};
|
|
108
105
|
|
|
109
106
|
export { useKeyboardNavigation };
|
|
110
|
-
//# sourceMappingURL=useKeyboardNavigation.js.map
|
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
import { useContext, useCallback } from 'react';
|
|
2
2
|
import { LeftNavContext } from '../LeftNavigationContext.js';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
const useOpenableOnClickHandler = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
id,
|
|
7
|
+
opened,
|
|
8
|
+
onExpand,
|
|
9
|
+
onOpen,
|
|
10
|
+
onClose
|
|
11
|
+
} = _ref;
|
|
12
|
+
const {
|
|
13
|
+
leftNavProps: {
|
|
14
|
+
expanded
|
|
15
|
+
},
|
|
16
|
+
setSelectedItem
|
|
17
|
+
} = useContext(LeftNavContext);
|
|
18
|
+
const handleOnExpand = useCallback(e => {
|
|
16
19
|
onExpand(e);
|
|
17
20
|
setSelectedItem(id);
|
|
18
21
|
}, [id, onExpand, setSelectedItem]);
|
|
19
|
-
|
|
22
|
+
const handleOnOpen = useCallback(e => {
|
|
20
23
|
onOpen(e);
|
|
21
24
|
setSelectedItem(id);
|
|
22
25
|
}, [id, onOpen, setSelectedItem]);
|
|
23
|
-
|
|
26
|
+
const handleOnClose = useCallback(e => {
|
|
24
27
|
onClose(e);
|
|
25
28
|
setSelectedItem(id);
|
|
26
29
|
}, [id, onClose, setSelectedItem]);
|
|
27
|
-
|
|
30
|
+
const handleOnClick = useCallback(e => {
|
|
28
31
|
if (!expanded) handleOnExpand(e);else if (!opened) handleOnOpen(e);else handleOnClose(e);
|
|
29
32
|
}, [expanded, opened, handleOnExpand, handleOnOpen, handleOnClose]);
|
|
30
33
|
return handleOnClick;
|
|
31
34
|
};
|
|
32
35
|
|
|
33
36
|
export { useOpenableOnClickHandler };
|
|
34
|
-
//# sourceMappingURL=useOpenableOnClickHandler.js.map
|
|
@@ -1,38 +1,32 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.some.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.some.js';
|
|
1
4
|
import { useEffect } from 'react';
|
|
2
5
|
import { ITEM_TYPES } from '../exported-related/constants.js';
|
|
3
6
|
|
|
4
|
-
|
|
5
|
-
|
|
7
|
+
const {
|
|
8
|
+
LEFT_NAV_ITEM_SEPARATOR,
|
|
9
|
+
LEFT_NAV_ITEM_SECTION
|
|
10
|
+
} = ITEM_TYPES;
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
return typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;
|
|
9
|
-
};
|
|
12
|
+
const isSelectableOutOfTheBox = elem => typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
return elem.itemOpts.selectable;
|
|
13
|
-
};
|
|
14
|
+
const isSelectableCustom = elem => elem.itemOpts.selectable;
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
const isItemInsideTheTree = (item, itemID) => {
|
|
16
17
|
var _item$itemOpts, _item$itemOpts$items;
|
|
17
18
|
|
|
18
|
-
return item.dsId === itemID || (item === null || item === void 0 ? void 0 : (_item$itemOpts = item.itemOpts) === null || _item$itemOpts === void 0 ? void 0 : (_item$itemOpts$items = _item$itemOpts.items) === null || _item$itemOpts$items === void 0 ? void 0 : _item$itemOpts$items.some(
|
|
19
|
-
return isItemInsideTheTree(it, itemID);
|
|
20
|
-
}));
|
|
19
|
+
return item.dsId === itemID || (item === null || item === void 0 ? void 0 : (_item$itemOpts = item.itemOpts) === null || _item$itemOpts === void 0 ? void 0 : (_item$itemOpts$items = _item$itemOpts.items) === null || _item$itemOpts$items === void 0 ? void 0 : _item$itemOpts$items.some(it => isItemInsideTheTree(it, itemID)));
|
|
21
20
|
};
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
useEffect(
|
|
22
|
+
const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem, disableDefaultSelection) => {
|
|
23
|
+
useEffect(() => {
|
|
25
24
|
if (!disableDefaultSelection && items && items.length && openedItem) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
var isItemInside = items.some(function (it) {
|
|
30
|
-
return isItemInsideTheTree(it, selectedItem);
|
|
31
|
-
});
|
|
25
|
+
const index = items.findIndex(elem => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));
|
|
26
|
+
const isItemInside = items.some(it => isItemInsideTheTree(it, selectedItem));
|
|
32
27
|
if (isItemInside) setSelectedItem(selectedItem);else if (index !== -1) setSelectedItem(items[index].dsId);
|
|
33
28
|
}
|
|
34
29
|
}, [openedItem, setSelectedItem, disableDefaultSelection]);
|
|
35
30
|
};
|
|
36
31
|
|
|
37
32
|
export { useSelectFirstBodyItem };
|
|
38
|
-
//# sourceMappingURL=useSelectFirstBodyItem.js.map
|
package/esm/index.d.js
CHANGED
package/esm/index.js
CHANGED
|
@@ -6,52 +6,3 @@ export { ChevronItem } from './exported-related/ChevronItem/index.js';
|
|
|
6
6
|
export { Notifications } from './exported-related/Notifications/index.js';
|
|
7
7
|
export { OpenWindow } from './exported-related/OpenWindowItem/index.js';
|
|
8
8
|
export { Icon } from './exported-related/Icon/index.js';
|
|
9
|
-
import 'react-desc';
|
|
10
|
-
import './outOfTheBox/index.js';
|
|
11
|
-
import '@babel/runtime/helpers/esm/defineProperty';
|
|
12
|
-
import 'react';
|
|
13
|
-
import '@elliemae/ds-grid';
|
|
14
|
-
import 'styled-components';
|
|
15
|
-
import '@babel/runtime/helpers/esm/extends';
|
|
16
|
-
import '@elliemae/ds-icons';
|
|
17
|
-
import './outOfTheBox/ItemControlledDrilldown/index.js';
|
|
18
|
-
import '@elliemae/ds-truncated-tooltip-text';
|
|
19
|
-
import './outOfTheBox/ItemControlledDrilldown/styled.js';
|
|
20
|
-
import './outOfTheBox/ItemSeparator/index.js';
|
|
21
|
-
import './exported-related/ItemRenderer/styled.js';
|
|
22
|
-
import './LeftNavigationContext.js';
|
|
23
|
-
import './exported-related/ItemRenderer/usePropsWithDefaults.js';
|
|
24
|
-
import './hooks/useKeyboardNavigation.js';
|
|
25
|
-
import './outOfTheBox/ItemWithDate/index.js';
|
|
26
|
-
import './outOfTheBox/ItemWithDate/styled.js';
|
|
27
|
-
import './outOfTheBox/ItemTextLabel/index.js';
|
|
28
|
-
import './outOfTheBox/ItemTextLabel/styled.js';
|
|
29
|
-
import './outOfTheBox/ItemUncontrolledDrilldown/index.js';
|
|
30
|
-
import '@babel/runtime/helpers/esm/toConsumableArray';
|
|
31
|
-
import './outOfTheBox/ItemUncontrolledDrilldown/styled.js';
|
|
32
|
-
import './outOfTheBox/ItemHeader/index.js';
|
|
33
|
-
import './outOfTheBox/ItemHeader/styled.js';
|
|
34
|
-
import './outOfTheBox/ItemLink/index.js';
|
|
35
|
-
import './outOfTheBox/ItemLink/styled.js';
|
|
36
|
-
import './outOfTheBox/ItemSection/index.js';
|
|
37
|
-
import './outOfTheBox/ItemSection/styled.js';
|
|
38
|
-
import './outOfTheBox/ItemSubmenu/index.js';
|
|
39
|
-
import './outOfTheBox/ItemSubmenu/styled.js';
|
|
40
|
-
import './configs/useLeftNavConfig.js';
|
|
41
|
-
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
42
|
-
import './configs/useLeftNavItems.js';
|
|
43
|
-
import './configs/useLeftNavSmoothExpand.js';
|
|
44
|
-
import './hooks/useSelectFirstBodyItem.js';
|
|
45
|
-
import './parts/LeftNavContent/index.js';
|
|
46
|
-
import './parts/LeftNavFooterItem/index.js';
|
|
47
|
-
import './parts/LeftNavFooterItem/styled.js';
|
|
48
|
-
import './common/getItemBackgroundStyle.js';
|
|
49
|
-
import './common/getLeftBorderStyle.js';
|
|
50
|
-
import './parts/LeftNavContentWithScrollbar/index.js';
|
|
51
|
-
import 'overlayscrollbars/css/OverlayScrollbars.css';
|
|
52
|
-
import 'overlayscrollbars';
|
|
53
|
-
import './parts/OutOfTheBoxMapItem.js';
|
|
54
|
-
import './parts/LeftNavContent/styled.js';
|
|
55
|
-
import './parts/LeftNavLoading/index.js';
|
|
56
|
-
import '@elliemae/ds-circular-progress-indicator';
|
|
57
|
-
//# sourceMappingURL=index.js.map
|