@elliemae/ds-left-navigation 2.0.0-alpha.11 → 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.
Files changed (105) hide show
  1. package/cjs/LeftNavigationContext.js +0 -4
  2. package/cjs/common/getLeftBorderStyle.js +2 -2
  3. package/cjs/common/index.js +0 -2
  4. package/cjs/configs/useLeftNavConfig.js +13 -21
  5. package/cjs/configs/useLeftNavItems.js +7 -7
  6. package/cjs/exported-related/ChevronItem/index.js +7 -3
  7. package/cjs/exported-related/Icon/index.js +5 -0
  8. package/cjs/exported-related/ItemRenderer/index.js +6 -7
  9. package/cjs/exported-related/ItemRenderer/styled.js +27 -17
  10. package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +8 -2
  11. package/cjs/exported-related/Notifications/index.js +41 -41
  12. package/cjs/exported-related/OpenWindowItem/index.js +7 -3
  13. package/cjs/hooks/useExpandableOnClickHandler.js +7 -6
  14. package/cjs/hooks/useKeyboardNavigation.js +7 -7
  15. package/cjs/hooks/useOpenableOnClickHandler.js +8 -7
  16. package/cjs/hooks/useSelectFirstBodyItem.js +14 -4
  17. package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +17 -16
  18. package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +7 -4
  19. package/cjs/outOfTheBox/ItemHeader/index.js +20 -13
  20. package/cjs/outOfTheBox/ItemHeader/styled.js +3 -4
  21. package/cjs/outOfTheBox/ItemLink/index.js +18 -14
  22. package/cjs/outOfTheBox/ItemSection/index.js +11 -8
  23. package/cjs/outOfTheBox/ItemSeparator/index.js +6 -6
  24. package/cjs/outOfTheBox/ItemSubmenu/index.js +13 -13
  25. package/cjs/outOfTheBox/ItemSubmenu/styled.js +3 -4
  26. package/cjs/outOfTheBox/ItemTextLabel/index.js +11 -9
  27. package/cjs/outOfTheBox/ItemTextLabel/styled.js +7 -4
  28. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +12 -13
  29. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +7 -4
  30. package/cjs/outOfTheBox/ItemWithDate/index.js +9 -8
  31. package/cjs/outOfTheBox/ItemWithDate/styled.js +7 -4
  32. package/cjs/outOfTheBox/index.js +6 -6
  33. package/cjs/parts/LeftNavContent/index.js +5 -2
  34. package/cjs/parts/LeftNavContent/styled.js +9 -6
  35. package/cjs/parts/LeftNavContentWithScrollbar/index.js +6 -1
  36. package/cjs/parts/LeftNavFooterItem/index.js +2 -11
  37. package/cjs/parts/LeftNavFooterItem/styled.js +8 -9
  38. package/cjs/parts/LeftNavLoading/index.js +13 -10
  39. package/cjs/parts/OutOfTheBoxMapItem.js +5 -0
  40. package/cjs/prop-types.js +2 -1
  41. package/esm/LeftNavigationContext.js +0 -4
  42. package/esm/common/getLeftBorderStyle.js +2 -2
  43. package/esm/common/index.js +0 -1
  44. package/esm/configs/useLeftNavConfig.js +13 -21
  45. package/esm/configs/useLeftNavItems.js +7 -7
  46. package/esm/exported-related/ChevronItem/index.js +7 -2
  47. package/esm/exported-related/Icon/index.js +5 -0
  48. package/esm/exported-related/ItemRenderer/index.js +6 -7
  49. package/esm/exported-related/ItemRenderer/styled.js +27 -18
  50. package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +8 -2
  51. package/esm/exported-related/Notifications/index.js +41 -37
  52. package/esm/exported-related/OpenWindowItem/index.js +7 -2
  53. package/esm/hooks/useExpandableOnClickHandler.js +7 -6
  54. package/esm/hooks/useKeyboardNavigation.js +7 -7
  55. package/esm/hooks/useOpenableOnClickHandler.js +8 -7
  56. package/esm/hooks/useSelectFirstBodyItem.js +14 -4
  57. package/esm/outOfTheBox/ItemControlledDrilldown/index.js +14 -11
  58. package/esm/outOfTheBox/ItemControlledDrilldown/styled.js +7 -4
  59. package/esm/outOfTheBox/ItemHeader/index.js +20 -13
  60. package/esm/outOfTheBox/ItemHeader/styled.js +3 -3
  61. package/esm/outOfTheBox/ItemLink/index.js +18 -14
  62. package/esm/outOfTheBox/ItemSection/index.js +11 -8
  63. package/esm/outOfTheBox/ItemSeparator/index.js +6 -6
  64. package/esm/outOfTheBox/ItemSubmenu/index.js +13 -13
  65. package/esm/outOfTheBox/ItemSubmenu/styled.js +3 -3
  66. package/esm/outOfTheBox/ItemTextLabel/index.js +11 -9
  67. package/esm/outOfTheBox/ItemTextLabel/styled.js +7 -4
  68. package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +11 -10
  69. package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +7 -4
  70. package/esm/outOfTheBox/ItemWithDate/index.js +9 -8
  71. package/esm/outOfTheBox/ItemWithDate/styled.js +7 -4
  72. package/esm/outOfTheBox/index.js +6 -6
  73. package/esm/parts/LeftNavContent/index.js +5 -2
  74. package/esm/parts/LeftNavContent/styled.js +9 -6
  75. package/esm/parts/LeftNavContentWithScrollbar/index.js +6 -1
  76. package/esm/parts/LeftNavFooterItem/index.js +1 -9
  77. package/esm/parts/LeftNavFooterItem/styled.js +3 -4
  78. package/esm/parts/LeftNavLoading/index.js +13 -10
  79. package/esm/parts/OutOfTheBoxMapItem.js +5 -0
  80. package/esm/prop-types.js +2 -1
  81. package/package.json +12 -17
  82. package/types/LeftNavigation.d.ts +46 -11
  83. package/types/LeftNavigationContext.d.ts +0 -4
  84. package/types/common/index.d.ts +0 -1
  85. package/types/exported-related/ItemRenderer/styled.d.ts +3 -2
  86. package/types/hooks/useKeyboardNavigation.d.ts +1 -1
  87. package/types/hooks/useSelectFirstBodyItem.d.ts +1 -1
  88. package/types/index.d.d.ts +7 -2
  89. package/types/outOfTheBox/ItemControlledDrilldown/styled.d.ts +2 -2
  90. package/types/outOfTheBox/ItemHeader/styled.d.ts +2 -2
  91. package/types/outOfTheBox/ItemLink/styled.d.ts +1 -1
  92. package/types/outOfTheBox/ItemSection/styled.d.ts +3 -3
  93. package/types/outOfTheBox/ItemSubmenu/styled.d.ts +2 -2
  94. package/types/outOfTheBox/ItemTextLabel/styled.d.ts +1 -1
  95. package/types/outOfTheBox/ItemUncontrolledDrilldown/styled.d.ts +2 -2
  96. package/types/outOfTheBox/ItemWithDate/styled.d.ts +2 -2
  97. package/types/parts/LeftNavContent/styled.d.ts +7 -11
  98. package/types/parts/LeftNavFooterItem/styled.d.ts +10 -6
  99. package/types/prop-types.d.ts +87 -18
  100. package/cjs/common/getFocusedByKeyboardStyle.js +0 -12
  101. package/cjs/configs/useGlobalKeyListeners.js +0 -31
  102. package/esm/common/getFocusedByKeyboardStyle.js +0 -8
  103. package/esm/configs/useGlobalKeyListeners.js +0 -22
  104. package/types/common/getFocusedByKeyboardStyle.d.ts +0 -4
  105. package/types/configs/useGlobalKeyListeners.d.ts +0 -6
@@ -4,39 +4,39 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/esnext.async-iterator.map.js');
8
+ require('core-js/modules/esnext.iterator.map.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var React = require('react');
8
15
  var Grid = require('@elliemae/ds-grid');
9
16
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
- var ArrowheadRight = require('@elliemae/ds-icons/ArrowheadRight');
11
- var ArrowheadDown = require('@elliemae/ds-icons/ArrowheadDown');
17
+ var dsIcons = require('@elliemae/ds-icons');
12
18
  var constants = require('../../exported-related/constants.js');
13
- var index$2 = require('../../exported-related/ItemRenderer/index.js');
14
- require('@elliemae/ds-icons/ChevronSmallRight');
19
+ var index$3 = require('../../exported-related/ItemRenderer/index.js');
15
20
  require('react/jsx-runtime');
16
- require('@elliemae/ds-icons/Notifications');
17
- require('@elliemae/ds-icons/ExceptionsSmallFill');
18
- require('@elliemae/ds-icons/AlertsSmallFill');
19
- require('@elliemae/ds-icons/MessagesSmallFill');
20
21
  require('styled-components');
21
- require('@elliemae/ds-icons/OpenWindow');
22
22
  var styled = require('./styled.js');
23
23
  var index = require('../ItemSeparator/index.js');
24
24
  var index$1 = require('../ItemWithDate/index.js');
25
+ var index$2 = require('../ItemTextLabel/index.js');
25
26
 
26
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
28
 
28
29
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
29
30
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
30
31
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
31
- var ArrowheadRight__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadRight);
32
- var ArrowheadDown__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadDown);
33
32
 
34
33
  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; }
35
34
 
36
35
  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__default["default"](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; }
37
36
  const outOfTheBoxSubitemsComponents = {
38
37
  [constants.ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: index.ItemSeparator,
39
- [constants.ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: index$1.ItemWithDate
38
+ [constants.ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: index$1.ItemWithDate,
39
+ [constants.ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL]: index$2.ItemTextLabel
40
40
  };
41
41
 
42
42
  const OutOfTheBoxMapSubitem = props => {
@@ -86,7 +86,8 @@ const ItemControlledDrilldown = props => {
86
86
  labelBold,
87
87
  labelColor,
88
88
  isOpened,
89
- items
89
+ items,
90
+ labelDataTestId
90
91
  }
91
92
  },
92
93
  ctx,
@@ -98,7 +99,7 @@ const ItemControlledDrilldown = props => {
98
99
  } = props;
99
100
  const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
100
101
  const arrowIcon = React.useMemo(() => {
101
- const Component = isOpened ? ArrowheadDown__default["default"] : ArrowheadRight__default["default"];
102
+ const Component = isOpened ? dsIcons.ArrowheadDown : dsIcons.ArrowheadRight;
102
103
  return /*#__PURE__*/_jsx__default["default"](Component, {
103
104
  width: "24px",
104
105
  height: "18px",
@@ -112,7 +113,7 @@ const ItemControlledDrilldown = props => {
112
113
  ctx: ctx
113
114
  }, subitem.dsId));
114
115
  }, [items, isOpened]);
115
- return /*#__PURE__*/_jsx__default["default"](index$2.ItemRenderer, {
116
+ return /*#__PURE__*/_jsx__default["default"](index$3.ItemRenderer, {
116
117
  item: _objectSpread(_objectSpread({}, item), {}, {
117
118
  itemOpts: _objectSpread(_objectSpread({
118
119
  ariaExpanded: isOpened,
@@ -131,7 +132,7 @@ const ItemControlledDrilldown = props => {
131
132
  mt: "-2px"
132
133
  }, void 0, arrowIcon), /*#__PURE__*/_jsx__default["default"](styled.StyledLabel, {
133
134
  pb: "xxxs",
134
- "data-testid": "leftnav-list-item-label",
135
+ "data-testid": labelDataTestId || 'leftnav-list-item-label',
135
136
  labelOverflow: labelOverflow,
136
137
  labelBold: labelBold,
137
138
  labelColor: labelColor
@@ -12,10 +12,13 @@ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
12
12
 
13
13
  const StyledLabel = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
14
14
  componentId: "sc-1tjij7e-0"
15
- })(["font-size:13px;font-weight:", ";color:", ";line-height:14px;word-break:", ";"], props => props.labelBold ? props.theme.fontWeights.semibold : props.theme.fontWeights.regular, ({
16
- labelColor,
17
- theme
18
- }) => labelColor ? theme.colors[labelColor[0]][labelColor[1]] : theme.colors.neutral[800], props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
15
+ })(["font-size:13px;font-weight:", ";color:", ";line-height:14px;word-break:", ";"], props => props.labelBold ? props.theme.fontWeights.semibold : props.theme.fontWeights.regular, _ref => {
16
+ let {
17
+ labelColor,
18
+ theme
19
+ } = _ref;
20
+ return labelColor ? theme.colors[labelColor[0]][labelColor[1]] : theme.colors.neutral[800];
21
+ }, props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
19
22
  const StyledDate = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
20
23
  componentId: "sc-1tjij7e-1"
21
24
  })(["font-size:12px;color:", ";line-height:14px;"], props => props.theme.colors.neutral[600]);
@@ -2,21 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
- require('react');
12
+ var React = require('react');
8
13
  var Grid = require('@elliemae/ds-grid');
9
14
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
15
  var constants = require('../../exported-related/constants.js');
11
16
  var index = require('../../exported-related/ItemRenderer/index.js');
12
- require('@elliemae/ds-icons/ChevronSmallRight');
17
+ require('@elliemae/ds-icons');
13
18
  require('react/jsx-runtime');
14
- require('@elliemae/ds-icons/Notifications');
15
- require('@elliemae/ds-icons/ExceptionsSmallFill');
16
- require('@elliemae/ds-icons/AlertsSmallFill');
17
- require('@elliemae/ds-icons/MessagesSmallFill');
18
19
  require('styled-components');
19
- require('@elliemae/ds-icons/OpenWindow');
20
20
  var styled = require('./styled.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,6 +28,9 @@ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
28
28
  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; }
29
29
 
30
30
  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__default["default"](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; }
31
+
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
+
31
34
  const ItemHeader = props => {
32
35
  var _item$itemOpts$ariaLa;
33
36
 
@@ -38,7 +41,8 @@ const ItemHeader = props => {
38
41
  itemOpts: {
39
42
  label,
40
43
  RightComponent,
41
- BottomComponent
44
+ BottomComponent,
45
+ labelDataTestId
42
46
  },
43
47
  CollapsedComponent = () => null
44
48
  },
@@ -50,12 +54,15 @@ const ItemHeader = props => {
50
54
  onItemClick
51
55
  },
52
56
  expandedForAnimation,
53
- setSelectedItem,
54
- setFocusedItem
57
+ setFocusedItem,
58
+ selectedItem,
59
+ selectedParent
55
60
  }
56
61
  } = props;
57
62
  const opened = openedItem === dsId;
58
63
  const ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
64
+ const isSelected = selectedItem === dsId || selectedParent === dsId;
65
+ const shadowStyle = React.useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [isSelected, openedItem]);
59
66
  return /*#__PURE__*/_jsx__default["default"](index.ItemRenderer, {
60
67
  item: _objectSpread(_objectSpread({}, item), {}, {
61
68
  itemOpts: _objectSpread(_objectSpread({
@@ -68,7 +75,8 @@ const ItemHeader = props => {
68
75
  })
69
76
  }),
70
77
  hasBorderBottom: true,
71
- borderBottomMr: opened ? '12px' : '0px'
78
+ borderBottomMr: opened ? '12px' : '0px',
79
+ shadowStyle: shadowStyle
72
80
  }, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
73
81
  cols: opened ? ['auto', 'auto'] : ['38px'],
74
82
  gutter: "1px",
@@ -80,7 +88,6 @@ const ItemHeader = props => {
80
88
  color: ['brand-primary', 800],
81
89
  onClick: e => {
82
90
  onItemClick(item, e);
83
- setSelectedItem(dsId);
84
91
  },
85
92
  "data-testid": "leftnav-leftcomponent-chevron",
86
93
  tabIndex: 0,
@@ -97,7 +104,7 @@ const ItemHeader = props => {
97
104
  ml: opened ? 'xxs' : '1px',
98
105
  mt: "xxxs",
99
106
  mb: "15px",
100
- "data-testid": "leftnav-itemlabel",
107
+ "data-testid": labelDataTestId || 'leftnav-itemlabel',
101
108
  labelOverflow: labelOverflow
102
109
  }, void 0, labelOverflow === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
103
110
  value: label,
@@ -3,21 +3,20 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var Grid = require('@elliemae/ds-grid');
6
- var ChevronLeft = require('@elliemae/ds-icons/ChevronSmallLeft');
6
+ var dsIcons = require('@elliemae/ds-icons');
7
7
  var styled = require('styled-components');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
11
11
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
12
- var ChevronLeft__default = /*#__PURE__*/_interopDefaultLegacy(ChevronLeft);
13
12
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
14
13
 
15
14
  const StyledLabel = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
16
15
  componentId: "sc-m5k4h8-0"
17
16
  })(["font-size:14px;color:", ";word-break:", ";"], props => props.theme.colors.neutral[800], props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
18
- const StyledChevronLeft = /*#__PURE__*/styled__default["default"](ChevronLeft__default["default"]).withConfig({
17
+ const StyledChevronLeft = /*#__PURE__*/styled__default["default"](dsIcons.ChevronSmallLeft).withConfig({
19
18
  componentId: "sc-m5k4h8-1"
20
- })(["cursor:pointer;:focus{outline:1px solid ", ";}"], props => props.theme.colors.brand[800]);
19
+ })(["cursor:pointer;:focus{outline:2px solid ", ";}"], props => props.theme.colors.brand[800]);
21
20
 
22
21
  exports.StyledChevronLeft = StyledChevronLeft;
23
22
  exports.StyledLabel = StyledLabel;
@@ -2,20 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  var React = require('react');
8
13
  var Grid = require('@elliemae/ds-grid');
9
14
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
15
  var index = require('../../exported-related/ItemRenderer/index.js');
11
- require('@elliemae/ds-icons/ChevronSmallRight');
16
+ require('@elliemae/ds-icons');
12
17
  require('react/jsx-runtime');
13
- require('@elliemae/ds-icons/Notifications');
14
- require('@elliemae/ds-icons/ExceptionsSmallFill');
15
- require('@elliemae/ds-icons/AlertsSmallFill');
16
- require('@elliemae/ds-icons/MessagesSmallFill');
17
18
  require('styled-components');
18
- require('@elliemae/ds-icons/OpenWindow');
19
19
  var styled = require('./styled.js');
20
20
 
21
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,7 +28,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
28
28
 
29
29
  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__default["default"](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; }
30
30
 
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.neutral[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
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
 
33
33
  const ItemLink = props => {
34
34
  const {
@@ -37,7 +37,8 @@ const ItemLink = props => {
37
37
  dsId,
38
38
  itemOpts: {
39
39
  label,
40
- RightComponent
40
+ RightComponent,
41
+ labelDataTestId
41
42
  },
42
43
  CollapsedComponent = () => null
43
44
  },
@@ -47,17 +48,20 @@ const ItemLink = props => {
47
48
  labelOverflow,
48
49
  openedItem
49
50
  },
50
- selectedItem
51
+ selectedItem,
52
+ selectedParent
51
53
  }
52
54
  } = props;
53
- const isSelected = selectedItem === dsId;
54
- const shadowStyle = React.useCallback(theme => !openedItem ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inherit", [isSelected, !openedItem]);
55
+ const isSelected = selectedItem === dsId || selectedParent === dsId;
56
+ const shadowStyle = React.useCallback(opened => theme => !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC", [isSelected, openedItem]);
55
57
  return /*#__PURE__*/_jsx__default["default"](index.ItemRenderer, {
56
58
  item: _objectSpread(_objectSpread({}, item), {}, {
57
- itemOpts: _objectSpread({
59
+ itemOpts: _objectSpread(_objectSpread({
58
60
  ariaLabel: typeof label === 'string' ? label : '',
59
61
  ariaRole: 'link'
60
- }, item.itemOpts)
62
+ }, item.itemOpts), {}, {
63
+ selectable: true
64
+ })
61
65
  }),
62
66
  shadowStyle: shadowStyle
63
67
  }, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
@@ -73,7 +77,7 @@ const ItemLink = props => {
73
77
  ml: "1px",
74
78
  mt: "xxxs",
75
79
  mb: "15px",
76
- "data-testid": "leftnav-itemlabel",
80
+ "data-testid": labelDataTestId || 'leftnav-itemlabel',
77
81
  labelOverflow: labelOverflow
78
82
  }, void 0, labelOverflow === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
79
83
  value: label,
@@ -2,19 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  require('react');
8
13
  var Grid = require('@elliemae/ds-grid');
9
14
  var index = require('../../exported-related/ItemRenderer/index.js');
10
- require('@elliemae/ds-icons/ChevronSmallRight');
15
+ require('@elliemae/ds-icons');
11
16
  require('react/jsx-runtime');
12
- require('@elliemae/ds-icons/Notifications');
13
- require('@elliemae/ds-icons/ExceptionsSmallFill');
14
- require('@elliemae/ds-icons/AlertsSmallFill');
15
- require('@elliemae/ds-icons/MessagesSmallFill');
16
17
  require('styled-components');
17
- require('@elliemae/ds-icons/OpenWindow');
18
18
  var styled = require('./styled.js');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -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, {}, 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
+ }) : _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);
@@ -2,19 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  require('react');
8
13
  var styled = require('styled-components');
9
14
  var index = require('../../exported-related/ItemRenderer/index.js');
10
- require('@elliemae/ds-icons/ChevronSmallRight');
15
+ require('@elliemae/ds-icons');
11
16
  require('react/jsx-runtime');
12
- require('@elliemae/ds-icons/Notifications');
13
- require('@elliemae/ds-icons/ExceptionsSmallFill');
14
- require('@elliemae/ds-icons/AlertsSmallFill');
15
- require('@elliemae/ds-icons/MessagesSmallFill');
16
17
  require('@elliemae/ds-grid');
17
- require('@elliemae/ds-icons/OpenWindow');
18
18
 
19
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
20
 
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  var React = require('react');
@@ -9,14 +14,9 @@ var Grid = require('@elliemae/ds-grid');
9
14
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
15
  var constants = require('../../exported-related/constants.js');
11
16
  var index = require('../../exported-related/ItemRenderer/index.js');
12
- require('@elliemae/ds-icons/ChevronSmallRight');
17
+ require('@elliemae/ds-icons');
13
18
  require('react/jsx-runtime');
14
- require('@elliemae/ds-icons/Notifications');
15
- require('@elliemae/ds-icons/ExceptionsSmallFill');
16
- require('@elliemae/ds-icons/AlertsSmallFill');
17
- require('@elliemae/ds-icons/MessagesSmallFill');
18
19
  require('styled-components');
19
- require('@elliemae/ds-icons/OpenWindow');
20
20
  var styled = require('./styled.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -29,7 +29,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
29
29
 
30
30
  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__default["default"](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; }
31
31
 
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.neutral[300], ";\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ").concat(theme.colors.brand[400], ";\n }\n");
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
 
34
34
  const ItemSubmenu = props => {
35
35
  var _item$itemOpts$ariaLa;
@@ -41,7 +41,8 @@ const ItemSubmenu = props => {
41
41
  itemOpts: {
42
42
  label,
43
43
  RightComponent,
44
- BottomComponent
44
+ BottomComponent,
45
+ labelDataTestId
45
46
  },
46
47
  CollapsedComponent = () => null
47
48
  },
@@ -54,13 +55,13 @@ const ItemSubmenu = props => {
54
55
  },
55
56
  expandedForAnimation,
56
57
  selectedItem,
57
- setSelectedItem,
58
+ selectedParent,
58
59
  setFocusedItem
59
60
  }
60
61
  } = props;
61
62
  const opened = openedItem === dsId;
62
63
  const isSelected = selectedItem === dsId;
63
- const shadowStyle = React.useCallback(theme => !openedItem ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inherit", [isSelected, !openedItem]);
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]);
64
65
  const ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
65
66
  return /*#__PURE__*/_jsx__default["default"](index.ItemRenderer, {
66
67
  item: _objectSpread(_objectSpread({}, item), {}, {
@@ -86,7 +87,6 @@ const ItemSubmenu = props => {
86
87
  color: ['brand-primary', 800],
87
88
  onClick: e => {
88
89
  onItemClick(item, e);
89
- setSelectedItem(dsId);
90
90
  },
91
91
  "data-testid": "leftnav-leftcomponent-chevron",
92
92
  tabIndex: 0,
@@ -103,7 +103,7 @@ const ItemSubmenu = props => {
103
103
  ml: opened ? 'xxs' : '1px',
104
104
  mt: "xxxs",
105
105
  mb: "15px",
106
- "data-testid": "leftnav-itemlabel",
106
+ "data-testid": labelDataTestId || 'leftnav-itemlabel',
107
107
  labelOverflow: labelOverflow
108
108
  }, void 0, labelOverflow === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
109
109
  value: label,
@@ -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,
@@ -3,21 +3,20 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var Grid = require('@elliemae/ds-grid');
6
- var ChevronLeft = require('@elliemae/ds-icons/ChevronSmallLeft');
6
+ var dsIcons = require('@elliemae/ds-icons');
7
7
  var styled = require('styled-components');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
11
11
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
12
- var ChevronLeft__default = /*#__PURE__*/_interopDefaultLegacy(ChevronLeft);
13
12
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
14
13
 
15
14
  const StyledLabel = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
16
15
  componentId: "sc-1hegp8y-0"
17
16
  })(["font-size:14px;color:", ";word-break:", ";"], props => props.theme.colors.neutral[800], props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
18
- const StyledChevronLeft = /*#__PURE__*/styled__default["default"](ChevronLeft__default["default"]).withConfig({
17
+ const StyledChevronLeft = /*#__PURE__*/styled__default["default"](dsIcons.ChevronSmallLeft).withConfig({
19
18
  componentId: "sc-1hegp8y-1"
20
- })(["cursor:pointer;:focus{outline:1px solid ", ";}"], props => props.theme.colors.brand[800]);
19
+ })(["cursor:pointer;:focus{outline:2px solid ", ";}"], props => props.theme.colors.brand[700]);
21
20
 
22
21
  exports.StyledChevronLeft = StyledChevronLeft;
23
22
  exports.StyledLabel = StyledLabel;
@@ -2,20 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  require('react');
8
13
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
9
14
  var index = require('../../exported-related/ItemRenderer/index.js');
10
- require('@elliemae/ds-icons/ChevronSmallRight');
15
+ require('@elliemae/ds-icons');
11
16
  require('react/jsx-runtime');
12
- require('@elliemae/ds-icons/Notifications');
13
- require('@elliemae/ds-icons/ExceptionsSmallFill');
14
- require('@elliemae/ds-icons/AlertsSmallFill');
15
- require('@elliemae/ds-icons/MessagesSmallFill');
16
17
  require('styled-components');
17
18
  require('@elliemae/ds-grid');
18
- require('@elliemae/ds-icons/OpenWindow');
19
19
  var styled = require('./styled.js');
20
20
 
21
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -36,7 +36,8 @@ const ItemTextLabel = props => {
36
36
  label,
37
37
  labelOverflow: itemLabelOverflow,
38
38
  labelBold,
39
- labelColor
39
+ labelColor,
40
+ labelDataTestId
40
41
  }
41
42
  },
42
43
  ctx: {
@@ -53,12 +54,13 @@ const ItemTextLabel = props => {
53
54
  minHeight: "32px",
54
55
  paddingTop: "8px"
55
56
  }, void 0, " ", _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {})), /*#__PURE__*/_jsx__default["default"](styled.StyledLabel, {
56
- "data-testid": "leftnav-list-item-label",
57
+ "data-testid": labelDataTestId || 'leftnav-list-item-label',
57
58
  pl: "24px",
58
59
  labelOverflow: labelOverflow,
59
60
  labelBold: labelBold,
60
61
  labelColor: labelColor,
61
- mr: "xxs2"
62
+ mr: "xxs2",
63
+ pb: "xxxs"
62
64
  }, void 0, labelOverflow === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
63
65
  value: label,
64
66
  placement: "bottom-start"
@@ -12,9 +12,12 @@ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
12
12
 
13
13
  const StyledLabel = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
14
14
  componentId: "sc-1v26p1i-0"
15
- })(["font-size:13px;font-weight:", ";color:", ";line-height:14px;word-break:", ";"], props => props.labelBold ? props.theme.fontWeights.semibold : props.theme.fontWeights.regular, ({
16
- labelColor,
17
- theme
18
- }) => labelColor ? theme.colors[labelColor[0]][labelColor[1]] : theme.colors.neutral[800], props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
15
+ })(["font-size:13px;font-weight:", ";color:", ";line-height:14px;word-break:", ";"], props => props.labelBold ? props.theme.fontWeights.semibold : props.theme.fontWeights.regular, _ref => {
16
+ let {
17
+ labelColor,
18
+ theme
19
+ } = _ref;
20
+ return labelColor ? theme.colors[labelColor[0]][labelColor[1]] : theme.colors.neutral[800];
21
+ }, props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
19
22
 
20
23
  exports.StyledLabel = StyledLabel;
@@ -5,21 +5,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.map.js');
9
+ require('core-js/modules/esnext.iterator.map.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.constructor.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ require('core-js/modules/esnext.async-iterator.for-each.js');
14
+ require('core-js/modules/esnext.iterator.for-each.js');
8
15
  var React = require('react');
9
16
  var Grid = require('@elliemae/ds-grid');
10
17
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
11
- var ArrowheadRight = require('@elliemae/ds-icons/ArrowheadRight');
12
- var ArrowheadDown = require('@elliemae/ds-icons/ArrowheadDown');
18
+ var dsIcons = require('@elliemae/ds-icons');
13
19
  var constants = require('../../exported-related/constants.js');
14
20
  var index$3 = require('../../exported-related/ItemRenderer/index.js');
15
- require('@elliemae/ds-icons/ChevronSmallRight');
16
21
  require('react/jsx-runtime');
17
- require('@elliemae/ds-icons/Notifications');
18
- require('@elliemae/ds-icons/ExceptionsSmallFill');
19
- require('@elliemae/ds-icons/AlertsSmallFill');
20
- require('@elliemae/ds-icons/MessagesSmallFill');
21
22
  require('styled-components');
22
- require('@elliemae/ds-icons/OpenWindow');
23
23
  var styled = require('./styled.js');
24
24
  var index = require('../ItemSeparator/index.js');
25
25
  var index$1 = require('../ItemWithDate/index.js');
@@ -30,8 +30,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
30
30
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
31
31
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
32
32
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
33
- var ArrowheadRight__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadRight);
34
- var ArrowheadDown__default = /*#__PURE__*/_interopDefaultLegacy(ArrowheadDown);
35
33
 
36
34
  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; }
37
35
 
@@ -91,7 +89,8 @@ const ItemUncontrolledDrilldown = props => {
91
89
  labelBold,
92
90
  labelColor,
93
91
  startOpened,
94
- items
92
+ items,
93
+ labelDataTestId
95
94
  }
96
95
  },
97
96
  ctx,
@@ -110,7 +109,7 @@ const ItemUncontrolledDrilldown = props => {
110
109
  const opened = openedDrilldowns.includes(dsId);
111
110
  const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
112
111
  const arrowIcon = React.useMemo(() => {
113
- const Component = opened ? ArrowheadDown__default["default"] : ArrowheadRight__default["default"];
112
+ const Component = opened ? dsIcons.ArrowheadDown : dsIcons.ArrowheadRight;
114
113
  return /*#__PURE__*/_jsx__default["default"](Component, {
115
114
  width: "24px",
116
115
  height: "18px",
@@ -148,7 +147,7 @@ const ItemUncontrolledDrilldown = props => {
148
147
  mt: "-2px"
149
148
  }, void 0, arrowIcon), /*#__PURE__*/_jsx__default["default"](styled.StyledLabel, {
150
149
  pb: "xxxs",
151
- "data-testid": "leftnav-list-item-label",
150
+ "data-testid": labelDataTestId || 'leftnav-list-item-label',
152
151
  labelOverflow: labelOverflow,
153
152
  labelBold: labelBold,
154
153
  labelColor: labelColor