@elliemae/ds-left-navigation 1.59.8 → 1.60.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.
Files changed (63) hide show
  1. package/cjs/LeftNavigation.js +2 -2
  2. package/cjs/configs/useLeftNavConfig.js +1 -1
  3. package/cjs/configs/useLeftNavConfig.js.map +1 -1
  4. package/cjs/exported-related/ItemRenderer/index.js +4 -2
  5. package/cjs/exported-related/ItemRenderer/index.js.map +1 -1
  6. package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +6 -3
  7. package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +1 -1
  8. package/cjs/exported-related/Notifications/index.js +8 -4
  9. package/cjs/exported-related/Notifications/index.js.map +1 -1
  10. package/cjs/hooks/useSelectFirstBodyItem.js +3 -3
  11. package/cjs/hooks/useSelectFirstBodyItem.js.map +1 -1
  12. package/cjs/index.js +2 -2
  13. package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +5 -2
  14. package/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +1 -1
  15. package/cjs/outOfTheBox/ItemHeader/index.js +6 -3
  16. package/cjs/outOfTheBox/ItemHeader/index.js.map +1 -1
  17. package/cjs/outOfTheBox/ItemLink/index.js +6 -3
  18. package/cjs/outOfTheBox/ItemLink/index.js.map +1 -1
  19. package/cjs/outOfTheBox/ItemSubmenu/index.js +6 -3
  20. package/cjs/outOfTheBox/ItemSubmenu/index.js.map +1 -1
  21. package/cjs/outOfTheBox/ItemTextLabel/index.js +2 -1
  22. package/cjs/outOfTheBox/ItemTextLabel/index.js.map +1 -1
  23. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +2 -1
  24. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +1 -1
  25. package/cjs/outOfTheBox/ItemWithDate/index.js +2 -1
  26. package/cjs/outOfTheBox/ItemWithDate/index.js.map +1 -1
  27. package/cjs/parts/LeftNavContent/index.js +4 -3
  28. package/cjs/parts/LeftNavContent/index.js.map +1 -1
  29. package/cjs/parts/OutOfTheBoxMapItem.js +2 -2
  30. package/cjs/prop-types.js +4 -3
  31. package/cjs/prop-types.js.map +1 -1
  32. package/esm/LeftNavigation.js +2 -2
  33. package/esm/configs/useLeftNavConfig.js +1 -1
  34. package/esm/configs/useLeftNavConfig.js.map +1 -1
  35. package/esm/exported-related/ItemRenderer/index.js +4 -2
  36. package/esm/exported-related/ItemRenderer/index.js.map +1 -1
  37. package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +6 -3
  38. package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +1 -1
  39. package/esm/exported-related/Notifications/index.js +8 -4
  40. package/esm/exported-related/Notifications/index.js.map +1 -1
  41. package/esm/hooks/useSelectFirstBodyItem.js +3 -3
  42. package/esm/hooks/useSelectFirstBodyItem.js.map +1 -1
  43. package/esm/index.js +2 -2
  44. package/esm/outOfTheBox/ItemControlledDrilldown/index.js +5 -2
  45. package/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +1 -1
  46. package/esm/outOfTheBox/ItemHeader/index.js +6 -3
  47. package/esm/outOfTheBox/ItemHeader/index.js.map +1 -1
  48. package/esm/outOfTheBox/ItemLink/index.js +6 -3
  49. package/esm/outOfTheBox/ItemLink/index.js.map +1 -1
  50. package/esm/outOfTheBox/ItemSubmenu/index.js +6 -3
  51. package/esm/outOfTheBox/ItemSubmenu/index.js.map +1 -1
  52. package/esm/outOfTheBox/ItemTextLabel/index.js +2 -1
  53. package/esm/outOfTheBox/ItemTextLabel/index.js.map +1 -1
  54. package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +2 -1
  55. package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +1 -1
  56. package/esm/outOfTheBox/ItemWithDate/index.js +2 -1
  57. package/esm/outOfTheBox/ItemWithDate/index.js.map +1 -1
  58. package/esm/parts/LeftNavContent/index.js +4 -3
  59. package/esm/parts/LeftNavContent/index.js.map +1 -1
  60. package/esm/parts/OutOfTheBoxMapItem.js +2 -2
  61. package/esm/prop-types.js +4 -3
  62. package/esm/prop-types.js.map +1 -1
  63. package/package.json +6 -6
@@ -25,11 +25,11 @@ require('./outOfTheBox/ItemControlledDrilldown/styled.js');
25
25
  require('./outOfTheBox/ItemSeparator/index.js');
26
26
  require('./outOfTheBox/ItemWithDate/index.js');
27
27
  require('./outOfTheBox/ItemWithDate/styled.js');
28
+ require('./outOfTheBox/ItemTextLabel/index.js');
29
+ require('./outOfTheBox/ItemTextLabel/styled.js');
28
30
  require('./outOfTheBox/ItemUncontrolledDrilldown/index.js');
29
31
  require('@babel/runtime/helpers/toConsumableArray');
30
32
  require('./outOfTheBox/ItemUncontrolledDrilldown/styled.js');
31
- require('./outOfTheBox/ItemTextLabel/index.js');
32
- require('./outOfTheBox/ItemTextLabel/styled.js');
33
33
  require('./outOfTheBox/ItemHeader/index.js');
34
34
  require('./outOfTheBox/ItemHeader/styled.js');
35
35
  require('./outOfTheBox/ItemLink/index.js');
@@ -89,7 +89,7 @@ var useLeftNavConfig = function useLeftNavConfig(props) {
89
89
  React__default['default'].useEffect(function () {
90
90
  onFocusChange(focusedItem);
91
91
  }, [focusedItem, onFocusChange]);
92
- hooks_useSelectFirstBodyItem.useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem); // -----------------------------------------------------------------------------
92
+ hooks_useSelectFirstBodyItem.useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem, props.disableDefaultSelection); // -----------------------------------------------------------------------------
93
93
  // ************************** ------------ **************************
94
94
  // * ITEMS MANAGEMENT *
95
95
  // ************************** ------------ **************************
@@ -1 +1 @@
1
- {"version":3,"file":"useLeftNavConfig.js","sources":["../../../src/configs/useLeftNavConfig.tsx"],"sourcesContent":["import React from 'react';\nimport type { LeftNavProps } from '../index.d';\nimport { ContextProps } from '../LeftNavigationContext';\nimport useLeftNavItems from './useLeftNavItems';\nimport { useLeftNavSmoothExpand } from './useLeftNavSmoothExpand';\nimport { useSelectFirstBodyItem } from '../hooks/useSelectFirstBodyItem';\n\nexport const useLeftNavConfig = (props: LeftNavProps): ContextProps => {\n const { expanded, openedItem, onSelectedChange, onFocusChange, items } = props;\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * INTERNAL STATE *\n // ************************** ------------ **************************\n // Selection related\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedSubitem, setSelectedSubitem] = React.useState(null);\n const [selectedParent, setSelectedParent] = React.useState(null);\n // Focus related\n const [focusedItem, setFocusedItem] = React.useState(null);\n // Opened uncontrolled drilldowns\n const [openedDrilldowns, setOpenedDrilldowns] = React.useState<string[]>([]);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * EXPAND ANIMATION *\n // ************************** ------------ **************************\n const [expandedForAnimation, setExpandedForAnimation] = React.useState(expanded);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null);\n const smoothExpandOpts = React.useMemo(\n () => ({\n expandedForAnimation,\n timeoutRef,\n setExpandedForAnimation,\n }),\n [expandedForAnimation, timeoutRef, setExpandedForAnimation],\n );\n useLeftNavSmoothExpand(props, smoothExpandOpts);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * SIDE EFFECTS *\n // ************************** ------------ **************************\n React.useEffect(() => {\n onSelectedChange(selectedItem);\n }, [selectedItem, onSelectedChange]);\n\n React.useEffect(() => {\n if (openedItem !== null) setSelectedParent(openedItem);\n }, [openedItem]);\n\n React.useEffect(() => {\n onFocusChange(focusedItem);\n }, [focusedItem, onFocusChange]);\n\n useSelectFirstBodyItem(\n items,\n openedItem,\n props.selectedItem !== undefined ? props.selectedItem : selectedItem,\n setSelectedItem,\n );\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * ITEMS MANAGEMENT *\n // ************************** ------------ **************************\n\n const leftNavItemsProps = React.useMemo(\n () => ({\n headerItem: props.HeaderComponent,\n bodyHeaderItem: props.BodyHeaderComponent,\n items: props.items,\n openedDrilldowns,\n }),\n [props.HeaderComponent, props.BodyHeaderComponent, props.items, openedDrilldowns],\n );\n // We need to know the current visible items since we have drilldowns\n const { visibleItems, visibleItemsRefs } = useLeftNavItems(leftNavItemsProps);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * LEFTNAV CONFIG *\n // ************************** ------------ **************************\n const finalConfig = React.useMemo(\n () => ({\n leftNavProps: props,\n expandedForAnimation,\n selectedItem: props.selectedItem !== undefined ? props.selectedItem : selectedItem,\n setSelectedItem,\n selectedParent: props.selectedParent !== undefined ? props.selectedParent : selectedParent,\n setSelectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n }),\n [\n props,\n expandedForAnimation,\n selectedItem,\n setSelectedItem,\n setSelectedParent,\n selectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n ],\n );\n\n return finalConfig;\n};\n\nexport default useLeftNavConfig;\n"],"names":["useLeftNavConfig","props","expanded","openedItem","onSelectedChange","onFocusChange","items","React","useState","selectedItem","setSelectedItem","selectedParent","setSelectedParent","focusedItem","setFocusedItem","openedDrilldowns","setOpenedDrilldowns","expandedForAnimation","setExpandedForAnimation","timeoutRef","useRef","smoothExpandOpts","useMemo","useLeftNavSmoothExpand","useEffect","useSelectFirstBodyItem","undefined","leftNavItemsProps","headerItem","HeaderComponent","bodyHeaderItem","BodyHeaderComponent","useLeftNavItems","visibleItems","visibleItemsRefs","finalConfig","leftNavProps"],"mappings":"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"}
1
+ {"version":3,"file":"useLeftNavConfig.js","sources":["../../../src/configs/useLeftNavConfig.tsx"],"sourcesContent":["import React from 'react';\nimport type { LeftNavProps } from '../index.d';\nimport { ContextProps } from '../LeftNavigationContext';\nimport useLeftNavItems from './useLeftNavItems';\nimport { useLeftNavSmoothExpand } from './useLeftNavSmoothExpand';\nimport { useSelectFirstBodyItem } from '../hooks/useSelectFirstBodyItem';\n\nexport const useLeftNavConfig = (props: LeftNavProps): ContextProps => {\n const { expanded, openedItem, onSelectedChange, onFocusChange, items } = props;\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * INTERNAL STATE *\n // ************************** ------------ **************************\n // Selection related\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedSubitem, setSelectedSubitem] = React.useState(null);\n const [selectedParent, setSelectedParent] = React.useState(null);\n // Focus related\n const [focusedItem, setFocusedItem] = React.useState(null);\n // Opened uncontrolled drilldowns\n const [openedDrilldowns, setOpenedDrilldowns] = React.useState<string[]>([]);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * EXPAND ANIMATION *\n // ************************** ------------ **************************\n const [expandedForAnimation, setExpandedForAnimation] = React.useState(expanded);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null);\n const smoothExpandOpts = React.useMemo(\n () => ({\n expandedForAnimation,\n timeoutRef,\n setExpandedForAnimation,\n }),\n [expandedForAnimation, timeoutRef, setExpandedForAnimation],\n );\n useLeftNavSmoothExpand(props, smoothExpandOpts);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * SIDE EFFECTS *\n // ************************** ------------ **************************\n React.useEffect(() => {\n onSelectedChange(selectedItem);\n }, [selectedItem, onSelectedChange]);\n\n React.useEffect(() => {\n if (openedItem !== null) setSelectedParent(openedItem);\n }, [openedItem]);\n\n React.useEffect(() => {\n onFocusChange(focusedItem);\n }, [focusedItem, onFocusChange]);\n\n useSelectFirstBodyItem(\n items,\n openedItem,\n props.selectedItem !== undefined ? props.selectedItem : selectedItem,\n setSelectedItem,\n props.disableDefaultSelection,\n );\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * ITEMS MANAGEMENT *\n // ************************** ------------ **************************\n\n const leftNavItemsProps = React.useMemo(\n () => ({\n headerItem: props.HeaderComponent,\n bodyHeaderItem: props.BodyHeaderComponent,\n items: props.items,\n openedDrilldowns,\n }),\n [props.HeaderComponent, props.BodyHeaderComponent, props.items, openedDrilldowns],\n );\n\n // We need to know the current visible items since we have drilldowns\n const { visibleItems, visibleItemsRefs } = useLeftNavItems(leftNavItemsProps);\n\n // -----------------------------------------------------------------------------\n // ************************** ------------ **************************\n // * LEFTNAV CONFIG *\n // ************************** ------------ **************************\n const finalConfig = React.useMemo(\n () => ({\n leftNavProps: props,\n expandedForAnimation,\n selectedItem: props.selectedItem !== undefined ? props.selectedItem : selectedItem,\n setSelectedItem,\n selectedParent: props.selectedParent !== undefined ? props.selectedParent : selectedParent,\n setSelectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n }),\n [\n props,\n expandedForAnimation,\n selectedItem,\n setSelectedItem,\n setSelectedParent,\n selectedParent,\n focusedItem,\n setFocusedItem,\n openedDrilldowns,\n setOpenedDrilldowns,\n visibleItems,\n visibleItemsRefs,\n ],\n );\n\n return finalConfig;\n};\n\nexport default useLeftNavConfig;\n"],"names":["useLeftNavConfig","props","expanded","openedItem","onSelectedChange","onFocusChange","items","React","useState","selectedItem","setSelectedItem","selectedParent","setSelectedParent","focusedItem","setFocusedItem","openedDrilldowns","setOpenedDrilldowns","expandedForAnimation","setExpandedForAnimation","timeoutRef","useRef","smoothExpandOpts","useMemo","useLeftNavSmoothExpand","useEffect","useSelectFirstBodyItem","undefined","disableDefaultSelection","leftNavItemsProps","headerItem","HeaderComponent","bodyHeaderItem","BodyHeaderComponent","useLeftNavItems","visibleItems","visibleItemsRefs","finalConfig","leftNavProps"],"mappings":"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"}
@@ -77,14 +77,14 @@ var ItemRenderer = function ItemRenderer(props) {
77
77
  }
78
78
 
79
79
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(exportedRelated_ItemRenderer_styled.StyledItemWrapper, {
80
- shadowStyle: shadowStyle,
80
+ shadowStyle: shadowStyle(opened, item.type),
81
81
  "data-testid": "leftnav-item-wrapper"
82
82
  }, /*#__PURE__*/React__default['default'].createElement(exportedRelated_ItemRenderer_styled.StyledItem, {
83
83
  ref: visibleItemsRefs.current[dsId],
84
84
  pt: paddingTop,
85
85
  pl: indent === undefined ? 'xxxs' : "".concat(indent, "px"),
86
86
  minHeight: minHeight,
87
- shadowStyle: shadowStyle,
87
+ shadowStyle: shadowStyle(opened, item.type),
88
88
  alignItems: "flex-start",
89
89
  cols: cols,
90
90
  onClick: !opened ? handleOnClick : function () {
@@ -101,6 +101,8 @@ var ItemRenderer = function ItemRenderer(props) {
101
101
  "aria-describedby": ariaDescribedBy,
102
102
  "aria-expanded": ariaExpanded,
103
103
  role: ariaRole,
104
+ "data-selected": isSelected,
105
+ "data-selectedparent": selectedParent === dsId,
104
106
  "aria-label": ariaLabel,
105
107
  "aria-hidden": !focuseable,
106
108
  "aria-live": ariaLive
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/exported-related/ItemRenderer/index.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useMemo, useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { StyledItemWrapper, StyledItem } from './styled';\n\nimport { ItemRendererT } from '../../index.d';\nimport { LeftNavContext } from '../../LeftNavigationContext';\nimport { usePropsWithDefaults } from './usePropsWithDefaults';\nimport { useKeyboardNavigation } from '../../hooks';\n\nexport const ItemRenderer = (props: ItemRendererT): JSX.Element => {\n const propsWithDefault = usePropsWithDefaults(props);\n const {\n item,\n item: {\n dsId,\n itemOpts: { selectable, focuseable, indent, ariaLabel, ariaRole, ariaLive, ariaExpanded, ariaDescribedBy },\n CollapsedComponent,\n },\n subitems,\n minHeight,\n paddingTop,\n onClick,\n shadowStyle,\n hasBorderBottom,\n borderBottomMr,\n children,\n } = propsWithDefault;\n\n const ctx = useContext(LeftNavContext);\n const {\n leftNavProps: { onItemClick, openedItem },\n expandedForAnimation,\n selectedParent,\n selectedItem,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = ctx;\n\n const opened = dsId === openedItem;\n\n const handleOnClick = useCallback(\n (e) => {\n if (onClick) onClick(); // used by uncontrolled drilldowns\n onItemClick(item, e);\n if (selectable) setSelectedItem(item.dsId);\n },\n [onItemClick, item, setSelectedItem, selectable, onClick],\n );\n\n const handleFocus = useCallback(() => {\n if (focuseable) setFocusedItem(dsId);\n }, [dsId, setFocusedItem, focuseable]);\n\n const onKeyDown = useKeyboardNavigation({\n item,\n onClick: handleOnClick,\n });\n\n const cols = useMemo(() => (expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']), [expandedForAnimation]);\n const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);\n\n if (!expandedForAnimation && !CollapsedComponent) {\n return null;\n }\n\n return (\n <>\n <StyledItemWrapper shadowStyle={shadowStyle} data-testid=\"leftnav-item-wrapper\">\n <StyledItem\n ref={visibleItemsRefs.current[dsId]}\n pt={paddingTop}\n pl={indent === undefined ? 'xxxs' : `${indent}px`}\n minHeight={minHeight}\n shadowStyle={shadowStyle}\n alignItems=\"flex-start\"\n cols={cols}\n onClick={!opened ? handleOnClick : () => null}\n onKeyDown={onKeyDown}\n selectable={selectable}\n selected={isSelected}\n selectedParent={selectedParent === dsId}\n opened={opened}\n onFocus={handleFocus}\n data-testid=\"leftnav-item-container\"\n tabIndex={focuseable ? 0 : -1}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n role={ariaRole}\n aria-label={ariaLabel}\n aria-hidden={!focuseable}\n aria-live={ariaLive}\n >\n {!expandedForAnimation ? (\n <Grid data-testid=\"leftnav-leftcomponent\" justifyContent=\"center\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n ) : (\n children\n )}\n </StyledItem>\n {hasBorderBottom && (\n <div\n style={{\n marginLeft: opened ? '16px' : '0px',\n marginRight: borderBottomMr,\n height: '1px',\n width: `calc(100% - ${borderBottomMr} - ${opened ? '16px' : '0px'})`,\n backgroundColor: '#E0E3E8',\n }}\n />\n )}\n </StyledItemWrapper>\n {subitems}\n </>\n );\n};\n"],"names":["ItemRenderer","props","propsWithDefault","usePropsWithDefaults","item","dsId","itemOpts","selectable","focuseable","indent","ariaLabel","ariaRole","ariaLive","ariaExpanded","ariaDescribedBy","CollapsedComponent","subitems","minHeight","paddingTop","onClick","shadowStyle","hasBorderBottom","borderBottomMr","children","ctx","useContext","LeftNavContext","leftNavProps","onItemClick","openedItem","expandedForAnimation","selectedParent","selectedItem","setSelectedItem","setFocusedItem","visibleItemsRefs","opened","handleOnClick","useCallback","e","handleFocus","onKeyDown","useKeyboardNavigation","cols","useMemo","isSelected","React","StyledItemWrapper","StyledItem","current","undefined","Grid","marginLeft","marginRight","height","width","backgroundColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/exported-related/ItemRenderer/index.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useContext, useMemo, useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { StyledItemWrapper, StyledItem } from './styled';\n\nimport { ItemRendererT } from '../../index.d';\nimport { LeftNavContext } from '../../LeftNavigationContext';\nimport { usePropsWithDefaults } from './usePropsWithDefaults';\nimport { useKeyboardNavigation } from '../../hooks';\n\nexport const ItemRenderer = (props: ItemRendererT): JSX.Element => {\n const propsWithDefault = usePropsWithDefaults(props);\n const {\n item,\n item: {\n dsId,\n itemOpts: { selectable, focuseable, indent, ariaLabel, ariaRole, ariaLive, ariaExpanded, ariaDescribedBy },\n CollapsedComponent,\n },\n subitems,\n minHeight,\n paddingTop,\n onClick,\n shadowStyle,\n hasBorderBottom,\n borderBottomMr,\n children,\n } = propsWithDefault;\n\n const ctx = useContext(LeftNavContext);\n const {\n leftNavProps: { onItemClick, openedItem },\n expandedForAnimation,\n selectedParent,\n selectedItem,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = ctx;\n\n const opened = dsId === openedItem;\n\n const handleOnClick = useCallback(\n (e) => {\n if (onClick) onClick(); // used by uncontrolled drilldowns\n onItemClick(item, e);\n if (selectable) setSelectedItem(item.dsId);\n },\n [onItemClick, item, setSelectedItem, selectable, onClick],\n );\n\n const handleFocus = useCallback(() => {\n if (focuseable) setFocusedItem(dsId);\n }, [dsId, setFocusedItem, focuseable]);\n\n const onKeyDown = useKeyboardNavigation({\n item,\n onClick: handleOnClick,\n });\n\n const cols = useMemo(() => (expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']), [expandedForAnimation]);\n const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);\n\n if (!expandedForAnimation && !CollapsedComponent) {\n return null;\n }\n\n return (\n <>\n <StyledItemWrapper shadowStyle={shadowStyle(opened, item.type)} data-testid=\"leftnav-item-wrapper\">\n <StyledItem\n ref={visibleItemsRefs.current[dsId]}\n pt={paddingTop}\n pl={indent === undefined ? 'xxxs' : `${indent}px`}\n minHeight={minHeight}\n shadowStyle={shadowStyle(opened, item.type)}\n alignItems=\"flex-start\"\n cols={cols}\n onClick={!opened ? handleOnClick : () => null}\n onKeyDown={onKeyDown}\n selectable={selectable}\n selected={isSelected}\n selectedParent={selectedParent === dsId}\n opened={opened}\n onFocus={handleFocus}\n data-testid=\"leftnav-item-container\"\n tabIndex={focuseable ? 0 : -1}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n role={ariaRole}\n data-selected={isSelected}\n data-selectedparent={selectedParent===dsId}\n aria-label={ariaLabel}\n aria-hidden={!focuseable}\n aria-live={ariaLive}\n >\n {!expandedForAnimation ? (\n <Grid data-testid=\"leftnav-leftcomponent\" justifyContent=\"center\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n ) : (\n children\n )}\n </StyledItem>\n {hasBorderBottom && (\n <div\n style={{\n marginLeft: opened ? '16px' : '0px',\n marginRight: borderBottomMr,\n height: '1px',\n width: `calc(100% - ${borderBottomMr} - ${opened ? '16px' : '0px'})`,\n backgroundColor: '#E0E3E8',\n }}\n />\n )}\n </StyledItemWrapper>\n {subitems}\n </>\n );\n};\n"],"names":["ItemRenderer","props","propsWithDefault","usePropsWithDefaults","item","dsId","itemOpts","selectable","focuseable","indent","ariaLabel","ariaRole","ariaLive","ariaExpanded","ariaDescribedBy","CollapsedComponent","subitems","minHeight","paddingTop","onClick","shadowStyle","hasBorderBottom","borderBottomMr","children","ctx","useContext","LeftNavContext","leftNavProps","onItemClick","openedItem","expandedForAnimation","selectedParent","selectedItem","setSelectedItem","setFocusedItem","visibleItemsRefs","opened","handleOnClick","useCallback","e","handleFocus","onKeyDown","useKeyboardNavigation","cols","useMemo","isSelected","React","StyledItemWrapper","type","StyledItem","current","undefined","Grid","marginLeft","marginRight","height","width","backgroundColor"],"mappings":"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"}
@@ -24,7 +24,8 @@ var itemDefaultProps = {
24
24
  ariaLive: 'off',
25
25
  ariaExpanded: undefined,
26
26
  ariaDescribedBy: undefined
27
- }; // Make use Item props with defaults
27
+ };
28
+ var itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu']; // Make use Item props with defaults
28
29
 
29
30
  var usePropsWithDefaults = function usePropsWithDefaults(props) {
30
31
  var propsWithDefault = React.useMemo(function () {
@@ -40,8 +41,10 @@ var usePropsWithDefaults = function usePropsWithDefaults(props) {
40
41
  minHeight: '48px',
41
42
  paddingTop: '12px',
42
43
  subitems: [],
43
- shadowStyle: function shadowStyle() {
44
- return 'box-shadow: inherit';
44
+ shadowStyle: function shadowStyle(opened, type) {
45
+ return function (theme) {
46
+ return "box-shadow: ".concat(opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white');
47
+ };
45
48
  },
46
49
  hasBorderBottom: false,
47
50
  borderBottomMr: '0px'
@@ -1 +1 @@
1
- {"version":3,"file":"usePropsWithDefaults.js","sources":["../../../../src/exported-related/ItemRenderer/usePropsWithDefaults.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { itemOptsT, ItemRendererT } from '../../index.d';\n\nconst itemDefaultProps: itemOptsT = {\n label: '',\n labelOverflow: 'truncate',\n selectable: true,\n focuseable: true,\n openable: false,\n closable: false,\n ariaLabel: '',\n ariaRole: 'menuitem',\n ariaLive: 'off',\n ariaExpanded: undefined,\n ariaDescribedBy: undefined,\n};\n\n// Make use Item props with defaults\n\nexport const usePropsWithDefaults = (props: ItemRendererT): ItemRendererT => {\n const propsWithDefault = useMemo(() => {\n const itemWithDefaults = {\n CollapsedComponent: () => null,\n ...props.item,\n itemOpts: { ...itemDefaultProps, ...props.item.itemOpts },\n };\n return {\n minHeight: '48px',\n paddingTop: '12px',\n subitems: [],\n shadowStyle: () => 'box-shadow: inherit',\n hasBorderBottom: false,\n borderBottomMr: '0px',\n ...props,\n item: itemWithDefaults,\n };\n }, [props]);\n\n return propsWithDefault;\n};\n"],"names":["itemDefaultProps","label","labelOverflow","selectable","focuseable","openable","closable","ariaLabel","ariaRole","ariaLive","ariaExpanded","undefined","ariaDescribedBy","usePropsWithDefaults","props","propsWithDefault","useMemo","itemWithDefaults","CollapsedComponent","item","itemOpts","minHeight","paddingTop","subitems","shadowStyle","hasBorderBottom","borderBottomMr"],"mappings":";;;;;;;;;;;;;;AAGA,IAAMA,gBAA2B,GAAG;AAClCC,EAAAA,KAAK,EAAE,EAD2B;AAElCC,EAAAA,aAAa,EAAE,UAFmB;AAGlCC,EAAAA,UAAU,EAAE,IAHsB;AAIlCC,EAAAA,UAAU,EAAE,IAJsB;AAKlCC,EAAAA,QAAQ,EAAE,KALwB;AAMlCC,EAAAA,QAAQ,EAAE,KANwB;AAOlCC,EAAAA,SAAS,EAAE,EAPuB;AAQlCC,EAAAA,QAAQ,EAAE,UARwB;AASlCC,EAAAA,QAAQ,EAAE,KATwB;AAUlCC,EAAAA,YAAY,EAAEC,SAVoB;AAWlCC,EAAAA,eAAe,EAAED;AAXiB,CAApC;;IAgBaE,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAyC;AAC3E,MAAMC,gBAAgB,GAAGC,aAAO,CAAC,YAAM;AACrC,QAAMC,gBAAgB;AACpBC,MAAAA,kBAAkB,EAAE;AAAA,eAAM,IAAN;AAAA;AADA,OAEjBJ,KAAK,CAACK,IAFW;AAGpBC,MAAAA,QAAQ,kCAAOpB,gBAAP,GAA4Bc,KAAK,CAACK,IAAN,CAAWC,QAAvC;AAHY,MAAtB;;AAKA;AACEC,MAAAA,SAAS,EAAE,MADb;AAEEC,MAAAA,UAAU,EAAE,MAFd;AAGEC,MAAAA,QAAQ,EAAE,EAHZ;AAIEC,MAAAA,WAAW,EAAE;AAAA,eAAM,qBAAN;AAAA,OAJf;AAKEC,MAAAA,eAAe,EAAE,KALnB;AAMEC,MAAAA,cAAc,EAAE;AANlB,OAOKZ,KAPL;AAQEK,MAAAA,IAAI,EAAEF;AARR;AAUD,GAhB+B,EAgB7B,CAACH,KAAD,CAhB6B,CAAhC;AAkBA,SAAOC,gBAAP;AACD;;;;"}
1
+ {"version":3,"file":"usePropsWithDefaults.js","sources":["../../../../src/exported-related/ItemRenderer/usePropsWithDefaults.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { itemOptsT, ItemRendererT } from '../../index.d';\n\nconst itemDefaultProps: itemOptsT = {\n label: '',\n labelOverflow: 'truncate',\n selectable: true,\n focuseable: true,\n openable: false,\n closable: false,\n ariaLabel: '',\n ariaRole: 'menuitem',\n ariaLive: 'off',\n ariaExpanded: undefined,\n ariaDescribedBy: undefined,\n};\n\nconst itemWithoutShadows = ['ds-left-nav-item-header', 'ds-left-nav-item-link', 'ds-left-nav-item-submenu'];\n\n// Make use Item props with defaults\nexport const usePropsWithDefaults = (props: ItemRendererT): ItemRendererT => {\n const propsWithDefault = useMemo(() => {\n const itemWithDefaults = {\n CollapsedComponent: () => null,\n ...props.item,\n itemOpts: { ...itemDefaultProps, ...props.item.itemOpts },\n };\n return {\n minHeight: '48px',\n paddingTop: '12px',\n subitems: [],\n shadowStyle: (opened: boolean, type: string) => (theme: any) =>\n `box-shadow: ${\n opened || !itemWithoutShadows.includes(type) ? 'inset 4px 0 0 0 #52A6EC' : 'inset 4px 0 0 0 white'\n }`,\n hasBorderBottom: false,\n borderBottomMr: '0px',\n ...props,\n item: itemWithDefaults,\n };\n }, [props]);\n\n return propsWithDefault;\n};\n"],"names":["itemDefaultProps","label","labelOverflow","selectable","focuseable","openable","closable","ariaLabel","ariaRole","ariaLive","ariaExpanded","undefined","ariaDescribedBy","itemWithoutShadows","usePropsWithDefaults","props","propsWithDefault","useMemo","itemWithDefaults","CollapsedComponent","item","itemOpts","minHeight","paddingTop","subitems","shadowStyle","opened","type","theme","includes","hasBorderBottom","borderBottomMr"],"mappings":";;;;;;;;;;;;;;AAGA,IAAMA,gBAA2B,GAAG;AAClCC,EAAAA,KAAK,EAAE,EAD2B;AAElCC,EAAAA,aAAa,EAAE,UAFmB;AAGlCC,EAAAA,UAAU,EAAE,IAHsB;AAIlCC,EAAAA,UAAU,EAAE,IAJsB;AAKlCC,EAAAA,QAAQ,EAAE,KALwB;AAMlCC,EAAAA,QAAQ,EAAE,KANwB;AAOlCC,EAAAA,SAAS,EAAE,EAPuB;AAQlCC,EAAAA,QAAQ,EAAE,UARwB;AASlCC,EAAAA,QAAQ,EAAE,KATwB;AAUlCC,EAAAA,YAAY,EAAEC,SAVoB;AAWlCC,EAAAA,eAAe,EAAED;AAXiB,CAApC;AAcA,IAAME,kBAAkB,GAAG,CAAC,yBAAD,EAA4B,uBAA5B,EAAqD,0BAArD,CAA3B;;IAGaC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAyC;AAC3E,MAAMC,gBAAgB,GAAGC,aAAO,CAAC,YAAM;AACrC,QAAMC,gBAAgB;AACpBC,MAAAA,kBAAkB,EAAE;AAAA,eAAM,IAAN;AAAA;AADA,OAEjBJ,KAAK,CAACK,IAFW;AAGpBC,MAAAA,QAAQ,kCAAOrB,gBAAP,GAA4Be,KAAK,CAACK,IAAN,CAAWC,QAAvC;AAHY,MAAtB;;AAKA;AACEC,MAAAA,SAAS,EAAE,MADb;AAEEC,MAAAA,UAAU,EAAE,MAFd;AAGEC,MAAAA,QAAQ,EAAE,EAHZ;AAIEC,MAAAA,WAAW,EAAE,qBAACC,MAAD,EAAkBC,IAAlB;AAAA,eAAmC,UAACC,KAAD;AAAA,uCAE5CF,MAAM,IAAI,CAACb,kBAAkB,CAACgB,QAAnB,CAA4BF,IAA5B,CAAX,GAA+C,yBAA/C,GAA2E,uBAF/B;AAAA,SAAnC;AAAA,OAJf;AAQEG,MAAAA,eAAe,EAAE,KARnB;AASEC,MAAAA,cAAc,EAAE;AATlB,OAUKhB,KAVL;AAWEK,MAAAA,IAAI,EAAEF;AAXR;AAaD,GAnB+B,EAmB7B,CAACH,KAAD,CAnB6B,CAAhC;AAqBA,SAAOC,gBAAP;AACD;;;;"}
@@ -25,28 +25,32 @@ var Notifications = function Notifications(_ref) {
25
25
  messages = _ref$messages === void 0 ? false : _ref$messages;
26
26
  return /*#__PURE__*/React__default['default'].createElement(StyledIcon, null, /*#__PURE__*/React__default['default'].createElement(dsIcons.Notifications, {
27
27
  size: "m",
28
- color: ['brand-primary', 800]
28
+ color: ['brand-primary', 800],
29
+ "data-testid": "left-nav-notifications-icon"
29
30
  }), (exceptions || alerts || messages) && /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
30
31
  cols: ['1fr', '1fr', '1fr'],
31
32
  gutter: "xxxs",
32
33
  mt: "2px"
33
34
  }, /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
34
35
  width: "6px",
35
- height: "6px"
36
+ height: "6px",
37
+ "data-testid": "left-nav-exceptions-icon"
36
38
  }, exceptions && /*#__PURE__*/React__default['default'].createElement(dsIcons.ExceptionsSmallFill, {
37
39
  width: "6px",
38
40
  height: "6px",
39
41
  color: ['warning', 900]
40
42
  })), /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
41
43
  width: "6px",
42
- height: "6px"
44
+ height: "6px",
45
+ "data-testid": "left-nav-alerts-icon"
43
46
  }, alerts && /*#__PURE__*/React__default['default'].createElement(dsIcons.AlertsSmallFill, {
44
47
  width: "6px",
45
48
  height: "6px",
46
49
  color: ['danger', 900]
47
50
  })), /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
48
51
  width: "6px",
49
- height: "6px"
52
+ height: "6px",
53
+ "data-testid": "left-nav-messages-icon"
50
54
  }, messages && /*#__PURE__*/React__default['default'].createElement(dsIcons.MessagesSmallFill, {
51
55
  width: "6px",
52
56
  height: "6px",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/exported-related/Notifications/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n AlertsSmallFill,\n Notifications as InternalNotifications,\n ExceptionsSmallFill,\n MessagesSmallFill,\n} from '@elliemae/ds-icons';\nimport styled from 'styled-components';\nimport Grid from '@elliemae/ds-grid';\n\nconst StyledIcon = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\ntype NotificationsProps = {\n exceptions?: boolean;\n alerts?: boolean;\n messages?: boolean;\n};\n\nexport const Notifications = ({\n exceptions = false,\n alerts = false,\n messages = false,\n}: NotificationsProps): JSX.Element => (\n <StyledIcon>\n <InternalNotifications size=\"m\" color={['brand-primary', 800]} />\n {(exceptions || alerts || messages) && (\n <Grid cols={['1fr', '1fr', '1fr']} gutter=\"xxxs\" mt=\"2px\">\n <Grid width=\"6px\" height=\"6px\">\n {exceptions && <ExceptionsSmallFill width=\"6px\" height=\"6px\" color={['warning', 900]} />}\n </Grid>\n <Grid width=\"6px\" height=\"6px\">\n {alerts && <AlertsSmallFill width=\"6px\" height=\"6px\" color={['danger', 900]} />}\n </Grid>\n <Grid width=\"6px\" height=\"6px\">\n {messages && <MessagesSmallFill width=\"6px\" height=\"6px\" color={['success', 900]} />}\n </Grid>\n </Grid>\n )}\n </StyledIcon>\n);\n\nexport default Notifications;\n"],"names":["StyledIcon","styled","div","Notifications","exceptions","alerts","messages","React","InternalNotifications","Grid","ExceptionsSmallFill","AlertsSmallFill","MessagesSmallFill"],"mappings":";;;;;;;;;;;;;;;AAUA,IAAMA,UAAU,gBAAGC,0BAAM,CAACC,GAAV;AAAA;AAAA,8DAAhB;IAYaC,aAAa,GAAG,SAAhBA,aAAgB;AAAA,6BAC3BC,UAD2B;AAAA,MAC3BA,UAD2B,gCACd,KADc;AAAA,yBAE3BC,MAF2B;AAAA,MAE3BA,MAF2B,4BAElB,KAFkB;AAAA,2BAG3BC,QAH2B;AAAA,MAG3BA,QAH2B,8BAGhB,KAHgB;AAAA,sBAK3BC,wCAAC,UAAD,qBACEA,wCAACC,qBAAD;AAAuB,IAAA,IAAI,EAAC,GAA5B;AAAgC,IAAA,KAAK,EAAE,CAAC,eAAD,EAAkB,GAAlB;AAAvC,IADF,EAEG,CAACJ,UAAU,IAAIC,MAAd,IAAwBC,QAAzB,kBACCC,wCAACE,wBAAD;AAAM,IAAA,IAAI,EAAE,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,CAAZ;AAAmC,IAAA,MAAM,EAAC,MAA1C;AAAiD,IAAA,EAAE,EAAC;AAApD,kBACEF,wCAACE,wBAAD;AAAM,IAAA,KAAK,EAAC,KAAZ;AAAkB,IAAA,MAAM,EAAC;AAAzB,KACGL,UAAU,iBAAIG,wCAACG,2BAAD;AAAqB,IAAA,KAAK,EAAC,KAA3B;AAAiC,IAAA,MAAM,EAAC,KAAxC;AAA8C,IAAA,KAAK,EAAE,CAAC,SAAD,EAAY,GAAZ;AAArD,IADjB,CADF,eAIEH,wCAACE,wBAAD;AAAM,IAAA,KAAK,EAAC,KAAZ;AAAkB,IAAA,MAAM,EAAC;AAAzB,KACGJ,MAAM,iBAAIE,wCAACI,uBAAD;AAAiB,IAAA,KAAK,EAAC,KAAvB;AAA6B,IAAA,MAAM,EAAC,KAApC;AAA0C,IAAA,KAAK,EAAE,CAAC,QAAD,EAAW,GAAX;AAAjD,IADb,CAJF,eAOEJ,wCAACE,wBAAD;AAAM,IAAA,KAAK,EAAC,KAAZ;AAAkB,IAAA,MAAM,EAAC;AAAzB,KACGH,QAAQ,iBAAIC,wCAACK,yBAAD;AAAmB,IAAA,KAAK,EAAC,KAAzB;AAA+B,IAAA,MAAM,EAAC,KAAtC;AAA4C,IAAA,KAAK,EAAE,CAAC,SAAD,EAAY,GAAZ;AAAnD,IADf,CAPF,CAHJ,CAL2B;AAAA;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/exported-related/Notifications/index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n AlertsSmallFill,\n Notifications as InternalNotifications,\n ExceptionsSmallFill,\n MessagesSmallFill,\n} from '@elliemae/ds-icons';\nimport styled from 'styled-components';\nimport Grid from '@elliemae/ds-grid';\n\nconst StyledIcon = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\ntype NotificationsProps = {\n exceptions?: boolean;\n alerts?: boolean;\n messages?: boolean;\n};\n\nexport const Notifications = ({\n exceptions = false,\n alerts = false,\n messages = false,\n}: NotificationsProps): JSX.Element => (\n <StyledIcon>\n <InternalNotifications size=\"m\" color={['brand-primary', 800]} data-testid=\"left-nav-notifications-icon\" />\n {(exceptions || alerts || messages) && (\n <Grid cols={['1fr', '1fr', '1fr']} gutter=\"xxxs\" mt=\"2px\">\n <Grid width=\"6px\" height=\"6px\" data-testid=\"left-nav-exceptions-icon\">\n {exceptions && <ExceptionsSmallFill width=\"6px\" height=\"6px\" color={['warning', 900]} />}\n </Grid>\n <Grid width=\"6px\" height=\"6px\" data-testid=\"left-nav-alerts-icon\">\n {alerts && <AlertsSmallFill width=\"6px\" height=\"6px\" color={['danger', 900]} />}\n </Grid>\n <Grid width=\"6px\" height=\"6px\" data-testid=\"left-nav-messages-icon\">\n {messages && <MessagesSmallFill width=\"6px\" height=\"6px\" color={['success', 900]} />}\n </Grid>\n </Grid>\n )}\n </StyledIcon>\n);\n\nexport default Notifications;\n"],"names":["StyledIcon","styled","div","Notifications","exceptions","alerts","messages","React","InternalNotifications","Grid","ExceptionsSmallFill","AlertsSmallFill","MessagesSmallFill"],"mappings":";;;;;;;;;;;;;;;AAUA,IAAMA,UAAU,gBAAGC,0BAAM,CAACC,GAAV;AAAA;AAAA,8DAAhB;IAYaC,aAAa,GAAG,SAAhBA,aAAgB;AAAA,6BAC3BC,UAD2B;AAAA,MAC3BA,UAD2B,gCACd,KADc;AAAA,yBAE3BC,MAF2B;AAAA,MAE3BA,MAF2B,4BAElB,KAFkB;AAAA,2BAG3BC,QAH2B;AAAA,MAG3BA,QAH2B,8BAGhB,KAHgB;AAAA,sBAK3BC,wCAAC,UAAD,qBACEA,wCAACC,qBAAD;AAAuB,IAAA,IAAI,EAAC,GAA5B;AAAgC,IAAA,KAAK,EAAE,CAAC,eAAD,EAAkB,GAAlB,CAAvC;AAA+D,mBAAY;AAA3E,IADF,EAEG,CAACJ,UAAU,IAAIC,MAAd,IAAwBC,QAAzB,kBACCC,wCAACE,wBAAD;AAAM,IAAA,IAAI,EAAE,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,CAAZ;AAAmC,IAAA,MAAM,EAAC,MAA1C;AAAiD,IAAA,EAAE,EAAC;AAApD,kBACEF,wCAACE,wBAAD;AAAM,IAAA,KAAK,EAAC,KAAZ;AAAkB,IAAA,MAAM,EAAC,KAAzB;AAA+B,mBAAY;AAA3C,KACGL,UAAU,iBAAIG,wCAACG,2BAAD;AAAqB,IAAA,KAAK,EAAC,KAA3B;AAAiC,IAAA,MAAM,EAAC,KAAxC;AAA8C,IAAA,KAAK,EAAE,CAAC,SAAD,EAAY,GAAZ;AAArD,IADjB,CADF,eAIEH,wCAACE,wBAAD;AAAM,IAAA,KAAK,EAAC,KAAZ;AAAkB,IAAA,MAAM,EAAC,KAAzB;AAA+B,mBAAY;AAA3C,KACGJ,MAAM,iBAAIE,wCAACI,uBAAD;AAAiB,IAAA,KAAK,EAAC,KAAvB;AAA6B,IAAA,MAAM,EAAC,KAApC;AAA0C,IAAA,KAAK,EAAE,CAAC,QAAD,EAAW,GAAX;AAAjD,IADb,CAJF,eAOEJ,wCAACE,wBAAD;AAAM,IAAA,KAAK,EAAC,KAAZ;AAAkB,IAAA,MAAM,EAAC,KAAzB;AAA+B,mBAAY;AAA3C,KACGH,QAAQ,iBAAIC,wCAACK,yBAAD;AAAmB,IAAA,KAAK,EAAC,KAAzB;AAA+B,IAAA,MAAM,EAAC,KAAtC;AAA4C,IAAA,KAAK,EAAE,CAAC,SAAD,EAAY,GAAZ;AAAnD,IADf,CAPF,CAHJ,CAL2B;AAAA;;;;;"}
@@ -24,9 +24,9 @@ var isItemInsideTheTree = function isItemInsideTheTree(item, itemID) {
24
24
  }));
25
25
  };
26
26
 
27
- var useSelectFirstBodyItem = function useSelectFirstBodyItem(items, openedItem, selectedItem, setSelectedItem) {
27
+ var useSelectFirstBodyItem = function useSelectFirstBodyItem(items, openedItem, selectedItem, setSelectedItem, disableDefaultSelection) {
28
28
  React.useEffect(function () {
29
- if (items && items.length && openedItem) {
29
+ if (!disableDefaultSelection && items && items.length && openedItem) {
30
30
  var index = items.findIndex(function (elem) {
31
31
  return isSelectableOutOfTheBox(elem) || isSelectableCustom(elem);
32
32
  });
@@ -35,7 +35,7 @@ var useSelectFirstBodyItem = function useSelectFirstBodyItem(items, openedItem,
35
35
  });
36
36
  if (isItemInside) setSelectedItem(selectedItem);else if (index !== -1) setSelectedItem(items[index].dsId);
37
37
  }
38
- }, [openedItem, setSelectedItem]);
38
+ }, [openedItem, setSelectedItem, disableDefaultSelection]);
39
39
  };
40
40
 
41
41
  exports.useSelectFirstBodyItem = useSelectFirstBodyItem;
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectFirstBodyItem.js","sources":["../../../src/hooks/useSelectFirstBodyItem.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { GenericItemItemProps } from '../index.d';\nimport { ITEM_TYPES } from '../exported-related/constants';\n\nconst { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;\n\nconst isSelectableOutOfTheBox = (elem: GenericItemItemProps) =>\n typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;\nconst isSelectableCustom = (elem: GenericItemItemProps) => elem.itemOpts.selectable;\n\nconst isItemInsideTheTree = (item: GenericItemItemProps, itemID: string) =>\n item.dsId === itemID || item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));\n\nexport const useSelectFirstBodyItem = (\n items: GenericItemItemProps[],\n openedItem: string,\n selectedItem: string,\n setSelectedItem: React.Dispatch<React.SetStateAction<string>>,\n): void => {\n useEffect(() => {\n if (items && items.length && openedItem) {\n const index = items.findIndex((elem) => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));\n const isItemInside = items.some((it) => isItemInsideTheTree(it, selectedItem));\n if (isItemInside) setSelectedItem(selectedItem);\n else if (index !== -1) setSelectedItem(items[index].dsId);\n }\n }, [openedItem, setSelectedItem]);\n};\n"],"names":["LEFT_NAV_ITEM_SEPARATOR","ITEM_TYPES","LEFT_NAV_ITEM_SECTION","isSelectableOutOfTheBox","elem","type","isSelectableCustom","itemOpts","selectable","isItemInsideTheTree","item","itemID","dsId","items","some","it","useSelectFirstBodyItem","openedItem","selectedItem","setSelectedItem","useEffect","length","index","findIndex","isItemInside"],"mappings":";;;;;;;AAIA,IAAQA,uBAAR,GAA2DC,oCAA3D,CAAQD,uBAAR;AAAA,IAAiCE,qBAAjC,GAA2DD,oCAA3D,CAAiCC,qBAAjC;;AAEA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,IAAD;AAAA,SAC9B,OAAOA,IAAI,CAACC,IAAZ,KAAqB,QAArB,IAAiCD,IAAI,CAACC,IAAL,KAAcL,uBAA/C,IAA0EI,IAAI,CAACC,IAAL,KAAcH,qBAD1D;AAAA,CAAhC;;AAEA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACF,IAAD;AAAA,SAAgCA,IAAI,CAACG,QAAL,CAAcC,UAA9C;AAAA,CAA3B;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,IAAD,EAA6BC,MAA7B;AAAA;;AAAA,SAC1BD,IAAI,CAACE,IAAL,KAAcD,MAAd,KAAwBD,IAAxB,aAAwBA,IAAxB,yCAAwBA,IAAI,CAAEH,QAA9B,2EAAwB,eAAgBM,KAAxC,yDAAwB,qBAAuBC,IAAvB,CAA4B,UAACC,EAAD;AAAA,WAAQN,mBAAmB,CAACM,EAAD,EAAKJ,MAAL,CAA3B;AAAA,GAA5B,CAAxB,CAD0B;AAAA,CAA5B;;IAGaK,sBAAsB,GAAG,SAAzBA,sBAAyB,CACpCH,KADoC,EAEpCI,UAFoC,EAGpCC,YAHoC,EAIpCC,eAJoC,EAK3B;AACTC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIP,KAAK,IAAIA,KAAK,CAACQ,MAAf,IAAyBJ,UAA7B,EAAyC;AACvC,UAAMK,KAAK,GAAGT,KAAK,CAACU,SAAN,CAAgB,UAACnB,IAAD;AAAA,eAAUD,uBAAuB,CAACC,IAAD,CAAvB,IAAiCE,kBAAkB,CAACF,IAAD,CAA7D;AAAA,OAAhB,CAAd;AACA,UAAMoB,YAAY,GAAGX,KAAK,CAACC,IAAN,CAAW,UAACC,EAAD;AAAA,eAAQN,mBAAmB,CAACM,EAAD,EAAKG,YAAL,CAA3B;AAAA,OAAX,CAArB;AACA,UAAIM,YAAJ,EAAkBL,eAAe,CAACD,YAAD,CAAf,CAAlB,KACK,IAAII,KAAK,KAAK,CAAC,CAAf,EAAkBH,eAAe,CAACN,KAAK,CAACS,KAAD,CAAL,CAAaV,IAAd,CAAf;AACxB;AACF,GAPQ,EAON,CAACK,UAAD,EAAaE,eAAb,CAPM,CAAT;AAQD;;;;"}
1
+ {"version":3,"file":"useSelectFirstBodyItem.js","sources":["../../../src/hooks/useSelectFirstBodyItem.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { GenericItemItemProps } from '../index.d';\nimport { ITEM_TYPES } from '../exported-related/constants';\n\nconst { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;\n\nconst isSelectableOutOfTheBox = (elem: GenericItemItemProps) =>\n typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;\nconst isSelectableCustom = (elem: GenericItemItemProps) => elem.itemOpts.selectable;\n\nconst isItemInsideTheTree = (item: GenericItemItemProps, itemID: string) =>\n item.dsId === itemID || item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));\n\nexport const useSelectFirstBodyItem = (\n items: GenericItemItemProps[],\n openedItem: string,\n selectedItem: string,\n setSelectedItem: React.Dispatch<React.SetStateAction<string>>,\n disableDefaultSelection: boolean,\n): void => {\n useEffect(() => {\n if (!disableDefaultSelection && items && items.length && openedItem) {\n const index = items.findIndex((elem) => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));\n const isItemInside = items.some((it) => isItemInsideTheTree(it, selectedItem));\n if (isItemInside) setSelectedItem(selectedItem);\n else if (index !== -1) setSelectedItem(items[index].dsId);\n }\n }, [openedItem, setSelectedItem, disableDefaultSelection]);\n};\n"],"names":["LEFT_NAV_ITEM_SEPARATOR","ITEM_TYPES","LEFT_NAV_ITEM_SECTION","isSelectableOutOfTheBox","elem","type","isSelectableCustom","itemOpts","selectable","isItemInsideTheTree","item","itemID","dsId","items","some","it","useSelectFirstBodyItem","openedItem","selectedItem","setSelectedItem","disableDefaultSelection","useEffect","length","index","findIndex","isItemInside"],"mappings":";;;;;;;AAIA,IAAQA,uBAAR,GAA2DC,oCAA3D,CAAQD,uBAAR;AAAA,IAAiCE,qBAAjC,GAA2DD,oCAA3D,CAAiCC,qBAAjC;;AAEA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,IAAD;AAAA,SAC9B,OAAOA,IAAI,CAACC,IAAZ,KAAqB,QAArB,IAAiCD,IAAI,CAACC,IAAL,KAAcL,uBAA/C,IAA0EI,IAAI,CAACC,IAAL,KAAcH,qBAD1D;AAAA,CAAhC;;AAEA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACF,IAAD;AAAA,SAAgCA,IAAI,CAACG,QAAL,CAAcC,UAA9C;AAAA,CAA3B;;AAEA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,IAAD,EAA6BC,MAA7B;AAAA;;AAAA,SAC1BD,IAAI,CAACE,IAAL,KAAcD,MAAd,KAAwBD,IAAxB,aAAwBA,IAAxB,yCAAwBA,IAAI,CAAEH,QAA9B,2EAAwB,eAAgBM,KAAxC,yDAAwB,qBAAuBC,IAAvB,CAA4B,UAACC,EAAD;AAAA,WAAQN,mBAAmB,CAACM,EAAD,EAAKJ,MAAL,CAA3B;AAAA,GAA5B,CAAxB,CAD0B;AAAA,CAA5B;;IAGaK,sBAAsB,GAAG,SAAzBA,sBAAyB,CACpCH,KADoC,EAEpCI,UAFoC,EAGpCC,YAHoC,EAIpCC,eAJoC,EAKpCC,uBALoC,EAM3B;AACTC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI,CAACD,uBAAD,IAA4BP,KAA5B,IAAqCA,KAAK,CAACS,MAA3C,IAAqDL,UAAzD,EAAqE;AACnE,UAAMM,KAAK,GAAGV,KAAK,CAACW,SAAN,CAAgB,UAACpB,IAAD;AAAA,eAAUD,uBAAuB,CAACC,IAAD,CAAvB,IAAiCE,kBAAkB,CAACF,IAAD,CAA7D;AAAA,OAAhB,CAAd;AACA,UAAMqB,YAAY,GAAGZ,KAAK,CAACC,IAAN,CAAW,UAACC,EAAD;AAAA,eAAQN,mBAAmB,CAACM,EAAD,EAAKG,YAAL,CAA3B;AAAA,OAAX,CAArB;AACA,UAAIO,YAAJ,EAAkBN,eAAe,CAACD,YAAD,CAAf,CAAlB,KACK,IAAIK,KAAK,KAAK,CAAC,CAAf,EAAkBJ,eAAe,CAACN,KAAK,CAACU,KAAD,CAAL,CAAaX,IAAd,CAAf;AACxB;AACF,GAPQ,EAON,CAACK,UAAD,EAAaE,eAAb,EAA8BC,uBAA9B,CAPM,CAAT;AAQD;;;;"}
package/cjs/index.js CHANGED
@@ -28,11 +28,11 @@ require('./exported-related/ItemRenderer/usePropsWithDefaults.js');
28
28
  require('./hooks/useKeyboardNavigation.js');
29
29
  require('./outOfTheBox/ItemWithDate/index.js');
30
30
  require('./outOfTheBox/ItemWithDate/styled.js');
31
+ require('./outOfTheBox/ItemTextLabel/index.js');
32
+ require('./outOfTheBox/ItemTextLabel/styled.js');
31
33
  require('./outOfTheBox/ItemUncontrolledDrilldown/index.js');
32
34
  require('@babel/runtime/helpers/toConsumableArray');
33
35
  require('./outOfTheBox/ItemUncontrolledDrilldown/styled.js');
34
- require('./outOfTheBox/ItemTextLabel/index.js');
35
- require('./outOfTheBox/ItemTextLabel/styled.js');
36
36
  require('./outOfTheBox/ItemHeader/index.js');
37
37
  require('./outOfTheBox/ItemHeader/styled.js');
38
38
  require('./outOfTheBox/ItemLink/index.js');
@@ -14,11 +14,13 @@ require('styled-components');
14
14
  var outOfTheBox_ItemControlledDrilldown_styled = require('./styled.js');
15
15
  var outOfTheBox_ItemSeparator_index = require('../ItemSeparator/index.js');
16
16
  var outOfTheBox_ItemWithDate_index = require('../ItemWithDate/index.js');
17
+ var outOfTheBox_ItemTextLabel_index = require('../ItemTextLabel/index.js');
17
18
  require('../../exported-related/ItemRenderer/styled.js');
18
19
  require('../../LeftNavigationContext.js');
19
20
  require('../../exported-related/ItemRenderer/usePropsWithDefaults.js');
20
21
  require('../../hooks/useKeyboardNavigation.js');
21
22
  require('../ItemWithDate/styled.js');
23
+ require('../ItemTextLabel/styled.js');
22
24
 
23
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
26
 
@@ -31,7 +33,7 @@ var _outOfTheBoxSubitemsC;
31
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; }
32
34
 
33
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; }
34
- var outOfTheBoxSubitemsComponents = (_outOfTheBoxSubitemsC = {}, _defineProperty__default['default'](_outOfTheBoxSubitemsC, exportedRelated_constants.ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, outOfTheBox_ItemSeparator_index.ItemSeparator), _defineProperty__default['default'](_outOfTheBoxSubitemsC, exportedRelated_constants.ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE, outOfTheBox_ItemWithDate_index.ItemWithDate), _outOfTheBoxSubitemsC);
36
+ var outOfTheBoxSubitemsComponents = (_outOfTheBoxSubitemsC = {}, _defineProperty__default['default'](_outOfTheBoxSubitemsC, exportedRelated_constants.ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, outOfTheBox_ItemSeparator_index.ItemSeparator), _defineProperty__default['default'](_outOfTheBoxSubitemsC, exportedRelated_constants.ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE, outOfTheBox_ItemWithDate_index.ItemWithDate), _defineProperty__default['default'](_outOfTheBoxSubitemsC, exportedRelated_constants.ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL, outOfTheBox_ItemTextLabel_index.ItemTextLabel), _outOfTheBoxSubitemsC);
35
37
 
36
38
  var OutOfTheBoxMapSubitem = function OutOfTheBoxMapSubitem(props) {
37
39
  var item = props.item,
@@ -76,6 +78,7 @@ var ItemControlledDrilldown = function ItemControlledDrilldown(props) {
76
78
  labelColor = _props$item$itemOpts.labelColor,
77
79
  isOpened = _props$item$itemOpts.isOpened,
78
80
  items = _props$item$itemOpts.items,
81
+ labelDataTestId = _props$item$itemOpts.labelDataTestId,
79
82
  ctx = props.ctx,
80
83
  leftNavLabelOverflow = props.ctx.leftNavProps.labelOverflow;
81
84
  var labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
@@ -116,7 +119,7 @@ var ItemControlledDrilldown = function ItemControlledDrilldown(props) {
116
119
  mt: "-2px"
117
120
  }, arrowIcon), /*#__PURE__*/React__default['default'].createElement(outOfTheBox_ItemControlledDrilldown_styled.StyledLabel, {
118
121
  pb: "xxxs",
119
- "data-testid": "leftnav-list-item-label",
122
+ "data-testid": labelDataTestId || 'leftnav-list-item-label',
120
123
  labelOverflow: labelOverflow,
121
124
  labelBold: labelBold,
122
125
  labelColor: labelColor
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/outOfTheBox/ItemControlledDrilldown/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { ItemRenderer, ITEM_TYPES } from '../../exported-related/index';\nimport { StyledLabel, StyledDate } from './styled';\nimport { ItemSeparator } from '../ItemSeparator';\nimport { ItemWithDate } from '../ItemWithDate';\nimport type { ComponentProps } from '../../index.d';\n\nconst outOfTheBoxSubitemsComponents: Record<string, React.ComponentType<ComponentProps>> = {\n [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,\n [ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate,\n};\n\nconst OutOfTheBoxMapSubitem = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: { type, Component },\n ctx,\n } = props;\n\n if (typeof type === 'string' && !!outOfTheBoxSubitemsComponents[type]) {\n const OutOfTheBoxComponent = outOfTheBoxSubitemsComponents[type];\n const currentIndent = item.itemOpts?.indent ?? 0;\n const newItem = {\n ...item,\n itemOpts: { ...item.itemOpts, indent: currentIndent + 44 },\n };\n return <OutOfTheBoxComponent item={newItem} ctx={ctx} />;\n }\n // we expect an error to be threw if Component is not defined and type is not a valid out-of-the-box...\n return <Component item={item} ctx={ctx} />;\n};\n\nexport const ItemControlledDrilldown = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n itemOpts: {\n label,\n RightComponent,\n labelRightSection,\n labelOverflow: itemLabelOverflow,\n labelBold,\n labelColor,\n isOpened,\n items,\n },\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const arrowIcon = useMemo(() => {\n const Component = isOpened ? ArrowheadDown : ArrowheadRight;\n return <Component width=\"24px\" height=\"18px\" color={['brand-primary', '800']} />;\n }, [isOpened]);\n\n const subitems = useMemo(() => {\n if (!isOpened || !items) return [];\n return items.map((subitem) => <OutOfTheBoxMapSubitem item={subitem} ctx={ctx} key={subitem.dsId} />);\n }, [items, isOpened]);\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaExpanded: isOpened,\n ariaRole: 'menuitem',\n ...item.itemOpts,\n openable: !isOpened,\n closable: isOpened,\n },\n CollapsedComponent: null,\n }}\n subitems={subitems}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n <Grid pl=\"xxs\" mt=\"-2px\">\n {arrowIcon}\n </Grid>\n <StyledLabel\n pb=\"xxxs\"\n data-testid=\"leftnav-list-item-label\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid pr=\"xxs2\" cols={['auto', 'auto']} alignItems=\"center\">\n <StyledDate ml=\"xxs\" data-testid=\"leftnav-list-item-date\">\n {labelRightSection}\n </StyledDate>\n <Grid pl={RightComponent ? 'xxs' : '0px'} data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </Grid>\n </ItemRenderer>\n );\n};\n"],"names":["outOfTheBoxSubitemsComponents","ITEM_TYPES","LEFT_NAV_ITEM_SEPARATOR","ItemSeparator","LEFT_NAV_ITEM_WITH_DATE","ItemWithDate","OutOfTheBoxMapSubitem","props","item","type","Component","ctx","OutOfTheBoxComponent","currentIndent","itemOpts","indent","newItem","React","ItemControlledDrilldown","label","RightComponent","labelRightSection","itemLabelOverflow","labelOverflow","labelBold","labelColor","isOpened","items","leftNavLabelOverflow","leftNavProps","arrowIcon","useMemo","ArrowheadDown","ArrowheadRight","subitems","map","subitem","dsId","ItemRenderer","ariaExpanded","ariaRole","openable","closable","CollapsedComponent","Grid","StyledLabel","SimpleTruncatedTooltipText","StyledDate"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/outOfTheBox/ItemControlledDrilldown/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { ItemRenderer, ITEM_TYPES } from '../../exported-related/index';\nimport { StyledLabel, StyledDate } from './styled';\nimport { ItemSeparator } from '../ItemSeparator';\nimport { ItemWithDate } from '../ItemWithDate';\nimport { ItemTextLabel } from '../ItemTextLabel';\nimport type { ComponentProps } from '../../index.d';\n\nconst outOfTheBoxSubitemsComponents: Record<string, React.ComponentType<ComponentProps>> = {\n [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,\n [ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate,\n [ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL]: ItemTextLabel,\n};\n\nconst OutOfTheBoxMapSubitem = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: { type, Component },\n ctx,\n } = props;\n\n if (typeof type === 'string' && !!outOfTheBoxSubitemsComponents[type]) {\n const OutOfTheBoxComponent = outOfTheBoxSubitemsComponents[type];\n const currentIndent = item.itemOpts?.indent ?? 0;\n const newItem = {\n ...item,\n itemOpts: { ...item.itemOpts, indent: currentIndent + 44 },\n };\n return <OutOfTheBoxComponent item={newItem} ctx={ctx} />;\n }\n // we expect an error to be threw if Component is not defined and type is not a valid out-of-the-box...\n return <Component item={item} ctx={ctx} />;\n};\n\nexport const ItemControlledDrilldown = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n itemOpts: {\n label,\n RightComponent,\n labelRightSection,\n labelOverflow: itemLabelOverflow,\n labelBold,\n labelColor,\n isOpened,\n items,\n labelDataTestId,\n },\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const arrowIcon = useMemo(() => {\n const Component = isOpened ? ArrowheadDown : ArrowheadRight;\n return <Component width=\"24px\" height=\"18px\" color={['brand-primary', '800']} />;\n }, [isOpened]);\n\n const subitems = useMemo(() => {\n if (!isOpened || !items) return [];\n return items.map((subitem) => <OutOfTheBoxMapSubitem item={subitem} ctx={ctx} key={subitem.dsId} />);\n }, [items, isOpened]);\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaExpanded: isOpened,\n ariaRole: 'menuitem',\n ...item.itemOpts,\n openable: !isOpened,\n closable: isOpened,\n },\n CollapsedComponent: null,\n }}\n subitems={subitems}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n <Grid pl=\"xxs\" mt=\"-2px\">\n {arrowIcon}\n </Grid>\n <StyledLabel\n pb=\"xxxs\"\n data-testid={labelDataTestId || 'leftnav-list-item-label'}\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid pr=\"xxs2\" cols={['auto', 'auto']} alignItems=\"center\">\n <StyledDate ml=\"xxs\" data-testid=\"leftnav-list-item-date\">\n {labelRightSection}\n </StyledDate>\n <Grid pl={RightComponent ? 'xxs' : '0px'} data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </Grid>\n </ItemRenderer>\n );\n};\n"],"names":["outOfTheBoxSubitemsComponents","ITEM_TYPES","LEFT_NAV_ITEM_SEPARATOR","ItemSeparator","LEFT_NAV_ITEM_WITH_DATE","ItemWithDate","LEFT_NAV_ITEM_TEXT_LABEL","ItemTextLabel","OutOfTheBoxMapSubitem","props","item","type","Component","ctx","OutOfTheBoxComponent","currentIndent","itemOpts","indent","newItem","React","ItemControlledDrilldown","label","RightComponent","labelRightSection","itemLabelOverflow","labelOverflow","labelBold","labelColor","isOpened","items","labelDataTestId","leftNavLabelOverflow","leftNavProps","arrowIcon","useMemo","ArrowheadDown","ArrowheadRight","subitems","map","subitem","dsId","ItemRenderer","ariaExpanded","ariaRole","openable","closable","CollapsedComponent","Grid","StyledLabel","SimpleTruncatedTooltipText","StyledDate"],"mappings":"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"}
@@ -43,6 +43,7 @@ var ItemHeader = function ItemHeader(props) {
43
43
  label = _props$item$itemOpts.label,
44
44
  RightComponent = _props$item$itemOpts.RightComponent,
45
45
  BottomComponent = _props$item$itemOpts.BottomComponent,
46
+ labelDataTestId = _props$item$itemOpts.labelDataTestId,
46
47
  _props$item$Collapsed = _props$item.CollapsedComponent,
47
48
  CollapsedComponent = _props$item$Collapsed === void 0 ? function () {
48
49
  return null;
@@ -60,8 +61,10 @@ var ItemHeader = function ItemHeader(props) {
60
61
  var opened = openedItem === dsId;
61
62
  var ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
62
63
  var isSelected = selectedItem === dsId || selectedParent === dsId;
63
- var shadowStyle = React.useCallback(function (theme) {
64
- return !openedItem ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inherit";
64
+ var shadowStyle = React.useCallback(function (opened) {
65
+ return function (theme) {
66
+ return !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC";
67
+ };
65
68
  }, [isSelected, openedItem]);
66
69
  return /*#__PURE__*/React__default['default'].createElement(exportedRelated_ItemRenderer_index.ItemRenderer, {
67
70
  item: _objectSpread(_objectSpread({}, item), {}, {
@@ -104,7 +107,7 @@ var ItemHeader = function ItemHeader(props) {
104
107
  ml: opened ? 'xxs' : '1px',
105
108
  mt: "xxxs",
106
109
  mb: "15px",
107
- "data-testid": "leftnav-itemlabel",
110
+ "data-testid": labelDataTestId || 'leftnav-itemlabel',
108
111
  labelOverflow: labelOverflow
109
112
  }, labelOverflow === 'truncate' ? /*#__PURE__*/React__default['default'].createElement(dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
110
113
  value: label,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/outOfTheBox/ItemHeader/index.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel, StyledChevronLeft } from './styled';\nimport { CHEVRON_BACK_DS_ID } from '../../exported-related/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemHeader = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { openedItem, labelOverflow, onItemClick },\n expandedForAnimation,\n setFocusedItem,\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const opened = openedItem === dsId;\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? label : 'menuitem');\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (theme) => (!openedItem ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inherit`),\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel,\n ariaExpanded: opened,\n ...item.itemOpts,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n hasBorderBottom\n borderBottomMr={opened ? '12px' : '0px'}\n shadowStyle={shadowStyle}\n >\n <Grid\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid=\"leftnav-leftcomponent\"\n >\n {opened && (\n <StyledChevronLeft\n size=\"m\"\n color={['brand-primary', 800]}\n onClick={(e) => {\n onItemClick(item, e);\n }}\n data-testid=\"leftnav-leftcomponent-chevron\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n role=\"button\"\n aria-label={`Close ${ariaLabel}`}\n />\n )}\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid=\"leftnav-itemlabel\"\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n data-testid=\"leftnav-right-component\"\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n {BottomComponent && (\n <Grid\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <BottomComponent ctx={ctx} item={item} />\n </Grid>\n )}\n </ItemRenderer>\n );\n};\n"],"names":["notOpenedShadowStyle","isSelected","theme","colors","brand","ItemHeader","props","item","dsId","itemOpts","label","RightComponent","BottomComponent","CollapsedComponent","ctx","leftNavProps","openedItem","labelOverflow","onItemClick","expandedForAnimation","setFocusedItem","selectedItem","selectedParent","opened","ariaLabel","shadowStyle","useCallback","React","ItemRenderer","ariaExpanded","openable","closable","selectable","Grid","StyledChevronLeft","e","stopPropagation","CHEVRON_BACK_DS_ID","StyledLabel","SimpleTruncatedTooltipText","gridColumn"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/outOfTheBox/ItemHeader/index.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel, StyledChevronLeft } from './styled';\nimport { CHEVRON_BACK_DS_ID } from '../../exported-related/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemHeader = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent, labelDataTestId },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { openedItem, labelOverflow, onItemClick },\n expandedForAnimation,\n setFocusedItem,\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const opened = openedItem === dsId;\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? label : 'menuitem');\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) =>\n !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel,\n ariaExpanded: opened,\n ...item.itemOpts,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n hasBorderBottom\n borderBottomMr={opened ? '12px' : '0px'}\n shadowStyle={shadowStyle}\n >\n <Grid\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid=\"leftnav-leftcomponent\"\n >\n {opened && (\n <StyledChevronLeft\n size=\"m\"\n color={['brand-primary', 800]}\n onClick={(e) => {\n onItemClick(item, e);\n }}\n data-testid=\"leftnav-leftcomponent-chevron\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n role=\"button\"\n aria-label={`Close ${ariaLabel}`}\n />\n )}\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n data-testid=\"leftnav-right-component\"\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n {BottomComponent && (\n <Grid\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <BottomComponent ctx={ctx} item={item} />\n </Grid>\n )}\n </ItemRenderer>\n );\n};\n"],"names":["notOpenedShadowStyle","isSelected","theme","colors","brand","ItemHeader","props","item","dsId","itemOpts","label","RightComponent","BottomComponent","labelDataTestId","CollapsedComponent","ctx","leftNavProps","openedItem","labelOverflow","onItemClick","expandedForAnimation","setFocusedItem","selectedItem","selectedParent","opened","ariaLabel","shadowStyle","useCallback","React","ItemRenderer","ariaExpanded","openable","closable","selectable","Grid","StyledChevronLeft","e","stopPropagation","CHEVRON_BACK_DS_ID","StyledLabel","SimpleTruncatedTooltipText","gridColumn"],"mappings":"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"}
@@ -40,6 +40,7 @@ var ItemLink = function ItemLink(props) {
40
40
  _props$item$itemOpts = _props$item.itemOpts,
41
41
  label = _props$item$itemOpts.label,
42
42
  RightComponent = _props$item$itemOpts.RightComponent,
43
+ labelDataTestId = _props$item$itemOpts.labelDataTestId,
43
44
  _props$item$Collapsed = _props$item.CollapsedComponent,
44
45
  CollapsedComponent = _props$item$Collapsed === void 0 ? function () {
45
46
  return null;
@@ -52,8 +53,10 @@ var ItemLink = function ItemLink(props) {
52
53
  selectedItem = _props$ctx.selectedItem,
53
54
  selectedParent = _props$ctx.selectedParent;
54
55
  var isSelected = selectedItem === dsId || selectedParent === dsId;
55
- var shadowStyle = React.useCallback(function (theme) {
56
- return !openedItem ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inherit";
56
+ var shadowStyle = React.useCallback(function (opened) {
57
+ return function (theme) {
58
+ return !opened ? notOpenedShadowStyle(isSelected)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC";
59
+ };
57
60
  }, [isSelected, openedItem]);
58
61
  return /*#__PURE__*/React__default['default'].createElement(exportedRelated_ItemRenderer_index.ItemRenderer, {
59
62
  item: _objectSpread(_objectSpread({}, item), {}, {
@@ -78,7 +81,7 @@ var ItemLink = function ItemLink(props) {
78
81
  ml: "1px",
79
82
  mt: "xxxs",
80
83
  mb: "15px",
81
- "data-testid": "leftnav-itemlabel",
84
+ "data-testid": labelDataTestId || 'leftnav-itemlabel',
82
85
  labelOverflow: labelOverflow
83
86
  }, labelOverflow === 'truncate' ? /*#__PURE__*/React__default['default'].createElement(dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
84
87
  value: label,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/outOfTheBox/ItemLink/index.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel } from './styled';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemLink = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow, openedItem },\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (theme) => (!openedItem ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inherit`),\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel: typeof label === 'string' ? label : '',\n ariaRole: 'link',\n ...item.itemOpts,\n selectable: true,\n },\n }}\n shadowStyle={shadowStyle}\n >\n <Grid cols={['38px']} gutter=\"1px\" pl={0} justifyItems=\"center\" data-testid=\"leftnav-leftcomponent\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel ml=\"1px\" mt=\"xxxs\" mb=\"15px\" data-testid=\"leftnav-itemlabel\" labelOverflow={labelOverflow}>\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid mt=\"xxxs\" pr=\"xxs2\" data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </ItemRenderer>\n );\n};\n"],"names":["notOpenedShadowStyle","isSelected","theme","colors","brand","ItemLink","props","item","dsId","itemOpts","label","RightComponent","CollapsedComponent","ctx","leftNavProps","labelOverflow","openedItem","selectedItem","selectedParent","shadowStyle","useCallback","React","ItemRenderer","ariaLabel","ariaRole","selectable","Grid","StyledLabel","SimpleTruncatedTooltipText"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/outOfTheBox/ItemLink/index.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel } from './styled';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemLink = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, labelDataTestId },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow, openedItem },\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) => !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel: typeof label === 'string' ? label : '',\n ariaRole: 'link',\n ...item.itemOpts,\n selectable: true,\n },\n }}\n shadowStyle={shadowStyle}\n >\n <Grid cols={['38px']} gutter=\"1px\" pl={0} justifyItems=\"center\" data-testid=\"leftnav-leftcomponent\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml=\"1px\"\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid mt=\"xxxs\" pr=\"xxs2\" data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </ItemRenderer>\n );\n};\n"],"names":["notOpenedShadowStyle","isSelected","theme","colors","brand","ItemLink","props","item","dsId","itemOpts","label","RightComponent","labelDataTestId","CollapsedComponent","ctx","leftNavProps","labelOverflow","openedItem","selectedItem","selectedParent","shadowStyle","useCallback","opened","React","ItemRenderer","ariaLabel","ariaRole","selectable","Grid","StyledLabel","SimpleTruncatedTooltipText"],"mappings":"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"}
@@ -43,6 +43,7 @@ var ItemSubmenu = function ItemSubmenu(props) {
43
43
  label = _props$item$itemOpts.label,
44
44
  RightComponent = _props$item$itemOpts.RightComponent,
45
45
  BottomComponent = _props$item$itemOpts.BottomComponent,
46
+ labelDataTestId = _props$item$itemOpts.labelDataTestId,
46
47
  _props$item$Collapsed = _props$item.CollapsedComponent,
47
48
  CollapsedComponent = _props$item$Collapsed === void 0 ? function () {
48
49
  return null;
@@ -59,8 +60,10 @@ var ItemSubmenu = function ItemSubmenu(props) {
59
60
  setFocusedItem = _props$ctx.setFocusedItem;
60
61
  var opened = openedItem === dsId;
61
62
  var isSelected = selectedItem === dsId;
62
- var shadowStyle = React.useCallback(function (theme) {
63
- return !openedItem ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme) : "box-shadow: inherit";
63
+ var shadowStyle = React.useCallback(function (opened) {
64
+ return function (theme) {
65
+ return !opened ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme) : "box-shadow: inset 4px 0 0 0 #52A6EC";
66
+ };
64
67
  }, [dsId, isSelected, openedItem, selectedParent]);
65
68
  var ariaLabel = (_item$itemOpts$ariaLa = item.itemOpts.ariaLabel) !== null && _item$itemOpts$ariaLa !== void 0 ? _item$itemOpts$ariaLa : typeof label === 'string' ? label : 'menuitem';
66
69
  return /*#__PURE__*/React__default['default'].createElement(exportedRelated_ItemRenderer_index.ItemRenderer, {
@@ -103,7 +106,7 @@ var ItemSubmenu = function ItemSubmenu(props) {
103
106
  ml: opened ? 'xxs' : '1px',
104
107
  mt: "xxxs",
105
108
  mb: "15px",
106
- "data-testid": "leftnav-itemlabel",
109
+ "data-testid": labelDataTestId || 'leftnav-itemlabel',
107
110
  labelOverflow: labelOverflow
108
111
  }, labelOverflow === 'truncate' ? /*#__PURE__*/React__default['default'].createElement(dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
109
112
  value: label,