@elliemae/ds-left-navigation 3.80.0-next.6 → 3.80.0-next.60

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 (106) hide show
  1. package/dist/cjs/TruncatedTooltipText.js +25 -4
  2. package/dist/cjs/TruncatedTooltipText.js.map +2 -2
  3. package/dist/cjs/constants/index.js +4 -0
  4. package/dist/cjs/constants/index.js.map +2 -2
  5. package/dist/cjs/exported-related/Icon/index.js +24 -3
  6. package/dist/cjs/exported-related/Icon/index.js.map +3 -3
  7. package/dist/cjs/exported-related/OpenWindowItem/index.js +23 -2
  8. package/dist/cjs/exported-related/OpenWindowItem/index.js.map +3 -3
  9. package/dist/cjs/exported-related/conversion-utils/conversionConstants.js +64 -0
  10. package/dist/cjs/exported-related/conversion-utils/conversionConstants.js.map +7 -0
  11. package/dist/cjs/exported-related/conversion-utils/conversionHelpers.js +192 -0
  12. package/dist/cjs/exported-related/conversion-utils/conversionHelpers.js.map +7 -0
  13. package/dist/cjs/exported-related/conversion-utils/convertItemOpts.js +187 -0
  14. package/dist/cjs/exported-related/conversion-utils/convertItemOpts.js.map +7 -0
  15. package/dist/cjs/exported-related/conversion-utils/getHumanReadableWarnings.js +37 -0
  16. package/dist/cjs/exported-related/conversion-utils/getHumanReadableWarnings.js.map +7 -0
  17. package/dist/cjs/exported-related/conversion-utils/index.js +95 -0
  18. package/dist/cjs/exported-related/conversion-utils/index.js.map +7 -0
  19. package/dist/cjs/exported-related/conversion-utils/lostCodes.js +55 -0
  20. package/dist/cjs/exported-related/conversion-utils/lostCodes.js.map +7 -0
  21. package/dist/cjs/exported-related/conversion-utils/report.js +48 -0
  22. package/dist/cjs/exported-related/conversion-utils/report.js.map +7 -0
  23. package/dist/cjs/exported-related/conversion-utils/types.js +28 -0
  24. package/dist/cjs/exported-related/conversion-utils/types.js.map +7 -0
  25. package/dist/cjs/exported-related/conversion-utils/validateIds.js +58 -0
  26. package/dist/cjs/exported-related/conversion-utils/validateIds.js.map +7 -0
  27. package/dist/cjs/index.js +2 -0
  28. package/dist/cjs/index.js.map +2 -2
  29. package/dist/cjs/outOfTheBox/ItemHeader/index.js +1 -1
  30. package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +2 -2
  31. package/dist/cjs/outOfTheBox/ItemLink/index.js +1 -1
  32. package/dist/cjs/outOfTheBox/ItemLink/index.js.map +2 -2
  33. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +1 -1
  34. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +2 -2
  35. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js +1 -1
  36. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +2 -2
  37. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +1 -1
  38. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +2 -2
  39. package/dist/cjs/outOfTheBox/ItemWithDate/index.js +1 -1
  40. package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +2 -2
  41. package/dist/cjs/parts/LeftNavFooterItem/index.js +2 -3
  42. package/dist/cjs/parts/LeftNavFooterItem/index.js.map +2 -2
  43. package/dist/cjs/react-desc-prop-types.js +58 -1
  44. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  45. package/dist/cjs/typescript-testing/slot-props.js +8 -0
  46. package/dist/cjs/typescript-testing/slot-props.js.map +2 -2
  47. package/dist/esm/TruncatedTooltipText.js +26 -5
  48. package/dist/esm/TruncatedTooltipText.js.map +2 -2
  49. package/dist/esm/constants/index.js +4 -0
  50. package/dist/esm/constants/index.js.map +2 -2
  51. package/dist/esm/exported-related/Icon/index.js +24 -3
  52. package/dist/esm/exported-related/Icon/index.js.map +3 -3
  53. package/dist/esm/exported-related/OpenWindowItem/index.js +23 -2
  54. package/dist/esm/exported-related/OpenWindowItem/index.js.map +3 -3
  55. package/dist/esm/exported-related/conversion-utils/conversionConstants.js +34 -0
  56. package/dist/esm/exported-related/conversion-utils/conversionConstants.js.map +7 -0
  57. package/dist/esm/exported-related/conversion-utils/conversionHelpers.js +172 -0
  58. package/dist/esm/exported-related/conversion-utils/conversionHelpers.js.map +7 -0
  59. package/dist/esm/exported-related/conversion-utils/convertItemOpts.js +157 -0
  60. package/dist/esm/exported-related/conversion-utils/convertItemOpts.js.map +7 -0
  61. package/dist/esm/exported-related/conversion-utils/getHumanReadableWarnings.js +7 -0
  62. package/dist/esm/exported-related/conversion-utils/getHumanReadableWarnings.js.map +7 -0
  63. package/dist/esm/exported-related/conversion-utils/index.js +65 -0
  64. package/dist/esm/exported-related/conversion-utils/index.js.map +7 -0
  65. package/dist/esm/exported-related/conversion-utils/lostCodes.js +25 -0
  66. package/dist/esm/exported-related/conversion-utils/lostCodes.js.map +7 -0
  67. package/dist/esm/exported-related/conversion-utils/report.js +18 -0
  68. package/dist/esm/exported-related/conversion-utils/report.js.map +7 -0
  69. package/dist/esm/exported-related/conversion-utils/types.js +2 -0
  70. package/dist/esm/exported-related/conversion-utils/types.js.map +7 -0
  71. package/dist/esm/exported-related/conversion-utils/validateIds.js +28 -0
  72. package/dist/esm/exported-related/conversion-utils/validateIds.js.map +7 -0
  73. package/dist/esm/index.js +2 -0
  74. package/dist/esm/index.js.map +2 -2
  75. package/dist/esm/outOfTheBox/ItemHeader/index.js +1 -1
  76. package/dist/esm/outOfTheBox/ItemHeader/index.js.map +2 -2
  77. package/dist/esm/outOfTheBox/ItemLink/index.js +1 -1
  78. package/dist/esm/outOfTheBox/ItemLink/index.js.map +2 -2
  79. package/dist/esm/outOfTheBox/ItemSubmenu/index.js +1 -1
  80. package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +2 -2
  81. package/dist/esm/outOfTheBox/ItemTextLabel/index.js +1 -1
  82. package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +2 -2
  83. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +1 -1
  84. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +2 -2
  85. package/dist/esm/outOfTheBox/ItemWithDate/index.js +1 -1
  86. package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +2 -2
  87. package/dist/esm/parts/LeftNavFooterItem/index.js +2 -3
  88. package/dist/esm/parts/LeftNavFooterItem/index.js.map +2 -2
  89. package/dist/esm/react-desc-prop-types.js +58 -1
  90. package/dist/esm/react-desc-prop-types.js.map +2 -2
  91. package/dist/esm/typescript-testing/slot-props.js +8 -0
  92. package/dist/esm/typescript-testing/slot-props.js.map +2 -2
  93. package/dist/types/constants/index.d.ts +12 -0
  94. package/dist/types/exported-related/Icon/index.d.ts +4 -0
  95. package/dist/types/exported-related/conversion-utils/conversionConstants.d.ts +20 -0
  96. package/dist/types/exported-related/conversion-utils/conversionHelpers.d.ts +25 -0
  97. package/dist/types/exported-related/conversion-utils/convertItemOpts.d.ts +22 -0
  98. package/dist/types/exported-related/conversion-utils/getHumanReadableWarnings.d.ts +7 -0
  99. package/dist/types/exported-related/conversion-utils/index.d.ts +12 -0
  100. package/dist/types/exported-related/conversion-utils/lostCodes.d.ts +23 -0
  101. package/dist/types/exported-related/conversion-utils/report.d.ts +3 -0
  102. package/dist/types/exported-related/conversion-utils/types.d.ts +37 -0
  103. package/dist/types/exported-related/conversion-utils/validateIds.d.ts +9 -0
  104. package/dist/types/index.d.ts +2 -0
  105. package/dist/types/react-desc-prop-types.d.ts +4 -0
  106. package/package.json +16 -13
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { ChevronSmallLeft } from "@elliemae/ds-icons";
4
- import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
5
4
  import React2 from "react";
5
+ import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
6
6
  import { CHEVRON_BACK_DS_ID, LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
7
7
  import { ItemRenderer } from "../../exported-related/index.js";
8
8
  import {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemSubmenu/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable indent */\nimport { ChevronSmallLeft } from '@elliemae/ds-icons';\nimport type { Theme } from '@elliemae/ds-system';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport React from 'react';\nimport { CHEVRON_BACK_DS_ID, LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport {\n StyledBottomContainer,\n StyledChevronLeft,\n StyledItemLabel,\n StyledLeftContainer,\n StyledRightContainer,\n} from '../styled.js';\n\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: Theme) =>\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 ItemSubmenu = (props: DSLeftNavigationT.ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps,\n leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },\n expandedForAnimation,\n selectedItem,\n selectedParent,\n setFocusedItem,\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const opened = openedItem === dsId;\n\n const isSelected = selectedItem === dsId;\n\n const shadowStyle = React.useCallback(\n (opened_: boolean) => (theme: Theme) =>\n !opened_\n ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme)\n : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [dsId, isSelected, selectedParent],\n );\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? `${label}, category` : 'category');\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ...item.itemOpts,\n ariaLabel,\n ariaExpanded: opened,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n shadowStyle={shadowStyle}\n hasBorderBottom={opened}\n borderBottomMr=\"12px\"\n >\n <StyledLeftContainer\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.LEFT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {opened && (\n <StyledChevronLeft\n buttonType=\"raw\"\n onClick={(e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => {\n if (onItemClick) onItemClick(item, e as React.MouseEvent<HTMLElement>);\n }}\n tabIndex={0}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n aria-label={`Close ${ariaLabel}`}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_CHEVRON_BACK} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <ChevronSmallLeft size=\"m\" color={['brand-primary', '800']} />\n </StyledChevronLeft>\n )}\n {CollapsedComponent && <CollapsedComponent item={item} ctx={ctx} />}\n </StyledLeftContainer>\n <StyledItemLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n labelOverflow={labelOverflow}\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.ITEM_LABEL}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' ? <TruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledItemLabel>\n <StyledRightContainer\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(null);\n }}\n onKeyDown={(e: React.KeyboardEvent) => e.stopPropagation()}\n onClick={(e: React.MouseEvent) => openedItem === dsId && e.stopPropagation()}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </StyledRightContainer>\n {BottomComponent && (\n <StyledBottomContainer\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(null);\n }}\n onKeyDown={(e: React.KeyboardEvent) => e.stopPropagation()}\n onClick={(e: React.MouseEvent) => openedItem && e.stopPropagation()}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.BOTTOM_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <BottomComponent ctx={ctx} item={item} />\n </StyledBottomContainer>\n )}\n </ItemRenderer>\n );\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable indent */\nimport { ChevronSmallLeft } from '@elliemae/ds-icons';\nimport type { Theme } from '@elliemae/ds-system';\nimport React from 'react';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport { CHEVRON_BACK_DS_ID, LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport {\n StyledBottomContainer,\n StyledChevronLeft,\n StyledItemLabel,\n StyledLeftContainer,\n StyledRightContainer,\n} from '../styled.js';\n\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: Theme) =>\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 ItemSubmenu = (props: DSLeftNavigationT.ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps,\n leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },\n expandedForAnimation,\n selectedItem,\n selectedParent,\n setFocusedItem,\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const opened = openedItem === dsId;\n\n const isSelected = selectedItem === dsId;\n\n const shadowStyle = React.useCallback(\n (opened_: boolean) => (theme: Theme) =>\n !opened_\n ? notOpenedShadowStyle(isSelected || selectedParent === dsId)(theme)\n : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [dsId, isSelected, selectedParent],\n );\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? `${label}, category` : 'category');\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ...item.itemOpts,\n ariaLabel,\n ariaExpanded: opened,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n shadowStyle={shadowStyle}\n hasBorderBottom={opened}\n borderBottomMr=\"12px\"\n >\n <StyledLeftContainer\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.LEFT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {opened && (\n <StyledChevronLeft\n buttonType=\"raw\"\n onClick={(e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>) => {\n if (onItemClick) onItemClick(item, e as React.MouseEvent<HTMLElement>);\n }}\n tabIndex={0}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n aria-label={`Close ${ariaLabel}`}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_CHEVRON_BACK} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <ChevronSmallLeft size=\"m\" color={['brand-primary', '800']} />\n </StyledChevronLeft>\n )}\n {CollapsedComponent && <CollapsedComponent item={item} ctx={ctx} />}\n </StyledLeftContainer>\n <StyledItemLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n labelOverflow={labelOverflow}\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.ITEM_LABEL}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' ? <TruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledItemLabel>\n <StyledRightContainer\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(null);\n }}\n onKeyDown={(e: React.KeyboardEvent) => e.stopPropagation()}\n onClick={(e: React.MouseEvent) => openedItem === dsId && e.stopPropagation()}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </StyledRightContainer>\n {BottomComponent && (\n <StyledBottomContainer\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(null);\n }}\n onKeyDown={(e: React.KeyboardEvent) => e.stopPropagation()}\n onClick={(e: React.MouseEvent) => openedItem && e.stopPropagation()}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.BOTTOM_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <BottomComponent ctx={ctx} item={item} />\n </StyledBottomContainer>\n )}\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
4
3
  import React2 from "react";
4
+ import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
5
5
  import { LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
6
6
  import { ItemRenderer } from "../../exported-related/index.js";
7
7
  import { StyledLabel } from "../styled.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemTextLabel/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport React from 'react';\nimport { LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { StyledLabel } from '../styled.js';\n\nexport const ItemTextLabel = (props: DSLeftNavigationT.ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n itemOpts: { label, labelOverflow: itemLabelOverflow, labelBold, labelColor, labelDataTestId },\n },\n ctx: {\n leftNavProps,\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n return (\n <ItemRenderer\n item={{\n ...item,\n CollapsedComponent: null,\n }}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n {/* Empty LeftComponent */} <div />\n <StyledLabel\n pl=\"24px\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n mr=\"xxs2\"\n pb=\"xxxs\"\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' ? <TruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n </ItemRenderer>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACuBnB,SAQ8B,KAR9B;AAvBJ,SAAS,4BAA4B;AACrC,OAAOA,YAAW;AAClB,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,mBAAmB;AAErB,MAAM,gBAAgB,CAAC,UAAyD;AACrF,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,UAAU,EAAE,OAAO,eAAe,mBAAmB,WAAW,YAAY,gBAAgB;AAAA,IAC9F;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,cAAc,EAAE,eAAe,qBAAqB;AAAA,IACtD;AAAA,EACF,IAAI;AACJ,QAAM,gBAAgBA,OAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyBA,OAAM,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/D,QAAM,gBAAgB,qBAAqB;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,oBAAoB;AAAA,MACtB;AAAA,MACA,WAAU;AAAA,MACV,YAAW;AAAA,MAEgB;AAAA;AAAA,QAAC,oBAAC,SAAI;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAG;AAAA,YACH,IAAG;AAAA,YACH,eAAa,mBAAmB,4BAA4B;AAAA,YAC5D;AAAA,YACA;AAAA,YAEC,4BAAkB,aAAa,oBAAC,wBAAqB,OAAO,OAAO,WAAU,gBAAe,IAAK;AAAA;AAAA,QACpG;AAAA;AAAA;AAAA,EACF;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport { LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { StyledLabel } from '../styled.js';\n\nexport const ItemTextLabel = (props: DSLeftNavigationT.ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n itemOpts: { label, labelOverflow: itemLabelOverflow, labelBold, labelColor, labelDataTestId },\n },\n ctx: {\n leftNavProps,\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n return (\n <ItemRenderer\n item={{\n ...item,\n CollapsedComponent: null,\n }}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n {/* Empty LeftComponent */} <div />\n <StyledLabel\n pl=\"24px\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n mr=\"xxs2\"\n pb=\"xxxs\"\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' ? <TruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACuBnB,SAQ8B,KAR9B;AAvBJ,OAAOA,YAAW;AAClB,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,mBAAmB;AAErB,MAAM,gBAAgB,CAAC,UAAyD;AACrF,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,UAAU,EAAE,OAAO,eAAe,mBAAmB,WAAW,YAAY,gBAAgB;AAAA,IAC9F;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,cAAc,EAAE,eAAe,qBAAqB;AAAA,IACtD;AAAA,EACF,IAAI;AACJ,QAAM,gBAAgBA,OAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyBA,OAAM,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/D,QAAM,gBAAgB,qBAAqB;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,oBAAoB;AAAA,MACtB;AAAA,MACA,WAAU;AAAA,MACV,YAAW;AAAA,MAEgB;AAAA;AAAA,QAAC,oBAAC,SAAI;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA,IAAG;AAAA,YACH,IAAG;AAAA,YACH,eAAa,mBAAmB,4BAA4B;AAAA,YAC5D;AAAA,YACA;AAAA,YAEC,4BAAkB,aAAa,oBAAC,wBAAqB,OAAO,OAAO,WAAU,gBAAe,IAAK;AAAA;AAAA,QACpG;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { ArrowheadDown, ArrowheadRight } from "@elliemae/ds-icons";
4
- import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
5
4
  import React2, { useCallback, useEffect, useMemo } from "react";
5
+ import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
6
6
  import { ITEM_TYPES, LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
7
7
  import { ItemRenderer } from "../../exported-related/index.js";
8
8
  import { ItemSeparator } from "../ItemSeparator/index.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemUncontrolledDrilldown/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { ITEM_TYPES, LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { ItemSeparator } from '../ItemSeparator/index.js';\nimport { ItemTextLabel } from '../ItemTextLabel/index.js';\nimport { ItemWithDate } from '../ItemWithDate/index.js';\nimport { StyledArrowContainer, StyledDate, StyledLabel, StyledRightContainer } from '../styled.js';\n\n// Subitem mapping\nconst outOfTheBoxSubitemsComponents: Record<string, React.ComponentType<DSLeftNavigationT.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: React.ComponentType<DSLeftNavigationT.ComponentProps> = (props) => {\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 if (!Component) return null;\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 ItemUncontrolledDrilldown = (props: DSLeftNavigationT.ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: {\n label,\n RightComponent,\n labelRightSection,\n labelOverflow: itemLabelOverflow,\n labelBold,\n labelColor,\n startOpened,\n items,\n labelDataTestId,\n },\n },\n ctx,\n ctx: {\n leftNavProps,\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n openedDrilldowns,\n setOpenedDrilldowns,\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n // Start opened functionality\n useEffect(() => {\n if (startOpened) setOpenedDrilldowns([...openedDrilldowns, dsId as string]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const opened = openedDrilldowns.includes(dsId as string);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const arrowIcon = useMemo(() => {\n const Component = opened ? ArrowheadDown : ArrowheadRight;\n return <Component width=\"24px\" height=\"18px\" color={['brand-primary', '800']} />;\n }, [opened]);\n\n // Array of subitems\n const subitems = useMemo(() => {\n if (!opened || !items) return [];\n return items.map((subitem) => <OutOfTheBoxMapSubitem item={subitem} ctx={ctx} key={subitem.dsId} />);\n }, [ctx, items, opened]);\n\n const handleOnClick = useCallback(() => {\n if (opened) setOpenedDrilldowns(openedDrilldowns.filter((openedDrilldown) => openedDrilldown !== dsId));\n else setOpenedDrilldowns([...openedDrilldowns, dsId as string]);\n }, [opened, setOpenedDrilldowns, openedDrilldowns, dsId]);\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaExpanded: opened,\n ariaRole: 'menuitem',\n ...item.itemOpts,\n openable: !opened,\n closable: opened,\n },\n CollapsedComponent: null,\n }}\n subitems={subitems}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n onClick={handleOnClick}\n >\n <StyledArrowContainer\n pl=\"xxs\"\n mt=\"-2px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ARROW_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {arrowIcon}\n </StyledArrowContainer>\n <StyledLabel\n pb=\"xxxs\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' ? <TruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <StyledRightContainer\n pr=\"xxs2\"\n cols={['auto', 'auto']}\n alignItems=\"center\"\n gutter=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledDate\n ml=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_DATE} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelRightSection}\n </StyledDate>\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </StyledRightContainer>\n </ItemRenderer>\n );\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport { ITEM_TYPES, LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { ItemSeparator } from '../ItemSeparator/index.js';\nimport { ItemTextLabel } from '../ItemTextLabel/index.js';\nimport { ItemWithDate } from '../ItemWithDate/index.js';\nimport { StyledArrowContainer, StyledDate, StyledLabel, StyledRightContainer } from '../styled.js';\n\n// Subitem mapping\nconst outOfTheBoxSubitemsComponents: Record<string, React.ComponentType<DSLeftNavigationT.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: React.ComponentType<DSLeftNavigationT.ComponentProps> = (props) => {\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 if (!Component) return null;\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 ItemUncontrolledDrilldown = (props: DSLeftNavigationT.ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: {\n label,\n RightComponent,\n labelRightSection,\n labelOverflow: itemLabelOverflow,\n labelBold,\n labelColor,\n startOpened,\n items,\n labelDataTestId,\n },\n },\n ctx,\n ctx: {\n leftNavProps,\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n openedDrilldowns,\n setOpenedDrilldowns,\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n // Start opened functionality\n useEffect(() => {\n if (startOpened) setOpenedDrilldowns([...openedDrilldowns, dsId as string]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const opened = openedDrilldowns.includes(dsId as string);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const arrowIcon = useMemo(() => {\n const Component = opened ? ArrowheadDown : ArrowheadRight;\n return <Component width=\"24px\" height=\"18px\" color={['brand-primary', '800']} />;\n }, [opened]);\n\n // Array of subitems\n const subitems = useMemo(() => {\n if (!opened || !items) return [];\n return items.map((subitem) => <OutOfTheBoxMapSubitem item={subitem} ctx={ctx} key={subitem.dsId} />);\n }, [ctx, items, opened]);\n\n const handleOnClick = useCallback(() => {\n if (opened) setOpenedDrilldowns(openedDrilldowns.filter((openedDrilldown) => openedDrilldown !== dsId));\n else setOpenedDrilldowns([...openedDrilldowns, dsId as string]);\n }, [opened, setOpenedDrilldowns, openedDrilldowns, dsId]);\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaExpanded: opened,\n ariaRole: 'menuitem',\n ...item.itemOpts,\n openable: !opened,\n closable: opened,\n },\n CollapsedComponent: null,\n }}\n subitems={subitems}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n onClick={handleOnClick}\n >\n <StyledArrowContainer\n pl=\"xxs\"\n mt=\"-2px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ARROW_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {arrowIcon}\n </StyledArrowContainer>\n <StyledLabel\n pb=\"xxxs\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' ? <TruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <StyledRightContainer\n pr=\"xxs2\"\n cols={['auto', 'auto']}\n alignItems=\"center\"\n gutter=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledDate\n ml=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_DATE} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelRightSection}\n </StyledDate>\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </StyledRightContainer>\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
4
3
  import React2 from "react";
4
+ import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
5
5
  import { LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
6
6
  import { ItemRenderer } from "../../exported-related/index.js";
7
7
  import { StyledDate, StyledLabel, StyledRightContainer } from "../styled.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemWithDate/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport React from 'react';\nimport { LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { StyledDate, StyledLabel, StyledRightContainer } from '../styled.js';\n\nexport const ItemWithDate = (props: DSLeftNavigationT.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 labelDataTestId,\n },\n },\n ctx,\n ctx: {\n leftNavProps,\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n return (\n <ItemRenderer\n item={{\n ...item,\n CollapsedComponent: null,\n }}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n {/* Empty LeftComponent */} <div />\n <StyledLabel\n pl=\"xxs\"\n pb=\"xxxs\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' && label ? (\n <TruncatedTooltipText value={label} placement=\"bottom-start\" />\n ) : (\n label\n )}\n </StyledLabel>\n <StyledRightContainer\n pr=\"xxs2\"\n cols={['auto', 'auto']}\n alignItems=\"center\"\n gutter=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledDate\n ml=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_DATE} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelRightSection}\n </StyledDate>\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </StyledRightContainer>\n </ItemRenderer>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACwCW,cAiB5B,YAjB4B;AAxClC,SAAS,4BAA4B;AACrC,OAAOA,YAAW;AAClB,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,YAAY,aAAa,4BAA4B;AAEvD,MAAM,eAAe,CAAC,UAAyD;AACpF,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,cAAc,EAAE,eAAe,qBAAqB;AAAA,IACtD;AAAA,EACF,IAAI;AACJ,QAAM,gBAAgBA,OAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyBA,OAAM,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/D,QAAM,gBAAgB,qBAAqB;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,oBAAoB;AAAA,MACtB;AAAA,MACA,WAAU;AAAA,MACV,YAAW;AAAA,MAEgB;AAAA;AAAA,QAAC,oBAAC,SAAI;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAa,mBAAmB,4BAA4B;AAAA,YAC5D;AAAA,YACA;AAAA,YAEC,4BAAkB,cAAc,QAC/B,oBAAC,wBAAqB,OAAO,OAAO,WAAU,gBAAe,IAE7D;AAAA;AAAA,QAEJ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAM,CAAC,QAAQ,MAAM;AAAA,YACrB,YAAW;AAAA,YACX,QAAO;AAAA,YACP,eAAa,4BAA4B;AAAA,YACzC;AAAA,YACA;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,IAAG;AAAA,kBACH,eAAa,4BAA4B;AAAA,kBACzC;AAAA,kBACA;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA,cACC,kBAAkB,oBAAC,kBAAe,KAAU,MAAY;AAAA;AAAA;AAAA,QAC3D;AAAA;AAAA;AAAA,EACF;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport { LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { ItemRenderer } from '../../exported-related/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { StyledDate, StyledLabel, StyledRightContainer } from '../styled.js';\n\nexport const ItemWithDate = (props: DSLeftNavigationT.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 labelDataTestId,\n },\n },\n ctx,\n ctx: {\n leftNavProps,\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n return (\n <ItemRenderer\n item={{\n ...item,\n CollapsedComponent: null,\n }}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n {/* Empty LeftComponent */} <div />\n <StyledLabel\n pl=\"xxs\"\n pb=\"xxxs\"\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n data-testid={labelDataTestId || LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelOverflow === 'truncate' && label ? (\n <TruncatedTooltipText value={label} placement=\"bottom-start\" />\n ) : (\n label\n )}\n </StyledLabel>\n <StyledRightContainer\n pr=\"xxs2\"\n cols={['auto', 'auto']}\n alignItems=\"center\"\n gutter=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledDate\n ml=\"xxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_DATE} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {labelRightSection}\n </StyledDate>\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </StyledRightContainer>\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACwCW,cAiB5B,YAjB4B;AAxClC,OAAOA,YAAW;AAClB,SAAS,4BAA4B;AACrC,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,YAAY,aAAa,4BAA4B;AAEvD,MAAM,eAAe,CAAC,UAAyD;AACpF,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,IACA,KAAK;AAAA,MACH;AAAA,MACA,cAAc,EAAE,eAAe,qBAAqB;AAAA,IACtD;AAAA,EACF,IAAI;AACJ,QAAM,gBAAgBA,OAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyBA,OAAM,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/D,QAAM,gBAAgB,qBAAqB;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,oBAAoB;AAAA,MACtB;AAAA,MACA,WAAU;AAAA,MACV,YAAW;AAAA,MAEgB;AAAA;AAAA,QAAC,oBAAC,SAAI;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAa,mBAAmB,4BAA4B;AAAA,YAC5D;AAAA,YACA;AAAA,YAEC,4BAAkB,cAAc,QAC/B,oBAAC,wBAAqB,OAAO,OAAO,WAAU,gBAAe,IAE7D;AAAA;AAAA,QAEJ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,MAAM,CAAC,QAAQ,MAAM;AAAA,YACrB,YAAW;AAAA,YACX,QAAO;AAAA,YACP,eAAa,4BAA4B;AAAA,YACzC;AAAA,YACA;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,IAAG;AAAA,kBACH,eAAa,4BAA4B;AAAA,kBACzC;AAAA,kBACA;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA,cACC,kBAAkB,oBAAC,kBAAe,KAAU,MAAY;AAAA;AAAA;AAAA,QAC3D;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -3,8 +3,8 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { Grid } from "@elliemae/ds-grid";
4
4
  import { MenuCollapse, MenuExpand } from "@elliemae/ds-icons";
5
5
  import { DSSkeleton } from "@elliemae/ds-skeleton";
6
- import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
7
6
  import React2, { useCallback, useContext, useMemo } from "react";
7
+ import { TruncatedTooltipText } from "../../TruncatedTooltipText.js";
8
8
  import LeftNavigationContext from "../../LeftNavigationContext.js";
9
9
  import { FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID, LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
10
10
  import { useKeyboardNavigation } from "../../hooks/index.js";
@@ -50,8 +50,7 @@ const LeftNavFooterItem = (props) => {
50
50
  );
51
51
  const label = useMemo(() => {
52
52
  if (FooterLabelComponent) return /* @__PURE__ */ jsx(FooterLabelComponent, {});
53
- if (labelOverflow === "truncate")
54
- return /* @__PURE__ */ jsx(TruncatedTooltipText, { value: footerLabel, placement: "bottom-start" });
53
+ if (labelOverflow === "truncate") return /* @__PURE__ */ jsx(TruncatedTooltipText, { value: footerLabel, placement: "bottom-start" });
55
54
  return footerLabel;
56
55
  }, [footerLabel, FooterLabelComponent, labelOverflow]);
57
56
  const postAnimationButtonFocusHandler = useCallback(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavFooterItem/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-lines */\nimport { Grid } from '@elliemae/ds-grid';\nimport { MenuCollapse, MenuExpand } from '@elliemae/ds-icons';\nimport { DSSkeleton } from '@elliemae/ds-skeleton';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport LeftNavigationContext from '../../LeftNavigationContext.js';\nimport { FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID, LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { useKeyboardNavigation } from '../../hooks/index.js';\nimport {\n StyledFooterItem,\n StyledFooterLabel,\n StyledFooterMenu,\n StyledFooterSeparator,\n StyledMenuCollapse,\n} from './styled.js';\n\ntype LeftNavFooterItemProps = {\n footerLabel: string;\n FooterLabelComponent?: React.ComponentType<unknown>;\n onFooterExpand: React.MouseEventHandler & React.KeyboardEventHandler;\n onFooterClose: React.MouseEventHandler & React.KeyboardEventHandler;\n};\n\n// eslint-disable-next-line complexity\nexport const LeftNavFooterItem: React.ComponentType<LeftNavFooterItemProps> = (props) => {\n const { footerLabel, FooterLabelComponent, onFooterExpand = () => null, onFooterClose = () => null } = props;\n const {\n leftNavProps: { labelOverflow, isSkeleton, hideFooterPipe, expanded },\n expandedForAnimation,\n setFocusedItem,\n focusedItem,\n visibleItemsRefs,\n leftNavProps,\n } = useContext(LeftNavigationContext);\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n const id = FOOTER_DS_ID;\n\n const handleOnClick = expandedForAnimation ? onFooterClose : onFooterExpand;\n\n const onKeyDown = useKeyboardNavigation({\n item: {\n dsId: id,\n itemOpts: {\n selectable: !expandedForAnimation,\n openable: false,\n closable: false,\n },\n },\n onClick: handleOnClick,\n });\n\n const handleMenuCollapseClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent> | React.KeyboardEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n handleOnClick(e as React.MouseEvent<HTMLButtonElement, MouseEvent>);\n setFocusedItem(id);\n },\n [handleOnClick, id, setFocusedItem],\n );\n\n const label = useMemo(() => {\n if (FooterLabelComponent) return <FooterLabelComponent />;\n if (labelOverflow === 'truncate')\n return <TruncatedTooltipText value={footerLabel} placement=\"bottom-start\" />;\n return footerLabel;\n }, [footerLabel, FooterLabelComponent, labelOverflow]);\n\n const postAnimationButtonFocusHandler = useCallback(\n (newHTMLNode: HTMLButtonElement | null) => {\n if (newHTMLNode === null || !expanded) {\n return;\n }\n if (focusedItem === id) {\n newHTMLNode.focus();\n }\n },\n [focusedItem, id, expanded],\n );\n\n if (isSkeleton) {\n return (\n <StyledFooterMenu\n key={id}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_MENU} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <Grid height=\"48px\" justifyContent=\"center\" alignItems=\"center\" cols={['1fr']} p=\"xxs\">\n <DSSkeleton variant=\"rectangular\" height=\"24px\" />\n </Grid>\n </StyledFooterMenu>\n );\n }\n\n return (\n <StyledFooterMenu\n key={id}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_MENU} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledFooterItem\n innerRef={visibleItemsRefs.current[id]}\n tabIndex={expandedForAnimation ? -1 : 0}\n expanded={expandedForAnimation}\n pt=\"xxs2\"\n height={expandedForAnimation ? 'auto' : '48px'}\n alignItems=\"flex-start\"\n pl=\"xxs2\"\n cols={expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']}\n onClick={expandedForAnimation ? () => null : handleOnClick}\n onKeyDown={onKeyDown}\n onFocus={() => setFocusedItem(id)}\n role=\"menuitem\"\n aria-label={\n expandedForAnimation\n ? `Footer, ${typeof footerLabel === 'string' ? footerLabel : ''}`\n : `Expand left navigation`\n }\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_ITEM} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {!expandedForAnimation ? (\n <MenuExpand\n size=\"m\"\n color={['brand-primary', '800']}\n // https://jira.elliemae.io/browse/PUI-15589\n // VERY SPECIAL CASE, THE SLOT FOOTER_BTN GOES TO THE ICON WHEN COLLAPSED, TO THE BTN WHEN EXPANDED\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_BTN}\n />\n ) : (\n <>\n <StyledFooterLabel\n mt=\"5px\"\n mr=\"12px\"\n mb=\"16px\"\n labelOverflow={labelOverflow}\n aria-live=\"polite\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_LABEL} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {label}\n </StyledFooterLabel>\n {!hideFooterPipe ? (\n <StyledFooterSeparator\n mt=\"xxxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_SEPARATOR} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n />\n ) : (\n <div></div>\n )}\n <StyledMenuCollapse\n innerRef={postAnimationButtonFocusHandler}\n buttonType=\"raw\"\n onClick={handleMenuCollapseClick}\n tabIndex={0}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(FOOTER_MENU_CLOSE_DS_ID);\n }}\n role=\"button\"\n aria-label=\"Collapse left navigation\"\n // VERY SPECIAL CASE, THE SLOT FOOTER_BTN GOES TO THE ICON WHEN COLLAPSED, TO THE BTN WHEN EXPANDED\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_BTN}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <MenuCollapse size=\"m\" color={['brand-primary', '800']} />\n </StyledMenuCollapse>\n </>\n )}\n </StyledFooterItem>\n </StyledFooterMenu>\n );\n};\n\nexport default LeftNavFooterItem;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-lines */\nimport { Grid } from '@elliemae/ds-grid';\nimport { MenuCollapse, MenuExpand } from '@elliemae/ds-icons';\nimport { DSSkeleton } from '@elliemae/ds-skeleton';\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport { TruncatedTooltipText } from '../../TruncatedTooltipText.js';\nimport LeftNavigationContext from '../../LeftNavigationContext.js';\nimport { FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID, LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { useKeyboardNavigation } from '../../hooks/index.js';\nimport {\n StyledFooterItem,\n StyledFooterLabel,\n StyledFooterMenu,\n StyledFooterSeparator,\n StyledMenuCollapse,\n} from './styled.js';\n\ntype LeftNavFooterItemProps = {\n footerLabel: string;\n FooterLabelComponent?: React.ComponentType<unknown>;\n onFooterExpand: React.MouseEventHandler & React.KeyboardEventHandler;\n onFooterClose: React.MouseEventHandler & React.KeyboardEventHandler;\n};\n\n// eslint-disable-next-line complexity\nexport const LeftNavFooterItem: React.ComponentType<LeftNavFooterItemProps> = (props) => {\n const { footerLabel, FooterLabelComponent, onFooterExpand = () => null, onFooterClose = () => null } = props;\n const {\n leftNavProps: { labelOverflow, isSkeleton, hideFooterPipe, expanded },\n expandedForAnimation,\n setFocusedItem,\n focusedItem,\n visibleItemsRefs,\n leftNavProps,\n } = useContext(LeftNavigationContext);\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n const id = FOOTER_DS_ID;\n\n const handleOnClick = expandedForAnimation ? onFooterClose : onFooterExpand;\n\n const onKeyDown = useKeyboardNavigation({\n item: {\n dsId: id,\n itemOpts: {\n selectable: !expandedForAnimation,\n openable: false,\n closable: false,\n },\n },\n onClick: handleOnClick,\n });\n\n const handleMenuCollapseClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent> | React.KeyboardEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n handleOnClick(e as React.MouseEvent<HTMLButtonElement, MouseEvent>);\n setFocusedItem(id);\n },\n [handleOnClick, id, setFocusedItem],\n );\n\n const label = useMemo(() => {\n if (FooterLabelComponent) return <FooterLabelComponent />;\n if (labelOverflow === 'truncate') return <TruncatedTooltipText value={footerLabel} placement=\"bottom-start\" />;\n return footerLabel;\n }, [footerLabel, FooterLabelComponent, labelOverflow]);\n\n const postAnimationButtonFocusHandler = useCallback(\n (newHTMLNode: HTMLButtonElement | null) => {\n if (newHTMLNode === null || !expanded) {\n return;\n }\n if (focusedItem === id) {\n newHTMLNode.focus();\n }\n },\n [focusedItem, id, expanded],\n );\n\n if (isSkeleton) {\n return (\n <StyledFooterMenu\n key={id}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_MENU} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <Grid height=\"48px\" justifyContent=\"center\" alignItems=\"center\" cols={['1fr']} p=\"xxs\">\n <DSSkeleton variant=\"rectangular\" height=\"24px\" />\n </Grid>\n </StyledFooterMenu>\n );\n }\n\n return (\n <StyledFooterMenu\n key={id}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_MENU} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledFooterItem\n innerRef={visibleItemsRefs.current[id]}\n tabIndex={expandedForAnimation ? -1 : 0}\n expanded={expandedForAnimation}\n pt=\"xxs2\"\n height={expandedForAnimation ? 'auto' : '48px'}\n alignItems=\"flex-start\"\n pl=\"xxs2\"\n cols={expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']}\n onClick={expandedForAnimation ? () => null : handleOnClick}\n onKeyDown={onKeyDown}\n onFocus={() => setFocusedItem(id)}\n role=\"menuitem\"\n aria-label={\n expandedForAnimation\n ? `Footer, ${typeof footerLabel === 'string' ? footerLabel : ''}`\n : `Expand left navigation`\n }\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_ITEM} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {!expandedForAnimation ? (\n <MenuExpand\n size=\"m\"\n color={['brand-primary', '800']}\n // https://jira.elliemae.io/browse/PUI-15589\n // VERY SPECIAL CASE, THE SLOT FOOTER_BTN GOES TO THE ICON WHEN COLLAPSED, TO THE BTN WHEN EXPANDED\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_BTN}\n />\n ) : (\n <>\n <StyledFooterLabel\n mt=\"5px\"\n mr=\"12px\"\n mb=\"16px\"\n labelOverflow={labelOverflow}\n aria-live=\"polite\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_LABEL} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {label}\n </StyledFooterLabel>\n {!hideFooterPipe ? (\n <StyledFooterSeparator\n mt=\"xxxs\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_SEPARATOR} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n />\n ) : (\n <div></div>\n )}\n <StyledMenuCollapse\n innerRef={postAnimationButtonFocusHandler}\n buttonType=\"raw\"\n onClick={handleMenuCollapseClick}\n tabIndex={0}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n setFocusedItem(FOOTER_MENU_CLOSE_DS_ID);\n }}\n role=\"button\"\n aria-label=\"Collapse left navigation\"\n // VERY SPECIAL CASE, THE SLOT FOOTER_BTN GOES TO THE ICON WHEN COLLAPSED, TO THE BTN WHEN EXPANDED\n data-testid={LEFT_NAVIGATION_DATA_TESTID.FOOTER_BTN}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <MenuCollapse size=\"m\" color={['brand-primary', '800']} />\n </StyledMenuCollapse>\n </>\n )}\n </StyledFooterItem>\n </StyledFooterMenu>\n );\n};\n\nexport default LeftNavFooterItem;\n"],
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -61,6 +61,63 @@ const DSLeftNavigationItemPropTypes = {
61
61
  itemOpts: PropTypes.object.description("Item options")
62
62
  };
63
63
  const DSLeftNavigationItemPropTypesSchema = DSLeftNavigationItemPropTypes;
64
+ const DSLeftNavigationItemOptionsPropTypes = {
65
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).description(
66
+ "Text or element rendered as the item label"
67
+ ),
68
+ labelBold: PropTypes.bool.description(
69
+ "Text label, with date and drilldown items only: whether the label is rendered with semibold font weight"
70
+ ),
71
+ labelColor: PropTypes.array.description(
72
+ 'Text label, with date and drilldown items only: theme color tuple for the label, e.g. ["neutral", "800"]'
73
+ ),
74
+ labelOverflow: PropTypes.oneOf(["wrap", "wrapAll", "truncate"]).description(
75
+ "How the label handles overflow, falls back to the left navigation labelOverflow prop when not set. Not applied by section items"
76
+ ),
77
+ labelRightSection: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).description(
78
+ "Section, with date and drilldown items only: content rendered on the right side of the label, e.g. a date or an unread count"
79
+ ),
80
+ selectable: PropTypes.bool.description(
81
+ "Whether clicking the item, or pressing Enter or Space on it, selects it. Header, submenu, link, section, separator and skeleton items set it themselves"
82
+ ),
83
+ focuseable: PropTypes.bool.description(
84
+ "Whether the item can receive keyboard focus. Section, separator and skeleton items are never focusable"
85
+ ),
86
+ startOpened: PropTypes.bool.description("Uncontrolled drilldown items only: whether the drilldown starts opened"),
87
+ isOpened: PropTypes.bool.description("Controlled drilldown items only: whether the drilldown is opened"),
88
+ openable: PropTypes.bool.description(
89
+ "Whether the ArrowRight key triggers the item, as a click does. Header, submenu and drilldown items set it from their opened state"
90
+ ),
91
+ closable: PropTypes.bool.description(
92
+ "Whether the ArrowLeft key triggers the item, as a click does, and keeps focus on it. Header, submenu and drilldown items set it from their opened state"
93
+ ),
94
+ indent: PropTypes.number.description("Left padding of the item, in pixels"),
95
+ LeftComponent: PropTypes.func.description(
96
+ "Section items only: component rendered on the left side of the item, receives { item, ctx }"
97
+ ),
98
+ RightComponent: PropTypes.func.description(
99
+ "Header, submenu, link, section, with date and drilldown items only: component rendered on the right side of the item, receives { item, ctx }"
100
+ ),
101
+ BottomComponent: PropTypes.func.description(
102
+ "Header and submenu items only: component rendered below the label, receives { item, ctx }"
103
+ ),
104
+ ariaLabel: PropTypes.string.description("aria-label applied to the item"),
105
+ ariaRole: PropTypes.string.description(
106
+ "role applied to the item. Separator, skeleton and drilldown items set their own role"
107
+ ),
108
+ ariaLive: PropTypes.string.description("Not applied by the out-of-the-box item types"),
109
+ ariaExpanded: PropTypes.bool.description(
110
+ "aria-expanded applied to the item. Header, submenu and drilldown items set it from their opened state"
111
+ ),
112
+ ariaDescribedBy: PropTypes.string.description("aria-describedby applied to the item"),
113
+ items: PropTypes.arrayOf(PropTypes.object).description("Drilldown items only: the subitems to render"),
114
+ labelDataTestId: PropTypes.string.description(
115
+ "Overrides the data-testid of the item label. Not applied by controlled drilldown items"
116
+ ),
117
+ skeletonVariant: PropTypes.oneOf(["item", "subitem"]).description(
118
+ "Skeleton shape used when the item renders as a skeleton"
119
+ )
120
+ };
64
121
  const LeftNavItemProps = () => null;
65
122
  LeftNavItemProps.displayName = "LeftNavItemProps";
66
123
  const LeftNavItemPropsSchema = describe(LeftNavItemProps);
@@ -68,7 +125,7 @@ LeftNavItemPropsSchema.propTypes = DSLeftNavigationItemPropTypes;
68
125
  const LeftNavItemOptions = () => null;
69
126
  LeftNavItemOptions.displayName = "LeftNavItemOptions";
70
127
  const LeftNavItemOptionsSchema = describe(LeftNavItemOptions);
71
- LeftNavItemOptionsSchema.propTypes = DSLeftNavigationItemPropTypes;
128
+ LeftNavItemOptionsSchema.propTypes = DSLeftNavigationItemOptionsPropTypes;
72
129
  export {
73
130
  DSLeftNavigationItemPropTypes,
74
131
  DSLeftNavigationItemPropTypesSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/react-desc-prop-types.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport type { DSPropTypesSchema, GlobalAttributesT, ValidationMap, XstyledProps } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n describe,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type Theme } from '@elliemae/ds-system';\nimport type { TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS, outOfTheBoxTypes } from './constants/index.js';\nimport type { ContextProps } from './LeftNavigationContext.js';\n\ntype ColorsKey = keyof Theme['colors'];\n\nexport declare namespace DSLeftNavigationT {\n export type SlotFunctionArguments = {\n dsLeftnavigationAlertsIcon: () => object;\n dsLeftnavigationAreasContainer: () => object;\n dsLeftnavigationArrowContainer: () => object;\n dsLeftnavigationBodyAreasContainer: () => object;\n dsLeftnavigationBodyHeaderArea: () => object;\n dsLeftnavigationBodyItemsArea: () => object;\n dsLeftnavigationBottomContainer: () => object;\n dsLeftnavigationCollapsedContainer: () => object;\n dsLeftnavigationExceptionsIcon: () => object;\n dsLeftnavigationFooterItem: () => object;\n dsLeftnavigationFooterLabel: () => object;\n dsLeftnavigationFooterMenu: () => object;\n dsLeftnavigationFooterMenuCollapse: () => object;\n dsLeftnavigationFooterSeparator: () => object;\n dsLeftnavigationHeaderArea: () => object;\n dsLeftnavigationItem: () => object;\n dsLeftnavigationItemBorderBottom: () => object;\n dsLeftnavigationItemChevronBack: () => object;\n dsLeftnavigationItemDate: () => object;\n dsLeftnavigationItemLabel: () => object;\n dsLeftnavigationItemSeparator: () => object;\n dsLeftnavigationLeftContainer: () => object;\n dsLeftnavigationLoaderWrapper: () => object;\n dsLeftnavigationMessagesIcon: () => object;\n dsLeftnavigationNotificationsContainer: () => object;\n dsLeftnavigationNotificationsIcon: () => object;\n dsLeftnavigationRightContainer: () => object;\n dsLeftnavigationRoot: () => object;\n dsLeftnavigationSectionContainer: () => object;\n dsLeftnavigationSectionLabel: () => object;\n dsLeftnavigationSectionRightLabel: () => object;\n dsLeftnavigationVerticalSeparator: () => object;\n };\n export type LabelOveflowT = 'wrap' | 'wrapAll' | 'truncate';\n\n export interface RequiredProps {}\n\n export interface DefaultProps {\n expanded: boolean;\n expandedWidth: string;\n openedItem: string | null;\n items: GenericItemItemProps[];\n footerLabel: string;\n labelOverflow: LabelOveflowT;\n onSelectedChange: (item: string | null) => void;\n onFocusChange: (item: string | null) => void;\n onFooterExpand: () => void;\n onFooterClose: () => void;\n onItemClick: (item: GenericItemItemProps, e: React.MouseEvent<HTMLElement>) => void;\n loading: boolean;\n isSkeleton: boolean;\n hideFooterPipe: boolean;\n }\n export interface OptionalProps\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSLeftNavigationName, typeof LEFT_NAVIGATION_SLOTS> {\n FooterLabelComponent?: React.ComponentType<unknown>;\n selectedItem?: string | null;\n selectedParent?: string | null;\n disableDefaultSelection?: boolean;\n withoutBodyShadow?: boolean;\n actionRef?: React.RefObject<{ setFocusedItem: React.Dispatch<React.SetStateAction<string | null>> }>;\n HeaderComponent?: GenericItemItemProps;\n BodyHeaderComponent?: GenericItemItemProps;\n }\n\n export interface Props\n extends Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n export interface InternalProps\n extends DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n\n export type OutOfTheBoxT =\n | 'ds-left-nav-item-header'\n | 'ds-left-nav-item-link'\n | 'ds-left-nav-item-submenu'\n | 'ds-left-nav-item-controlled-drilldown'\n | 'ds-left-nav-item-uncontrolled-drilldown'\n | 'ds-left-nav-item-section'\n | 'ds-left-nav-item-separator'\n | 'ds-left-nav-item-text-label'\n | 'ds-left-nav-item-with-date';\n\n export interface ItemOptsT extends Record<string, unknown> {\n label?: string | JSX.Element;\n labelBold?: boolean;\n labelColor?: [ColorsKey, keyof Theme['colors'][ColorsKey]];\n labelOverflow?: LabelOveflowT;\n labelRightSection?: string | JSX.Element;\n selectable?: boolean;\n focuseable?: boolean;\n startOpened?: boolean;\n isOpened?: boolean;\n openable?: boolean;\n closable?: boolean;\n indent?: number;\n LeftComponent?: React.ComponentType<ComponentProps>;\n RightComponent?: React.ComponentType<ComponentProps>;\n BottomComponent?: React.ComponentType<ComponentProps>;\n ariaLabel?: string;\n ariaRole?: string;\n ariaLive?: string;\n ariaExpanded?: boolean;\n ariaDescribedBy?: string;\n items?: GenericItemItemProps[];\n labelDataTestId?: string;\n skeletonVariant?: 'item' | 'subitem';\n }\n\n export interface ComponentProps {\n item: GenericItemItemProps;\n ctx: ContextProps;\n }\n export interface GenericItemItemProps {\n dsId?: string;\n type?: string;\n CollapsedComponent?: React.ComponentType<ComponentProps> | null;\n Component?: React.ComponentType<ComponentProps>;\n itemOpts: ItemOptsT;\n }\n export interface OutOfTheBoxMapItemT {\n item: GenericItemItemProps;\n }\n export interface ItemRendererT {\n item: GenericItemItemProps;\n subitems?: JSX.Element[];\n minHeight?: string;\n paddingTop?: string;\n onClick?: () => void;\n shadowStyle?: (opened: boolean, type?: string) => (theme: Theme) => string;\n hasBorderBottom?: boolean;\n borderBottomMr?: string;\n children: React.ReactNode;\n }\n}\n\nexport const defaultProps: DSLeftNavigationT.DefaultProps = {\n expandedWidth: '240px',\n loading: false,\n expanded: false,\n openedItem: null,\n footerLabel: '',\n onSelectedChange: () => null,\n onFocusChange: () => null,\n onFooterExpand: () => null,\n onFooterClose: () => null,\n items: [],\n labelOverflow: 'wrap' as DSLeftNavigationT.LabelOveflowT,\n onItemClick: () => null,\n isSkeleton: false,\n hideFooterPipe: false,\n};\n\nexport const DSLeftNavigationPropTypes: DSPropTypesSchema<DSLeftNavigationT.Props> = {\n ...getPropsPerSlotPropTypes(DSLeftNavigationName, LEFT_NAVIGATION_SLOTS),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n\n expandedWidth: PropTypes.string.description('Width of the navigation when expanded').defaultValue('240px'),\n expanded: PropTypes.bool.description('Whether to show the left navigation expanded or collapsed').defaultValue(false),\n loading: PropTypes.bool.description('Whether the left-nav is loading').defaultValue(false),\n openedItem: PropTypes.string\n .description('The id of the left navigation item you want to be opened')\n .defaultValue(null),\n footerLabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n .description('The label to show in the footer item')\n .defaultValue(''),\n FooterLabelComponent: PropTypes.func.description('The component to show in the footer item'),\n onFooterExpand: PropTypes.func\n .description('The function to call when the left-nav is opened via the footer')\n .defaultValue(() => null),\n onFooterClose: PropTypes.func\n .description('The function to call when the left-nav is closed via the footer')\n .defaultValue(() => null),\n onSelectedChange: PropTypes.func\n .description('A callback which triggers when the selected item changes')\n .defaultValue(() => null),\n onFocusChange: PropTypes.func\n .description('A callback which triggers when the focused item changes')\n .defaultValue(() => null),\n items: PropTypes.arrayOf(PropTypes.object)\n .description('The array of items you want to render inside the left nav')\n .defaultValue([]),\n labelOverflow: PropTypes.oneOf(['wrap', 'wrapAll', 'truncate'])\n .description('How to handle label overflow')\n .defaultValue('wrap'),\n onItemClick: PropTypes.func.description('Callback when an item is clicked').defaultValue(() => null),\n isSkeleton: PropTypes.bool.description('Whether the component is in skeleton mode').defaultValue(false),\n hideFooterPipe: PropTypes.bool.description('Whether to hide the pipe in the footer').defaultValue(false),\n selectedItem: PropTypes.string.description('The currently selected item'),\n selectedParent: PropTypes.string.description('The parent of the currently selected item'),\n disableDefaultSelection: PropTypes.bool\n .description('Whether you do not want to automatically select the first body item')\n .defaultValue(false),\n withoutBodyShadow: PropTypes.bool.description('Whether to hide the body shadow'),\n actionRef: PropTypes.object.description('Ref for controlling focus'),\n HeaderComponent: PropTypes.object.description('Custom header component'),\n BodyHeaderComponent: PropTypes.object.description('Custom body header component'),\n};\n\nexport const DSLeftNavigationPropTypesSchema =\n DSLeftNavigationPropTypes as unknown as ValidationMap<DSLeftNavigationT.Props>;\n\nexport const DSLeftNavigationItemPropTypes: DSPropTypesSchema<DSLeftNavigationT.GenericItemItemProps> = {\n type: PropTypes.oneOf(outOfTheBoxTypes).description('out of the box types'),\n dsId: PropTypes.string.description('unique identifier for the left nav item'),\n Component: PropTypes.func.description(\n \"A custom component, receives the item as prop. This is used only when type is not defined or doesn't matches any out-of-the-box\",\n ),\n CollapsedComponent: PropTypes.func.description('A component which is renderer when the left-nav is collapsed'),\n itemOpts: PropTypes.object.description('Item options'),\n};\n\nexport const DSLeftNavigationItemPropTypesSchema =\n DSLeftNavigationItemPropTypes as unknown as ValidationMap<DSLeftNavigationT.GenericItemItemProps>;\n\nconst LeftNavItemProps = () => null;\nLeftNavItemProps.displayName = 'LeftNavItemProps';\nexport const LeftNavItemPropsSchema = describe(LeftNavItemProps);\nLeftNavItemPropsSchema.propTypes = DSLeftNavigationItemPropTypes;\n\nconst LeftNavItemOptions = () => null;\nLeftNavItemOptions.displayName = 'LeftNavItemOptions';\nexport const LeftNavItemOptionsSchema = describe(LeftNavItemOptions);\nLeftNavItemOptionsSchema.propTypes = DSLeftNavigationItemPropTypes;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport type { DSPropTypesSchema, GlobalAttributesT, ValidationMap, XstyledProps } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n describe,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type Theme } from '@elliemae/ds-system';\nimport type { TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS, outOfTheBoxTypes } from './constants/index.js';\nimport type { ContextProps } from './LeftNavigationContext.js';\n\ntype ColorsKey = keyof Theme['colors'];\n\nexport declare namespace DSLeftNavigationT {\n export type SlotFunctionArguments = {\n dsLeftnavigationAlertsIcon: () => object;\n dsLeftnavigationAreasContainer: () => object;\n dsLeftnavigationArrowContainer: () => object;\n dsLeftnavigationBodyAreasContainer: () => object;\n dsLeftnavigationBodyHeaderArea: () => object;\n dsLeftnavigationBodyItemsArea: () => object;\n dsLeftnavigationBottomContainer: () => object;\n dsLeftnavigationCollapsedContainer: () => object;\n dsLeftnavigationExceptionsIcon: () => object;\n dsLeftnavigationFooterItem: () => object;\n dsLeftnavigationFooterLabel: () => object;\n dsLeftnavigationFooterMenu: () => object;\n dsLeftnavigationFooterMenuCollapse: () => object;\n dsLeftnavigationFooterSeparator: () => object;\n dsLeftnavigationHeaderArea: () => object;\n dsLeftnavigationIcon: () => object;\n dsLeftnavigationItem: () => object;\n dsLeftnavigationItemBorderBottom: () => object;\n dsLeftnavigationItemChevronBack: () => object;\n dsLeftnavigationItemDate: () => object;\n dsLeftnavigationItemLabel: () => object;\n dsLeftnavigationItemSeparator: () => object;\n dsLeftnavigationLeftContainer: () => object;\n dsLeftnavigationLoaderWrapper: () => object;\n dsLeftnavigationMessagesIcon: () => object;\n dsLeftnavigationNotificationsContainer: () => object;\n dsLeftnavigationNotificationsIcon: () => object;\n dsLeftnavigationOpenWindowIcon: () => object;\n dsLeftnavigationRightContainer: () => object;\n dsLeftnavigationRoot: () => object;\n dsLeftnavigationSectionContainer: () => object;\n dsLeftnavigationSectionLabel: () => object;\n dsLeftnavigationSectionRightLabel: () => object;\n dsLeftnavigationTruncatedLabel: () => object;\n dsLeftnavigationTruncatedLabelTooltip: () => object;\n dsLeftnavigationVerticalSeparator: () => object;\n };\n export type LabelOveflowT = 'wrap' | 'wrapAll' | 'truncate';\n\n export interface RequiredProps {}\n\n export interface DefaultProps {\n expanded: boolean;\n expandedWidth: string;\n openedItem: string | null;\n items: GenericItemItemProps[];\n footerLabel: string;\n labelOverflow: LabelOveflowT;\n onSelectedChange: (item: string | null) => void;\n onFocusChange: (item: string | null) => void;\n onFooterExpand: () => void;\n onFooterClose: () => void;\n onItemClick: (item: GenericItemItemProps, e: React.MouseEvent<HTMLElement>) => void;\n loading: boolean;\n isSkeleton: boolean;\n hideFooterPipe: boolean;\n }\n export interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<\n typeof DSLeftNavigationName,\n typeof LEFT_NAVIGATION_SLOTS\n > {\n FooterLabelComponent?: React.ComponentType<unknown>;\n selectedItem?: string | null;\n selectedParent?: string | null;\n disableDefaultSelection?: boolean;\n withoutBodyShadow?: boolean;\n actionRef?: React.RefObject<{ setFocusedItem: React.Dispatch<React.SetStateAction<string | null>> }>;\n HeaderComponent?: GenericItemItemProps;\n BodyHeaderComponent?: GenericItemItemProps;\n }\n\n export interface Props\n extends\n Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n export interface InternalProps\n extends\n DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n\n export type OutOfTheBoxT =\n | 'ds-left-nav-item-header'\n | 'ds-left-nav-item-link'\n | 'ds-left-nav-item-submenu'\n | 'ds-left-nav-item-controlled-drilldown'\n | 'ds-left-nav-item-uncontrolled-drilldown'\n | 'ds-left-nav-item-section'\n | 'ds-left-nav-item-separator'\n | 'ds-left-nav-item-text-label'\n | 'ds-left-nav-item-with-date';\n\n export interface ItemOptsT extends Record<string, unknown> {\n label?: string | JSX.Element;\n labelBold?: boolean;\n labelColor?: [ColorsKey, keyof Theme['colors'][ColorsKey]];\n labelOverflow?: LabelOveflowT;\n labelRightSection?: string | JSX.Element;\n selectable?: boolean;\n focuseable?: boolean;\n startOpened?: boolean;\n isOpened?: boolean;\n openable?: boolean;\n closable?: boolean;\n indent?: number;\n LeftComponent?: React.ComponentType<ComponentProps>;\n RightComponent?: React.ComponentType<ComponentProps>;\n BottomComponent?: React.ComponentType<ComponentProps>;\n ariaLabel?: string;\n ariaRole?: string;\n ariaLive?: string;\n ariaExpanded?: boolean;\n ariaDescribedBy?: string;\n items?: GenericItemItemProps[];\n labelDataTestId?: string;\n skeletonVariant?: 'item' | 'subitem';\n }\n\n export interface ComponentProps {\n item: GenericItemItemProps;\n ctx: ContextProps;\n }\n export interface GenericItemItemProps {\n dsId?: string;\n type?: string;\n CollapsedComponent?: React.ComponentType<ComponentProps> | null;\n Component?: React.ComponentType<ComponentProps>;\n itemOpts: ItemOptsT;\n }\n export interface OutOfTheBoxMapItemT {\n item: GenericItemItemProps;\n }\n export interface ItemRendererT {\n item: GenericItemItemProps;\n subitems?: JSX.Element[];\n minHeight?: string;\n paddingTop?: string;\n onClick?: () => void;\n shadowStyle?: (opened: boolean, type?: string) => (theme: Theme) => string;\n hasBorderBottom?: boolean;\n borderBottomMr?: string;\n children: React.ReactNode;\n }\n}\n\nexport const defaultProps: DSLeftNavigationT.DefaultProps = {\n expandedWidth: '240px',\n loading: false,\n expanded: false,\n openedItem: null,\n footerLabel: '',\n onSelectedChange: () => null,\n onFocusChange: () => null,\n onFooterExpand: () => null,\n onFooterClose: () => null,\n items: [],\n labelOverflow: 'wrap' as DSLeftNavigationT.LabelOveflowT,\n onItemClick: () => null,\n isSkeleton: false,\n hideFooterPipe: false,\n};\n\nexport const DSLeftNavigationPropTypes: DSPropTypesSchema<DSLeftNavigationT.Props> = {\n ...getPropsPerSlotPropTypes(DSLeftNavigationName, LEFT_NAVIGATION_SLOTS),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n\n expandedWidth: PropTypes.string.description('Width of the navigation when expanded').defaultValue('240px'),\n expanded: PropTypes.bool.description('Whether to show the left navigation expanded or collapsed').defaultValue(false),\n loading: PropTypes.bool.description('Whether the left-nav is loading').defaultValue(false),\n openedItem: PropTypes.string\n .description('The id of the left navigation item you want to be opened')\n .defaultValue(null),\n footerLabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n .description('The label to show in the footer item')\n .defaultValue(''),\n FooterLabelComponent: PropTypes.func.description('The component to show in the footer item'),\n onFooterExpand: PropTypes.func\n .description('The function to call when the left-nav is opened via the footer')\n .defaultValue(() => null),\n onFooterClose: PropTypes.func\n .description('The function to call when the left-nav is closed via the footer')\n .defaultValue(() => null),\n onSelectedChange: PropTypes.func\n .description('A callback which triggers when the selected item changes')\n .defaultValue(() => null),\n onFocusChange: PropTypes.func\n .description('A callback which triggers when the focused item changes')\n .defaultValue(() => null),\n items: PropTypes.arrayOf(PropTypes.object)\n .description('The array of items you want to render inside the left nav')\n .defaultValue([]),\n labelOverflow: PropTypes.oneOf(['wrap', 'wrapAll', 'truncate'])\n .description('How to handle label overflow')\n .defaultValue('wrap'),\n onItemClick: PropTypes.func.description('Callback when an item is clicked').defaultValue(() => null),\n isSkeleton: PropTypes.bool.description('Whether the component is in skeleton mode').defaultValue(false),\n hideFooterPipe: PropTypes.bool.description('Whether to hide the pipe in the footer').defaultValue(false),\n selectedItem: PropTypes.string.description('The currently selected item'),\n selectedParent: PropTypes.string.description('The parent of the currently selected item'),\n disableDefaultSelection: PropTypes.bool\n .description('Whether you do not want to automatically select the first body item')\n .defaultValue(false),\n withoutBodyShadow: PropTypes.bool.description('Whether to hide the body shadow'),\n actionRef: PropTypes.object.description('Ref for controlling focus'),\n HeaderComponent: PropTypes.object.description('Custom header component'),\n BodyHeaderComponent: PropTypes.object.description('Custom body header component'),\n};\n\nexport const DSLeftNavigationPropTypesSchema =\n DSLeftNavigationPropTypes as unknown as ValidationMap<DSLeftNavigationT.Props>;\n\nexport const DSLeftNavigationItemPropTypes: DSPropTypesSchema<DSLeftNavigationT.GenericItemItemProps> = {\n type: PropTypes.oneOf(outOfTheBoxTypes).description('out of the box types'),\n dsId: PropTypes.string.description('unique identifier for the left nav item'),\n Component: PropTypes.func.description(\n \"A custom component, receives the item as prop. This is used only when type is not defined or doesn't matches any out-of-the-box\",\n ),\n CollapsedComponent: PropTypes.func.description('A component which is renderer when the left-nav is collapsed'),\n itemOpts: PropTypes.object.description('Item options'),\n};\n\nexport const DSLeftNavigationItemPropTypesSchema =\n DSLeftNavigationItemPropTypes as unknown as ValidationMap<DSLeftNavigationT.GenericItemItemProps>;\n\nconst DSLeftNavigationItemOptionsPropTypes: DSPropTypesSchema<DSLeftNavigationT.ItemOptsT> = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).description(\n 'Text or element rendered as the item label',\n ),\n labelBold: PropTypes.bool.description(\n 'Text label, with date and drilldown items only: whether the label is rendered with semibold font weight',\n ),\n labelColor: PropTypes.array.description(\n 'Text label, with date and drilldown items only: theme color tuple for the label, e.g. [\"neutral\", \"800\"]',\n ),\n labelOverflow: PropTypes.oneOf(['wrap', 'wrapAll', 'truncate']).description(\n 'How the label handles overflow, falls back to the left navigation labelOverflow prop when not set. Not applied by section items',\n ),\n labelRightSection: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).description(\n 'Section, with date and drilldown items only: content rendered on the right side of the label, e.g. a date or an unread count',\n ),\n selectable: PropTypes.bool.description(\n 'Whether clicking the item, or pressing Enter or Space on it, selects it. Header, submenu, link, section, separator and skeleton items set it themselves',\n ),\n focuseable: PropTypes.bool.description(\n 'Whether the item can receive keyboard focus. Section, separator and skeleton items are never focusable',\n ),\n startOpened: PropTypes.bool.description('Uncontrolled drilldown items only: whether the drilldown starts opened'),\n isOpened: PropTypes.bool.description('Controlled drilldown items only: whether the drilldown is opened'),\n openable: PropTypes.bool.description(\n 'Whether the ArrowRight key triggers the item, as a click does. Header, submenu and drilldown items set it from their opened state',\n ),\n closable: PropTypes.bool.description(\n 'Whether the ArrowLeft key triggers the item, as a click does, and keeps focus on it. Header, submenu and drilldown items set it from their opened state',\n ),\n indent: PropTypes.number.description('Left padding of the item, in pixels'),\n LeftComponent: PropTypes.func.description(\n 'Section items only: component rendered on the left side of the item, receives { item, ctx }',\n ),\n RightComponent: PropTypes.func.description(\n 'Header, submenu, link, section, with date and drilldown items only: component rendered on the right side of the item, receives { item, ctx }',\n ),\n BottomComponent: PropTypes.func.description(\n 'Header and submenu items only: component rendered below the label, receives { item, ctx }',\n ),\n ariaLabel: PropTypes.string.description('aria-label applied to the item'),\n ariaRole: PropTypes.string.description(\n 'role applied to the item. Separator, skeleton and drilldown items set their own role',\n ),\n ariaLive: PropTypes.string.description('Not applied by the out-of-the-box item types'),\n ariaExpanded: PropTypes.bool.description(\n 'aria-expanded applied to the item. Header, submenu and drilldown items set it from their opened state',\n ),\n ariaDescribedBy: PropTypes.string.description('aria-describedby applied to the item'),\n items: PropTypes.arrayOf(PropTypes.object).description('Drilldown items only: the subitems to render'),\n labelDataTestId: PropTypes.string.description(\n 'Overrides the data-testid of the item label. Not applied by controlled drilldown items',\n ),\n skeletonVariant: PropTypes.oneOf(['item', 'subitem']).description(\n 'Skeleton shape used when the item renders as a skeleton',\n ),\n};\n\nconst LeftNavItemProps = () => null;\nLeftNavItemProps.displayName = 'LeftNavItemProps';\nexport const LeftNavItemPropsSchema = describe(LeftNavItemProps);\nLeftNavItemPropsSchema.propTypes = DSLeftNavigationItemPropTypes;\n\nconst LeftNavItemOptions = () => null;\nLeftNavItemOptions.displayName = 'LeftNavItemOptions';\nexport const LeftNavItemOptionsSchema = describe(LeftNavItemOptions);\nLeftNavItemOptionsSchema.propTypes = DSLeftNavigationItemOptionsPropTypes;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -15,6 +15,7 @@ const SlotPropsAsObject = {
15
15
  dsLeftnavigationFooterMenuCollapse: { "aria-label": "just a typescript test" },
16
16
  dsLeftnavigationFooterSeparator: { "aria-label": "just a typescript test" },
17
17
  dsLeftnavigationHeaderArea: { "aria-label": "just a typescript test" },
18
+ dsLeftnavigationIcon: { "aria-label": "just a typescript test" },
18
19
  dsLeftnavigationItem: { "aria-label": "just a typescript test" },
19
20
  dsLeftnavigationItemBorderBottom: { "aria-label": "just a typescript test" },
20
21
  dsLeftnavigationItemChevronBack: { "aria-label": "just a typescript test" },
@@ -26,11 +27,14 @@ const SlotPropsAsObject = {
26
27
  dsLeftnavigationMessagesIcon: { "aria-label": "just a typescript test" },
27
28
  dsLeftnavigationNotificationsContainer: { "aria-label": "just a typescript test" },
28
29
  dsLeftnavigationNotificationsIcon: { "aria-label": "just a typescript test" },
30
+ dsLeftnavigationOpenWindowIcon: { "aria-label": "just a typescript test" },
29
31
  dsLeftnavigationRightContainer: { "aria-label": "just a typescript test" },
30
32
  dsLeftnavigationRoot: { "aria-label": "just a typescript test" },
31
33
  dsLeftnavigationSectionContainer: { "aria-label": "just a typescript test" },
32
34
  dsLeftnavigationSectionLabel: { "aria-label": "just a typescript test" },
33
35
  dsLeftnavigationSectionRightLabel: { "aria-label": "just a typescript test" },
36
+ dsLeftnavigationTruncatedLabel: { "aria-label": "just a typescript test" },
37
+ dsLeftnavigationTruncatedLabelTooltip: { "aria-label": "just a typescript test" },
34
38
  dsLeftnavigationVerticalSeparator: { "aria-label": "just a typescript test" }
35
39
  };
36
40
  const SlotPropsAsFunctions = {
@@ -49,6 +53,7 @@ const SlotPropsAsFunctions = {
49
53
  dsLeftnavigationFooterMenuCollapse: () => ({ "aria-label": "just a typescript test" }),
50
54
  dsLeftnavigationFooterSeparator: () => ({ "aria-label": "just a typescript test" }),
51
55
  dsLeftnavigationHeaderArea: () => ({ "aria-label": "just a typescript test" }),
56
+ dsLeftnavigationIcon: () => ({ "aria-label": "just a typescript test" }),
52
57
  dsLeftnavigationItem: () => ({ "aria-label": "just a typescript test" }),
53
58
  dsLeftnavigationItemBorderBottom: () => ({ "aria-label": "just a typescript test" }),
54
59
  dsLeftnavigationItemChevronBack: () => ({ "aria-label": "just a typescript test" }),
@@ -60,11 +65,14 @@ const SlotPropsAsFunctions = {
60
65
  dsLeftnavigationMessagesIcon: () => ({ "aria-label": "just a typescript test" }),
61
66
  dsLeftnavigationNotificationsContainer: () => ({ "aria-label": "just a typescript test" }),
62
67
  dsLeftnavigationNotificationsIcon: () => ({ "aria-label": "just a typescript test" }),
68
+ dsLeftnavigationOpenWindowIcon: () => ({ "aria-label": "just a typescript test" }),
63
69
  dsLeftnavigationRightContainer: () => ({ "aria-label": "just a typescript test" }),
64
70
  dsLeftnavigationRoot: () => ({ "aria-label": "just a typescript test" }),
65
71
  dsLeftnavigationSectionContainer: () => ({ "aria-label": "just a typescript test" }),
66
72
  dsLeftnavigationSectionLabel: () => ({ "aria-label": "just a typescript test" }),
67
73
  dsLeftnavigationSectionRightLabel: () => ({ "aria-label": "just a typescript test" }),
74
+ dsLeftnavigationTruncatedLabel: () => ({ "aria-label": "just a typescript test" }),
75
+ dsLeftnavigationTruncatedLabelTooltip: () => ({ "aria-label": "just a typescript test" }),
68
76
  dsLeftnavigationVerticalSeparator: () => ({ "aria-label": "just a typescript test" })
69
77
  };
70
78
  const EnsureAllSlotsExistInSlotFunctionArguments = SlotPropsAsFunctions;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/typescript-testing/slot-props.ts"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport type { TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport type { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from '../constants/index.js';\nimport type { DSLeftNavigationT } from '../index.js';\n\nconst SlotPropsAsObject: Partial<DSLeftNavigationT.Props> = {\n dsLeftnavigationAlertsIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationAreasContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationArrowContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBodyAreasContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBodyHeaderArea: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBodyItemsArea: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBottomContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationCollapsedContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationExceptionsIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterItem: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterMenu: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterMenuCollapse: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterSeparator: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationHeaderArea: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItem: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemBorderBottom: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemChevronBack: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemDate: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemSeparator: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationLeftContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationLoaderWrapper: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationMessagesIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationNotificationsContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationNotificationsIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationRightContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationRoot: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationSectionContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationSectionLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationSectionRightLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationVerticalSeparator: { 'aria-label': 'just a typescript test' },\n};\nconst SlotPropsAsFunctions: DSLeftNavigationT.SlotFunctionArguments = {\n dsLeftnavigationAlertsIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationAreasContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationArrowContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBodyAreasContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBodyHeaderArea: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBodyItemsArea: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBottomContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationCollapsedContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationExceptionsIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterItem: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterMenu: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterMenuCollapse: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterSeparator: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationHeaderArea: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItem: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemBorderBottom: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemChevronBack: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemDate: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemSeparator: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationLeftContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationLoaderWrapper: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationMessagesIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationNotificationsContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationNotificationsIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationRightContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationRoot: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationSectionContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationSectionLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationSectionRightLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationVerticalSeparator: () => ({ 'aria-label': 'just a typescript test' }),\n};\nconst EnsureAllSlotsExistInSlotFunctionArguments: Required<\n TypescriptHelpersT.PropsForSlots<typeof DSLeftNavigationName, typeof LEFT_NAVIGATION_SLOTS>\n> = SlotPropsAsFunctions;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport type { TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport type { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from '../constants/index.js';\nimport type { DSLeftNavigationT } from '../index.js';\n\nconst SlotPropsAsObject: Partial<DSLeftNavigationT.Props> = {\n dsLeftnavigationAlertsIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationAreasContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationArrowContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBodyAreasContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBodyHeaderArea: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBodyItemsArea: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationBottomContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationCollapsedContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationExceptionsIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterItem: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterMenu: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterMenuCollapse: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationFooterSeparator: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationHeaderArea: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItem: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemBorderBottom: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemChevronBack: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemDate: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationItemSeparator: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationLeftContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationLoaderWrapper: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationMessagesIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationNotificationsContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationNotificationsIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationOpenWindowIcon: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationRightContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationRoot: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationSectionContainer: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationSectionLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationSectionRightLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationTruncatedLabel: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationTruncatedLabelTooltip: { 'aria-label': 'just a typescript test' },\n dsLeftnavigationVerticalSeparator: { 'aria-label': 'just a typescript test' },\n};\nconst SlotPropsAsFunctions: DSLeftNavigationT.SlotFunctionArguments = {\n dsLeftnavigationAlertsIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationAreasContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationArrowContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBodyAreasContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBodyHeaderArea: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBodyItemsArea: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationBottomContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationCollapsedContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationExceptionsIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterItem: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterMenu: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterMenuCollapse: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationFooterSeparator: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationHeaderArea: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItem: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemBorderBottom: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemChevronBack: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemDate: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationItemSeparator: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationLeftContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationLoaderWrapper: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationMessagesIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationNotificationsContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationNotificationsIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationOpenWindowIcon: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationRightContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationRoot: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationSectionContainer: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationSectionLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationSectionRightLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationTruncatedLabel: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationTruncatedLabelTooltip: () => ({ 'aria-label': 'just a typescript test' }),\n dsLeftnavigationVerticalSeparator: () => ({ 'aria-label': 'just a typescript test' }),\n};\nconst EnsureAllSlotsExistInSlotFunctionArguments: Required<\n TypescriptHelpersT.PropsForSlots<typeof DSLeftNavigationName, typeof LEFT_NAVIGATION_SLOTS>\n> = SlotPropsAsFunctions;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -26,14 +26,18 @@ export declare const LEFT_NAVIGATION_SLOTS: {
26
26
  readonly LEFT_CONTAINER: "left-container";
27
27
  readonly LOADER_WRAPPER: "loader-wrapper";
28
28
  readonly HEADER_AREA: "header-area";
29
+ readonly ICON: "icon";
29
30
  readonly MESSAGES_ICON_WRAPPER: "messages-icon";
30
31
  readonly NOTIFICATIONS_CONTAINER: "notifications-container";
31
32
  readonly NOTIFICATIONS_ICON: "notifications-icon";
33
+ readonly OPEN_WINDOW_ICON: "open-window-icon";
32
34
  readonly RIGHT_CONTAINER: "right-container";
33
35
  readonly ROOT: "root";
34
36
  readonly SECTION_CONTAINER: "section-container";
35
37
  readonly SECTION_LABEL: "section-label";
36
38
  readonly SECTION_RIGHT_LABEL: "section-right-label";
39
+ readonly TRUNCATED_LABEL: "truncated-label";
40
+ readonly TRUNCATED_LABEL_TOOLTIP: "truncated-label-tooltip";
37
41
  readonly VERTICAL_SEPARATOR: "vertical-separator";
38
42
  };
39
43
  export declare const LEFT_NAVIGATION_DATA_TESTID: {
@@ -77,6 +81,10 @@ export declare const LEFT_NAVIGATION_DATA_TESTID: {
77
81
  FOOTER_LABEL: "ds-leftnavigation-footer-label";
78
82
  FOOTER_MENU_COLLAPSE: "ds-leftnavigation-footer-menu-collapse";
79
83
  LOADER_WRAPPER: "ds-leftnavigation-loader-wrapper";
84
+ ICON: "ds-leftnavigation-icon";
85
+ OPEN_WINDOW_ICON: "ds-leftnavigation-open-window-icon";
86
+ TRUNCATED_LABEL: "ds-leftnavigation-truncated-label";
87
+ TRUNCATED_LABEL_TOOLTIP: "ds-leftnavigation-truncated-label-tooltip";
80
88
  };
81
89
  export declare const DSLeftNavigationSlots: {
82
90
  readonly ALERTS_ICON_WRAPPER: "alerts-icon";
@@ -102,14 +110,18 @@ export declare const DSLeftNavigationSlots: {
102
110
  readonly LEFT_CONTAINER: "left-container";
103
111
  readonly LOADER_WRAPPER: "loader-wrapper";
104
112
  readonly HEADER_AREA: "header-area";
113
+ readonly ICON: "icon";
105
114
  readonly MESSAGES_ICON_WRAPPER: "messages-icon";
106
115
  readonly NOTIFICATIONS_CONTAINER: "notifications-container";
107
116
  readonly NOTIFICATIONS_ICON: "notifications-icon";
117
+ readonly OPEN_WINDOW_ICON: "open-window-icon";
108
118
  readonly RIGHT_CONTAINER: "right-container";
109
119
  readonly ROOT: "root";
110
120
  readonly SECTION_CONTAINER: "section-container";
111
121
  readonly SECTION_LABEL: "section-label";
112
122
  readonly SECTION_RIGHT_LABEL: "section-right-label";
123
+ readonly TRUNCATED_LABEL: "truncated-label";
124
+ readonly TRUNCATED_LABEL_TOOLTIP: "truncated-label-tooltip";
113
125
  readonly VERTICAL_SEPARATOR: "vertical-separator";
114
126
  };
115
127
  export declare const LABEL_OVERFLOW: {