@elliemae/ds-left-navigation 2.0.0-rc.9 → 2.1.0-rc.0
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/configs/useLeftNavConfig.js +1 -1
- package/cjs/exported-related/ChevronItem/index.js +2 -2
- package/cjs/exported-related/Icon/index.js +2 -2
- package/cjs/exported-related/ItemRenderer/index.js +2 -2
- package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +5 -4
- package/cjs/exported-related/OpenWindowItem/index.js +2 -2
- package/cjs/hooks/useSelectFirstBodyItem.js +3 -3
- package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +2 -2
- package/cjs/outOfTheBox/ItemHeader/index.js +3 -3
- package/cjs/outOfTheBox/ItemLink/index.js +3 -3
- package/cjs/outOfTheBox/ItemSection/index.js +7 -4
- package/cjs/outOfTheBox/ItemSeparator/index.js +2 -2
- package/cjs/outOfTheBox/ItemSubmenu/index.js +4 -4
- package/cjs/outOfTheBox/ItemTextLabel/index.js +2 -2
- package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +2 -2
- package/cjs/outOfTheBox/ItemWithDate/index.js +2 -2
- package/cjs/parts/LeftNavContent/index.js +3 -2
- package/cjs/parts/LeftNavContentWithScrollbar/index.js +2 -2
- package/cjs/parts/OutOfTheBoxMapItem.js +2 -2
- package/cjs/prop-types.js +2 -1
- package/esm/configs/useLeftNavConfig.js +1 -1
- package/esm/exported-related/ChevronItem/index.js +2 -2
- package/esm/exported-related/Icon/index.js +2 -2
- package/esm/exported-related/ItemRenderer/index.js +2 -2
- package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +5 -4
- package/esm/exported-related/OpenWindowItem/index.js +2 -2
- package/esm/hooks/useSelectFirstBodyItem.js +3 -3
- package/esm/outOfTheBox/ItemControlledDrilldown/index.js +2 -2
- package/esm/outOfTheBox/ItemHeader/index.js +3 -3
- package/esm/outOfTheBox/ItemLink/index.js +3 -3
- package/esm/outOfTheBox/ItemSection/index.js +7 -4
- package/esm/outOfTheBox/ItemSeparator/index.js +2 -2
- package/esm/outOfTheBox/ItemSubmenu/index.js +4 -4
- package/esm/outOfTheBox/ItemTextLabel/index.js +2 -2
- package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +2 -2
- package/esm/outOfTheBox/ItemWithDate/index.js +2 -2
- package/esm/parts/LeftNavContent/index.js +3 -2
- package/esm/parts/LeftNavContentWithScrollbar/index.js +2 -2
- package/esm/parts/OutOfTheBoxMapItem.js +2 -2
- package/esm/prop-types.js +2 -1
- package/package.json +6 -6
- package/types/LeftNavigation.d.ts +9 -6
- package/types/hooks/useSelectFirstBodyItem.d.ts +1 -1
- package/types/index.d.d.ts +2 -0
- package/types/prop-types.d.ts +19 -16
|
@@ -57,7 +57,7 @@ const useLeftNavConfig = props => {
|
|
|
57
57
|
React__default["default"].useEffect(() => {
|
|
58
58
|
onFocusChange(focusedItem);
|
|
59
59
|
}, [focusedItem, onFocusChange]);
|
|
60
|
-
useSelectFirstBodyItem.useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem); // -----------------------------------------------------------------------------
|
|
60
|
+
useSelectFirstBodyItem.useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem, props.disableDefaultSelection); // -----------------------------------------------------------------------------
|
|
61
61
|
// ************************** ------------ **************************
|
|
62
62
|
// * ITEMS MANAGEMENT *
|
|
63
63
|
// ************************** ------------ **************************
|
|
@@ -16,9 +16,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
16
16
|
|
|
17
17
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
18
18
|
|
|
19
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
20
|
|
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
21
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
22
|
const ChevronItem = props => /*#__PURE__*/jsxRuntime.jsx(dsIcons.ChevronSmallRight, _objectSpread({
|
|
23
23
|
size: "m",
|
|
24
24
|
color: ['brand-primary', 800]
|
|
@@ -17,9 +17,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
17
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
18
18
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
19
19
|
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
21
|
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
23
|
|
|
24
24
|
const AugmentedIcon = Icon => styled__default["default"](Icon).withConfig({
|
|
25
25
|
componentId: "sc-1eek2uh-0"
|
|
@@ -79,14 +79,14 @@ const ItemRenderer = props => {
|
|
|
79
79
|
|
|
80
80
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
81
81
|
children: [/*#__PURE__*/_jsx__default["default"](styled.StyledItemWrapper, {
|
|
82
|
-
shadowStyle: shadowStyle,
|
|
82
|
+
shadowStyle: shadowStyle(opened, item.type),
|
|
83
83
|
"data-testid": "leftnav-item-wrapper"
|
|
84
84
|
}, void 0, /*#__PURE__*/jsxRuntime.jsx(styled.StyledItem, {
|
|
85
85
|
ref: visibleItemsRefs.current[dsId],
|
|
86
86
|
pt: paddingTop,
|
|
87
87
|
pl: indent === undefined ? 'xxxs' : "".concat(indent, "px"),
|
|
88
88
|
minHeight: minHeight,
|
|
89
|
-
shadowStyle: shadowStyle,
|
|
89
|
+
shadowStyle: shadowStyle(opened, item.type),
|
|
90
90
|
alignItems: "flex-start",
|
|
91
91
|
cols: cols,
|
|
92
92
|
onClick: !opened ? handleOnClick : () => null,
|
|
@@ -14,9 +14,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
14
|
|
|
15
15
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
16
16
|
|
|
17
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
|
|
19
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
20
|
const itemDefaultProps = {
|
|
21
21
|
label: '',
|
|
22
22
|
labelOverflow: 'truncate',
|
|
@@ -29,7 +29,8 @@ const itemDefaultProps = {
|
|
|
29
29
|
ariaLive: 'off',
|
|
30
30
|
ariaExpanded: undefined,
|
|
31
31
|
ariaDescribedBy: undefined
|
|
32
|
-
};
|
|
32
|
+
};
|
|
33
|
+
const itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu']; // Make use Item props with defaults
|
|
33
34
|
|
|
34
35
|
const usePropsWithDefaults = props => {
|
|
35
36
|
const propsWithDefault = React.useMemo(() => {
|
|
@@ -43,7 +44,7 @@ const usePropsWithDefaults = props => {
|
|
|
43
44
|
minHeight: '48px',
|
|
44
45
|
paddingTop: '12px',
|
|
45
46
|
subitems: [],
|
|
46
|
-
shadowStyle: () =>
|
|
47
|
+
shadowStyle: (opened, type) => theme => "box-shadow: ".concat(opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white'),
|
|
47
48
|
hasBorderBottom: false,
|
|
48
49
|
borderBottomMr: '0px'
|
|
49
50
|
}, props), {}, {
|
|
@@ -18,9 +18,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
18
18
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
19
19
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
20
20
|
|
|
21
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
21
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
22
|
|
|
23
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
24
|
const StyledOpenWindow = /*#__PURE__*/styled__default["default"](dsIcons.OpenWindow).withConfig({
|
|
25
25
|
componentId: "sc-g53ios-0"
|
|
26
26
|
})(["cursor:pointer;:focus{outline:1px solid ", ";}"], props => props.theme.colors.brand[800]);
|
|
@@ -23,14 +23,14 @@ const isItemInsideTheTree = (item, itemID) => {
|
|
|
23
23
|
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)));
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem) => {
|
|
26
|
+
const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem, disableDefaultSelection) => {
|
|
27
27
|
React.useEffect(() => {
|
|
28
|
-
if (items && items.length && openedItem) {
|
|
28
|
+
if (!disableDefaultSelection && items && items.length && openedItem) {
|
|
29
29
|
const index = items.findIndex(elem => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));
|
|
30
30
|
const isItemInside = items.some(it => isItemInsideTheTree(it, selectedItem));
|
|
31
31
|
if (isItemInside) setSelectedItem(selectedItem);else if (index !== -1) setSelectedItem(items[index].dsId);
|
|
32
32
|
}
|
|
33
|
-
}, [openedItem, setSelectedItem]);
|
|
33
|
+
}, [openedItem, setSelectedItem, disableDefaultSelection]);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
exports.useSelectFirstBodyItem = useSelectFirstBodyItem;
|
|
@@ -30,9 +30,9 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
30
30
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
31
31
|
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
32
32
|
|
|
33
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
33
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
34
34
|
|
|
35
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
35
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
36
36
|
const outOfTheBoxSubitemsComponents = {
|
|
37
37
|
[constants.ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: index.ItemSeparator,
|
|
38
38
|
[constants.ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: index$1.ItemWithDate,
|
|
@@ -25,9 +25,9 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
25
25
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
26
26
|
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
27
27
|
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
29
|
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
31
|
|
|
32
32
|
const notOpenedShadowStyle = isSelected => theme => "\n box-shadow: inset 4px 0 0 0 ".concat(isSelected ? theme.colors.brand[400] : 'transparent', ";\n\n :hover {\n box-shadow: inset 4px 0 0 0 ").concat(isSelected ? theme.colors.brand[400] : theme.colors.brand[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
|
|
33
33
|
|
|
@@ -62,7 +62,7 @@ const ItemHeader = props => {
|
|
|
62
62
|
const opened = openedItem === dsId;
|
|
63
63
|
const ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
|
|
64
64
|
const isSelected = selectedItem === dsId || selectedParent === dsId;
|
|
65
|
-
const shadowStyle = React.useCallback(theme => !
|
|
65
|
+
const shadowStyle = React.useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [isSelected, openedItem]);
|
|
66
66
|
return /*#__PURE__*/_jsx__default["default"](index.ItemRenderer, {
|
|
67
67
|
item: _objectSpread(_objectSpread({}, item), {}, {
|
|
68
68
|
itemOpts: _objectSpread(_objectSpread({
|
|
@@ -24,9 +24,9 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
24
24
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
25
25
|
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
26
26
|
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
28
|
|
|
29
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
30
30
|
|
|
31
31
|
const notOpenedShadowStyle = isSelected => theme => "\n box-shadow: inset 4px 0 0 0 ".concat(isSelected ? theme.colors.brand[400] : 'transparent', ";\n\n :hover {\n box-shadow: inset 4px 0 0 0 ").concat(isSelected ? theme.colors.brand[400] : theme.colors.brand[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
|
|
32
32
|
|
|
@@ -53,7 +53,7 @@ const ItemLink = props => {
|
|
|
53
53
|
}
|
|
54
54
|
} = props;
|
|
55
55
|
const isSelected = selectedItem === dsId || selectedParent === dsId;
|
|
56
|
-
const shadowStyle = React.useCallback(theme => !
|
|
56
|
+
const shadowStyle = React.useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [isSelected, openedItem]);
|
|
57
57
|
return /*#__PURE__*/_jsx__default["default"](index.ItemRenderer, {
|
|
58
58
|
item: _objectSpread(_objectSpread({}, item), {}, {
|
|
59
59
|
itemOpts: _objectSpread(_objectSpread({
|
|
@@ -25,9 +25,9 @@ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
|
25
25
|
|
|
26
26
|
var _div, _StyledVerticalSepara;
|
|
27
27
|
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
29
|
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
31
|
const ItemSection = props => {
|
|
32
32
|
const {
|
|
33
33
|
item,
|
|
@@ -36,7 +36,8 @@ const ItemSection = props => {
|
|
|
36
36
|
label,
|
|
37
37
|
LeftComponent,
|
|
38
38
|
RightComponent,
|
|
39
|
-
labelRightSection
|
|
39
|
+
labelRightSection,
|
|
40
|
+
labelDataTestId
|
|
40
41
|
}
|
|
41
42
|
},
|
|
42
43
|
ctx,
|
|
@@ -61,7 +62,9 @@ const ItemSection = props => {
|
|
|
61
62
|
}, void 0, LeftComponent ? /*#__PURE__*/_jsx__default["default"](LeftComponent, {
|
|
62
63
|
ctx: ctx,
|
|
63
64
|
item: item
|
|
64
|
-
}) : _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {})), /*#__PURE__*/_jsx__default["default"](styled.StyledLabel, {
|
|
65
|
+
}) : _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {})), /*#__PURE__*/_jsx__default["default"](styled.StyledLabel, {
|
|
66
|
+
"data-testid": labelDataTestId || 'leftnav-section-item-label'
|
|
67
|
+
}, void 0, label), _StyledVerticalSepara || (_StyledVerticalSepara = /*#__PURE__*/_jsx__default["default"](styled.StyledVerticalSeparator, {})), /*#__PURE__*/_jsx__default["default"](styled.StyledRightLabel, {}, void 0, labelRightSection)), /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
|
|
65
68
|
ml: "auto",
|
|
66
69
|
onFocus: e => {
|
|
67
70
|
setFocusedItem(null);
|
|
@@ -24,9 +24,9 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
|
24
24
|
|
|
25
25
|
var _StyledSeparator;
|
|
26
26
|
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
28
|
|
|
29
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
30
30
|
const StyledSeparator = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
31
31
|
componentId: "sc-lpwxj6-0"
|
|
32
32
|
})(["height:1px;background-color:", ";width:auto;margin:", " 0;margin-left:", ";grid-column:span 3;"], props => props.theme.colors.neutral[100], props => props.theme.space.xxxs, props => props.theme.space.xxxs);
|
|
@@ -25,9 +25,9 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
25
25
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
26
26
|
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
27
27
|
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
29
|
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
31
|
|
|
32
32
|
const notOpenedShadowStyle = isSelected => theme => "\n box-shadow: inset 4px 0 0 0 ".concat(isSelected ? theme.colors.brand[400] : 'transparent', ";\n\n :hover {\n box-shadow: inset 4px 0 0 0 ").concat(isSelected ? theme.colors.brand[400] : theme.colors.brand[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
|
|
33
33
|
|
|
@@ -61,7 +61,7 @@ const ItemSubmenu = props => {
|
|
|
61
61
|
} = props;
|
|
62
62
|
const opened = openedItem === dsId;
|
|
63
63
|
const isSelected = selectedItem === dsId;
|
|
64
|
-
const shadowStyle = React.useCallback(theme => !
|
|
64
|
+
const shadowStyle = React.useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [dsId, isSelected, openedItem, selectedParent]);
|
|
65
65
|
const ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
|
|
66
66
|
return /*#__PURE__*/_jsx__default["default"](index.ItemRenderer, {
|
|
67
67
|
item: _objectSpread(_objectSpread({}, item), {}, {
|
|
@@ -116,7 +116,7 @@ const ItemSubmenu = props => {
|
|
|
116
116
|
setFocusedItem(null);
|
|
117
117
|
},
|
|
118
118
|
onKeyDown: e => e.stopPropagation(),
|
|
119
|
-
onClick: e => openedItem && e.stopPropagation(),
|
|
119
|
+
onClick: e => openedItem === dsId && e.stopPropagation(),
|
|
120
120
|
"data-testid": "leftnav-right-component"
|
|
121
121
|
}, void 0, RightComponent && /*#__PURE__*/_jsx__default["default"](RightComponent, {
|
|
122
122
|
ctx: ctx,
|
|
@@ -25,9 +25,9 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
25
25
|
|
|
26
26
|
var _div;
|
|
27
27
|
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
29
|
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
31
|
const ItemTextLabel = props => {
|
|
32
32
|
const {
|
|
33
33
|
item,
|
|
@@ -31,9 +31,9 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
31
31
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
32
32
|
var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
33
33
|
|
|
34
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
35
|
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
37
|
// Subitem mapping
|
|
38
38
|
const outOfTheBoxSubitemsComponents = {
|
|
39
39
|
[constants.ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: index.ItemSeparator,
|
|
@@ -26,9 +26,9 @@ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
|
|
|
26
26
|
|
|
27
27
|
var _div;
|
|
28
28
|
|
|
29
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
29
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
30
|
|
|
31
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
31
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
32
32
|
const ItemWithDate = props => {
|
|
33
33
|
const {
|
|
34
34
|
item,
|
|
@@ -26,7 +26,8 @@ const LeftNavInnerContent = () => {
|
|
|
26
26
|
HeaderComponent,
|
|
27
27
|
BodyHeaderComponent,
|
|
28
28
|
openedItem,
|
|
29
|
-
items
|
|
29
|
+
items,
|
|
30
|
+
withoutBodyShadow
|
|
30
31
|
},
|
|
31
32
|
selectedItem
|
|
32
33
|
} = React__default["default"].useContext(LeftNavigationContext.LeftNavContext);
|
|
@@ -42,7 +43,7 @@ const LeftNavInnerContent = () => {
|
|
|
42
43
|
}, void 0, BodyHeaderComponent ? /*#__PURE__*/_jsx__default["default"](OutOfTheBoxMapItem.OutOfTheBoxMapItem, {
|
|
43
44
|
item: BodyHeaderComponent
|
|
44
45
|
}) : null), /*#__PURE__*/_jsx__default["default"](styled.StyledLeftNavBodyItemsArea, {
|
|
45
|
-
selected: openedItem !== null,
|
|
46
|
+
selected: !withoutBodyShadow && openedItem !== null,
|
|
46
47
|
"data-testid": "leftnav-body-items-area",
|
|
47
48
|
tabIndex: -1
|
|
48
49
|
}, void 0, /*#__PURE__*/_jsx__default["default"](index$2.LeftNavContentWithScrollbar, {}, void 0, items.map(item => /*#__PURE__*/_jsx__default["default"](OutOfTheBoxMapItem.OutOfTheBoxMapItem, {
|
|
@@ -25,9 +25,9 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
|
25
25
|
|
|
26
26
|
var _div, _div2, _div3, _div4;
|
|
27
27
|
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
29
|
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
31
|
const StyledHandle = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
32
32
|
componentId: "sc-yn7jj3-0"
|
|
33
33
|
})(["width:6px;border:1px solid rgba(0,0,0,0);background-color:rgba(105,116,137,0.5) !important;border-radius:7px;:hover{background-color:rgba(105,116,137,0.7) !important;}:active{background-color:rgba(105,116,137,0.7) !important;}"]);
|
|
@@ -19,9 +19,9 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
|
19
19
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
20
20
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
21
|
|
|
22
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
23
|
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
25
|
const OutOfTheBoxMapItem = props => {
|
|
26
26
|
const {
|
|
27
27
|
item,
|
package/cjs/prop-types.js
CHANGED
|
@@ -27,7 +27,8 @@ const leftNavigationProps = {
|
|
|
27
27
|
onFooterClose: reactDesc.PropTypes.func.description('The function to call when the left-nav is closed via the footer'),
|
|
28
28
|
onSelectedChange: reactDesc.PropTypes.func.description('A callback which triggers when the selected item changes').defaultValue(() => null),
|
|
29
29
|
onFocusChange: reactDesc.PropTypes.func.description('A callback which triggers when the focused item changes').defaultValue(() => null),
|
|
30
|
-
items: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.object).description('The array of items you want to render inside the left nav').defaultValue([])
|
|
30
|
+
items: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.object).description('The array of items you want to render inside the left nav').defaultValue([]),
|
|
31
|
+
disableDefaultSelection: reactDesc.PropTypes.bool.description('Whether you do not want to automatically select the first body item').defaultValue(false)
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
const LeftNavItemProps = () => null;
|
|
@@ -49,7 +49,7 @@ const useLeftNavConfig = props => {
|
|
|
49
49
|
React.useEffect(() => {
|
|
50
50
|
onFocusChange(focusedItem);
|
|
51
51
|
}, [focusedItem, onFocusChange]);
|
|
52
|
-
useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem); // -----------------------------------------------------------------------------
|
|
52
|
+
useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem, props.disableDefaultSelection); // -----------------------------------------------------------------------------
|
|
53
53
|
// ************************** ------------ **************************
|
|
54
54
|
// * ITEMS MANAGEMENT *
|
|
55
55
|
// ************************** ------------ **************************
|
|
@@ -8,9 +8,9 @@ import 'react';
|
|
|
8
8
|
import { ChevronSmallRight } from '@elliemae/ds-icons';
|
|
9
9
|
import { jsx } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
12
|
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
14
|
const ChevronItem = props => /*#__PURE__*/jsx(ChevronSmallRight, _objectSpread({
|
|
15
15
|
size: "m",
|
|
16
16
|
color: ['brand-primary', 800]
|
|
@@ -8,9 +8,9 @@ import 'react';
|
|
|
8
8
|
import styled from 'styled-components';
|
|
9
9
|
import { jsx } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
12
|
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
14
|
|
|
15
15
|
const AugmentedIcon = Icon => styled(Icon).withConfig({
|
|
16
16
|
componentId: "sc-1eek2uh-0"
|
|
@@ -70,14 +70,14 @@ const ItemRenderer = props => {
|
|
|
70
70
|
|
|
71
71
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
72
72
|
children: [/*#__PURE__*/_jsx(StyledItemWrapper, {
|
|
73
|
-
shadowStyle: shadowStyle,
|
|
73
|
+
shadowStyle: shadowStyle(opened, item.type),
|
|
74
74
|
"data-testid": "leftnav-item-wrapper"
|
|
75
75
|
}, void 0, /*#__PURE__*/jsx(StyledItem, {
|
|
76
76
|
ref: visibleItemsRefs.current[dsId],
|
|
77
77
|
pt: paddingTop,
|
|
78
78
|
pl: indent === undefined ? 'xxxs' : "".concat(indent, "px"),
|
|
79
79
|
minHeight: minHeight,
|
|
80
|
-
shadowStyle: shadowStyle,
|
|
80
|
+
shadowStyle: shadowStyle(opened, item.type),
|
|
81
81
|
alignItems: "flex-start",
|
|
82
82
|
cols: cols,
|
|
83
83
|
onClick: !opened ? handleOnClick : () => null,
|
|
@@ -6,9 +6,9 @@ import 'core-js/modules/esnext.iterator.for-each.js';
|
|
|
6
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
|
|
9
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
10
|
|
|
11
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
12
12
|
const itemDefaultProps = {
|
|
13
13
|
label: '',
|
|
14
14
|
labelOverflow: 'truncate',
|
|
@@ -21,7 +21,8 @@ const itemDefaultProps = {
|
|
|
21
21
|
ariaLive: 'off',
|
|
22
22
|
ariaExpanded: undefined,
|
|
23
23
|
ariaDescribedBy: undefined
|
|
24
|
-
};
|
|
24
|
+
};
|
|
25
|
+
const itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu']; // Make use Item props with defaults
|
|
25
26
|
|
|
26
27
|
const usePropsWithDefaults = props => {
|
|
27
28
|
const propsWithDefault = useMemo(() => {
|
|
@@ -35,7 +36,7 @@ const usePropsWithDefaults = props => {
|
|
|
35
36
|
minHeight: '48px',
|
|
36
37
|
paddingTop: '12px',
|
|
37
38
|
subitems: [],
|
|
38
|
-
shadowStyle: () =>
|
|
39
|
+
shadowStyle: (opened, type) => theme => "box-shadow: ".concat(opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white'),
|
|
39
40
|
hasBorderBottom: false,
|
|
40
41
|
borderBottomMr: '0px'
|
|
41
42
|
}, props), {}, {
|
|
@@ -9,9 +9,9 @@ import styled from 'styled-components';
|
|
|
9
9
|
import { OpenWindow as OpenWindow$1 } from '@elliemae/ds-icons';
|
|
10
10
|
import { jsx } from 'react/jsx-runtime';
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
const StyledOpenWindow = /*#__PURE__*/styled(OpenWindow$1).withConfig({
|
|
16
16
|
componentId: "sc-g53ios-0"
|
|
17
17
|
})(["cursor:pointer;:focus{outline:1px solid ", ";}"], props => props.theme.colors.brand[800]);
|
|
@@ -19,14 +19,14 @@ const isItemInsideTheTree = (item, itemID) => {
|
|
|
19
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)));
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem) => {
|
|
22
|
+
const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem, disableDefaultSelection) => {
|
|
23
23
|
useEffect(() => {
|
|
24
|
-
if (items && items.length && openedItem) {
|
|
24
|
+
if (!disableDefaultSelection && items && items.length && openedItem) {
|
|
25
25
|
const index = items.findIndex(elem => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));
|
|
26
26
|
const isItemInside = items.some(it => isItemInsideTheTree(it, selectedItem));
|
|
27
27
|
if (isItemInside) setSelectedItem(selectedItem);else if (index !== -1) setSelectedItem(items[index].dsId);
|
|
28
28
|
}
|
|
29
|
-
}, [openedItem, setSelectedItem]);
|
|
29
|
+
}, [openedItem, setSelectedItem, disableDefaultSelection]);
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export { useSelectFirstBodyItem };
|
|
@@ -20,9 +20,9 @@ import { ItemSeparator } from '../ItemSeparator/index.js';
|
|
|
20
20
|
import { ItemWithDate } from '../ItemWithDate/index.js';
|
|
21
21
|
import { ItemTextLabel } from '../ItemTextLabel/index.js';
|
|
22
22
|
|
|
23
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
23
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
24
|
|
|
25
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
25
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
26
|
const outOfTheBoxSubitemsComponents = {
|
|
27
27
|
[ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,
|
|
28
28
|
[ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate,
|
|
@@ -15,9 +15,9 @@ import 'react/jsx-runtime';
|
|
|
15
15
|
import 'styled-components';
|
|
16
16
|
import { StyledChevronLeft, StyledLabel } from './styled.js';
|
|
17
17
|
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
19
|
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
21
|
|
|
22
22
|
const notOpenedShadowStyle = isSelected => theme => "\n box-shadow: inset 4px 0 0 0 ".concat(isSelected ? theme.colors.brand[400] : 'transparent', ";\n\n :hover {\n box-shadow: inset 4px 0 0 0 ").concat(isSelected ? theme.colors.brand[400] : theme.colors.brand[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
|
|
23
23
|
|
|
@@ -52,7 +52,7 @@ const ItemHeader = props => {
|
|
|
52
52
|
const opened = openedItem === dsId;
|
|
53
53
|
const ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
|
|
54
54
|
const isSelected = selectedItem === dsId || selectedParent === dsId;
|
|
55
|
-
const shadowStyle = useCallback(theme => !
|
|
55
|
+
const shadowStyle = useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [isSelected, openedItem]);
|
|
56
56
|
return /*#__PURE__*/_jsx(ItemRenderer, {
|
|
57
57
|
item: _objectSpread(_objectSpread({}, item), {}, {
|
|
58
58
|
itemOpts: _objectSpread(_objectSpread({
|
|
@@ -14,9 +14,9 @@ import 'react/jsx-runtime';
|
|
|
14
14
|
import 'styled-components';
|
|
15
15
|
import { StyledLabel } from './styled.js';
|
|
16
16
|
|
|
17
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
|
|
19
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
20
|
|
|
21
21
|
const notOpenedShadowStyle = isSelected => theme => "\n box-shadow: inset 4px 0 0 0 ".concat(isSelected ? theme.colors.brand[400] : 'transparent', ";\n\n :hover {\n box-shadow: inset 4px 0 0 0 ").concat(isSelected ? theme.colors.brand[400] : theme.colors.brand[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
|
|
22
22
|
|
|
@@ -43,7 +43,7 @@ const ItemLink = props => {
|
|
|
43
43
|
}
|
|
44
44
|
} = props;
|
|
45
45
|
const isSelected = selectedItem === dsId || selectedParent === dsId;
|
|
46
|
-
const shadowStyle = useCallback(theme => !
|
|
46
|
+
const shadowStyle = useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [isSelected, openedItem]);
|
|
47
47
|
return /*#__PURE__*/_jsx(ItemRenderer, {
|
|
48
48
|
item: _objectSpread(_objectSpread({}, item), {}, {
|
|
49
49
|
itemOpts: _objectSpread(_objectSpread({
|
|
@@ -15,9 +15,9 @@ import { StyledLabel, StyledVerticalSeparator, StyledRightLabel } from './styled
|
|
|
15
15
|
|
|
16
16
|
var _div, _StyledVerticalSepara;
|
|
17
17
|
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
19
|
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
21
|
const ItemSection = props => {
|
|
22
22
|
const {
|
|
23
23
|
item,
|
|
@@ -26,7 +26,8 @@ const ItemSection = props => {
|
|
|
26
26
|
label,
|
|
27
27
|
LeftComponent,
|
|
28
28
|
RightComponent,
|
|
29
|
-
labelRightSection
|
|
29
|
+
labelRightSection,
|
|
30
|
+
labelDataTestId
|
|
30
31
|
}
|
|
31
32
|
},
|
|
32
33
|
ctx,
|
|
@@ -51,7 +52,9 @@ const ItemSection = props => {
|
|
|
51
52
|
}, void 0, LeftComponent ? /*#__PURE__*/_jsx(LeftComponent, {
|
|
52
53
|
ctx: ctx,
|
|
53
54
|
item: item
|
|
54
|
-
}) : _div || (_div = /*#__PURE__*/_jsx("div", {})), /*#__PURE__*/_jsx(StyledLabel, {
|
|
55
|
+
}) : _div || (_div = /*#__PURE__*/_jsx("div", {})), /*#__PURE__*/_jsx(StyledLabel, {
|
|
56
|
+
"data-testid": labelDataTestId || 'leftnav-section-item-label'
|
|
57
|
+
}, void 0, label), _StyledVerticalSepara || (_StyledVerticalSepara = /*#__PURE__*/_jsx(StyledVerticalSeparator, {})), /*#__PURE__*/_jsx(StyledRightLabel, {}, void 0, labelRightSection)), /*#__PURE__*/_jsx(Grid, {
|
|
55
58
|
ml: "auto",
|
|
56
59
|
onFocus: e => {
|
|
57
60
|
setFocusedItem(null);
|
|
@@ -14,9 +14,9 @@ import '@elliemae/ds-grid';
|
|
|
14
14
|
|
|
15
15
|
var _StyledSeparator;
|
|
16
16
|
|
|
17
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
|
|
19
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
20
|
const StyledSeparator = /*#__PURE__*/styled.div.withConfig({
|
|
21
21
|
componentId: "sc-lpwxj6-0"
|
|
22
22
|
})(["height:1px;background-color:", ";width:auto;margin:", " 0;margin-left:", ";grid-column:span 3;"], props => props.theme.colors.neutral[100], props => props.theme.space.xxxs, props => props.theme.space.xxxs);
|
|
@@ -15,9 +15,9 @@ import 'react/jsx-runtime';
|
|
|
15
15
|
import 'styled-components';
|
|
16
16
|
import { StyledChevronLeft, StyledLabel } from './styled.js';
|
|
17
17
|
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
19
|
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
21
|
|
|
22
22
|
const notOpenedShadowStyle = isSelected => theme => "\n box-shadow: inset 4px 0 0 0 ".concat(isSelected ? theme.colors.brand[400] : 'transparent', ";\n\n :hover {\n box-shadow: inset 4px 0 0 0 ").concat(isSelected ? theme.colors.brand[400] : theme.colors.brand[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
|
|
23
23
|
|
|
@@ -51,7 +51,7 @@ const ItemSubmenu = props => {
|
|
|
51
51
|
} = props;
|
|
52
52
|
const opened = openedItem === dsId;
|
|
53
53
|
const isSelected = selectedItem === dsId;
|
|
54
|
-
const shadowStyle = useCallback(theme => !
|
|
54
|
+
const shadowStyle = useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [dsId, isSelected, openedItem, selectedParent]);
|
|
55
55
|
const ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
|
|
56
56
|
return /*#__PURE__*/_jsx(ItemRenderer, {
|
|
57
57
|
item: _objectSpread(_objectSpread({}, item), {}, {
|
|
@@ -106,7 +106,7 @@ const ItemSubmenu = props => {
|
|
|
106
106
|
setFocusedItem(null);
|
|
107
107
|
},
|
|
108
108
|
onKeyDown: e => e.stopPropagation(),
|
|
109
|
-
onClick: e => openedItem && e.stopPropagation(),
|
|
109
|
+
onClick: e => openedItem === dsId && e.stopPropagation(),
|
|
110
110
|
"data-testid": "leftnav-right-component"
|
|
111
111
|
}, void 0, RightComponent && /*#__PURE__*/_jsx(RightComponent, {
|
|
112
112
|
ctx: ctx,
|
|
@@ -16,9 +16,9 @@ import { StyledLabel } from './styled.js';
|
|
|
16
16
|
|
|
17
17
|
var _div;
|
|
18
18
|
|
|
19
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
20
|
|
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
21
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
22
|
const ItemTextLabel = props => {
|
|
23
23
|
const {
|
|
24
24
|
item,
|
|
@@ -21,9 +21,9 @@ import { ItemSeparator } from '../ItemSeparator/index.js';
|
|
|
21
21
|
import { ItemWithDate } from '../ItemWithDate/index.js';
|
|
22
22
|
import { ItemTextLabel } from '../ItemTextLabel/index.js';
|
|
23
23
|
|
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
24
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
25
|
|
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
26
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
27
27
|
// Subitem mapping
|
|
28
28
|
const outOfTheBoxSubitemsComponents = {
|
|
29
29
|
[ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,
|
|
@@ -16,9 +16,9 @@ import { StyledLabel, StyledDate } from './styled.js';
|
|
|
16
16
|
|
|
17
17
|
var _div;
|
|
18
18
|
|
|
19
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
20
|
|
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
21
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
22
|
const ItemWithDate = props => {
|
|
23
23
|
const {
|
|
24
24
|
item,
|
|
@@ -19,7 +19,8 @@ const LeftNavInnerContent = () => {
|
|
|
19
19
|
HeaderComponent,
|
|
20
20
|
BodyHeaderComponent,
|
|
21
21
|
openedItem,
|
|
22
|
-
items
|
|
22
|
+
items,
|
|
23
|
+
withoutBodyShadow
|
|
23
24
|
},
|
|
24
25
|
selectedItem
|
|
25
26
|
} = React.useContext(LeftNavContext);
|
|
@@ -35,7 +36,7 @@ const LeftNavInnerContent = () => {
|
|
|
35
36
|
}, void 0, BodyHeaderComponent ? /*#__PURE__*/_jsx(OutOfTheBoxMapItem, {
|
|
36
37
|
item: BodyHeaderComponent
|
|
37
38
|
}) : null), /*#__PURE__*/_jsx(StyledLeftNavBodyItemsArea, {
|
|
38
|
-
selected: openedItem !== null,
|
|
39
|
+
selected: !withoutBodyShadow && openedItem !== null,
|
|
39
40
|
"data-testid": "leftnav-body-items-area",
|
|
40
41
|
tabIndex: -1
|
|
41
42
|
}, void 0, /*#__PURE__*/_jsx(LeftNavContentWithScrollbar, {}, void 0, items.map(item => /*#__PURE__*/_jsx(OutOfTheBoxMapItem, {
|
|
@@ -14,9 +14,9 @@ import { jsxs } from 'react/jsx-runtime';
|
|
|
14
14
|
|
|
15
15
|
var _div, _div2, _div3, _div4;
|
|
16
16
|
|
|
17
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
|
|
19
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
20
|
const StyledHandle = /*#__PURE__*/styled.div.withConfig({
|
|
21
21
|
componentId: "sc-yn7jj3-0"
|
|
22
22
|
})(["width:6px;border:1px solid rgba(0,0,0,0);background-color:rgba(105,116,137,0.5) !important;border-radius:7px;:hover{background-color:rgba(105,116,137,0.7) !important;}:active{background-color:rgba(105,116,137,0.7) !important;}"]);
|
|
@@ -9,9 +9,9 @@ import React from 'react';
|
|
|
9
9
|
import { outOfTheBoxComponents } from '../outOfTheBox/index.js';
|
|
10
10
|
import { LeftNavContext } from '../LeftNavigationContext.js';
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
const OutOfTheBoxMapItem = props => {
|
|
16
16
|
const {
|
|
17
17
|
item,
|
package/esm/prop-types.js
CHANGED
|
@@ -23,7 +23,8 @@ const leftNavigationProps = {
|
|
|
23
23
|
onFooterClose: PropTypes.func.description('The function to call when the left-nav is closed via the footer'),
|
|
24
24
|
onSelectedChange: PropTypes.func.description('A callback which triggers when the selected item changes').defaultValue(() => null),
|
|
25
25
|
onFocusChange: PropTypes.func.description('A callback which triggers when the focused item changes').defaultValue(() => null),
|
|
26
|
-
items: PropTypes.arrayOf(PropTypes.object).description('The array of items you want to render inside the left nav').defaultValue([])
|
|
26
|
+
items: PropTypes.arrayOf(PropTypes.object).description('The array of items you want to render inside the left nav').defaultValue([]),
|
|
27
|
+
disableDefaultSelection: PropTypes.bool.description('Whether you do not want to automatically select the first body item').defaultValue(false)
|
|
27
28
|
};
|
|
28
29
|
|
|
29
30
|
const LeftNavItemProps = () => null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-left-navigation",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0-rc.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Left Navigation",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -233,11 +233,11 @@
|
|
|
233
233
|
"generateSubmodules": true
|
|
234
234
|
},
|
|
235
235
|
"dependencies": {
|
|
236
|
-
"@elliemae/ds-circular-progress-indicator": "2.
|
|
237
|
-
"@elliemae/ds-grid": "2.
|
|
238
|
-
"@elliemae/ds-icons": "2.
|
|
239
|
-
"@elliemae/ds-system": "2.
|
|
240
|
-
"@elliemae/ds-truncated-tooltip-text": "2.
|
|
236
|
+
"@elliemae/ds-circular-progress-indicator": "2.1.0-rc.0",
|
|
237
|
+
"@elliemae/ds-grid": "2.1.0-rc.0",
|
|
238
|
+
"@elliemae/ds-icons": "2.1.0-rc.0",
|
|
239
|
+
"@elliemae/ds-system": "2.1.0-rc.0",
|
|
240
|
+
"@elliemae/ds-truncated-tooltip-text": "2.1.0-rc.0",
|
|
241
241
|
"overlayscrollbars": "1.13.1",
|
|
242
242
|
"prop-types": "~15.7.2",
|
|
243
243
|
"react-desc": "~4.1.3"
|
|
@@ -20,22 +20,22 @@ export declare const LeftNavigation: {
|
|
|
20
20
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
21
21
|
};
|
|
22
22
|
footerLabel: {
|
|
23
|
-
defaultValue
|
|
23
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
24
24
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
25
25
|
};
|
|
26
|
-
isRequired: import("react-desc").
|
|
26
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
27
27
|
};
|
|
28
28
|
onFooterExpand: {
|
|
29
|
-
defaultValue
|
|
29
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
30
30
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
31
31
|
};
|
|
32
|
-
isRequired: import("react-desc").
|
|
32
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
33
33
|
};
|
|
34
34
|
onFooterClose: {
|
|
35
|
-
defaultValue
|
|
35
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
36
36
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
37
37
|
};
|
|
38
|
-
isRequired: import("react-desc").
|
|
38
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
39
39
|
};
|
|
40
40
|
onSelectedChange: {
|
|
41
41
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
@@ -46,6 +46,9 @@ export declare const LeftNavigation: {
|
|
|
46
46
|
items: {
|
|
47
47
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
48
48
|
};
|
|
49
|
+
disableDefaultSelection: {
|
|
50
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
51
|
+
};
|
|
49
52
|
};
|
|
50
53
|
defaultProps: LeftNavProps;
|
|
51
54
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { GenericItemItemProps } from '../index.d';
|
|
3
|
-
export declare const useSelectFirstBodyItem: (items: GenericItemItemProps[], openedItem: string, selectedItem: string, setSelectedItem: React.Dispatch<React.SetStateAction<string
|
|
3
|
+
export declare const useSelectFirstBodyItem: (items: GenericItemItemProps[], openedItem: string, selectedItem: string, setSelectedItem: React.Dispatch<React.SetStateAction<string>>, disableDefaultSelection: boolean) => void;
|
package/types/index.d.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export interface LeftNavProps {
|
|
|
19
19
|
loading: boolean;
|
|
20
20
|
selectedItem?: string;
|
|
21
21
|
selectedParent?: string;
|
|
22
|
+
disableDefaultSelection?: boolean;
|
|
23
|
+
withoutBodyShadow?: boolean;
|
|
22
24
|
}
|
|
23
25
|
export declare type OutOfTheBoxT = 'ds-left-nav-item-header' | 'ds-left-nav-item-link' | 'ds-left-nav-item-submenu' | 'ds-left-nav-item-controlled-drilldown' | 'ds-left-nav-item-uncontrolled-drilldown' | 'ds-left-nav-item-section' | 'ds-left-nav-item-separator' | 'ds-left-nav-item-text-label' | 'ds-left-nav-item-with-date';
|
|
24
26
|
export interface itemOptsT {
|
package/types/prop-types.d.ts
CHANGED
|
@@ -2,34 +2,34 @@
|
|
|
2
2
|
/// <reference types="react" />
|
|
3
3
|
export declare const leftNavItemProps: {
|
|
4
4
|
type: {
|
|
5
|
-
defaultValue
|
|
5
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
6
6
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
7
7
|
};
|
|
8
|
-
isRequired: import("react-desc").
|
|
8
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
9
9
|
};
|
|
10
10
|
dsId: {
|
|
11
|
-
defaultValue
|
|
11
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
12
12
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
13
13
|
};
|
|
14
|
-
isRequired: import("react-desc").
|
|
14
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
15
15
|
};
|
|
16
16
|
Component: {
|
|
17
|
-
defaultValue
|
|
17
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
18
18
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
19
19
|
};
|
|
20
|
-
isRequired: import("react-desc").
|
|
20
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
21
21
|
};
|
|
22
22
|
CollapsedComponent: {
|
|
23
|
-
defaultValue
|
|
23
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
24
24
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
25
25
|
};
|
|
26
|
-
isRequired: import("react-desc").
|
|
26
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
27
27
|
};
|
|
28
28
|
itemOpts: {
|
|
29
|
-
defaultValue
|
|
29
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
30
30
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
31
31
|
};
|
|
32
|
-
isRequired: import("react-desc").
|
|
32
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
35
|
export declare const leftNavigationProps: {
|
|
@@ -49,22 +49,22 @@ export declare const leftNavigationProps: {
|
|
|
49
49
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
50
50
|
};
|
|
51
51
|
footerLabel: {
|
|
52
|
-
defaultValue
|
|
52
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
53
53
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
54
54
|
};
|
|
55
|
-
isRequired: import("react-desc").
|
|
55
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
56
56
|
};
|
|
57
57
|
onFooterExpand: {
|
|
58
|
-
defaultValue
|
|
58
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
59
59
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
60
60
|
};
|
|
61
|
-
isRequired: import("react-desc").
|
|
61
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
62
62
|
};
|
|
63
63
|
onFooterClose: {
|
|
64
|
-
defaultValue
|
|
64
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
65
65
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
66
66
|
};
|
|
67
|
-
isRequired: import("react-desc").
|
|
67
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
68
68
|
};
|
|
69
69
|
onSelectedChange: {
|
|
70
70
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
@@ -75,6 +75,9 @@ export declare const leftNavigationProps: {
|
|
|
75
75
|
items: {
|
|
76
76
|
deprecated: import("react-desc").PropTypesDescValidator;
|
|
77
77
|
};
|
|
78
|
+
disableDefaultSelection: {
|
|
79
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
80
|
+
};
|
|
78
81
|
};
|
|
79
82
|
export declare const LeftNavItemPropsSchema: {
|
|
80
83
|
(props?: unknown): JSX.Element;
|