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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/cjs/LeftNavigation.js +3 -3
  2. package/dist/cjs/LeftNavigation.js.map +2 -2
  3. package/dist/cjs/LeftNavigationContext.js +3 -19
  4. package/dist/cjs/LeftNavigationContext.js.map +2 -2
  5. package/dist/cjs/{configs → config}/index.js +5 -5
  6. package/dist/cjs/{configs → config}/index.js.map +2 -2
  7. package/dist/cjs/{configs → config}/useLeftNavConfig.js +4 -4
  8. package/dist/cjs/config/useLeftNavConfig.js.map +7 -0
  9. package/dist/cjs/{configs → config}/useLeftNavItems.js +4 -5
  10. package/dist/cjs/config/useLeftNavItems.js.map +7 -0
  11. package/dist/cjs/{configs → config}/useLeftNavSmoothExpand.js.map +1 -1
  12. package/dist/cjs/constants/{constants.js → index.js} +41 -2
  13. package/dist/cjs/constants/{constants.js.map → index.js.map} +3 -3
  14. package/dist/cjs/exported-related/ItemRenderer/index.js +12 -3
  15. package/dist/cjs/exported-related/ItemRenderer/index.js.map +3 -3
  16. package/dist/cjs/exported-related/ItemRenderer/styled.js +1 -1
  17. package/dist/cjs/exported-related/ItemRenderer/styled.js.map +1 -1
  18. package/dist/cjs/exported-related/Notifications/index.js +60 -42
  19. package/dist/cjs/exported-related/Notifications/index.js.map +3 -3
  20. package/dist/cjs/exported-related/index.js +16 -7
  21. package/dist/cjs/exported-related/index.js.map +2 -2
  22. package/dist/cjs/hooks/useKeyboardNavigation.js +1 -1
  23. package/dist/cjs/hooks/useKeyboardNavigation.js.map +1 -1
  24. package/dist/cjs/hooks/useSelectFirstBodyItem.js +1 -1
  25. package/dist/cjs/hooks/useSelectFirstBodyItem.js.map +2 -2
  26. package/dist/cjs/index.js +16 -4
  27. package/dist/cjs/index.js.map +2 -2
  28. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js +16 -5
  29. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +3 -3
  30. package/dist/cjs/outOfTheBox/ItemHeader/index.js +20 -8
  31. package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +3 -3
  32. package/dist/cjs/outOfTheBox/ItemLink/index.js +11 -2
  33. package/dist/cjs/outOfTheBox/ItemLink/index.js.map +3 -3
  34. package/dist/cjs/outOfTheBox/ItemSection/index.js +23 -4
  35. package/dist/cjs/outOfTheBox/ItemSection/index.js.map +3 -3
  36. package/dist/cjs/outOfTheBox/ItemSeparator/index.js +11 -3
  37. package/dist/cjs/outOfTheBox/ItemSeparator/index.js.map +3 -3
  38. package/dist/cjs/outOfTheBox/ItemSkeleton/index.js +11 -2
  39. package/dist/cjs/outOfTheBox/ItemSkeleton/index.js.map +3 -3
  40. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +17 -5
  41. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +3 -3
  42. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js +7 -1
  43. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +3 -3
  44. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +16 -5
  45. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +3 -3
  46. package/dist/cjs/outOfTheBox/ItemWithDate/index.js +11 -1
  47. package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +3 -3
  48. package/dist/cjs/outOfTheBox/index.js +6 -8
  49. package/dist/cjs/outOfTheBox/index.js.map +2 -2
  50. package/dist/cjs/outOfTheBox/styled.js +1 -1
  51. package/dist/cjs/outOfTheBox/styled.js.map +1 -1
  52. package/dist/cjs/parts/LeftNavContent/index.js +24 -3
  53. package/dist/cjs/parts/LeftNavContent/index.js.map +2 -2
  54. package/dist/cjs/parts/LeftNavContent/styled.js +1 -1
  55. package/dist/cjs/parts/LeftNavContent/styled.js.map +1 -1
  56. package/dist/cjs/parts/LeftNavFooterItem/index.js +13 -13
  57. package/dist/cjs/parts/LeftNavFooterItem/index.js.map +3 -3
  58. package/dist/cjs/parts/LeftNavFooterItem/styled.js +1 -1
  59. package/dist/cjs/parts/LeftNavFooterItem/styled.js.map +1 -1
  60. package/dist/cjs/parts/LeftNavLoading/index.js +26 -10
  61. package/dist/cjs/parts/LeftNavLoading/index.js.map +3 -3
  62. package/dist/cjs/react-desc-prop-types.js +52 -22
  63. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  64. package/dist/cjs/typescript-testing/slot-props.js +94 -0
  65. package/dist/cjs/typescript-testing/slot-props.js.map +7 -0
  66. package/dist/cjs/typescript-testing/typescript-left-navigation-valid.js +1 -1
  67. package/dist/cjs/typescript-testing/typescript-left-navigation-valid.js.map +1 -1
  68. package/dist/esm/LeftNavigation.js +4 -4
  69. package/dist/esm/LeftNavigation.js.map +2 -2
  70. package/dist/esm/LeftNavigationContext.js +2 -18
  71. package/dist/esm/LeftNavigationContext.js.map +2 -2
  72. package/dist/esm/{configs → config}/index.js +2 -2
  73. package/dist/esm/{configs → config}/index.js.map +2 -2
  74. package/dist/esm/{configs → config}/useLeftNavConfig.js +3 -3
  75. package/dist/esm/config/useLeftNavConfig.js.map +7 -0
  76. package/dist/esm/{configs → config}/useLeftNavItems.js +1 -2
  77. package/dist/esm/config/useLeftNavItems.js.map +7 -0
  78. package/dist/esm/{configs → config}/useLeftNavSmoothExpand.js.map +1 -1
  79. package/dist/esm/constants/{constants.js → index.js} +41 -2
  80. package/dist/esm/constants/{constants.js.map → index.js.map} +3 -3
  81. package/dist/esm/exported-related/ItemRenderer/index.js +12 -3
  82. package/dist/esm/exported-related/ItemRenderer/index.js.map +3 -3
  83. package/dist/esm/exported-related/ItemRenderer/styled.js +1 -1
  84. package/dist/esm/exported-related/ItemRenderer/styled.js.map +1 -1
  85. package/dist/esm/exported-related/Notifications/index.js +60 -42
  86. package/dist/esm/exported-related/Notifications/index.js.map +3 -3
  87. package/dist/esm/exported-related/index.js +12 -6
  88. package/dist/esm/exported-related/index.js.map +2 -2
  89. package/dist/esm/hooks/useKeyboardNavigation.js +1 -1
  90. package/dist/esm/hooks/useKeyboardNavigation.js.map +1 -1
  91. package/dist/esm/hooks/useSelectFirstBodyItem.js +1 -1
  92. package/dist/esm/hooks/useSelectFirstBodyItem.js.map +2 -2
  93. package/dist/esm/index.js +31 -7
  94. package/dist/esm/index.js.map +2 -2
  95. package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js +14 -3
  96. package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +3 -3
  97. package/dist/esm/outOfTheBox/ItemHeader/index.js +18 -6
  98. package/dist/esm/outOfTheBox/ItemHeader/index.js.map +3 -3
  99. package/dist/esm/outOfTheBox/ItemLink/index.js +11 -2
  100. package/dist/esm/outOfTheBox/ItemLink/index.js.map +3 -3
  101. package/dist/esm/outOfTheBox/ItemSection/index.js +27 -8
  102. package/dist/esm/outOfTheBox/ItemSection/index.js.map +3 -3
  103. package/dist/esm/outOfTheBox/ItemSeparator/index.js +11 -3
  104. package/dist/esm/outOfTheBox/ItemSeparator/index.js.map +3 -3
  105. package/dist/esm/outOfTheBox/ItemSkeleton/index.js +11 -2
  106. package/dist/esm/outOfTheBox/ItemSkeleton/index.js.map +3 -3
  107. package/dist/esm/outOfTheBox/ItemSubmenu/index.js +16 -4
  108. package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +3 -3
  109. package/dist/esm/outOfTheBox/ItemTextLabel/index.js +7 -1
  110. package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +3 -3
  111. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +14 -3
  112. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +3 -3
  113. package/dist/esm/outOfTheBox/ItemWithDate/index.js +11 -1
  114. package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +3 -3
  115. package/dist/esm/outOfTheBox/index.js +5 -7
  116. package/dist/esm/outOfTheBox/index.js.map +2 -2
  117. package/dist/esm/outOfTheBox/styled.js +1 -1
  118. package/dist/esm/outOfTheBox/styled.js.map +1 -1
  119. package/dist/esm/parts/LeftNavContent/index.js +24 -3
  120. package/dist/esm/parts/LeftNavContent/index.js.map +2 -2
  121. package/dist/esm/parts/LeftNavContent/styled.js +1 -1
  122. package/dist/esm/parts/LeftNavContent/styled.js.map +1 -1
  123. package/dist/esm/parts/LeftNavFooterItem/index.js +11 -11
  124. package/dist/esm/parts/LeftNavFooterItem/index.js.map +2 -2
  125. package/dist/esm/parts/LeftNavFooterItem/styled.js +1 -1
  126. package/dist/esm/parts/LeftNavFooterItem/styled.js.map +1 -1
  127. package/dist/esm/parts/LeftNavLoading/index.js +26 -10
  128. package/dist/esm/parts/LeftNavLoading/index.js.map +3 -3
  129. package/dist/esm/react-desc-prop-types.js +59 -23
  130. package/dist/esm/react-desc-prop-types.js.map +2 -2
  131. package/dist/esm/typescript-testing/slot-props.js +71 -0
  132. package/dist/esm/typescript-testing/slot-props.js.map +7 -0
  133. package/dist/esm/typescript-testing/typescript-left-navigation-valid.js +1 -1
  134. package/dist/esm/typescript-testing/typescript-left-navigation-valid.js.map +1 -1
  135. package/dist/types/LeftNavigationContext.d.ts +1 -2
  136. package/dist/types/constants/{constants.d.ts → index.d.ts} +32 -0
  137. package/dist/types/exported-related/index.d.ts +5 -6
  138. package/dist/types/index.d.ts +3 -3
  139. package/dist/types/outOfTheBox/ItemSkeleton/index.d.ts +1 -1
  140. package/dist/types/outOfTheBox/index.d.ts +1 -2
  141. package/dist/types/react-desc-prop-types.d.ts +47 -13
  142. package/dist/types/tests/LeftNavigation.exports.test.d.ts +1 -0
  143. package/dist/types/typescript-testing/slot-props.d.ts +1 -0
  144. package/package.json +27 -29
  145. package/dist/cjs/configs/useLeftNavConfig.js.map +0 -7
  146. package/dist/cjs/configs/useLeftNavItems.js.map +0 -7
  147. package/dist/cjs/exported-related/constants.js +0 -71
  148. package/dist/cjs/exported-related/constants.js.map +0 -7
  149. package/dist/esm/configs/useLeftNavConfig.js.map +0 -7
  150. package/dist/esm/configs/useLeftNavItems.js.map +0 -7
  151. package/dist/esm/exported-related/constants.js +0 -41
  152. package/dist/esm/exported-related/constants.js.map +0 -7
  153. package/dist/types/exported-related/constants.d.ts +0 -31
  154. /package/dist/cjs/{configs → config}/useLeftNavSmoothExpand.js +0 -0
  155. /package/dist/esm/{configs → config}/useLeftNavSmoothExpand.js +0 -0
  156. /package/dist/types/{configs → config}/index.d.ts +0 -0
  157. /package/dist/types/{configs → config}/useLeftNavConfig.d.ts +0 -0
  158. /package/dist/types/{configs → config}/useLeftNavItems.d.ts +0 -0
  159. /package/dist/types/{configs → config}/useLeftNavSmoothExpand.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/constants/constants.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"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,uBAAuB;AAG7B,MAAM,iCAAiC;AAAA,EAC5C,OAAO;AACT;AAGO,MAAM,wBAAwB;AAAA,EACnC,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,MAAM;AAAA,EACN,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,oBAAoB;AACtB;AAGO,MAAM,8BAA8B;AAAA,EACzC,GAAG,wBAAwB,sBAAsB,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQtE,MAAM;AAAA,EACN,aAAa;AAAA,EACb,iBAAiB;AAAA,EAEjB,qBAAqB;AAAA,EAErB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAElB,MAAM;AAAA,EACN,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,mBAAmB;AAAA;AAAA;AAAA,EAInB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EAEjB,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,qBAAqB;AAAA,EAErB,yBAAyB;AAAA,EAEzB,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EAEvB,aAAa;AAAA,EACb,kBAAkB;AAAA;AAAA;AAAA,EAGlB,aAAa;AAAA,EAEb,oBAAoB;AAAA;AAAA,EAGpB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,eAAe;AAAA;AAAA;AAAA;AAAA,EAKf,+BAA+B;AAAA;AAAA,EAE/B,oBAAoB;AAAA;AAAA,EACpB,wBAAwB;AAAA;AAAA;AAAA;AAAA,EAGxB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaZ,8BAA8B;AAChC;AAEO,MAAM,wBAAwB;",
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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",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { useCallback, useContext, useMemo } from "react";
3
+ import React2, { useCallback, useContext, useMemo } from "react";
4
4
  import { LeftNavContext } from "../../LeftNavigationContext.js";
5
- import { LEFT_NAVIGATION_DATA_TESTID } from "../../constants/constants.js";
5
+ import { LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
6
6
  import { useKeyboardNavigation } from "../../hooks/index.js";
7
7
  import { StyledBorderBottom, StyledCollapsedContainer, StyledItem } from "./styled.js";
8
8
  import { usePropsWithDefaults } from "./usePropsWithDefaults.js";
@@ -26,6 +26,7 @@ const ItemRenderer = (props) => {
26
26
  } = propsWithDefault;
27
27
  const ctx = useContext(LeftNavContext);
28
28
  const {
29
+ leftNavProps,
29
30
  leftNavProps: { onItemClick, openedItem },
30
31
  expandedForAnimation,
31
32
  selectedParent,
@@ -34,6 +35,8 @@ const ItemRenderer = (props) => {
34
35
  setFocusedItem,
35
36
  visibleItemsRefs
36
37
  } = ctx;
38
+ const getOwnerProps = React2.useCallback(() => leftNavProps, [leftNavProps]);
39
+ const getOwnerPropsArguments = React2.useCallback(() => ({}), []);
37
40
  const opened = dsId === openedItem;
38
41
  const handleOnClick = useCallback(
39
42
  (e) => {
@@ -85,10 +88,14 @@ const ItemRenderer = (props) => {
85
88
  "data-type": item.type,
86
89
  "aria-label": ariaLabel,
87
90
  "data-testid": LEFT_NAVIGATION_DATA_TESTID.ITEM,
91
+ getOwnerProps,
92
+ getOwnerPropsArguments,
88
93
  children: [
89
94
  !expandedForAnimation ? /* @__PURE__ */ jsx(
90
95
  StyledCollapsedContainer,
91
96
  {
97
+ getOwnerProps,
98
+ getOwnerPropsArguments,
92
99
  justifyContent: "center",
93
100
  "data-testid": LEFT_NAVIGATION_DATA_TESTID.COLLAPSED_CONTAINER,
94
101
  children: CollapsedComponent && /* @__PURE__ */ jsx(CollapsedComponent, { item, ctx })
@@ -99,7 +106,9 @@ const ItemRenderer = (props) => {
99
106
  {
100
107
  opened,
101
108
  borderBottomMr,
102
- "data-testid": LEFT_NAVIGATION_DATA_TESTID.ITEM_BORDER_BOTTOM
109
+ "data-testid": LEFT_NAVIGATION_DATA_TESTID.ITEM_BORDER_BOTTOM,
110
+ getOwnerProps,
111
+ getOwnerPropsArguments
103
112
  }
104
113
  )
105
114
  ]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/ItemRenderer/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport { LeftNavContext } from '../../LeftNavigationContext.js';\nimport { LEFT_NAVIGATION_DATA_TESTID } from '../../constants/constants.js';\nimport { useKeyboardNavigation } from '../../hooks/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { StyledBorderBottom, StyledCollapsedContainer, StyledItem } from './styled.js';\nimport { usePropsWithDefaults } from './usePropsWithDefaults.js';\n\nexport const ItemRenderer: React.ComponentType<DSLeftNavigationT.ItemRendererT> = (props) => {\n const propsWithDefault = usePropsWithDefaults(props);\n const {\n item,\n item: {\n dsId,\n itemOpts: { selectable = false, focuseable, indent, ariaLabel, ariaRole, ariaExpanded, ariaDescribedBy },\n CollapsedComponent,\n },\n subitems,\n minHeight,\n paddingTop,\n onClick,\n shadowStyle,\n hasBorderBottom,\n borderBottomMr,\n children,\n } = propsWithDefault;\n\n const ctx = useContext(LeftNavContext);\n const {\n leftNavProps: { onItemClick, openedItem },\n expandedForAnimation,\n selectedParent,\n selectedItem,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = ctx;\n\n const opened = dsId === openedItem;\n\n const handleOnClick = useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n if (onClick) onClick(); // used by uncontrolled drilldowns\n if (onItemClick) onItemClick(item, e);\n if (selectable) setSelectedItem(item.dsId as string);\n },\n [onItemClick, item, setSelectedItem, selectable, onClick],\n );\n\n const handleFocus = useCallback(() => {\n if (focuseable) setFocusedItem(dsId as string);\n }, [dsId, setFocusedItem, focuseable]);\n\n const onKeyDown = useKeyboardNavigation({\n item,\n onClick: handleOnClick,\n });\n\n const cols = useMemo(() => (expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']), [expandedForAnimation]);\n const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);\n\n if (!expandedForAnimation && !CollapsedComponent) {\n return null;\n }\n\n const isSelectedParent = selectedParent === dsId;\n const visibleItemRef = dsId ? visibleItemsRefs.current[dsId] : undefined;\n return (\n <>\n <StyledItem\n innerRef={visibleItemRef}\n pt={paddingTop}\n pl={indent === undefined ? 'xxxs' : `${indent}px`}\n minHeight={minHeight}\n shadowStyle={shadowStyle(opened, item.type)}\n alignItems=\"flex-start\"\n cols={cols}\n onClick={!opened ? handleOnClick : () => null}\n onKeyDown={onKeyDown}\n selectable={selectable}\n selected={isSelected}\n selectedParent={isSelectedParent}\n opened={opened}\n onFocus={handleFocus}\n tabIndex={focuseable ? 0 : undefined}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n role={ariaRole}\n data-selected={isSelected}\n data-selectedparent={isSelectedParent}\n data-opened={opened}\n data-type={item.type}\n aria-label={ariaLabel}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM} // https://jira.elliemae.io/browse/PUI-15589\n >\n {!expandedForAnimation ? (\n <StyledCollapsedContainer\n justifyContent=\"center\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.COLLAPSED_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n >\n {CollapsedComponent && <CollapsedComponent item={item} ctx={ctx} />}\n </StyledCollapsedContainer>\n ) : (\n children\n )}\n {hasBorderBottom && (\n <StyledBorderBottom\n opened={opened}\n borderBottomMr={borderBottomMr}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_BORDER_BOTTOM} // https://jira.elliemae.io/browse/PUI-15589\n />\n )}\n </StyledItem>\n {subitems}\n </>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACsEnB,mBAgC+B,KA/B7B,YADF;AApEJ,SAAgB,aAAa,YAAY,eAAe;AACxD,SAAS,sBAAsB;AAC/B,SAAS,mCAAmC;AAC5C,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB,0BAA0B,kBAAkB;AACzE,SAAS,4BAA4B;AAE9B,MAAM,eAAqE,CAAC,UAAU;AAC3F,QAAM,mBAAmB,qBAAqB,KAAK;AACnD,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,aAAa,OAAO,YAAY,QAAQ,WAAW,UAAU,cAAc,gBAAgB;AAAA,MACvG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,MAAM,WAAW,cAAc;AACrC,QAAM;AAAA,IACJ,cAAc,EAAE,aAAa,WAAW;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,SAAS,SAAS;AAExB,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAqC;AACpC,UAAI,QAAS,SAAQ;AACrB,UAAI,YAAa,aAAY,MAAM,CAAC;AACpC,UAAI,WAAY,iBAAgB,KAAK,IAAc;AAAA,IACrD;AAAA,IACA,CAAC,aAAa,MAAM,iBAAiB,YAAY,OAAO;AAAA,EAC1D;AAEA,QAAM,cAAc,YAAY,MAAM;AACpC,QAAI,WAAY,gBAAe,IAAc;AAAA,EAC/C,GAAG,CAAC,MAAM,gBAAgB,UAAU,CAAC;AAErC,QAAM,YAAY,sBAAsB;AAAA,IACtC;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AAED,QAAM,OAAO,QAAQ,MAAO,uBAAuB,CAAC,QAAQ,OAAO,MAAM,IAAI,CAAC,MAAM,GAAI,CAAC,oBAAoB,CAAC;AAC9G,QAAM,aAAa,QAAQ,MAAM,iBAAiB,MAAM,CAAC,cAAc,IAAI,CAAC;AAE5E,MAAI,CAAC,wBAAwB,CAAC,oBAAoB;AAChD,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,mBAAmB;AAC5C,QAAM,iBAAiB,OAAO,iBAAiB,QAAQ,IAAI,IAAI;AAC/D,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV,IAAI;AAAA,QACJ,IAAI,WAAW,SAAY,SAAS,GAAG,MAAM;AAAA,QAC7C;AAAA,QACA,aAAa,YAAY,QAAQ,KAAK,IAAI;AAAA,QAC1C,YAAW;AAAA,QACX;AAAA,QACA,SAAS,CAAC,SAAS,gBAAgB,MAAM;AAAA,QACzC;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB;AAAA,QACA,SAAS;AAAA,QACT,UAAU,aAAa,IAAI;AAAA,QAC3B,oBAAkB;AAAA,QAClB,iBAAe;AAAA,QACf,MAAM;AAAA,QACN,iBAAe;AAAA,QACf,uBAAqB;AAAA,QACrB,eAAa;AAAA,QACb,aAAW,KAAK;AAAA,QAChB,cAAY;AAAA,QACZ,eAAa,4BAA4B;AAAA,QAExC;AAAA,WAAC,uBACA;AAAA,YAAC;AAAA;AAAA,cACC,gBAAe;AAAA,cACf,eAAa,4BAA4B;AAAA,cAExC,gCAAsB,oBAAC,sBAAmB,MAAY,KAAU;AAAA;AAAA,UACnE,IAEA;AAAA,UAED,mBACC;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,eAAa,4BAA4B;AAAA;AAAA,UAC3C;AAAA;AAAA;AAAA,IAEJ;AAAA,IACC;AAAA,KACH;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport { LeftNavContext } from '../../LeftNavigationContext.js';\nimport { LEFT_NAVIGATION_DATA_TESTID } from '../../constants/index.js';\nimport { useKeyboardNavigation } from '../../hooks/index.js';\nimport type { DSLeftNavigationT } from '../../react-desc-prop-types.js';\nimport { StyledBorderBottom, StyledCollapsedContainer, StyledItem } from './styled.js';\nimport { usePropsWithDefaults } from './usePropsWithDefaults.js';\n\nexport const ItemRenderer: React.ComponentType<DSLeftNavigationT.ItemRendererT> = (props) => {\n const propsWithDefault = usePropsWithDefaults(props);\n const {\n item,\n item: {\n dsId,\n itemOpts: { selectable = false, focuseable, indent, ariaLabel, ariaRole, ariaExpanded, ariaDescribedBy },\n CollapsedComponent,\n },\n subitems,\n minHeight,\n paddingTop,\n onClick,\n shadowStyle,\n hasBorderBottom,\n borderBottomMr,\n children,\n } = propsWithDefault;\n\n const ctx = useContext(LeftNavContext);\n const {\n leftNavProps,\n leftNavProps: { onItemClick, openedItem },\n expandedForAnimation,\n selectedParent,\n selectedItem,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = ctx;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n\n const opened = dsId === openedItem;\n\n const handleOnClick = useCallback(\n (e: React.MouseEvent<HTMLElement>) => {\n if (onClick) onClick(); // used by uncontrolled drilldowns\n if (onItemClick) onItemClick(item, e);\n if (selectable) setSelectedItem(item.dsId as string);\n },\n [onItemClick, item, setSelectedItem, selectable, onClick],\n );\n\n const handleFocus = useCallback(() => {\n if (focuseable) setFocusedItem(dsId as string);\n }, [dsId, setFocusedItem, focuseable]);\n\n const onKeyDown = useKeyboardNavigation({\n item,\n onClick: handleOnClick,\n });\n\n const cols = useMemo(() => (expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']), [expandedForAnimation]);\n const isSelected = useMemo(() => selectedItem === dsId, [selectedItem, dsId]);\n\n if (!expandedForAnimation && !CollapsedComponent) {\n return null;\n }\n\n const isSelectedParent = selectedParent === dsId;\n const visibleItemRef = dsId ? visibleItemsRefs.current[dsId] : undefined;\n return (\n <>\n <StyledItem\n innerRef={visibleItemRef}\n pt={paddingTop}\n pl={indent === undefined ? 'xxxs' : `${indent}px`}\n minHeight={minHeight}\n shadowStyle={shadowStyle(opened, item.type)}\n alignItems=\"flex-start\"\n cols={cols}\n onClick={!opened ? handleOnClick : () => null}\n onKeyDown={onKeyDown}\n selectable={selectable}\n selected={isSelected}\n selectedParent={isSelectedParent}\n opened={opened}\n onFocus={handleFocus}\n tabIndex={focuseable ? 0 : undefined}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n role={ariaRole}\n data-selected={isSelected}\n data-selectedparent={isSelectedParent}\n data-opened={opened}\n data-type={item.type}\n aria-label={ariaLabel}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {!expandedForAnimation ? (\n <StyledCollapsedContainer\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n justifyContent=\"center\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.COLLAPSED_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n >\n {CollapsedComponent && <CollapsedComponent item={item} ctx={ctx} />}\n </StyledCollapsedContainer>\n ) : (\n children\n )}\n {hasBorderBottom && (\n <StyledBorderBottom\n opened={opened}\n borderBottomMr={borderBottomMr}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ITEM_BORDER_BOTTOM} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n />\n )}\n </StyledItem>\n {subitems}\n </>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import Grid from "@elliemae/ds-grid";
3
3
  import { styled } from "@elliemae/ds-system";
4
- import { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from "../../constants/constants.js";
4
+ import { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from "../../constants/index.js";
5
5
  const borderOutside = (color, weight = 2) => `&:before {
6
6
  content: '';
7
7
  position: absolute;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/ItemRenderer/styled.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport Grid from '@elliemae/ds-grid';\nimport { styled, type Theme } from '@elliemae/ds-system';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from '../../constants/constants.js';\n\ninterface ItemProps {\n selected: boolean;\n selectable: boolean;\n opened: boolean;\n theme: Theme;\n shadowStyle: (theme: Theme) => string;\n}\n\nexport const borderOutside = (color: string, weight = 2): string => `&:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${weight}px solid ${color};\n pointer-events: none;\n}`;\n\nconst getItemBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.neutral['000'];\n};\n\nconst getItemHoverBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.brand['200'];\n};\n\nexport const StyledItem = styled(Grid, { name: DSLeftNavigationName, slot: LEFT_NAVIGATION_SLOTS.ITEM })<\n { minHeight: string; selectedParent: boolean } & ItemProps\n>`\n position: relative;\n cursor: ${(props) => (props.selectable && !props.opened ? 'pointer' : 'auto')};\n min-height: ${(props) => props.minHeight};\n\n background: ${getItemBackground};\n\n ${(props) => (props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '')}\n\n :hover {\n background: ${getItemHoverBackground};\n }\n\n :active {\n background: ${({ selectable, theme }) => (selectable ? theme.colors.brand[200] : 'white')};\n }\n\n ${(props) => props.shadowStyle(props.theme)};\n\n outline: none;\n\n :focus {\n ${(props) => borderOutside(props.theme.colors.brand[700])}\n }\n`;\n\nexport const StyledCollapsedContainer = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.COLLAPSED_CONTAINER,\n})``;\n\nexport const StyledBorderBottom = styled('div', {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.ITEM_BORDER_BOTTOM,\n})<{ opened: boolean; borderBottomMr?: string }>`\n margin-left: ${({ opened }) => (opened ? '12px' : '-4px')};\n margin-right: ${({ borderBottomMr }) => borderBottomMr};\n margin-top: 1px;\n height: 1px;\n width: calc(100% - ${({ borderBottomMr }) => borderBottomMr} - ${({ opened }) => (opened ? '12px' : '-4px')});\n background-color: #e0e3e8;\n grid-column: span 3;\n align-self: end;\n`;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport Grid from '@elliemae/ds-grid';\nimport { styled, type Theme } from '@elliemae/ds-system';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_SLOTS } from '../../constants/index.js';\n\ninterface ItemProps {\n selected: boolean;\n selectable: boolean;\n opened: boolean;\n theme: Theme;\n shadowStyle: (theme: Theme) => string;\n}\n\nexport const borderOutside = (color: string, weight = 2): string => `&:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: ${weight}px solid ${color};\n pointer-events: none;\n}`;\n\nconst getItemBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.neutral['000'];\n};\n\nconst getItemHoverBackground = ({ selectable, opened, selected, theme }: ItemProps) => {\n if (!selectable) return 'white';\n if (selected && !opened) return theme.colors.brand[200];\n return theme.colors.brand['200'];\n};\n\nexport const StyledItem = styled(Grid, { name: DSLeftNavigationName, slot: LEFT_NAVIGATION_SLOTS.ITEM })<\n { minHeight: string; selectedParent: boolean } & ItemProps\n>`\n position: relative;\n cursor: ${(props) => (props.selectable && !props.opened ? 'pointer' : 'auto')};\n min-height: ${(props) => props.minHeight};\n\n background: ${getItemBackground};\n\n ${(props) => (props.selected && !props.opened ? borderOutside(props.theme.colors.brand[500], 1) : '')}\n\n :hover {\n background: ${getItemHoverBackground};\n }\n\n :active {\n background: ${({ selectable, theme }) => (selectable ? theme.colors.brand[200] : 'white')};\n }\n\n ${(props) => props.shadowStyle(props.theme)};\n\n outline: none;\n\n :focus {\n ${(props) => borderOutside(props.theme.colors.brand[700])}\n }\n`;\n\nexport const StyledCollapsedContainer = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.COLLAPSED_CONTAINER,\n})``;\n\nexport const StyledBorderBottom = styled('div', {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.ITEM_BORDER_BOTTOM,\n})<{ opened: boolean; borderBottomMr?: string }>`\n margin-left: ${({ opened }) => (opened ? '12px' : '-4px')};\n margin-right: ${({ borderBottomMr }) => borderBottomMr};\n margin-top: 1px;\n height: 1px;\n width: calc(100% - ${({ borderBottomMr }) => borderBottomMr} - ${({ opened }) => (opened ? '12px' : '-4px')});\n background-color: #e0e3e8;\n grid-column: span 3;\n align-self: end;\n`;\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACCvB,OAAO,UAAU;AACjB,SAAS,cAA0B;AACnC,SAAS,sBAAsB,6BAA6B;AAUrD,MAAM,gBAAgB,CAAC,OAAe,SAAS,MAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAOxD,MAAM,YAAY,KAAK;AAAA;AAAA;AAInC,MAAM,oBAAoB,CAAC,EAAE,YAAY,QAAQ,UAAU,MAAM,MAAiB;AAChF,MAAI,CAAC,WAAY,QAAO;AACxB,MAAI,YAAY,CAAC,OAAQ,QAAO,MAAM,OAAO,MAAM,GAAG;AACtD,SAAO,MAAM,OAAO,QAAQ,KAAK;AACnC;AAEA,MAAM,yBAAyB,CAAC,EAAE,YAAY,QAAQ,UAAU,MAAM,MAAiB;AACrF,MAAI,CAAC,WAAY,QAAO;AACxB,MAAI,YAAY,CAAC,OAAQ,QAAO,MAAM,OAAO,MAAM,GAAG;AACtD,SAAO,MAAM,OAAO,MAAM,KAAK;AACjC;AAEO,MAAM,aAAa,OAAO,MAAM,EAAE,MAAM,sBAAsB,MAAM,sBAAsB,KAAK,CAAC;AAAA;AAAA,YAI3F,CAAC,UAAW,MAAM,cAAc,CAAC,MAAM,SAAS,YAAY,MAAO;AAAA,gBAC/D,CAAC,UAAU,MAAM,SAAS;AAAA;AAAA,gBAE1B,iBAAiB;AAAA;AAAA,IAE7B,CAAC,UAAW,MAAM,YAAY,CAAC,MAAM,SAAS,cAAc,MAAM,MAAM,OAAO,MAAM,GAAG,GAAG,CAAC,IAAI,EAAG;AAAA;AAAA;AAAA,kBAGrF,sBAAsB;AAAA;AAAA;AAAA;AAAA,kBAItB,CAAC,EAAE,YAAY,MAAM,MAAO,aAAa,MAAM,OAAO,MAAM,GAAG,IAAI,OAAQ;AAAA;AAAA;AAAA,IAGzF,CAAC,UAAU,MAAM,YAAY,MAAM,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKvC,CAAC,UAAU,cAAc,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC,CAAC;AAAA;AAAA;AAItD,MAAM,2BAA2B,OAAO,MAAM;AAAA,EACnD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAEM,MAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAAA,iBACgB,CAAC,EAAE,OAAO,MAAO,SAAS,SAAS,MAAO;AAAA,kBACzC,CAAC,EAAE,eAAe,MAAM,cAAc;AAAA;AAAA;AAAA,uBAGjC,CAAC,EAAE,eAAe,MAAM,cAAc,MAAM,CAAC,EAAE,OAAO,MAAO,SAAS,SAAS,MAAO;AAAA;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
+ import React2 from "react";
3
4
  import Grid from "@elliemae/ds-grid";
4
5
  import {
5
6
  AlertsSmallFill,
@@ -8,7 +9,8 @@ import {
8
9
  MessagesSmallFill
9
10
  } from "@elliemae/ds-icons";
10
11
  import { styled } from "@elliemae/ds-system";
11
- import { DSLeftNavigationName, LEFT_NAVIGATION_DATA_TESTID, LEFT_NAVIGATION_SLOTS } from "../../constants/constants.js";
12
+ import { DSLeftNavigationName, LEFT_NAVIGATION_DATA_TESTID, LEFT_NAVIGATION_SLOTS } from "../../constants/index.js";
13
+ import { LeftNavContext } from "../../LeftNavigationContext.js";
12
14
  const StyledIconContainer = styled("div", {
13
15
  name: DSLeftNavigationName,
14
16
  slot: LEFT_NAVIGATION_SLOTS.NOTIFICATIONS_CONTAINER
@@ -37,51 +39,67 @@ const Notifications = ({
37
39
  exceptions = false,
38
40
  alerts = false,
39
41
  messages = false
40
- }) => /* @__PURE__ */ jsxs(
41
- StyledIconContainer,
42
- {
43
- "data-testid": LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_CONTAINER,
44
- children: [
45
- /* @__PURE__ */ jsx(
46
- StyledInternalNotifications,
47
- {
48
- size: "m",
49
- color: ["brand-primary", "800"],
50
- "data-testid": LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_ICON
51
- }
52
- ),
53
- (exceptions || alerts || messages) && /* @__PURE__ */ jsxs(Grid, { cols: ["1fr", "1fr", "1fr"], gutter: "xxxs", mt: "2px", children: [
42
+ }) => {
43
+ const ctx = React2.useContext(LeftNavContext);
44
+ const { leftNavProps } = ctx;
45
+ const getOwnerProps = React2.useCallback(() => leftNavProps, [leftNavProps]);
46
+ const getOwnerPropsArguments = React2.useCallback(() => ({}), []);
47
+ return /* @__PURE__ */ jsxs(
48
+ StyledIconContainer,
49
+ {
50
+ "data-testid": LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_CONTAINER,
51
+ getOwnerProps,
52
+ getOwnerPropsArguments,
53
+ children: [
54
54
  /* @__PURE__ */ jsx(
55
- StyledExceptionsSmallFillWrapper,
55
+ StyledInternalNotifications,
56
56
  {
57
- width: "6px",
58
- height: "6px",
59
- "data-testid": LEFT_NAVIGATION_DATA_TESTID.EXCEPTIONS_ICON_WRAPPER,
60
- children: exceptions && /* @__PURE__ */ jsx(ExceptionsSmallFill, { width: "6px", height: "6px", color: ["warning", "900"] })
57
+ size: "m",
58
+ color: ["brand-primary", "800"],
59
+ "data-testid": LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_ICON,
60
+ getOwnerProps,
61
+ getOwnerPropsArguments
61
62
  }
62
63
  ),
63
- /* @__PURE__ */ jsx(
64
- StyledAlertsSmallFillWrapper,
65
- {
66
- width: "6px",
67
- height: "6px",
68
- "data-testid": LEFT_NAVIGATION_DATA_TESTID.ALERTS_ICON_WRAPPER,
69
- children: alerts && /* @__PURE__ */ jsx(AlertsSmallFill, { width: "6px", height: "6px", color: ["danger", "900"] })
70
- }
71
- ),
72
- /* @__PURE__ */ jsx(
73
- StyledMessagesSmallFillWrapper,
74
- {
75
- width: "6px",
76
- height: "6px",
77
- "data-testid": LEFT_NAVIGATION_DATA_TESTID.MESSAGES_ICON_WRAPPER,
78
- children: messages && /* @__PURE__ */ jsx(MessagesSmallFill, { width: "6px", height: "6px", color: ["success", "900"] })
79
- }
80
- )
81
- ] })
82
- ]
83
- }
84
- );
64
+ (exceptions || alerts || messages) && /* @__PURE__ */ jsxs(Grid, { cols: ["1fr", "1fr", "1fr"], gutter: "xxxs", mt: "2px", children: [
65
+ /* @__PURE__ */ jsx(
66
+ StyledExceptionsSmallFillWrapper,
67
+ {
68
+ width: "6px",
69
+ height: "6px",
70
+ "data-testid": LEFT_NAVIGATION_DATA_TESTID.EXCEPTIONS_ICON_WRAPPER,
71
+ getOwnerProps,
72
+ getOwnerPropsArguments,
73
+ children: exceptions && /* @__PURE__ */ jsx(ExceptionsSmallFill, { width: "6px", height: "6px", color: ["warning", "900"] })
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsx(
77
+ StyledAlertsSmallFillWrapper,
78
+ {
79
+ width: "6px",
80
+ height: "6px",
81
+ "data-testid": LEFT_NAVIGATION_DATA_TESTID.ALERTS_ICON_WRAPPER,
82
+ getOwnerProps,
83
+ getOwnerPropsArguments,
84
+ children: alerts && /* @__PURE__ */ jsx(AlertsSmallFill, { width: "6px", height: "6px", color: ["danger", "900"] })
85
+ }
86
+ ),
87
+ /* @__PURE__ */ jsx(
88
+ StyledMessagesSmallFillWrapper,
89
+ {
90
+ width: "6px",
91
+ height: "6px",
92
+ "data-testid": LEFT_NAVIGATION_DATA_TESTID.MESSAGES_ICON_WRAPPER,
93
+ getOwnerProps,
94
+ getOwnerPropsArguments,
95
+ children: messages && /* @__PURE__ */ jsx(MessagesSmallFill, { width: "6px", height: "6px", color: ["success", "900"] })
96
+ }
97
+ )
98
+ ] })
99
+ ]
100
+ }
101
+ );
102
+ };
85
103
  var Notifications_default = Notifications;
86
104
  export {
87
105
  Notifications,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Notifications/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport Grid from '@elliemae/ds-grid';\nimport {\n AlertsSmallFill,\n ExceptionsSmallFill,\n Notifications as InternalNotifications,\n MessagesSmallFill,\n} from '@elliemae/ds-icons';\nimport { styled } from '@elliemae/ds-system';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_DATA_TESTID, LEFT_NAVIGATION_SLOTS } from '../../constants/constants.js';\n\nconst StyledIconContainer = styled('div', {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.NOTIFICATIONS_CONTAINER,\n})`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\ntype NotificationsProps = {\n exceptions?: boolean;\n alerts?: boolean;\n messages?: boolean;\n};\nconst StyledInternalNotifications = styled(InternalNotifications, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.NOTIFICATIONS_ICON,\n})``;\nconst StyledExceptionsSmallFillWrapper = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.EXCEPTIONS_ICON_WRAPPER,\n})``;\nconst StyledAlertsSmallFillWrapper = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.ALERTS_ICON_WRAPPER,\n})``;\nconst StyledMessagesSmallFillWrapper = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.MESSAGES_ICON_WRAPPER,\n})``;\n\nexport const Notifications = ({\n exceptions = false,\n alerts = false,\n messages = false,\n}: NotificationsProps): JSX.Element => (\n <StyledIconContainer\n data-testid={LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n >\n <StyledInternalNotifications\n size=\"m\"\n color={['brand-primary', '800']}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_ICON} // https://jira.elliemae.io/browse/PUI-15589\n />\n {(exceptions || alerts || messages) && (\n <Grid cols={['1fr', '1fr', '1fr']} gutter=\"xxxs\" mt=\"2px\">\n <StyledExceptionsSmallFillWrapper\n width=\"6px\"\n height=\"6px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.EXCEPTIONS_ICON_WRAPPER} // https://jira.elliemae.io/browse/PUI-15589\n >\n {exceptions && <ExceptionsSmallFill width=\"6px\" height=\"6px\" color={['warning', '900']} />}\n </StyledExceptionsSmallFillWrapper>\n <StyledAlertsSmallFillWrapper\n width=\"6px\"\n height=\"6px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ALERTS_ICON_WRAPPER} // https://jira.elliemae.io/browse/PUI-15589\n >\n {alerts && <AlertsSmallFill width=\"6px\" height=\"6px\" color={['danger', '900']} />}\n </StyledAlertsSmallFillWrapper>\n <StyledMessagesSmallFillWrapper\n width=\"6px\"\n height=\"6px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.MESSAGES_ICON_WRAPPER} // https://jira.elliemae.io/browse/PUI-15589\n >\n {messages && <MessagesSmallFill width=\"6px\" height=\"6px\" color={['success', '900']} />}\n </StyledMessagesSmallFillWrapper>\n </Grid>\n )}\n </StyledIconContainer>\n);\n\nexport default Notifications;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACiDnB,cAME,YANF;AAhDJ,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,sBAAsB,6BAA6B,6BAA6B;AAEzF,MAAM,sBAAsB,OAAO,OAAO;AAAA,EACxC,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAAA;AAAA;AAAA;AAAA;AAUD,MAAM,8BAA8B,OAAO,uBAAuB;AAAA,EAChE,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AACD,MAAM,mCAAmC,OAAO,MAAM;AAAA,EACpD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AACD,MAAM,+BAA+B,OAAO,MAAM;AAAA,EAChD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AACD,MAAM,iCAAiC,OAAO,MAAM;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAEM,MAAM,gBAAgB,CAAC;AAAA,EAC5B,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AACb,MACE;AAAA,EAAC;AAAA;AAAA,IACC,eAAa,4BAA4B;AAAA,IAEzC;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAO,CAAC,iBAAiB,KAAK;AAAA,UAC9B,eAAa,4BAA4B;AAAA;AAAA,MAC3C;AAAA,OACE,cAAc,UAAU,aACxB,qBAAC,QAAK,MAAM,CAAC,OAAO,OAAO,KAAK,GAAG,QAAO,QAAO,IAAG,OAClD;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,eAAa,4BAA4B;AAAA,YAExC,wBAAc,oBAAC,uBAAoB,OAAM,OAAM,QAAO,OAAM,OAAO,CAAC,WAAW,KAAK,GAAG;AAAA;AAAA,QAC1F;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,eAAa,4BAA4B;AAAA,YAExC,oBAAU,oBAAC,mBAAgB,OAAM,OAAM,QAAO,OAAM,OAAO,CAAC,UAAU,KAAK,GAAG;AAAA;AAAA,QACjF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,QAAO;AAAA,YACP,eAAa,4BAA4B;AAAA,YAExC,sBAAY,oBAAC,qBAAkB,OAAM,OAAM,QAAO,OAAM,OAAO,CAAC,WAAW,KAAK,GAAG;AAAA;AAAA,QACtF;AAAA,SACF;AAAA;AAAA;AAEJ;AAGF,IAAO,wBAAQ;",
6
- "names": []
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport {\n AlertsSmallFill,\n ExceptionsSmallFill,\n Notifications as InternalNotifications,\n MessagesSmallFill,\n} from '@elliemae/ds-icons';\nimport { styled } from '@elliemae/ds-system';\nimport { DSLeftNavigationName, LEFT_NAVIGATION_DATA_TESTID, LEFT_NAVIGATION_SLOTS } from '../../constants/index.js';\nimport { LeftNavContext } from '../../LeftNavigationContext.js';\n\nconst StyledIconContainer = styled('div', {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.NOTIFICATIONS_CONTAINER,\n})`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\ntype NotificationsProps = {\n exceptions?: boolean;\n alerts?: boolean;\n messages?: boolean;\n};\nconst StyledInternalNotifications = styled(InternalNotifications, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.NOTIFICATIONS_ICON,\n})``;\nconst StyledExceptionsSmallFillWrapper = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.EXCEPTIONS_ICON_WRAPPER,\n})``;\nconst StyledAlertsSmallFillWrapper = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.ALERTS_ICON_WRAPPER,\n})``;\nconst StyledMessagesSmallFillWrapper = styled(Grid, {\n name: DSLeftNavigationName,\n slot: LEFT_NAVIGATION_SLOTS.MESSAGES_ICON_WRAPPER,\n})``;\n\nexport const Notifications = ({\n exceptions = false,\n alerts = false,\n messages = false,\n}: NotificationsProps): JSX.Element => {\n const ctx = React.useContext(LeftNavContext);\n const { leftNavProps } = ctx;\n const getOwnerProps = React.useCallback(() => leftNavProps, [leftNavProps]);\n const getOwnerPropsArguments = React.useCallback(() => ({}), []);\n return (\n <StyledIconContainer\n data-testid={LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_CONTAINER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledInternalNotifications\n size=\"m\"\n color={['brand-primary', '800']}\n data-testid={LEFT_NAVIGATION_DATA_TESTID.NOTIFICATIONS_ICON} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n />\n {(exceptions || alerts || messages) && (\n <Grid cols={['1fr', '1fr', '1fr']} gutter=\"xxxs\" mt=\"2px\">\n <StyledExceptionsSmallFillWrapper\n width=\"6px\"\n height=\"6px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.EXCEPTIONS_ICON_WRAPPER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {exceptions && <ExceptionsSmallFill width=\"6px\" height=\"6px\" color={['warning', '900']} />}\n </StyledExceptionsSmallFillWrapper>\n <StyledAlertsSmallFillWrapper\n width=\"6px\"\n height=\"6px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.ALERTS_ICON_WRAPPER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {alerts && <AlertsSmallFill width=\"6px\" height=\"6px\" color={['danger', '900']} />}\n </StyledAlertsSmallFillWrapper>\n <StyledMessagesSmallFillWrapper\n width=\"6px\"\n height=\"6px\"\n data-testid={LEFT_NAVIGATION_DATA_TESTID.MESSAGES_ICON_WRAPPER} // https://jira.elliemae.io/browse/PUI-15589\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {messages && <MessagesSmallFill width=\"6px\" height=\"6px\" color={['success', '900']} />}\n </StyledMessagesSmallFillWrapper>\n </Grid>\n )}\n </StyledIconContainer>\n );\n};\n\nexport default Notifications;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC0DjB,cAQE,YARF;AAzDN,OAAOA,YAAW;AAClB,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,sBAAsB,6BAA6B,6BAA6B;AACzF,SAAS,sBAAsB;AAE/B,MAAM,sBAAsB,OAAO,OAAO;AAAA,EACxC,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAAA;AAAA;AAAA;AAAA;AAUD,MAAM,8BAA8B,OAAO,uBAAuB;AAAA,EAChE,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AACD,MAAM,mCAAmC,OAAO,MAAM;AAAA,EACpD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AACD,MAAM,+BAA+B,OAAO,MAAM;AAAA,EAChD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AACD,MAAM,iCAAiC,OAAO,MAAM;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,sBAAsB;AAC9B,CAAC;AAEM,MAAM,gBAAgB,CAAC;AAAA,EAC5B,aAAa;AAAA,EACb,SAAS;AAAA,EACT,WAAW;AACb,MAAuC;AACrC,QAAM,MAAMA,OAAM,WAAW,cAAc;AAC3C,QAAM,EAAE,aAAa,IAAI;AACzB,QAAM,gBAAgBA,OAAM,YAAY,MAAM,cAAc,CAAC,YAAY,CAAC;AAC1E,QAAM,yBAAyBA,OAAM,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,4BAA4B;AAAA,MACzC;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAO,CAAC,iBAAiB,KAAK;AAAA,YAC9B,eAAa,4BAA4B;AAAA,YACzC;AAAA,YACA;AAAA;AAAA,QACF;AAAA,SACE,cAAc,UAAU,aACxB,qBAAC,QAAK,MAAM,CAAC,OAAO,OAAO,KAAK,GAAG,QAAO,QAAO,IAAG,OAClD;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,QAAO;AAAA,cACP,eAAa,4BAA4B;AAAA,cACzC;AAAA,cACA;AAAA,cAEC,wBAAc,oBAAC,uBAAoB,OAAM,OAAM,QAAO,OAAM,OAAO,CAAC,WAAW,KAAK,GAAG;AAAA;AAAA,UAC1F;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,QAAO;AAAA,cACP,eAAa,4BAA4B;AAAA,cACzC;AAAA,cACA;AAAA,cAEC,oBAAU,oBAAC,mBAAgB,OAAM,OAAM,QAAO,OAAM,OAAO,CAAC,UAAU,KAAK,GAAG;AAAA;AAAA,UACjF;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,QAAO;AAAA,cACP,eAAa,4BAA4B;AAAA,cACzC;AAAA,cACA;AAAA,cAEC,sBAAY,oBAAC,qBAAkB,OAAM,OAAM,QAAO,OAAM,OAAO,CAAC,WAAW,KAAK,GAAG;AAAA;AAAA,UACtF;AAAA,WACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,wBAAQ;",
6
+ "names": ["React"]
7
7
  }
@@ -1,8 +1,14 @@
1
1
  import * as React from "react";
2
- export * from "./constants.js";
3
- export * from "./ItemRenderer/index.js";
4
- export * from "./ChevronItem/index.js";
5
- export * from "./Notifications/index.js";
6
- export * from "./OpenWindowItem/index.js";
7
- export * from "./Icon/index.js";
2
+ import { ItemRenderer } from "./ItemRenderer/index.js";
3
+ import { ChevronItem } from "./ChevronItem/index.js";
4
+ import { Notifications } from "./Notifications/index.js";
5
+ import { OpenWindow } from "./OpenWindowItem/index.js";
6
+ import { Icon } from "./Icon/index.js";
7
+ export {
8
+ ChevronItem,
9
+ Icon,
10
+ ItemRenderer,
11
+ Notifications,
12
+ OpenWindow
13
+ };
8
14
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './constants.js';\nexport * from './ItemRenderer/index.js';\nexport * from './ChevronItem/index.js';\nexport * from './Notifications/index.js';\nexport * from './OpenWindowItem/index.js';\nexport * from './Icon/index.js';\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { ItemRenderer } from './ItemRenderer/index.js';\nexport { ChevronItem } from './ChevronItem/index.js';\nexport { Notifications } from './Notifications/index.js';\nexport { OpenWindow } from './OpenWindowItem/index.js';\nexport { Icon } from './Icon/index.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,YAAY;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { useCallback, useMemo, useLayoutEffect, useContext } from "react";
3
- import { CHEVRON_BACK_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from "../exported-related/constants.js";
3
+ import { CHEVRON_BACK_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from "../constants/index.js";
4
4
  import LeftNavContext from "../LeftNavigationContext.js";
5
5
  const nextIndex = (index, length) => (index + 1) % length;
6
6
  const prevIndex = (index, length) => (index - 1 + length) % length;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useKeyboardNavigation.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport type React from 'react';\nimport { useCallback, useMemo, useLayoutEffect, useContext } from 'react';\nimport { CHEVRON_BACK_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from '../exported-related/constants.js';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\nimport LeftNavContext from '../LeftNavigationContext.js';\n\nconst nextIndex = (index: number, length: number) => (index + 1) % length;\nconst prevIndex = (index: number, length: number) => (index - 1 + length) % length;\n\ntype UseKeyboardNavigationProps = {\n item: DSLeftNavigationT.GenericItemItemProps;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick: (e: any) => void;\n};\n\nexport const useKeyboardNavigation = ({ item, onClick }: UseKeyboardNavigationProps): React.KeyboardEventHandler => {\n const {\n dsId,\n itemOpts: { selectable, openable, closable },\n } = item;\n\n const { visibleItems, visibleItemsRefs } = useContext(LeftNavContext);\n\n const currentIndex = useMemo(\n () => visibleItems.findIndex((visibleItemDsId) => visibleItemDsId === dsId),\n [dsId, visibleItems],\n );\n\n const { setFocusedItem, focusedItem, setSelectedItem } = useContext(LeftNavContext);\n\n const focusAndSelect = useCallback(\n (nextDsId: string) => {\n setFocusedItem(nextDsId);\n setSelectedItem(nextDsId);\n },\n [setFocusedItem, setSelectedItem],\n );\n\n useLayoutEffect(() => {\n if (dsId === focusedItem) visibleItemsRefs.current[dsId]?.current?.focus();\n }, [dsId, focusedItem, visibleItemsRefs]);\n\n const onKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n const { key } = e;\n\n // Prevent default behaviour when not tab\n if (key !== 'Tab') {\n e.preventDefault();\n }\n\n if (dsId && (key === 'Enter' || key === ' ')) {\n if (selectable) {\n onClick(e);\n focusAndSelect(dsId);\n } else if (focusedItem === CHEVRON_BACK_DS_ID) {\n onClick(e);\n focusAndSelect(dsId);\n } else if (focusedItem === FOOTER_MENU_CLOSE_DS_ID) {\n onClick(e);\n setFocusedItem(dsId);\n }\n }\n\n if (openable && key === 'ArrowRight') {\n onClick(e);\n }\n\n if (dsId && closable && key === 'ArrowLeft') {\n onClick(e);\n setFocusedItem(dsId);\n }\n\n if (key === 'ArrowDown') {\n const nextDsId = visibleItems[nextIndex(currentIndex, visibleItems.length)];\n setFocusedItem(nextDsId);\n }\n\n if (key === 'ArrowUp') {\n const prevDsId = visibleItems[prevIndex(currentIndex, visibleItems.length)];\n setFocusedItem(prevDsId);\n }\n\n if (key === 'Home') {\n setFocusedItem(visibleItems[0]);\n }\n\n if (key === 'End') {\n setFocusedItem(visibleItems[visibleItems.length - 1]);\n }\n },\n [\n openable,\n closable,\n selectable,\n focusedItem,\n onClick,\n focusAndSelect,\n dsId,\n setFocusedItem,\n visibleItems,\n currentIndex,\n ],\n );\n\n return onKeyDown;\n};\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport type React from 'react';\nimport { useCallback, useMemo, useLayoutEffect, useContext } from 'react';\nimport { CHEVRON_BACK_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from '../constants/index.js';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\nimport LeftNavContext from '../LeftNavigationContext.js';\n\nconst nextIndex = (index: number, length: number) => (index + 1) % length;\nconst prevIndex = (index: number, length: number) => (index - 1 + length) % length;\n\ntype UseKeyboardNavigationProps = {\n item: DSLeftNavigationT.GenericItemItemProps;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick: (e: any) => void;\n};\n\nexport const useKeyboardNavigation = ({ item, onClick }: UseKeyboardNavigationProps): React.KeyboardEventHandler => {\n const {\n dsId,\n itemOpts: { selectable, openable, closable },\n } = item;\n\n const { visibleItems, visibleItemsRefs } = useContext(LeftNavContext);\n\n const currentIndex = useMemo(\n () => visibleItems.findIndex((visibleItemDsId) => visibleItemDsId === dsId),\n [dsId, visibleItems],\n );\n\n const { setFocusedItem, focusedItem, setSelectedItem } = useContext(LeftNavContext);\n\n const focusAndSelect = useCallback(\n (nextDsId: string) => {\n setFocusedItem(nextDsId);\n setSelectedItem(nextDsId);\n },\n [setFocusedItem, setSelectedItem],\n );\n\n useLayoutEffect(() => {\n if (dsId === focusedItem) visibleItemsRefs.current[dsId]?.current?.focus();\n }, [dsId, focusedItem, visibleItemsRefs]);\n\n const onKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n const { key } = e;\n\n // Prevent default behaviour when not tab\n if (key !== 'Tab') {\n e.preventDefault();\n }\n\n if (dsId && (key === 'Enter' || key === ' ')) {\n if (selectable) {\n onClick(e);\n focusAndSelect(dsId);\n } else if (focusedItem === CHEVRON_BACK_DS_ID) {\n onClick(e);\n focusAndSelect(dsId);\n } else if (focusedItem === FOOTER_MENU_CLOSE_DS_ID) {\n onClick(e);\n setFocusedItem(dsId);\n }\n }\n\n if (openable && key === 'ArrowRight') {\n onClick(e);\n }\n\n if (dsId && closable && key === 'ArrowLeft') {\n onClick(e);\n setFocusedItem(dsId);\n }\n\n if (key === 'ArrowDown') {\n const nextDsId = visibleItems[nextIndex(currentIndex, visibleItems.length)];\n setFocusedItem(nextDsId);\n }\n\n if (key === 'ArrowUp') {\n const prevDsId = visibleItems[prevIndex(currentIndex, visibleItems.length)];\n setFocusedItem(prevDsId);\n }\n\n if (key === 'Home') {\n setFocusedItem(visibleItems[0]);\n }\n\n if (key === 'End') {\n setFocusedItem(visibleItems[visibleItems.length - 1]);\n }\n },\n [\n openable,\n closable,\n selectable,\n focusedItem,\n onClick,\n focusAndSelect,\n dsId,\n setFocusedItem,\n visibleItems,\n currentIndex,\n ],\n );\n\n return onKeyDown;\n};\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACIvB,SAAS,aAAa,SAAS,iBAAiB,kBAAkB;AAClE,SAAS,oBAAoB,+BAA+B;AAE5D,OAAO,oBAAoB;AAE3B,MAAM,YAAY,CAAC,OAAe,YAAoB,QAAQ,KAAK;AACnE,MAAM,YAAY,CAAC,OAAe,YAAoB,QAAQ,IAAI,UAAU;AAQrE,MAAM,wBAAwB,CAAC,EAAE,MAAM,QAAQ,MAA8D;AAClH,QAAM;AAAA,IACJ;AAAA,IACA,UAAU,EAAE,YAAY,UAAU,SAAS;AAAA,EAC7C,IAAI;AAEJ,QAAM,EAAE,cAAc,iBAAiB,IAAI,WAAW,cAAc;AAEpE,QAAM,eAAe;AAAA,IACnB,MAAM,aAAa,UAAU,CAAC,oBAAoB,oBAAoB,IAAI;AAAA,IAC1E,CAAC,MAAM,YAAY;AAAA,EACrB;AAEA,QAAM,EAAE,gBAAgB,aAAa,gBAAgB,IAAI,WAAW,cAAc;AAElF,QAAM,iBAAiB;AAAA,IACrB,CAAC,aAAqB;AACpB,qBAAe,QAAQ;AACvB,sBAAgB,QAAQ;AAAA,IAC1B;AAAA,IACA,CAAC,gBAAgB,eAAe;AAAA,EAClC;AAEA,kBAAgB,MAAM;AACpB,QAAI,SAAS,YAAa,kBAAiB,QAAQ,IAAI,GAAG,SAAS,MAAM;AAAA,EAC3E,GAAG,CAAC,MAAM,aAAa,gBAAgB,CAAC;AAExC,QAAM,YAAwC;AAAA,IAC5C,CAAC,MAAM;AACL,YAAM,EAAE,IAAI,IAAI;AAGhB,UAAI,QAAQ,OAAO;AACjB,UAAE,eAAe;AAAA,MACnB;AAEA,UAAI,SAAS,QAAQ,WAAW,QAAQ,MAAM;AAC5C,YAAI,YAAY;AACd,kBAAQ,CAAC;AACT,yBAAe,IAAI;AAAA,QACrB,WAAW,gBAAgB,oBAAoB;AAC7C,kBAAQ,CAAC;AACT,yBAAe,IAAI;AAAA,QACrB,WAAW,gBAAgB,yBAAyB;AAClD,kBAAQ,CAAC;AACT,yBAAe,IAAI;AAAA,QACrB;AAAA,MACF;AAEA,UAAI,YAAY,QAAQ,cAAc;AACpC,gBAAQ,CAAC;AAAA,MACX;AAEA,UAAI,QAAQ,YAAY,QAAQ,aAAa;AAC3C,gBAAQ,CAAC;AACT,uBAAe,IAAI;AAAA,MACrB;AAEA,UAAI,QAAQ,aAAa;AACvB,cAAM,WAAW,aAAa,UAAU,cAAc,aAAa,MAAM,CAAC;AAC1E,uBAAe,QAAQ;AAAA,MACzB;AAEA,UAAI,QAAQ,WAAW;AACrB,cAAM,WAAW,aAAa,UAAU,cAAc,aAAa,MAAM,CAAC;AAC1E,uBAAe,QAAQ;AAAA,MACzB;AAEA,UAAI,QAAQ,QAAQ;AAClB,uBAAe,aAAa,CAAC,CAAC;AAAA,MAChC;AAEA,UAAI,QAAQ,OAAO;AACjB,uBAAe,aAAa,aAAa,SAAS,CAAC,CAAC;AAAA,MACtD;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { useEffect } from "react";
3
- import { ITEM_TYPES } from "../exported-related/constants.js";
3
+ import { ITEM_TYPES } from "../constants/index.js";
4
4
  const { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;
5
5
  const isSelectableOutOfTheBox = (elem) => typeof elem.type === "string" && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;
6
6
  const isSelectableCustom = (elem) => elem.itemOpts.selectable;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useSelectFirstBodyItem.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport type React from 'react';\nimport { useEffect } from 'react';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\nimport { ITEM_TYPES } from '../exported-related/constants.js';\n\nconst { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;\n\nconst isSelectableOutOfTheBox = (elem: DSLeftNavigationT.GenericItemItemProps) =>\n typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;\nconst isSelectableCustom = (elem: DSLeftNavigationT.GenericItemItemProps) => elem.itemOpts.selectable;\n\nconst isItemInsideTheTree = (item: DSLeftNavigationT.GenericItemItemProps, itemID: string | null): boolean =>\n item.dsId === itemID || !!item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));\n\nexport const useSelectFirstBodyItem = (\n items: DSLeftNavigationT.GenericItemItemProps[],\n openedItem: string | null,\n selectedItem: string | null,\n setSelectedItem: React.Dispatch<React.SetStateAction<string | null>>,\n disableDefaultSelection: boolean | undefined,\n): void => {\n useEffect(() => {\n if (!disableDefaultSelection && items && items.length && openedItem) {\n const index = items.findIndex((elem) => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));\n const isItemInside = items.some((it) => isItemInsideTheTree(it, selectedItem));\n if (isItemInside) setSelectedItem(selectedItem);\n else if (index !== -1) setSelectedItem(items[index].dsId ?? '');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [openedItem, setSelectedItem, disableDefaultSelection]);\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,iBAAiB;AAE1B,SAAS,kBAAkB;AAE3B,MAAM,EAAE,yBAAyB,sBAAsB,IAAI;AAE3D,MAAM,0BAA0B,CAAC,SAC/B,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS,2BAA2B,KAAK,SAAS;AAC1F,MAAM,qBAAqB,CAAC,SAAiD,KAAK,SAAS;AAE3F,MAAM,sBAAsB,CAAC,MAA8C,WACzE,KAAK,SAAS,UAAU,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK,CAAC,OAAO,oBAAoB,IAAI,MAAM,CAAC;AAExF,MAAM,yBAAyB,CACpC,OACA,YACA,cACA,iBACA,4BACS;AACT,YAAU,MAAM;AACd,QAAI,CAAC,2BAA2B,SAAS,MAAM,UAAU,YAAY;AACnE,YAAM,QAAQ,MAAM,UAAU,CAAC,SAAS,wBAAwB,IAAI,KAAK,mBAAmB,IAAI,CAAC;AACjG,YAAM,eAAe,MAAM,KAAK,CAAC,OAAO,oBAAoB,IAAI,YAAY,CAAC;AAC7E,UAAI,aAAc,iBAAgB,YAAY;AAAA,eACrC,UAAU,GAAI,iBAAgB,MAAM,KAAK,EAAE,QAAQ,EAAE;AAAA,IAChE;AAAA,EAEF,GAAG,CAAC,YAAY,iBAAiB,uBAAuB,CAAC;AAC3D;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport type React from 'react';\nimport { useEffect } from 'react';\nimport { ITEM_TYPES } from '../constants/index.js';\nimport type { DSLeftNavigationT } from '../react-desc-prop-types.js';\n\nconst { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;\n\nconst isSelectableOutOfTheBox = (elem: DSLeftNavigationT.GenericItemItemProps) =>\n typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;\nconst isSelectableCustom = (elem: DSLeftNavigationT.GenericItemItemProps) => elem.itemOpts.selectable;\n\nconst isItemInsideTheTree = (item: DSLeftNavigationT.GenericItemItemProps, itemID: string | null): boolean =>\n item.dsId === itemID || !!item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));\n\nexport const useSelectFirstBodyItem = (\n items: DSLeftNavigationT.GenericItemItemProps[],\n openedItem: string | null,\n selectedItem: string | null,\n setSelectedItem: React.Dispatch<React.SetStateAction<string | null>>,\n disableDefaultSelection: boolean | undefined,\n): void => {\n useEffect(() => {\n if (!disableDefaultSelection && items && items.length && openedItem) {\n const index = items.findIndex((elem) => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));\n const isItemInside = items.some((it) => isItemInsideTheTree(it, selectedItem));\n if (isItemInside) setSelectedItem(selectedItem);\n else if (index !== -1) setSelectedItem(items[index].dsId ?? '');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [openedItem, setSelectedItem, disableDefaultSelection]);\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAG3B,MAAM,EAAE,yBAAyB,sBAAsB,IAAI;AAE3D,MAAM,0BAA0B,CAAC,SAC/B,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS,2BAA2B,KAAK,SAAS;AAC1F,MAAM,qBAAqB,CAAC,SAAiD,KAAK,SAAS;AAE3F,MAAM,sBAAsB,CAAC,MAA8C,WACzE,KAAK,SAAS,UAAU,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK,CAAC,OAAO,oBAAoB,IAAI,MAAM,CAAC;AAExF,MAAM,yBAAyB,CACpC,OACA,YACA,cACA,iBACA,4BACS;AACT,YAAU,MAAM;AACd,QAAI,CAAC,2BAA2B,SAAS,MAAM,UAAU,YAAY;AACnE,YAAM,QAAQ,MAAM,UAAU,CAAC,SAAS,wBAAwB,IAAI,KAAK,mBAAmB,IAAI,CAAC;AACjG,YAAM,eAAe,MAAM,KAAK,CAAC,OAAO,oBAAoB,IAAI,YAAY,CAAC;AAC7E,UAAI,aAAc,iBAAgB,YAAY;AAAA,eACrC,UAAU,GAAI,iBAAgB,MAAM,KAAK,EAAE,QAAQ,EAAE;AAAA,IAChE;AAAA,EAEF,GAAG,CAAC,YAAY,iBAAiB,uBAAuB,CAAC;AAC3D;",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,19 +1,40 @@
1
1
  import * as React from "react";
2
2
  import { LeftNavigation } from "./LeftNavigation.js";
3
3
  var index_default = LeftNavigation;
4
- import { LeftNavItemPropsSchema, LeftNavItemOptionsSchema } from "./react-desc-prop-types.js";
5
- import { LeftNavigation as LeftNavigation2, LeftNavigationWithSchema } from "./LeftNavigation.js";
6
- export * from "./exported-related/index.js";
7
4
  import {
5
+ CHEVRON_BACK_DS_ID,
8
6
  DSLeftNavigationName,
9
- LEFT_NAVIGATION_SLOTS,
10
- LEFT_NAVIGATION_REGION_FOCUSES,
7
+ DSLeftNavigationSlots,
8
+ FOOTER_DS_ID,
9
+ FOOTER_MENU_CLOSE_DS_ID,
10
+ ITEM_TYPES,
11
+ LABEL_OVERFLOW,
11
12
  LEFT_NAVIGATION_DATA_TESTID,
12
- DSLeftNavigationSlots
13
- } from "./constants/constants.js";
13
+ LEFT_NAVIGATION_REGION_FOCUSES,
14
+ LEFT_NAVIGATION_SLOTS,
15
+ MAP_ITEMS_TO_SKELETON
16
+ } from "./constants/index.js";
17
+ import { ChevronItem, Icon, ItemRenderer, Notifications, OpenWindow } from "./exported-related/index.js";
18
+ import { LeftNavigation as LeftNavigation2, LeftNavigationWithSchema } from "./LeftNavigation.js";
19
+ import {
20
+ DSLeftNavigationItemPropTypesSchema,
21
+ DSLeftNavigationPropTypesSchema,
22
+ LeftNavItemOptionsSchema,
23
+ LeftNavItemPropsSchema
24
+ } from "./react-desc-prop-types.js";
14
25
  export {
26
+ CHEVRON_BACK_DS_ID,
27
+ ChevronItem,
28
+ DSLeftNavigationItemPropTypesSchema,
15
29
  DSLeftNavigationName,
30
+ DSLeftNavigationPropTypesSchema,
16
31
  DSLeftNavigationSlots,
32
+ FOOTER_DS_ID,
33
+ FOOTER_MENU_CLOSE_DS_ID,
34
+ ITEM_TYPES,
35
+ Icon,
36
+ ItemRenderer,
37
+ LABEL_OVERFLOW,
17
38
  LEFT_NAVIGATION_DATA_TESTID,
18
39
  LEFT_NAVIGATION_REGION_FOCUSES,
19
40
  LEFT_NAVIGATION_SLOTS,
@@ -21,6 +42,9 @@ export {
21
42
  LeftNavItemPropsSchema,
22
43
  LeftNavigation2 as LeftNavigation,
23
44
  LeftNavigationWithSchema,
45
+ MAP_ITEMS_TO_SKELETON,
46
+ Notifications,
47
+ OpenWindow,
24
48
  index_default as default
25
49
  };
26
50
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { LeftNavigation } from './LeftNavigation.js';\n\nexport default LeftNavigation;\nexport { LeftNavItemPropsSchema, LeftNavItemOptionsSchema, type DSLeftNavigationT } from './react-desc-prop-types.js';\nexport { LeftNavigation, LeftNavigationWithSchema } from './LeftNavigation.js';\nexport * from './exported-related/index.js';\nexport {\n DSLeftNavigationName,\n LEFT_NAVIGATION_SLOTS,\n LEFT_NAVIGATION_REGION_FOCUSES,\n LEFT_NAVIGATION_DATA_TESTID,\n // re-exporting under old alias to avoid not really useful breaking change\n DSLeftNavigationSlots,\n} from './constants/constants.js';\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sBAAsB;AAE/B,IAAO,gBAAQ;AACf,SAAS,wBAAwB,gCAAwD;AACzF,SAAS,kBAAAA,iBAAgB,gCAAgC;AACzD,cAAc;AACd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACK;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { LeftNavigation } from './LeftNavigation.js';\n\nexport default LeftNavigation;\nexport {\n CHEVRON_BACK_DS_ID,\n DSLeftNavigationName,\n DSLeftNavigationSlots,\n FOOTER_DS_ID,\n FOOTER_MENU_CLOSE_DS_ID,\n ITEM_TYPES,\n LABEL_OVERFLOW,\n LEFT_NAVIGATION_DATA_TESTID,\n LEFT_NAVIGATION_REGION_FOCUSES,\n LEFT_NAVIGATION_SLOTS,\n MAP_ITEMS_TO_SKELETON,\n} from './constants/index.js';\nexport { ChevronItem, Icon, ItemRenderer, Notifications, OpenWindow } from './exported-related/index.js';\nexport { LeftNavigation, LeftNavigationWithSchema } from './LeftNavigation.js';\nexport {\n DSLeftNavigationItemPropTypesSchema,\n DSLeftNavigationPropTypesSchema,\n LeftNavItemOptionsSchema,\n LeftNavItemPropsSchema,\n type DSLeftNavigationT,\n} from './react-desc-prop-types.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sBAAsB;AAE/B,IAAO,gBAAQ;AACf;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa,MAAM,cAAc,eAAe,kBAAkB;AAC3E,SAAS,kBAAAA,iBAAgB,gCAAgC;AACzD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;",
6
6
  "names": ["LeftNavigation"]
7
7
  }
@@ -2,9 +2,9 @@ import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { ArrowheadDown, ArrowheadRight } from "@elliemae/ds-icons";
4
4
  import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
5
- import { useMemo } from "react";
6
- import { LEFT_NAVIGATION_DATA_TESTID } from "../../constants/constants.js";
7
- import { ITEM_TYPES, ItemRenderer } from "../../exported-related/index.js";
5
+ import React2, { useMemo } from "react";
6
+ import { ITEM_TYPES, LEFT_NAVIGATION_DATA_TESTID } from "../../constants/index.js";
7
+ import { ItemRenderer } from "../../exported-related/index.js";
8
8
  import { ItemSeparator } from "../ItemSeparator/index.js";
9
9
  import { ItemTextLabel } from "../ItemTextLabel/index.js";
10
10
  import { ItemWithDate } from "../ItemWithDate/index.js";
@@ -49,9 +49,12 @@ const ItemControlledDrilldown = (props) => {
49
49
  },
50
50
  ctx,
51
51
  ctx: {
52
+ leftNavProps,
52
53
  leftNavProps: { labelOverflow: leftNavLabelOverflow }
53
54
  }
54
55
  } = props;
56
+ const getOwnerProps = React2.useCallback(() => leftNavProps, [leftNavProps]);
57
+ const getOwnerPropsArguments = React2.useCallback(() => ({}), []);
55
58
  const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
56
59
  const arrowIcon = useMemo(() => {
57
60
  const Component = isOpened ? ArrowheadDown : ArrowheadRight;
@@ -85,6 +88,8 @@ const ItemControlledDrilldown = (props) => {
85
88
  pl: "xxs",
86
89
  mt: "-2px",
87
90
  "data-testid": LEFT_NAVIGATION_DATA_TESTID.ARROW_CONTAINER,
91
+ getOwnerProps,
92
+ getOwnerPropsArguments,
88
93
  children: arrowIcon
89
94
  }
90
95
  ),
@@ -96,6 +101,8 @@ const ItemControlledDrilldown = (props) => {
96
101
  labelBold,
97
102
  labelColor,
98
103
  "data-testid": LEFT_NAVIGATION_DATA_TESTID.LIST_ITEM_LABEL_ID_EXCEPTION,
104
+ getOwnerProps,
105
+ getOwnerPropsArguments,
99
106
  children: labelOverflow === "truncate" ? /* @__PURE__ */ jsx(SimpleTruncatedTooltipText, { value: label, placement: "bottom-start" }) : label
100
107
  }
101
108
  ),
@@ -107,12 +114,16 @@ const ItemControlledDrilldown = (props) => {
107
114
  alignItems: "center",
108
115
  gutter: "xxs",
109
116
  "data-testid": LEFT_NAVIGATION_DATA_TESTID.RIGHT_CONTAINER,
117
+ getOwnerProps,
118
+ getOwnerPropsArguments,
110
119
  children: [
111
120
  /* @__PURE__ */ jsx(
112
121
  StyledDate,
113
122
  {
114
123
  ml: "xxs",
115
124
  "data-testid": LEFT_NAVIGATION_DATA_TESTID.ITEM_DATE,
125
+ getOwnerProps,
126
+ getOwnerPropsArguments,
116
127
  children: labelRightSection
117
128
  }
118
129
  ),