@elliemae/ds-left-navigation 3.80.0-next.30 → 3.80.0-next.35

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 (56) 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/outOfTheBox/ItemHeader/index.js +1 -1
  10. package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +2 -2
  11. package/dist/cjs/outOfTheBox/ItemLink/index.js +1 -1
  12. package/dist/cjs/outOfTheBox/ItemLink/index.js.map +2 -2
  13. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +1 -1
  14. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +2 -2
  15. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js +1 -1
  16. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +2 -2
  17. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +1 -1
  18. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +2 -2
  19. package/dist/cjs/outOfTheBox/ItemWithDate/index.js +1 -1
  20. package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +2 -2
  21. package/dist/cjs/parts/LeftNavFooterItem/index.js +2 -3
  22. package/dist/cjs/parts/LeftNavFooterItem/index.js.map +2 -2
  23. package/dist/cjs/react-desc-prop-types.js +58 -1
  24. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  25. package/dist/cjs/typescript-testing/slot-props.js +8 -0
  26. package/dist/cjs/typescript-testing/slot-props.js.map +2 -2
  27. package/dist/esm/TruncatedTooltipText.js +26 -5
  28. package/dist/esm/TruncatedTooltipText.js.map +2 -2
  29. package/dist/esm/constants/index.js +4 -0
  30. package/dist/esm/constants/index.js.map +2 -2
  31. package/dist/esm/exported-related/Icon/index.js +24 -3
  32. package/dist/esm/exported-related/Icon/index.js.map +3 -3
  33. package/dist/esm/exported-related/OpenWindowItem/index.js +23 -2
  34. package/dist/esm/exported-related/OpenWindowItem/index.js.map +3 -3
  35. package/dist/esm/outOfTheBox/ItemHeader/index.js +1 -1
  36. package/dist/esm/outOfTheBox/ItemHeader/index.js.map +2 -2
  37. package/dist/esm/outOfTheBox/ItemLink/index.js +1 -1
  38. package/dist/esm/outOfTheBox/ItemLink/index.js.map +2 -2
  39. package/dist/esm/outOfTheBox/ItemSubmenu/index.js +1 -1
  40. package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +2 -2
  41. package/dist/esm/outOfTheBox/ItemTextLabel/index.js +1 -1
  42. package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +2 -2
  43. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +1 -1
  44. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +2 -2
  45. package/dist/esm/outOfTheBox/ItemWithDate/index.js +1 -1
  46. package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +2 -2
  47. package/dist/esm/parts/LeftNavFooterItem/index.js +2 -3
  48. package/dist/esm/parts/LeftNavFooterItem/index.js.map +2 -2
  49. package/dist/esm/react-desc-prop-types.js +58 -1
  50. package/dist/esm/react-desc-prop-types.js.map +2 -2
  51. package/dist/esm/typescript-testing/slot-props.js +8 -0
  52. package/dist/esm/typescript-testing/slot-props.js.map +2 -2
  53. package/dist/types/constants/index.d.ts +12 -0
  54. package/dist/types/exported-related/Icon/index.d.ts +4 -0
  55. package/dist/types/react-desc-prop-types.d.ts +4 -0
  56. package/package.json +14 -12
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/outOfTheBox/ItemWithDate/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwCW;AAxClC,kCAAqC;AACrC,mBAAkB;AAClB,uBAA4C;AAC5C,8BAA6B;AAE7B,oBAA8D;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,gBAAgB,aAAAA,QAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyB,aAAAA,QAAM,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,4CAAC,SAAI;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAa,mBAAmB,6CAA4B;AAAA,YAC5D;AAAA,YACA;AAAA,YAEC,4BAAkB,cAAc,QAC/B,4CAAC,oDAAqB,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,6CAA4B;AAAA,YACzC;AAAA,YACA;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,IAAG;AAAA,kBACH,eAAa,6CAA4B;AAAA,kBACzC;AAAA,kBACA;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA,cACC,kBAAkB,4CAAC,kBAAe,KAAU,MAAY;AAAA;AAAA;AAAA,QAC3D;AAAA;AAAA;AAAA,EACF;AAEJ;",
4
+ "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwCW;AAxClC,mBAAkB;AAClB,kCAAqC;AACrC,uBAA4C;AAC5C,8BAA6B;AAE7B,oBAA8D;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,gBAAgB,aAAAA,QAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyB,aAAAA,QAAM,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,4CAAC,SAAI;AAAA,QACjC;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA,eAAa,mBAAmB,6CAA4B;AAAA,YAC5D;AAAA,YACA;AAAA,YAEC,4BAAkB,cAAc,QAC/B,4CAAC,oDAAqB,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,6CAA4B;AAAA,YACzC;AAAA,YACA;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,IAAG;AAAA,kBACH,eAAa,6CAA4B;AAAA,kBACzC;AAAA,kBACA;AAAA,kBAEC;AAAA;AAAA,cACH;AAAA,cACC,kBAAkB,4CAAC,kBAAe,KAAU,MAAY;AAAA;AAAA;AAAA,QAC3D;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -37,8 +37,8 @@ var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_ds_grid = require("@elliemae/ds-grid");
38
38
  var import_ds_icons = require("@elliemae/ds-icons");
39
39
  var import_ds_skeleton = require("@elliemae/ds-skeleton");
40
- var import_TruncatedTooltipText = require("../../TruncatedTooltipText.js");
41
40
  var import_react = __toESM(require("react"));
41
+ var import_TruncatedTooltipText = require("../../TruncatedTooltipText.js");
42
42
  var import_LeftNavigationContext = __toESM(require("../../LeftNavigationContext.js"));
43
43
  var import_constants = require("../../constants/index.js");
44
44
  var import_hooks = require("../../hooks/index.js");
@@ -78,8 +78,7 @@ const LeftNavFooterItem = (props) => {
78
78
  );
79
79
  const label = (0, import_react.useMemo)(() => {
80
80
  if (FooterLabelComponent) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FooterLabelComponent, {});
81
- if (labelOverflow === "truncate")
82
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TruncatedTooltipText.TruncatedTooltipText, { value: footerLabel, placement: "bottom-start" });
81
+ if (labelOverflow === "truncate") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TruncatedTooltipText.TruncatedTooltipText, { value: footerLabel, placement: "bottom-start" });
83
82
  return footerLabel;
84
83
  }, [footerLabel, FooterLabelComponent, labelOverflow]);
85
84
  const postAnimationButtonFocusHandler = (0, import_react.useCallback)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/LeftNavFooterItem/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* 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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* 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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["LeftNavigationContext", "React"]
7
7
  }
@@ -94,6 +94,63 @@ const DSLeftNavigationItemPropTypes = {
94
94
  itemOpts: import_ds_props_helpers.PropTypes.object.description("Item options")
95
95
  };
96
96
  const DSLeftNavigationItemPropTypesSchema = DSLeftNavigationItemPropTypes;
97
+ const DSLeftNavigationItemOptionsPropTypes = {
98
+ label: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.node]).description(
99
+ "Text or element rendered as the item label"
100
+ ),
101
+ labelBold: import_ds_props_helpers.PropTypes.bool.description(
102
+ "Text label, with date and drilldown items only: whether the label is rendered with semibold font weight"
103
+ ),
104
+ labelColor: import_ds_props_helpers.PropTypes.array.description(
105
+ 'Text label, with date and drilldown items only: theme color tuple for the label, e.g. ["neutral", "800"]'
106
+ ),
107
+ labelOverflow: import_ds_props_helpers.PropTypes.oneOf(["wrap", "wrapAll", "truncate"]).description(
108
+ "How the label handles overflow, falls back to the left navigation labelOverflow prop when not set. Not applied by section items"
109
+ ),
110
+ labelRightSection: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.node]).description(
111
+ "Section, with date and drilldown items only: content rendered on the right side of the label, e.g. a date or an unread count"
112
+ ),
113
+ selectable: import_ds_props_helpers.PropTypes.bool.description(
114
+ "Whether clicking the item, or pressing Enter or Space on it, selects it. Header, submenu, link, section, separator and skeleton items set it themselves"
115
+ ),
116
+ focuseable: import_ds_props_helpers.PropTypes.bool.description(
117
+ "Whether the item can receive keyboard focus. Section, separator and skeleton items are never focusable"
118
+ ),
119
+ startOpened: import_ds_props_helpers.PropTypes.bool.description("Uncontrolled drilldown items only: whether the drilldown starts opened"),
120
+ isOpened: import_ds_props_helpers.PropTypes.bool.description("Controlled drilldown items only: whether the drilldown is opened"),
121
+ openable: import_ds_props_helpers.PropTypes.bool.description(
122
+ "Whether the ArrowRight key triggers the item, as a click does. Header, submenu and drilldown items set it from their opened state"
123
+ ),
124
+ closable: import_ds_props_helpers.PropTypes.bool.description(
125
+ "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"
126
+ ),
127
+ indent: import_ds_props_helpers.PropTypes.number.description("Left padding of the item, in pixels"),
128
+ LeftComponent: import_ds_props_helpers.PropTypes.func.description(
129
+ "Section items only: component rendered on the left side of the item, receives { item, ctx }"
130
+ ),
131
+ RightComponent: import_ds_props_helpers.PropTypes.func.description(
132
+ "Header, submenu, link, section, with date and drilldown items only: component rendered on the right side of the item, receives { item, ctx }"
133
+ ),
134
+ BottomComponent: import_ds_props_helpers.PropTypes.func.description(
135
+ "Header and submenu items only: component rendered below the label, receives { item, ctx }"
136
+ ),
137
+ ariaLabel: import_ds_props_helpers.PropTypes.string.description("aria-label applied to the item"),
138
+ ariaRole: import_ds_props_helpers.PropTypes.string.description(
139
+ "role applied to the item. Separator, skeleton and drilldown items set their own role"
140
+ ),
141
+ ariaLive: import_ds_props_helpers.PropTypes.string.description("Not applied by the out-of-the-box item types"),
142
+ ariaExpanded: import_ds_props_helpers.PropTypes.bool.description(
143
+ "aria-expanded applied to the item. Header, submenu and drilldown items set it from their opened state"
144
+ ),
145
+ ariaDescribedBy: import_ds_props_helpers.PropTypes.string.description("aria-describedby applied to the item"),
146
+ items: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.object).description("Drilldown items only: the subitems to render"),
147
+ labelDataTestId: import_ds_props_helpers.PropTypes.string.description(
148
+ "Overrides the data-testid of the item label. Not applied by controlled drilldown items"
149
+ ),
150
+ skeletonVariant: import_ds_props_helpers.PropTypes.oneOf(["item", "subitem"]).description(
151
+ "Skeleton shape used when the item renders as a skeleton"
152
+ )
153
+ };
97
154
  const LeftNavItemProps = () => null;
98
155
  LeftNavItemProps.displayName = "LeftNavItemProps";
99
156
  const LeftNavItemPropsSchema = (0, import_ds_props_helpers.describe)(LeftNavItemProps);
@@ -101,5 +158,5 @@ LeftNavItemPropsSchema.propTypes = DSLeftNavigationItemPropTypes;
101
158
  const LeftNavItemOptions = () => null;
102
159
  LeftNavItemOptions.displayName = "LeftNavItemOptions";
103
160
  const LeftNavItemOptionsSchema = (0, import_ds_props_helpers.describe)(LeftNavItemOptions);
104
- LeftNavItemOptionsSchema.propTypes = DSLeftNavigationItemPropTypes;
161
+ LeftNavItemOptionsSchema.propTypes = DSLeftNavigationItemOptionsPropTypes;
105
162
  //# sourceMappingURL=react-desc-prop-types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/react-desc-prop-types.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* 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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* 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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -38,6 +38,7 @@ const SlotPropsAsObject = {
38
38
  dsLeftnavigationFooterMenuCollapse: { "aria-label": "just a typescript test" },
39
39
  dsLeftnavigationFooterSeparator: { "aria-label": "just a typescript test" },
40
40
  dsLeftnavigationHeaderArea: { "aria-label": "just a typescript test" },
41
+ dsLeftnavigationIcon: { "aria-label": "just a typescript test" },
41
42
  dsLeftnavigationItem: { "aria-label": "just a typescript test" },
42
43
  dsLeftnavigationItemBorderBottom: { "aria-label": "just a typescript test" },
43
44
  dsLeftnavigationItemChevronBack: { "aria-label": "just a typescript test" },
@@ -49,11 +50,14 @@ const SlotPropsAsObject = {
49
50
  dsLeftnavigationMessagesIcon: { "aria-label": "just a typescript test" },
50
51
  dsLeftnavigationNotificationsContainer: { "aria-label": "just a typescript test" },
51
52
  dsLeftnavigationNotificationsIcon: { "aria-label": "just a typescript test" },
53
+ dsLeftnavigationOpenWindowIcon: { "aria-label": "just a typescript test" },
52
54
  dsLeftnavigationRightContainer: { "aria-label": "just a typescript test" },
53
55
  dsLeftnavigationRoot: { "aria-label": "just a typescript test" },
54
56
  dsLeftnavigationSectionContainer: { "aria-label": "just a typescript test" },
55
57
  dsLeftnavigationSectionLabel: { "aria-label": "just a typescript test" },
56
58
  dsLeftnavigationSectionRightLabel: { "aria-label": "just a typescript test" },
59
+ dsLeftnavigationTruncatedLabel: { "aria-label": "just a typescript test" },
60
+ dsLeftnavigationTruncatedLabelTooltip: { "aria-label": "just a typescript test" },
57
61
  dsLeftnavigationVerticalSeparator: { "aria-label": "just a typescript test" }
58
62
  };
59
63
  const SlotPropsAsFunctions = {
@@ -72,6 +76,7 @@ const SlotPropsAsFunctions = {
72
76
  dsLeftnavigationFooterMenuCollapse: () => ({ "aria-label": "just a typescript test" }),
73
77
  dsLeftnavigationFooterSeparator: () => ({ "aria-label": "just a typescript test" }),
74
78
  dsLeftnavigationHeaderArea: () => ({ "aria-label": "just a typescript test" }),
79
+ dsLeftnavigationIcon: () => ({ "aria-label": "just a typescript test" }),
75
80
  dsLeftnavigationItem: () => ({ "aria-label": "just a typescript test" }),
76
81
  dsLeftnavigationItemBorderBottom: () => ({ "aria-label": "just a typescript test" }),
77
82
  dsLeftnavigationItemChevronBack: () => ({ "aria-label": "just a typescript test" }),
@@ -83,11 +88,14 @@ const SlotPropsAsFunctions = {
83
88
  dsLeftnavigationMessagesIcon: () => ({ "aria-label": "just a typescript test" }),
84
89
  dsLeftnavigationNotificationsContainer: () => ({ "aria-label": "just a typescript test" }),
85
90
  dsLeftnavigationNotificationsIcon: () => ({ "aria-label": "just a typescript test" }),
91
+ dsLeftnavigationOpenWindowIcon: () => ({ "aria-label": "just a typescript test" }),
86
92
  dsLeftnavigationRightContainer: () => ({ "aria-label": "just a typescript test" }),
87
93
  dsLeftnavigationRoot: () => ({ "aria-label": "just a typescript test" }),
88
94
  dsLeftnavigationSectionContainer: () => ({ "aria-label": "just a typescript test" }),
89
95
  dsLeftnavigationSectionLabel: () => ({ "aria-label": "just a typescript test" }),
90
96
  dsLeftnavigationSectionRightLabel: () => ({ "aria-label": "just a typescript test" }),
97
+ dsLeftnavigationTruncatedLabel: () => ({ "aria-label": "just a typescript test" }),
98
+ dsLeftnavigationTruncatedLabelTooltip: () => ({ "aria-label": "just a typescript test" }),
91
99
  dsLeftnavigationVerticalSeparator: () => ({ "aria-label": "just a typescript test" })
92
100
  };
93
101
  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
  }
@@ -1,20 +1,28 @@
1
1
  import * as React from "react";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { useCallback, useState } from "react";
3
+ import { useCallback, useContext, useState } from "react";
4
4
  import { styled } from "@elliemae/ds-system";
5
5
  import {
6
6
  useFloatingContext,
7
7
  FloatingWrapper,
8
8
  PopoverArrow
9
9
  } from "@elliemae/ds-floating-context";
10
- const TruncatedSpan = styled.span`
10
+ import { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from "./constants/index.js";
11
+ import { LeftNavContext } from "./LeftNavigationContext.js";
12
+ const TruncatedSpan = styled("span", {
13
+ name: DSLeftNavigationName,
14
+ slot: LEFT_NAVIGATION_SLOTS.TRUNCATED_LABEL
15
+ })`
11
16
  text-overflow: ellipsis;
12
17
  white-space: nowrap;
13
18
  overflow: hidden;
14
19
  display: inline-block;
15
20
  max-width: 100%;
16
21
  `;
17
- const TooltipContainer = styled.div`
22
+ const TooltipContainer = styled("div", {
23
+ name: DSLeftNavigationName,
24
+ slot: LEFT_NAVIGATION_SLOTS.TRUNCATED_LABEL_TOOLTIP
25
+ })`
18
26
  text-align: center;
19
27
  min-width: ${({ theme }) => theme.space.l};
20
28
  max-width: 250px;
@@ -33,6 +41,9 @@ const TooltipContainer = styled.div`
33
41
  `;
34
42
  const TruncatedTooltipText = ({ value = "", placement = "top" }) => {
35
43
  const [showTooltip, setShowTooltip] = useState(false);
44
+ const { leftNavProps } = useContext(LeftNavContext);
45
+ const getOwnerProps = useCallback(() => leftNavProps, [leftNavProps]);
46
+ const getOwnerPropsArguments = useCallback(() => ({}), []);
36
47
  const { refs, floatingStyles, arrowStyles, context } = useFloatingContext({
37
48
  placement,
38
49
  externallyControlledIsOpen: showTooltip,
@@ -46,7 +57,17 @@ const TruncatedTooltipText = ({ value = "", placement = "top" }) => {
46
57
  setShowTooltip(false);
47
58
  }, []);
48
59
  return /* @__PURE__ */ jsxs(Fragment, { children: [
49
- /* @__PURE__ */ jsx(TruncatedSpan, { innerRef: refs.setReference, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: value }),
60
+ /* @__PURE__ */ jsx(
61
+ TruncatedSpan,
62
+ {
63
+ innerRef: refs.setReference,
64
+ onMouseEnter: handleMouseEnter,
65
+ onMouseLeave: handleMouseLeave,
66
+ getOwnerProps,
67
+ getOwnerPropsArguments,
68
+ children: value
69
+ }
70
+ ),
50
71
  /* @__PURE__ */ jsx(
51
72
  FloatingWrapper,
52
73
  {
@@ -54,7 +75,7 @@ const TruncatedTooltipText = ({ value = "", placement = "top" }) => {
54
75
  isOpen: showTooltip,
55
76
  floatingStyles,
56
77
  context,
57
- children: /* @__PURE__ */ jsxs(TooltipContainer, { children: [
78
+ children: /* @__PURE__ */ jsxs(TooltipContainer, { getOwnerProps, getOwnerPropsArguments, children: [
58
79
  value,
59
80
  /* @__PURE__ */ jsx(PopoverArrow, { ...arrowStyles })
60
81
  ] })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/TruncatedTooltipText.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback, useState } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport {\n useFloatingContext,\n FloatingWrapper,\n PopoverArrow,\n type DSHookFloatingContextT,\n} from '@elliemae/ds-floating-context';\n\nconst TruncatedSpan = styled.span`\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: inline-block;\n max-width: 100%;\n`;\n\n// Matches DSTooltipV3's StyledTooltipContainer styles for visual consistency\nconst TooltipContainer = styled.div`\n text-align: center;\n min-width: ${({ theme }) => theme.space.l};\n max-width: 250px;\n overflow-wrap: break-word;\n word-break: break-word;\n min-height: 30px;\n display: grid;\n align-items: center;\n padding: ${({ theme }) => `${theme.space.xxs} ${theme.space.xs}`};\n position: relative;\n background-color: white;\n border-radius: 2px;\n font-size: 13px;\n color: ${({ theme }) => theme.colors.neutral[600]};\n pointer-events: none;\n`;\n\ninterface TruncatedTooltipTextProps {\n value?: string | JSX.Element | undefined;\n placement?: DSHookFloatingContextT.PopperPlacementsT;\n}\n\nconst TruncatedTooltipText = ({ value = '', placement = 'top' }: TruncatedTooltipTextProps) => {\n const [showTooltip, setShowTooltip] = useState(false);\n\n const { refs, floatingStyles, arrowStyles, context } = useFloatingContext({\n placement,\n externallyControlledIsOpen: showTooltip,\n withoutAnimation: true,\n });\n\n const handleMouseEnter = useCallback((e: React.MouseEvent<HTMLSpanElement>) => {\n const el = e.currentTarget;\n setShowTooltip(el.offsetWidth < el.scrollWidth);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setShowTooltip(false);\n }, []);\n\n return (\n <>\n <TruncatedSpan innerRef={refs.setReference} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n {value}\n </TruncatedSpan>\n <FloatingWrapper\n innerRef={refs.setFloating}\n isOpen={showTooltip}\n floatingStyles={floatingStyles}\n context={context}\n >\n <TooltipContainer>\n {value}\n <PopoverArrow {...arrowStyles} />\n </TooltipContainer>\n </FloatingWrapper>\n </>\n );\n};\n\nexport { TruncatedTooltipText };\nexport default TruncatedTooltipText;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC4DnB,mBACE,KASE,YAVJ;AA5DJ,SAAgB,aAAa,gBAAgB;AAC7C,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS7B,MAAM,mBAAmB,OAAO;AAAA;AAAA,eAEjB,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO9B,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,WAKvD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AASnD,MAAM,uBAAuB,CAAC,EAAE,QAAQ,IAAI,YAAY,MAAM,MAAiC;AAC7F,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,QAAM,EAAE,MAAM,gBAAgB,aAAa,QAAQ,IAAI,mBAAmB;AAAA,IACxE;AAAA,IACA,4BAA4B;AAAA,IAC5B,kBAAkB;AAAA,EACpB,CAAC;AAED,QAAM,mBAAmB,YAAY,CAAC,MAAyC;AAC7E,UAAM,KAAK,EAAE;AACb,mBAAe,GAAG,cAAc,GAAG,WAAW;AAAA,EAChD,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAmB,YAAY,MAAM;AACzC,mBAAe,KAAK;AAAA,EACtB,GAAG,CAAC,CAAC;AAEL,SACE,iCACE;AAAA,wBAAC,iBAAc,UAAU,KAAK,cAAc,cAAc,kBAAkB,cAAc,kBACvF,iBACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QAEA,+BAAC,oBACE;AAAA;AAAA,UACD,oBAAC,gBAAc,GAAG,aAAa;AAAA,WACjC;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAGA,IAAO,+BAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback, useContext, useState } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport {\n useFloatingContext,\n FloatingWrapper,\n PopoverArrow,\n type DSHookFloatingContextT,\n} from '@elliemae/ds-floating-context';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from './constants/index.js';\nimport { LeftNavContext } from './LeftNavigationContext.js';\n\nconst TruncatedSpan = styled('span', {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.TRUNCATED_LABEL,\n})`\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: inline-block;\n max-width: 100%;\n`;\n\n// Matches DSTooltipV3's StyledTooltipContainer styles for visual consistency\nconst TooltipContainer = styled('div', {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.TRUNCATED_LABEL_TOOLTIP,\n})`\n text-align: center;\n min-width: ${({ theme }) => theme.space.l};\n max-width: 250px;\n overflow-wrap: break-word;\n word-break: break-word;\n min-height: 30px;\n display: grid;\n align-items: center;\n padding: ${({ theme }) => `${theme.space.xxs} ${theme.space.xs}`};\n position: relative;\n background-color: white;\n border-radius: 2px;\n font-size: 13px;\n color: ${({ theme }) => theme.colors.neutral[600]};\n pointer-events: none;\n`;\n\ninterface TruncatedTooltipTextProps {\n value?: string | JSX.Element | undefined;\n placement?: DSHookFloatingContextT.PopperPlacementsT;\n}\n\nconst TruncatedTooltipText = ({ value = '', placement = 'top' }: TruncatedTooltipTextProps) => {\n const [showTooltip, setShowTooltip] = useState(false);\n const { leftNavProps } = useContext(LeftNavContext);\n const getOwnerProps = useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = useCallback(() => ({}), []);\n\n const { refs, floatingStyles, arrowStyles, context } = useFloatingContext({\n placement,\n externallyControlledIsOpen: showTooltip,\n withoutAnimation: true,\n });\n\n const handleMouseEnter = useCallback((e: React.MouseEvent<HTMLSpanElement>) => {\n const el = e.currentTarget;\n setShowTooltip(el.offsetWidth < el.scrollWidth);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setShowTooltip(false);\n }, []);\n\n return (\n <>\n <TruncatedSpan\n innerRef={refs.setReference}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {value}\n </TruncatedSpan>\n <FloatingWrapper\n innerRef={refs.setFloating}\n isOpen={showTooltip}\n floatingStyles={floatingStyles}\n context={context}\n >\n <TooltipContainer getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {value}\n <PopoverArrow {...arrowStyles} />\n </TooltipContainer>\n </FloatingWrapper>\n </>\n );\n};\n\nexport { TruncatedTooltipText };\nexport default TruncatedTooltipText;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACuEnB,mBACE,KAeE,YAhBJ;AAvEJ,SAAgB,aAAa,YAAY,gBAAgB;AACzD,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,sBAAsB,6BAA6B;AAC5D,SAAS,sBAAsB;AAE/B,MAAM,gBAAgB,OAAO,QAAQ;AAAA,EACnC,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASD,MAAM,mBAAmB,OAAO,OAAO;AAAA,EACrC,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAAA;AAAA,eAEc,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO9B,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,WAKvD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AASnD,MAAM,uBAAuB,CAAC,EAAE,QAAQ,IAAI,YAAY,MAAM,MAAiC;AAC7F,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AACpD,QAAM,EAAE,aAAa,IAAI,WAAW,cAAc;AAClD,QAAM,gBAAgB,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AACpE,QAAM,yBAAyB,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzD,QAAM,EAAE,MAAM,gBAAgB,aAAa,QAAQ,IAAI,mBAAmB;AAAA,IACxE;AAAA,IACA,4BAA4B;AAAA,IAC5B,kBAAkB;AAAA,EACpB,CAAC;AAED,QAAM,mBAAmB,YAAY,CAAC,MAAyC;AAC7E,UAAM,KAAK,EAAE;AACb,mBAAe,GAAG,cAAc,GAAG,WAAW;AAAA,EAChD,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAmB,YAAY,MAAM;AACzC,mBAAe,KAAK;AAAA,EACtB,GAAG,CAAC,CAAC;AAEL,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,KAAK;AAAA,QACf,cAAc;AAAA,QACd,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QAEA,+BAAC,oBAAiB,eAA8B,wBAC7C;AAAA;AAAA,UACD,oBAAC,gBAAc,GAAG,aAAa;AAAA,WACjC;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAGA,IAAO,+BAAQ;",
6
6
  "names": []
7
7
  }
@@ -28,14 +28,18 @@ const LEFT_NAVIGATION_SLOTS = {
28
28
  LEFT_CONTAINER: "left-container",
29
29
  LOADER_WRAPPER: "loader-wrapper",
30
30
  HEADER_AREA: "header-area",
31
+ ICON: "icon",
31
32
  MESSAGES_ICON_WRAPPER: "messages-icon",
32
33
  NOTIFICATIONS_CONTAINER: "notifications-container",
33
34
  NOTIFICATIONS_ICON: "notifications-icon",
35
+ OPEN_WINDOW_ICON: "open-window-icon",
34
36
  RIGHT_CONTAINER: "right-container",
35
37
  ROOT: "root",
36
38
  SECTION_CONTAINER: "section-container",
37
39
  SECTION_LABEL: "section-label",
38
40
  SECTION_RIGHT_LABEL: "section-right-label",
41
+ TRUNCATED_LABEL: "truncated-label",
42
+ TRUNCATED_LABEL_TOOLTIP: "truncated-label-tooltip",
39
43
  VERTICAL_SEPARATOR: "vertical-separator"
40
44
  };
41
45
  const LEFT_NAVIGATION_DATA_TESTID = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/constants/index.ts"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSLeftNavigationName = 'DSLeftnavigation';\n\n// we are naming this with the ${component_name}_region_focuses convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const LEFT_NAVIGATION_REGION_FOCUSES = {\n RESET: '',\n} as const;\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const LEFT_NAVIGATION_SLOTS = {\n ALERTS_ICON_WRAPPER: 'alerts-icon',\n AREAS_CONTAINER: 'areas-container',\n ARROW_CONTAINER: 'arrow-container',\n BODY_AREAS_CONTAINER: 'body-areas-container',\n BODY_HEADER_AREA: 'body-header-area',\n BODY_ITEMS_AREA: 'body-items-area',\n BOTTOM_CONTAINER: 'bottom-container',\n COLLAPSED_CONTAINER: 'collapsed-container',\n EXCEPTIONS_ICON_WRAPPER: 'exceptions-icon',\n FOOTER_ITEM: 'footer-item',\n FOOTER_LABEL: 'footer-label',\n FOOTER_MENU: 'footer-menu',\n FOOTER_MENU_COLLAPSE: 'footer-menu-collapse',\n FOOTER_SEPARATOR: 'footer-separator',\n ITEM: 'item',\n ITEM_BORDER_BOTTOM: 'item-border-bottom',\n ITEM_CHEVRON_BACK: 'item-chevron-back',\n ITEM_DATE: 'item-date',\n ITEM_LABEL: 'item-label',\n ITEM_SEPARATOR: 'item-separator',\n LEFT_CONTAINER: 'left-container',\n LOADER_WRAPPER: 'loader-wrapper',\n HEADER_AREA: 'header-area',\n MESSAGES_ICON_WRAPPER: 'messages-icon',\n NOTIFICATIONS_CONTAINER: 'notifications-container',\n NOTIFICATIONS_ICON: 'notifications-icon',\n RIGHT_CONTAINER: 'right-container',\n ROOT: 'root',\n SECTION_CONTAINER: 'section-container',\n SECTION_LABEL: 'section-label',\n SECTION_RIGHT_LABEL: 'section-right-label',\n VERTICAL_SEPARATOR: 'vertical-separator',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const LEFT_NAVIGATION_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSLeftNavigationName, LEFT_NAVIGATION_SLOTS),\n /* ********************************************************************************************************************************************\n * keeping old values around based on vinoth/guncha (forced) request to keep them stable\n * in the future, before removing/changing those values, please make sure to check with them\n * (and get written approval for future reference, verba volant, scripta manent).\n * ********************************************************************************************************************************************\n * https://jira.elliemae.io/browse/PUI-15589\n ******************************************************************************************************************************************** */\n ROOT: 'leftnav-component',\n HEADER_AREA: 'leftnav-header-area',\n AREAS_CONTAINER: 'ds-leftnavigation-areas-container',\n\n COLLAPSED_CONTAINER: 'leftnav-leftcomponent',\n\n BODY_AREAS_CONTAINER: 'ds-leftnavigation-body-areas-container',\n BODY_HEADER_AREA: 'leftnav-body-header-area',\n BODY_ITEMS_AREA: 'leftnav-body-items-area',\n BOTTOM_CONTAINER: 'ds-leftnavigation-bottom-container',\n\n ITEM: 'leftnav-item-container',\n ITEM_BORDER_BOTTOM: 'ds-leftnavigation-item-border-bottom',\n ITEM_LABEL: 'leftnav-itemlabel',\n ITEM_DATE: 'leftnav-list-item-date',\n ITEM_SEPARATOR: 'leftnav-separator-subitem',\n ITEM_CHEVRON_BACK: 'leftnav-leftcomponent-chevron',\n\n // repeated with \"COLLAPSED_CONTAINER\" above, APP QA team doesn't approve us changing this.\n // IF anyone come with the request to have a separate value for this, address them to guncha/vinoth.\n LEFT_CONTAINER: 'leftnav-leftcomponent',\n RIGHT_CONTAINER: 'leftnav-right-component',\n ARROW_CONTAINER: 'ds-leftnavigation-arrow-container',\n\n SECTION_CONTAINER: 'ds-leftnavigation-section-container',\n SECTION_LABEL: 'leftnav-section-item-label',\n SECTION_RIGHT_LABEL: 'ds-leftnavigation-section-right-label',\n\n NOTIFICATIONS_CONTAINER: 'ds-leftnavigation-notifications-container',\n\n EXCEPTIONS_ICON_WRAPPER: 'left-nav-exceptions-icon',\n ALERTS_ICON_WRAPPER: 'left-nav-alerts-icon',\n MESSAGES_ICON_WRAPPER: 'left-nav-messages-icon',\n\n FOOTER_MENU: 'leftnav-container',\n FOOTER_SEPARATOR: 'ds-leftnavigation-footer-separator',\n // repeated with \"ITEM\" above, APP QA team doesn't approve us changing this.\n // IF anyone come with the request to have a separate value for this, address them to guncha/vinoth.\n FOOTER_ITEM: 'leftnav-item-container',\n\n VERTICAL_SEPARATOR: 'ds-leftnavigation-vertical-separator',\n\n // Things that are not slots (why?) and still need data-testids (that needs to not change else APP QA team can't work)\n NOTIFICATION_ICON: 'left-nav-notifications-icon',\n ALERTS_ICON: 'left-nav-alerts-icon',\n EXCEPTIONS_ICON: 'left-nav-exceptions-icon',\n MESSAGES_ICON: 'left-nav-messages-icon',\n\n // I don't know if there was already a slot or not because the naming convention is confusing and we can't change it.\n // so I am re-defining those to be sure.\n // (usually this comes from previous implementation \"slot\" being a \"nested\" slot that inherits the slot from the child)\n DROPDOWN_MENU_TRIGGER_WRAPPER: 'dropdown-menu-trigger-wrapper', // used to be dsDropdownmenuRoot slot at time of writing this comment\n\n NOTIFICATIONS_ICON: 'left-nav-notifications-icon', // used to be dsIconRoot slot at time of writing this comment\n LEFT_COMPONENT_CHEVRON: 'leftnav-leftcomponent-chevron', // used to be dsButtonRoot slot at time of writing this comment\n // VERY SPECIAL CASE, THE SLOT FOOTER_BTN GOES TO THE ICON WHEN COLLAPSED, TO THE BTN WHEN EXPANDED\n // WE CAN'T FIX THE TECH DEBT\n FOOTER_BTN: 'leftnav-footer-btn', // used to be [ \"dsIconRoot\", \"dsButtonRoot\" ] slots at time of writing this comment\n // VERY SPECIAL CASE 2\n // THE SLOT IS TECHNICALLY dsLeftnavigationItemLabel\n // which is LEFT_NAVIGATION_SLOTS.ITEM_LABEL\n // BUT the data-test-id is either \"leftnav-itemlabel\" or \"leftnav-list-item-label\"\n // APPARENTLY (we are not sure) based on it's \"type\"\n // \"leftnav-list-item-label\" for:\n // - ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL\n // - ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE\n // - ITEM_TYPES.LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN\n // - ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN\n // WE CAN'T FIX THE TECH DEBT\n // IF we somehow need to change this, address them to guncha/vinoth.\n LIST_ITEM_LABEL_ID_EXCEPTION: 'leftnav-list-item-label',\n};\n\nexport const DSLeftNavigationSlots = LEFT_NAVIGATION_SLOTS;\n\n/* ********************************************************************************************************************************************\n * Specific left-nav constants. Those are exported to third parties so they can use them in their code.\n ******************************************************************************************************************************************** */\n\nexport const LABEL_OVERFLOW = {\n WRAP: 'wrap',\n WRAP_ALL: 'wrapAll',\n TRUNCATE: 'truncate',\n};\n\nexport const ITEM_TYPES = {\n LEFT_NAV_ITEM_HEADER: 'ds-left-nav-item-header',\n LEFT_NAV_ITEM_LINK: 'ds-left-nav-item-link',\n LEFT_NAV_ITEM_SUBMENU: 'ds-left-nav-item-submenu',\n LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN: 'ds-left-nav-item-controlled-drilldown',\n LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN: 'ds-left-nav-item-uncontrolled-drilldown',\n LEFT_NAV_ITEM_SECTION: 'ds-left-nav-item-section',\n LEFT_NAV_ITEM_SEPARATOR: 'ds-left-nav-item-separator',\n LEFT_NAV_ITEM_SKELETON: 'ds-left-nav-item-skeleton',\n LEFT_NAV_ITEM_TEXT_LABEL: 'ds-left-nav-item-text-label',\n LEFT_NAV_ITEM_WITH_DATE: 'ds-left-nav-item-with-date',\n};\n\nexport const outOfTheBoxTypes = Object.values(ITEM_TYPES);\n\nexport const MAP_ITEMS_TO_SKELETON = {\n 'ds-left-nav-item-header': 'item',\n 'ds-left-nav-item-link': 'subitem',\n 'ds-left-nav-item-submenu': 'item',\n 'ds-left-nav-item-controlled-drilldown': 'subitem',\n 'ds-left-nav-item-uncontrolled-drilldown': 'subitem',\n 'ds-left-nav-item-section': 'subitem',\n 'ds-left-nav-item-separator': 'subitem',\n 'ds-left-nav-item-text-label': 'subitem',\n 'ds-left-nav-item-with-date': 'subitem',\n} as const;\n\nexport const FOOTER_DS_ID = 'ds-left-nav-__internal__-footer';\n\nexport const FOOTER_MENU_CLOSE_DS_ID = 'ds-left-nav-__internal__-footer-menu-close';\n\nexport const CHEVRON_BACK_DS_ID = 'ds-left-nav-__internal__-chevron-back';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSLeftNavigationName = 'DSLeftnavigation';\n\n// we are naming this with the ${component_name}_region_focuses convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const LEFT_NAVIGATION_REGION_FOCUSES = {\n RESET: '',\n} as const;\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const LEFT_NAVIGATION_SLOTS = {\n ALERTS_ICON_WRAPPER: 'alerts-icon',\n AREAS_CONTAINER: 'areas-container',\n ARROW_CONTAINER: 'arrow-container',\n BODY_AREAS_CONTAINER: 'body-areas-container',\n BODY_HEADER_AREA: 'body-header-area',\n BODY_ITEMS_AREA: 'body-items-area',\n BOTTOM_CONTAINER: 'bottom-container',\n COLLAPSED_CONTAINER: 'collapsed-container',\n EXCEPTIONS_ICON_WRAPPER: 'exceptions-icon',\n FOOTER_ITEM: 'footer-item',\n FOOTER_LABEL: 'footer-label',\n FOOTER_MENU: 'footer-menu',\n FOOTER_MENU_COLLAPSE: 'footer-menu-collapse',\n FOOTER_SEPARATOR: 'footer-separator',\n ITEM: 'item',\n ITEM_BORDER_BOTTOM: 'item-border-bottom',\n ITEM_CHEVRON_BACK: 'item-chevron-back',\n ITEM_DATE: 'item-date',\n ITEM_LABEL: 'item-label',\n ITEM_SEPARATOR: 'item-separator',\n LEFT_CONTAINER: 'left-container',\n LOADER_WRAPPER: 'loader-wrapper',\n HEADER_AREA: 'header-area',\n ICON: 'icon',\n MESSAGES_ICON_WRAPPER: 'messages-icon',\n NOTIFICATIONS_CONTAINER: 'notifications-container',\n NOTIFICATIONS_ICON: 'notifications-icon',\n OPEN_WINDOW_ICON: 'open-window-icon',\n RIGHT_CONTAINER: 'right-container',\n ROOT: 'root',\n SECTION_CONTAINER: 'section-container',\n SECTION_LABEL: 'section-label',\n SECTION_RIGHT_LABEL: 'section-right-label',\n TRUNCATED_LABEL: 'truncated-label',\n TRUNCATED_LABEL_TOOLTIP: 'truncated-label-tooltip',\n VERTICAL_SEPARATOR: 'vertical-separator',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const LEFT_NAVIGATION_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSLeftNavigationName, LEFT_NAVIGATION_SLOTS),\n /* ********************************************************************************************************************************************\n * keeping old values around based on vinoth/guncha (forced) request to keep them stable\n * in the future, before removing/changing those values, please make sure to check with them\n * (and get written approval for future reference, verba volant, scripta manent).\n * ********************************************************************************************************************************************\n * https://jira.elliemae.io/browse/PUI-15589\n ******************************************************************************************************************************************** */\n ROOT: 'leftnav-component',\n HEADER_AREA: 'leftnav-header-area',\n AREAS_CONTAINER: 'ds-leftnavigation-areas-container',\n\n COLLAPSED_CONTAINER: 'leftnav-leftcomponent',\n\n BODY_AREAS_CONTAINER: 'ds-leftnavigation-body-areas-container',\n BODY_HEADER_AREA: 'leftnav-body-header-area',\n BODY_ITEMS_AREA: 'leftnav-body-items-area',\n BOTTOM_CONTAINER: 'ds-leftnavigation-bottom-container',\n\n ITEM: 'leftnav-item-container',\n ITEM_BORDER_BOTTOM: 'ds-leftnavigation-item-border-bottom',\n ITEM_LABEL: 'leftnav-itemlabel',\n ITEM_DATE: 'leftnav-list-item-date',\n ITEM_SEPARATOR: 'leftnav-separator-subitem',\n ITEM_CHEVRON_BACK: 'leftnav-leftcomponent-chevron',\n\n // repeated with \"COLLAPSED_CONTAINER\" above, APP QA team doesn't approve us changing this.\n // IF anyone come with the request to have a separate value for this, address them to guncha/vinoth.\n LEFT_CONTAINER: 'leftnav-leftcomponent',\n RIGHT_CONTAINER: 'leftnav-right-component',\n ARROW_CONTAINER: 'ds-leftnavigation-arrow-container',\n\n SECTION_CONTAINER: 'ds-leftnavigation-section-container',\n SECTION_LABEL: 'leftnav-section-item-label',\n SECTION_RIGHT_LABEL: 'ds-leftnavigation-section-right-label',\n\n NOTIFICATIONS_CONTAINER: 'ds-leftnavigation-notifications-container',\n\n EXCEPTIONS_ICON_WRAPPER: 'left-nav-exceptions-icon',\n ALERTS_ICON_WRAPPER: 'left-nav-alerts-icon',\n MESSAGES_ICON_WRAPPER: 'left-nav-messages-icon',\n\n FOOTER_MENU: 'leftnav-container',\n FOOTER_SEPARATOR: 'ds-leftnavigation-footer-separator',\n // repeated with \"ITEM\" above, APP QA team doesn't approve us changing this.\n // IF anyone come with the request to have a separate value for this, address them to guncha/vinoth.\n FOOTER_ITEM: 'leftnav-item-container',\n\n VERTICAL_SEPARATOR: 'ds-leftnavigation-vertical-separator',\n\n // Things that are not slots (why?) and still need data-testids (that needs to not change else APP QA team can't work)\n NOTIFICATION_ICON: 'left-nav-notifications-icon',\n ALERTS_ICON: 'left-nav-alerts-icon',\n EXCEPTIONS_ICON: 'left-nav-exceptions-icon',\n MESSAGES_ICON: 'left-nav-messages-icon',\n\n // I don't know if there was already a slot or not because the naming convention is confusing and we can't change it.\n // so I am re-defining those to be sure.\n // (usually this comes from previous implementation \"slot\" being a \"nested\" slot that inherits the slot from the child)\n DROPDOWN_MENU_TRIGGER_WRAPPER: 'dropdown-menu-trigger-wrapper', // used to be dsDropdownmenuRoot slot at time of writing this comment\n\n NOTIFICATIONS_ICON: 'left-nav-notifications-icon', // used to be dsIconRoot slot at time of writing this comment\n LEFT_COMPONENT_CHEVRON: 'leftnav-leftcomponent-chevron', // used to be dsButtonRoot slot at time of writing this comment\n // VERY SPECIAL CASE, THE SLOT FOOTER_BTN GOES TO THE ICON WHEN COLLAPSED, TO THE BTN WHEN EXPANDED\n // WE CAN'T FIX THE TECH DEBT\n FOOTER_BTN: 'leftnav-footer-btn', // used to be [ \"dsIconRoot\", \"dsButtonRoot\" ] slots at time of writing this comment\n // VERY SPECIAL CASE 2\n // THE SLOT IS TECHNICALLY dsLeftnavigationItemLabel\n // which is LEFT_NAVIGATION_SLOTS.ITEM_LABEL\n // BUT the data-test-id is either \"leftnav-itemlabel\" or \"leftnav-list-item-label\"\n // APPARENTLY (we are not sure) based on it's \"type\"\n // \"leftnav-list-item-label\" for:\n // - ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL\n // - ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE\n // - ITEM_TYPES.LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN\n // - ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN\n // WE CAN'T FIX THE TECH DEBT\n // IF we somehow need to change this, address them to guncha/vinoth.\n LIST_ITEM_LABEL_ID_EXCEPTION: 'leftnav-list-item-label',\n};\n\nexport const DSLeftNavigationSlots = LEFT_NAVIGATION_SLOTS;\n\n/* ********************************************************************************************************************************************\n * Specific left-nav constants. Those are exported to third parties so they can use them in their code.\n ******************************************************************************************************************************************** */\n\nexport const LABEL_OVERFLOW = {\n WRAP: 'wrap',\n WRAP_ALL: 'wrapAll',\n TRUNCATE: 'truncate',\n};\n\nexport const ITEM_TYPES = {\n LEFT_NAV_ITEM_HEADER: 'ds-left-nav-item-header',\n LEFT_NAV_ITEM_LINK: 'ds-left-nav-item-link',\n LEFT_NAV_ITEM_SUBMENU: 'ds-left-nav-item-submenu',\n LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN: 'ds-left-nav-item-controlled-drilldown',\n LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN: 'ds-left-nav-item-uncontrolled-drilldown',\n LEFT_NAV_ITEM_SECTION: 'ds-left-nav-item-section',\n LEFT_NAV_ITEM_SEPARATOR: 'ds-left-nav-item-separator',\n LEFT_NAV_ITEM_SKELETON: 'ds-left-nav-item-skeleton',\n LEFT_NAV_ITEM_TEXT_LABEL: 'ds-left-nav-item-text-label',\n LEFT_NAV_ITEM_WITH_DATE: 'ds-left-nav-item-with-date',\n};\n\nexport const outOfTheBoxTypes = Object.values(ITEM_TYPES);\n\nexport const MAP_ITEMS_TO_SKELETON = {\n 'ds-left-nav-item-header': 'item',\n 'ds-left-nav-item-link': 'subitem',\n 'ds-left-nav-item-submenu': 'item',\n 'ds-left-nav-item-controlled-drilldown': 'subitem',\n 'ds-left-nav-item-uncontrolled-drilldown': 'subitem',\n 'ds-left-nav-item-section': 'subitem',\n 'ds-left-nav-item-separator': 'subitem',\n 'ds-left-nav-item-text-label': 'subitem',\n 'ds-left-nav-item-with-date': 'subitem',\n} as const;\n\nexport const FOOTER_DS_ID = 'ds-left-nav-__internal__-footer';\n\nexport const FOOTER_MENU_CLOSE_DS_ID = 'ds-left-nav-__internal__-footer-menu-close';\n\nexport const CHEVRON_BACK_DS_ID = 'ds-left-nav-__internal__-chevron-back';\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,14 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
+ import React2 from "react";
3
4
  import { styled } from "@elliemae/ds-system";
4
- const AugmentedIcon = (Icon2) => styled(Icon2)`
5
+ import { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from "../../constants/index.js";
6
+ import { LeftNavContext } from "../../LeftNavigationContext.js";
7
+ const AugmentedIcon = (Icon2) => styled(Icon2, {
8
+ name: DSLeftNavigationName,
9
+ slot: LEFT_NAVIGATION_SLOTS.ICON,
10
+ preserveLegacyDataTestId: true
11
+ })`
5
12
  cursor: pointer;
6
13
 
7
14
  outline: 0;
@@ -10,9 +17,23 @@ const AugmentedIcon = (Icon2) => styled(Icon2)`
10
17
  outline: 1px solid #1e79c2;
11
18
  }
12
19
  `;
13
- const Icon = (IconComponent) => function(props) {
20
+ const Icon = (IconComponent) => {
14
21
  const StyledComponent = AugmentedIcon(IconComponent);
15
- return /* @__PURE__ */ jsx(StyledComponent, { color: ["brand-primary", "800"], tabIndex: 0, ...props });
22
+ return function LeftNavIcon(props) {
23
+ const { leftNavProps } = React2.useContext(LeftNavContext);
24
+ const getOwnerProps = React2.useCallback(() => leftNavProps, [leftNavProps]);
25
+ const getOwnerPropsArguments = React2.useCallback(() => ({}), []);
26
+ return /* @__PURE__ */ jsx(
27
+ StyledComponent,
28
+ {
29
+ color: ["brand-primary", "800"],
30
+ tabIndex: 0,
31
+ getOwnerProps,
32
+ getOwnerPropsArguments,
33
+ ...props
34
+ }
35
+ );
36
+ };
16
37
  };
17
38
  export {
18
39
  Icon