@elliemae/ds-left-navigation 2.3.0-next.0 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/dist/cjs/LeftNavigation.js +51 -0
  2. package/dist/cjs/LeftNavigation.js.map +7 -0
  3. package/dist/cjs/LeftNavigationContext.js +67 -0
  4. package/dist/cjs/LeftNavigationContext.js.map +7 -0
  5. package/dist/cjs/common/getItemBackgroundStyle.js +51 -0
  6. package/dist/cjs/common/getItemBackgroundStyle.js.map +7 -0
  7. package/dist/cjs/common/getLeftBorderStyle.js +54 -0
  8. package/dist/cjs/common/getLeftBorderStyle.js.map +7 -0
  9. package/dist/cjs/common/getScrollbarStyle.js +58 -0
  10. package/dist/cjs/common/getScrollbarStyle.js.map +7 -0
  11. package/dist/cjs/common/index.js +30 -0
  12. package/dist/cjs/common/index.js.map +7 -0
  13. package/dist/cjs/configs/index.js +38 -0
  14. package/dist/cjs/configs/index.js.map +7 -0
  15. package/dist/cjs/configs/useLeftNavConfig.js +106 -0
  16. package/dist/cjs/configs/useLeftNavConfig.js.map +7 -0
  17. package/dist/cjs/configs/useLeftNavItems.js +82 -0
  18. package/dist/cjs/configs/useLeftNavItems.js.map +7 -0
  19. package/dist/cjs/configs/useLeftNavSmoothExpand.js +53 -0
  20. package/dist/cjs/configs/useLeftNavSmoothExpand.js.map +7 -0
  21. package/dist/cjs/exported-related/ChevronItem/index.js +43 -0
  22. package/dist/cjs/exported-related/ChevronItem/index.js.map +7 -0
  23. package/dist/cjs/exported-related/Icon/index.js +53 -0
  24. package/dist/cjs/exported-related/Icon/index.js.map +7 -0
  25. package/dist/cjs/exported-related/ItemRenderer/index.js +133 -0
  26. package/dist/cjs/exported-related/ItemRenderer/index.js.map +7 -0
  27. package/dist/cjs/exported-related/ItemRenderer/styled.js +90 -0
  28. package/dist/cjs/exported-related/ItemRenderer/styled.js.map +7 -0
  29. package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +69 -0
  30. package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +7 -0
  31. package/dist/cjs/exported-related/Notifications/index.js +82 -0
  32. package/dist/cjs/exported-related/Notifications/index.js.map +7 -0
  33. package/dist/cjs/exported-related/OpenWindowItem/index.js +50 -0
  34. package/dist/cjs/exported-related/OpenWindowItem/index.js.map +7 -0
  35. package/dist/cjs/exported-related/constants.js +57 -0
  36. package/dist/cjs/exported-related/constants.js.map +7 -0
  37. package/dist/cjs/exported-related/index.js +33 -0
  38. package/dist/cjs/exported-related/index.js.map +7 -0
  39. package/dist/cjs/hooks/index.js +30 -0
  40. package/dist/cjs/hooks/index.js.map +7 -0
  41. package/dist/cjs/hooks/useExpandableOnClickHandler.js +64 -0
  42. package/dist/cjs/hooks/useExpandableOnClickHandler.js.map +7 -0
  43. package/dist/cjs/hooks/useKeyboardNavigation.js +118 -0
  44. package/dist/cjs/hooks/useKeyboardNavigation.js.map +7 -0
  45. package/dist/cjs/hooks/useOpenableOnClickHandler.js +69 -0
  46. package/dist/cjs/hooks/useOpenableOnClickHandler.js.map +7 -0
  47. package/dist/cjs/hooks/useSelectFirstBodyItem.js +52 -0
  48. package/dist/cjs/hooks/useSelectFirstBodyItem.js.map +7 -0
  49. package/dist/cjs/index.d.js +27 -0
  50. package/dist/cjs/index.d.js.map +7 -0
  51. package/dist/cjs/index.js +41 -0
  52. package/dist/cjs/index.js.map +7 -0
  53. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js +152 -0
  54. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +7 -0
  55. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +49 -0
  56. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/styled.js.map +7 -0
  57. package/dist/cjs/outOfTheBox/ItemHeader/index.js +147 -0
  58. package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +7 -0
  59. package/dist/cjs/outOfTheBox/ItemHeader/styled.js +49 -0
  60. package/dist/cjs/outOfTheBox/ItemHeader/styled.js.map +7 -0
  61. package/dist/cjs/outOfTheBox/ItemLink/index.js +106 -0
  62. package/dist/cjs/outOfTheBox/ItemLink/index.js.map +7 -0
  63. package/dist/cjs/outOfTheBox/ItemLink/styled.js +41 -0
  64. package/dist/cjs/outOfTheBox/ItemLink/styled.js.map +7 -0
  65. package/dist/cjs/outOfTheBox/ItemSection/index.js +79 -0
  66. package/dist/cjs/outOfTheBox/ItemSection/index.js.map +7 -0
  67. package/dist/cjs/outOfTheBox/ItemSection/styled.js +53 -0
  68. package/dist/cjs/outOfTheBox/ItemSection/styled.js.map +7 -0
  69. package/dist/cjs/outOfTheBox/ItemSeparator/index.js +63 -0
  70. package/dist/cjs/outOfTheBox/ItemSeparator/index.js.map +7 -0
  71. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +149 -0
  72. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +7 -0
  73. package/dist/cjs/outOfTheBox/ItemSubmenu/styled.js +49 -0
  74. package/dist/cjs/outOfTheBox/ItemSubmenu/styled.js.map +7 -0
  75. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js +69 -0
  76. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +7 -0
  77. package/dist/cjs/outOfTheBox/ItemTextLabel/styled.js +43 -0
  78. package/dist/cjs/outOfTheBox/ItemTextLabel/styled.js.map +7 -0
  79. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +166 -0
  80. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +7 -0
  81. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +49 -0
  82. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +7 -0
  83. package/dist/cjs/outOfTheBox/ItemWithDate/index.js +91 -0
  84. package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +7 -0
  85. package/dist/cjs/outOfTheBox/ItemWithDate/styled.js +49 -0
  86. package/dist/cjs/outOfTheBox/ItemWithDate/styled.js.map +7 -0
  87. package/dist/cjs/outOfTheBox/index.js +77 -0
  88. package/dist/cjs/outOfTheBox/index.js.map +7 -0
  89. package/dist/cjs/parts/LeftNavContent/index.js +88 -0
  90. package/dist/cjs/parts/LeftNavContent/index.js.map +7 -0
  91. package/dist/cjs/parts/LeftNavContent/styled.js +113 -0
  92. package/dist/cjs/parts/LeftNavContent/styled.js.map +7 -0
  93. package/dist/cjs/parts/LeftNavContentWithScrollbar/index.js +101 -0
  94. package/dist/cjs/parts/LeftNavContentWithScrollbar/index.js.map +7 -0
  95. package/dist/cjs/parts/LeftNavFooterItem/index.js +125 -0
  96. package/dist/cjs/parts/LeftNavFooterItem/index.js.map +7 -0
  97. package/dist/cjs/parts/LeftNavFooterItem/styled.js +94 -0
  98. package/dist/cjs/parts/LeftNavFooterItem/styled.js.map +7 -0
  99. package/dist/cjs/parts/LeftNavLoading/index.js +52 -0
  100. package/dist/cjs/parts/LeftNavLoading/index.js.map +7 -0
  101. package/dist/cjs/parts/OutOfTheBoxMapItem.js +55 -0
  102. package/dist/cjs/parts/OutOfTheBoxMapItem.js.map +7 -0
  103. package/dist/cjs/prop-types.js +66 -0
  104. package/dist/cjs/prop-types.js.map +7 -0
  105. package/dist/esm/LeftNavigation.js +22 -0
  106. package/dist/esm/LeftNavigation.js.map +7 -0
  107. package/{esm → dist/esm}/LeftNavigationContext.js +15 -11
  108. package/dist/esm/LeftNavigationContext.js.map +7 -0
  109. package/dist/esm/common/getItemBackgroundStyle.js +22 -0
  110. package/dist/esm/common/getItemBackgroundStyle.js.map +7 -0
  111. package/dist/esm/common/getLeftBorderStyle.js +25 -0
  112. package/dist/esm/common/getLeftBorderStyle.js.map +7 -0
  113. package/dist/esm/common/getScrollbarStyle.js +29 -0
  114. package/dist/esm/common/getScrollbarStyle.js.map +7 -0
  115. package/dist/esm/common/index.js +5 -0
  116. package/dist/esm/common/index.js.map +7 -0
  117. package/dist/esm/configs/index.js +9 -0
  118. package/dist/esm/configs/index.js.map +7 -0
  119. package/dist/esm/configs/useLeftNavConfig.js +77 -0
  120. package/dist/esm/configs/useLeftNavConfig.js.map +7 -0
  121. package/dist/esm/configs/useLeftNavItems.js +53 -0
  122. package/dist/esm/configs/useLeftNavItems.js.map +7 -0
  123. package/dist/esm/configs/useLeftNavSmoothExpand.js +24 -0
  124. package/dist/esm/configs/useLeftNavSmoothExpand.js.map +7 -0
  125. package/dist/esm/exported-related/ChevronItem/index.js +14 -0
  126. package/dist/esm/exported-related/ChevronItem/index.js.map +7 -0
  127. package/dist/esm/exported-related/Icon/index.js +24 -0
  128. package/dist/esm/exported-related/Icon/index.js.map +7 -0
  129. package/dist/esm/exported-related/ItemRenderer/index.js +104 -0
  130. package/dist/esm/exported-related/ItemRenderer/index.js.map +7 -0
  131. package/dist/esm/exported-related/ItemRenderer/styled.js +61 -0
  132. package/dist/esm/exported-related/ItemRenderer/styled.js.map +7 -0
  133. package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +40 -0
  134. package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +7 -0
  135. package/dist/esm/exported-related/Notifications/index.js +58 -0
  136. package/dist/esm/exported-related/Notifications/index.js.map +7 -0
  137. package/dist/esm/exported-related/OpenWindowItem/index.js +21 -0
  138. package/dist/esm/exported-related/OpenWindowItem/index.js.map +7 -0
  139. package/dist/esm/exported-related/constants.js +28 -0
  140. package/dist/esm/exported-related/constants.js.map +7 -0
  141. package/dist/esm/exported-related/index.js +8 -0
  142. package/dist/esm/exported-related/index.js.map +7 -0
  143. package/dist/esm/hooks/index.js +5 -0
  144. package/dist/esm/hooks/index.js.map +7 -0
  145. package/dist/esm/hooks/useExpandableOnClickHandler.js +35 -0
  146. package/dist/esm/hooks/useExpandableOnClickHandler.js.map +7 -0
  147. package/{esm → dist/esm}/hooks/useKeyboardNavigation.js +30 -47
  148. package/dist/esm/hooks/useKeyboardNavigation.js.map +7 -0
  149. package/dist/esm/hooks/useOpenableOnClickHandler.js +40 -0
  150. package/dist/esm/hooks/useOpenableOnClickHandler.js.map +7 -0
  151. package/dist/esm/hooks/useSelectFirstBodyItem.js +23 -0
  152. package/dist/esm/hooks/useSelectFirstBodyItem.js.map +7 -0
  153. package/dist/esm/index.d.js +2 -0
  154. package/dist/esm/index.d.js.map +7 -0
  155. package/dist/esm/index.js +12 -0
  156. package/dist/esm/index.js.map +7 -0
  157. package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js +123 -0
  158. package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +7 -0
  159. package/dist/esm/outOfTheBox/ItemControlledDrilldown/styled.js +20 -0
  160. package/dist/esm/outOfTheBox/ItemControlledDrilldown/styled.js.map +7 -0
  161. package/dist/esm/outOfTheBox/ItemHeader/index.js +118 -0
  162. package/dist/esm/outOfTheBox/ItemHeader/index.js.map +7 -0
  163. package/dist/esm/outOfTheBox/ItemHeader/styled.js +20 -0
  164. package/dist/esm/outOfTheBox/ItemHeader/styled.js.map +7 -0
  165. package/dist/esm/outOfTheBox/ItemLink/index.js +77 -0
  166. package/dist/esm/outOfTheBox/ItemLink/index.js.map +7 -0
  167. package/dist/esm/outOfTheBox/ItemLink/styled.js +12 -0
  168. package/dist/esm/outOfTheBox/ItemLink/styled.js.map +7 -0
  169. package/dist/esm/outOfTheBox/ItemSection/index.js +50 -0
  170. package/dist/esm/outOfTheBox/ItemSection/index.js.map +7 -0
  171. package/dist/esm/outOfTheBox/ItemSection/styled.js +24 -0
  172. package/dist/esm/outOfTheBox/ItemSection/styled.js.map +7 -0
  173. package/dist/esm/outOfTheBox/ItemSeparator/index.js +34 -0
  174. package/dist/esm/outOfTheBox/ItemSeparator/index.js.map +7 -0
  175. package/dist/esm/outOfTheBox/ItemSubmenu/index.js +120 -0
  176. package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +7 -0
  177. package/dist/esm/outOfTheBox/ItemSubmenu/styled.js +20 -0
  178. package/dist/esm/outOfTheBox/ItemSubmenu/styled.js.map +7 -0
  179. package/dist/esm/outOfTheBox/ItemTextLabel/index.js +40 -0
  180. package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +7 -0
  181. package/dist/esm/outOfTheBox/ItemTextLabel/styled.js +14 -0
  182. package/dist/esm/outOfTheBox/ItemTextLabel/styled.js.map +7 -0
  183. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +137 -0
  184. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +7 -0
  185. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +20 -0
  186. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +7 -0
  187. package/dist/esm/outOfTheBox/ItemWithDate/index.js +62 -0
  188. package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +7 -0
  189. package/dist/esm/outOfTheBox/ItemWithDate/styled.js +20 -0
  190. package/dist/esm/outOfTheBox/ItemWithDate/styled.js.map +7 -0
  191. package/dist/esm/outOfTheBox/index.js +48 -0
  192. package/dist/esm/outOfTheBox/index.js.map +7 -0
  193. package/dist/esm/parts/LeftNavContent/index.js +67 -0
  194. package/dist/esm/parts/LeftNavContent/index.js.map +7 -0
  195. package/dist/esm/parts/LeftNavContent/styled.js +84 -0
  196. package/dist/esm/parts/LeftNavContent/styled.js.map +7 -0
  197. package/dist/esm/parts/LeftNavContentWithScrollbar/index.js +72 -0
  198. package/dist/esm/parts/LeftNavContentWithScrollbar/index.js.map +7 -0
  199. package/dist/esm/parts/LeftNavFooterItem/index.js +103 -0
  200. package/dist/esm/parts/LeftNavFooterItem/index.js.map +7 -0
  201. package/dist/esm/parts/LeftNavFooterItem/styled.js +65 -0
  202. package/dist/esm/parts/LeftNavFooterItem/styled.js.map +7 -0
  203. package/dist/esm/parts/LeftNavLoading/index.js +23 -0
  204. package/dist/esm/parts/LeftNavLoading/index.js.map +7 -0
  205. package/dist/esm/parts/OutOfTheBoxMapItem.js +26 -0
  206. package/dist/esm/parts/OutOfTheBoxMapItem.js.map +7 -0
  207. package/dist/esm/prop-types.js +37 -0
  208. package/dist/esm/prop-types.js.map +7 -0
  209. package/{types → dist/types}/LeftNavigation.d.ts +0 -0
  210. package/{types → dist/types}/LeftNavigationContext.d.ts +0 -0
  211. package/{types → dist/types}/common/getItemBackgroundStyle.d.ts +0 -0
  212. package/{types → dist/types}/common/getLeftBorderStyle.d.ts +0 -0
  213. package/{types → dist/types}/common/getScrollbarStyle.d.ts +0 -0
  214. package/{types → dist/types}/common/index.d.ts +0 -0
  215. package/{types → dist/types}/configs/index.d.ts +0 -0
  216. package/{types → dist/types}/configs/useLeftNavConfig.d.ts +0 -0
  217. package/{types → dist/types}/configs/useLeftNavItems.d.ts +0 -0
  218. package/{types → dist/types}/configs/useLeftNavSmoothExpand.d.ts +0 -0
  219. package/{types → dist/types}/exported-related/ChevronItem/index.d.ts +0 -0
  220. package/{types → dist/types}/exported-related/Icon/index.d.ts +0 -0
  221. package/{types → dist/types}/exported-related/ItemRenderer/index.d.ts +0 -0
  222. package/{types → dist/types}/exported-related/ItemRenderer/styled.d.ts +2 -2
  223. package/{types → dist/types}/exported-related/ItemRenderer/usePropsWithDefaults.d.ts +0 -0
  224. package/{types → dist/types}/exported-related/Notifications/index.d.ts +0 -0
  225. package/{types → dist/types}/exported-related/OpenWindowItem/index.d.ts +0 -0
  226. package/{types → dist/types}/exported-related/constants.d.ts +0 -0
  227. package/{types → dist/types}/exported-related/index.d.ts +0 -0
  228. package/{types → dist/types}/hooks/index.d.ts +0 -0
  229. package/{types → dist/types}/hooks/useExpandableOnClickHandler.d.ts +0 -0
  230. package/{types → dist/types}/hooks/useKeyboardNavigation.d.ts +0 -0
  231. package/{types → dist/types}/hooks/useOpenableOnClickHandler.d.ts +0 -0
  232. package/{types → dist/types}/hooks/useSelectFirstBodyItem.d.ts +0 -0
  233. package/{types → dist/types}/index.d.d.ts +0 -0
  234. package/{types → dist/types}/index.d.ts +0 -0
  235. package/{types → dist/types}/outOfTheBox/ItemControlledDrilldown/index.d.ts +0 -0
  236. package/{types/outOfTheBox/ItemWithDate → dist/types/outOfTheBox/ItemControlledDrilldown}/styled.d.ts +2 -2
  237. package/{types → dist/types}/outOfTheBox/ItemHeader/index.d.ts +0 -0
  238. package/{types → dist/types}/outOfTheBox/ItemHeader/styled.d.ts +1 -1
  239. package/{types → dist/types}/outOfTheBox/ItemLink/index.d.ts +0 -0
  240. package/{types/outOfTheBox/ItemTextLabel → dist/types/outOfTheBox/ItemLink}/styled.d.ts +1 -1
  241. package/{types → dist/types}/outOfTheBox/ItemSection/index.d.ts +0 -0
  242. package/{types → dist/types}/outOfTheBox/ItemSection/styled.d.ts +0 -0
  243. package/{types → dist/types}/outOfTheBox/ItemSeparator/index.d.ts +0 -0
  244. package/{types → dist/types}/outOfTheBox/ItemSubmenu/index.d.ts +0 -0
  245. package/{types → dist/types}/outOfTheBox/ItemSubmenu/styled.d.ts +1 -1
  246. package/{types → dist/types}/outOfTheBox/ItemTextLabel/index.d.ts +0 -0
  247. package/{types/outOfTheBox/ItemLink → dist/types/outOfTheBox/ItemTextLabel}/styled.d.ts +1 -1
  248. package/{types → dist/types}/outOfTheBox/ItemUncontrolledDrilldown/index.d.ts +0 -0
  249. package/{types → dist/types}/outOfTheBox/ItemUncontrolledDrilldown/styled.d.ts +2 -2
  250. package/{types → dist/types}/outOfTheBox/ItemWithDate/index.d.ts +0 -0
  251. package/{types/outOfTheBox/ItemControlledDrilldown → dist/types/outOfTheBox/ItemWithDate}/styled.d.ts +2 -2
  252. package/{types → dist/types}/outOfTheBox/index.d.ts +0 -0
  253. package/{types → dist/types}/parts/LeftNavContent/index.d.ts +0 -0
  254. package/{types → dist/types}/parts/LeftNavContent/styled.d.ts +0 -0
  255. package/{types → dist/types}/parts/LeftNavContentWithScrollbar/index.d.ts +0 -0
  256. package/{types → dist/types}/parts/LeftNavFooterItem/index.d.ts +0 -0
  257. package/{types → dist/types}/parts/LeftNavFooterItem/styled.d.ts +5 -5
  258. package/{types → dist/types}/parts/LeftNavLoading/index.d.ts +0 -0
  259. package/{types → dist/types}/parts/OutOfTheBoxMapItem.d.ts +0 -0
  260. package/{types → dist/types}/prop-types.d.ts +0 -0
  261. package/{types → dist/types}/tests/LeftNavigation.collapsed.test.d.ts +0 -0
  262. package/{types → dist/types}/tests/LeftNavigation.expanded.test.d.ts +0 -0
  263. package/{types → dist/types}/tests/LeftNavigation.opened.test.d.ts +0 -0
  264. package/{types → dist/types}/tests/events/LeftNavigation.events.keyboard.test.d.ts +0 -0
  265. package/{types → dist/types}/tests/events/LeftNavigation.events.subitems.test.d.ts +0 -0
  266. package/{types → dist/types}/tests/events/LeftNavigation.events.test.d.ts +0 -0
  267. package/{types → dist/types}/tests/events/LeftNavigation.focus.events.test.d.ts +0 -0
  268. package/package.json +128 -120
  269. package/cjs/LeftNavigation.js +0 -29
  270. package/cjs/LeftNavigationContext.js +0 -41
  271. package/cjs/common/getItemBackgroundStyle.js +0 -12
  272. package/cjs/common/getLeftBorderStyle.js +0 -12
  273. package/cjs/common/getScrollbarStyle.js +0 -7
  274. package/cjs/common/index.js +0 -13
  275. package/cjs/configs/index.js +0 -10
  276. package/cjs/configs/useLeftNavConfig.js +0 -102
  277. package/cjs/configs/useLeftNavItems.js +0 -80
  278. package/cjs/configs/useLeftNavSmoothExpand.js +0 -35
  279. package/cjs/exported-related/ChevronItem/index.js +0 -28
  280. package/cjs/exported-related/Icon/index.js +0 -36
  281. package/cjs/exported-related/ItemRenderer/index.js +0 -128
  282. package/cjs/exported-related/ItemRenderer/styled.js +0 -58
  283. package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -57
  284. package/cjs/exported-related/Notifications/index.js +0 -62
  285. package/cjs/exported-related/OpenWindowItem/index.js +0 -33
  286. package/cjs/exported-related/constants.js +0 -29
  287. package/cjs/exported-related/index.js +0 -23
  288. package/cjs/hooks/index.js +0 -13
  289. package/cjs/hooks/useExpandableOnClickHandler.js +0 -35
  290. package/cjs/hooks/useKeyboardNavigation.js +0 -110
  291. package/cjs/hooks/useOpenableOnClickHandler.js +0 -40
  292. package/cjs/hooks/useSelectFirstBodyItem.js +0 -39
  293. package/cjs/index.d.js +0 -2
  294. package/cjs/index.js +0 -30
  295. package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +0 -158
  296. package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +0 -27
  297. package/cjs/outOfTheBox/ItemHeader/index.js +0 -144
  298. package/cjs/outOfTheBox/ItemHeader/styled.js +0 -22
  299. package/cjs/outOfTheBox/ItemLink/index.js +0 -97
  300. package/cjs/outOfTheBox/ItemLink/styled.js +0 -17
  301. package/cjs/outOfTheBox/ItemSection/index.js +0 -83
  302. package/cjs/outOfTheBox/ItemSection/styled.js +0 -23
  303. package/cjs/outOfTheBox/ItemSeparator/index.js +0 -52
  304. package/cjs/outOfTheBox/ItemSubmenu/index.js +0 -145
  305. package/cjs/outOfTheBox/ItemSubmenu/styled.js +0 -22
  306. package/cjs/outOfTheBox/ItemTextLabel/index.js +0 -70
  307. package/cjs/outOfTheBox/ItemTextLabel/styled.js +0 -23
  308. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -172
  309. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -27
  310. package/cjs/outOfTheBox/ItemWithDate/index.js +0 -86
  311. package/cjs/outOfTheBox/ItemWithDate/styled.js +0 -27
  312. package/cjs/outOfTheBox/index.js +0 -62
  313. package/cjs/parts/LeftNavContent/index.js +0 -84
  314. package/cjs/parts/LeftNavContent/styled.js +0 -53
  315. package/cjs/parts/LeftNavContentWithScrollbar/index.js +0 -91
  316. package/cjs/parts/LeftNavFooterItem/index.js +0 -108
  317. package/cjs/parts/LeftNavFooterItem/styled.js +0 -39
  318. package/cjs/parts/LeftNavLoading/index.js +0 -34
  319. package/cjs/parts/OutOfTheBoxMapItem.js +0 -52
  320. package/cjs/prop-types.js +0 -47
  321. package/esm/LeftNavigation.js +0 -20
  322. package/esm/common/getItemBackgroundStyle.js +0 -8
  323. package/esm/common/getLeftBorderStyle.js +0 -8
  324. package/esm/common/getScrollbarStyle.js +0 -3
  325. package/esm/common/index.js +0 -3
  326. package/esm/configs/index.js +0 -2
  327. package/esm/configs/useLeftNavConfig.js +0 -93
  328. package/esm/configs/useLeftNavItems.js +0 -75
  329. package/esm/configs/useLeftNavSmoothExpand.js +0 -26
  330. package/esm/exported-related/ChevronItem/index.js +0 -19
  331. package/esm/exported-related/Icon/index.js +0 -27
  332. package/esm/exported-related/ItemRenderer/index.js +0 -119
  333. package/esm/exported-related/ItemRenderer/styled.js +0 -47
  334. package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -49
  335. package/esm/exported-related/Notifications/index.js +0 -51
  336. package/esm/exported-related/OpenWindowItem/index.js +0 -23
  337. package/esm/exported-related/constants.js +0 -21
  338. package/esm/exported-related/index.js +0 -6
  339. package/esm/hooks/index.js +0 -3
  340. package/esm/hooks/useExpandableOnClickHandler.js +0 -31
  341. package/esm/hooks/useOpenableOnClickHandler.js +0 -36
  342. package/esm/hooks/useSelectFirstBodyItem.js +0 -35
  343. package/esm/index.d.js +0 -1
  344. package/esm/index.js +0 -8
  345. package/esm/outOfTheBox/ItemControlledDrilldown/index.js +0 -148
  346. package/esm/outOfTheBox/ItemControlledDrilldown/styled.js +0 -17
  347. package/esm/outOfTheBox/ItemHeader/index.js +0 -134
  348. package/esm/outOfTheBox/ItemHeader/styled.js +0 -12
  349. package/esm/outOfTheBox/ItemLink/index.js +0 -87
  350. package/esm/outOfTheBox/ItemLink/styled.js +0 -8
  351. package/esm/outOfTheBox/ItemSection/index.js +0 -73
  352. package/esm/outOfTheBox/ItemSection/styled.js +0 -13
  353. package/esm/outOfTheBox/ItemSeparator/index.js +0 -42
  354. package/esm/outOfTheBox/ItemSubmenu/index.js +0 -135
  355. package/esm/outOfTheBox/ItemSubmenu/styled.js +0 -12
  356. package/esm/outOfTheBox/ItemTextLabel/index.js +0 -61
  357. package/esm/outOfTheBox/ItemTextLabel/styled.js +0 -14
  358. package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -162
  359. package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -17
  360. package/esm/outOfTheBox/ItemWithDate/index.js +0 -76
  361. package/esm/outOfTheBox/ItemWithDate/styled.js +0 -17
  362. package/esm/outOfTheBox/index.js +0 -57
  363. package/esm/parts/LeftNavContent/index.js +0 -77
  364. package/esm/parts/LeftNavContent/styled.js +0 -39
  365. package/esm/parts/LeftNavContentWithScrollbar/index.js +0 -80
  366. package/esm/parts/LeftNavFooterItem/index.js +0 -98
  367. package/esm/parts/LeftNavFooterItem/styled.js +0 -26
  368. package/esm/parts/LeftNavLoading/index.js +0 -23
  369. package/esm/parts/OutOfTheBoxMapItem.js +0 -42
  370. package/esm/prop-types.js +0 -40
@@ -0,0 +1,40 @@
1
+ import * as React from "react";
2
+ import { useCallback, useContext } from "react";
3
+ import LeftNavigationContext from "../LeftNavigationContext";
4
+ const useOpenableOnClickHandler = ({
5
+ id,
6
+ opened,
7
+ onExpand,
8
+ onOpen,
9
+ onClose
10
+ }) => {
11
+ const {
12
+ leftNavProps: { expanded },
13
+ setSelectedItem
14
+ } = useContext(LeftNavigationContext);
15
+ const handleOnExpand = useCallback((e) => {
16
+ onExpand(e);
17
+ setSelectedItem(id);
18
+ }, [id, onExpand, setSelectedItem]);
19
+ const handleOnOpen = useCallback((e) => {
20
+ onOpen(e);
21
+ setSelectedItem(id);
22
+ }, [id, onOpen, setSelectedItem]);
23
+ const handleOnClose = useCallback((e) => {
24
+ onClose(e);
25
+ setSelectedItem(id);
26
+ }, [id, onClose, setSelectedItem]);
27
+ const handleOnClick = useCallback((e) => {
28
+ if (!expanded)
29
+ handleOnExpand(e);
30
+ else if (!opened)
31
+ handleOnOpen(e);
32
+ else
33
+ handleOnClose(e);
34
+ }, [expanded, opened, handleOnExpand, handleOnOpen, handleOnClose]);
35
+ return handleOnClick;
36
+ };
37
+ export {
38
+ useOpenableOnClickHandler
39
+ };
40
+ //# sourceMappingURL=useOpenableOnClickHandler.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useOpenableOnClickHandler.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useContext } from 'react';\nimport LeftNavigationContext from '../LeftNavigationContext';\n\ntype useOpenableOnClickHandlerProps = {\n id: string;\n onExpand: React.MouseEventHandler & React.KeyboardEventHandler;\n onOpen: React.MouseEventHandler & React.KeyboardEventHandler;\n onClose: React.MouseEventHandler & React.KeyboardEventHandler;\n opened: boolean;\n};\n\nexport const useOpenableOnClickHandler = ({\n id,\n opened,\n onExpand,\n onOpen,\n onClose,\n}: useOpenableOnClickHandlerProps): ((\n e: React.MouseEvent<HTMLElement>,\n) => void) => {\n const {\n leftNavProps: { expanded },\n setSelectedItem,\n } = useContext(LeftNavigationContext);\n\n const handleOnExpand = useCallback(\n (e) => {\n onExpand(e);\n setSelectedItem(id);\n },\n [id, onExpand, setSelectedItem],\n );\n\n const handleOnOpen = useCallback(\n (e) => {\n onOpen(e);\n setSelectedItem(id);\n },\n [id, onOpen, setSelectedItem],\n );\n\n const handleOnClose = useCallback(\n (e) => {\n onClose(e);\n setSelectedItem(id);\n },\n [id, onClose, setSelectedItem],\n );\n\n const handleOnClick = useCallback(\n (e) => {\n if (!expanded) handleOnExpand(e);\n else if (!opened) handleOnOpen(e);\n else handleOnClose(e);\n },\n [expanded, opened, handleOnExpand, handleOnOpen, handleOnClose],\n );\n\n return handleOnClick;\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAUO,MAAM,4BAA4B,CAAC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAGY;AACZ,QAAM;AAAA,IACJ,cAAc,EAAE;AAAA,IAChB;AAAA,MACE,WAAW;AAEf,QAAM,iBAAiB,YACrB,CAAC,MAAM;AACL,aAAS;AACT,oBAAgB;AAAA,KAElB,CAAC,IAAI,UAAU;AAGjB,QAAM,eAAe,YACnB,CAAC,MAAM;AACL,WAAO;AACP,oBAAgB;AAAA,KAElB,CAAC,IAAI,QAAQ;AAGf,QAAM,gBAAgB,YACpB,CAAC,MAAM;AACL,YAAQ;AACR,oBAAgB;AAAA,KAElB,CAAC,IAAI,SAAS;AAGhB,QAAM,gBAAgB,YACpB,CAAC,MAAM;AACL,QAAI,CAAC;AAAU,qBAAe;AAAA,aACrB,CAAC;AAAQ,mBAAa;AAAA;AAC1B,oBAAc;AAAA,KAErB,CAAC,UAAU,QAAQ,gBAAgB,cAAc;AAGnD,SAAO;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import { useEffect } from "react";
3
+ import { ITEM_TYPES } from "../exported-related/constants";
4
+ const { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;
5
+ const isSelectableOutOfTheBox = (elem) => typeof elem.type === "string" && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;
6
+ const isSelectableCustom = (elem) => elem.itemOpts.selectable;
7
+ const isItemInsideTheTree = (item, itemID) => item.dsId === itemID || !!item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));
8
+ const useSelectFirstBodyItem = (items, openedItem, selectedItem, setSelectedItem, disableDefaultSelection) => {
9
+ useEffect(() => {
10
+ if (!disableDefaultSelection && items && items.length && openedItem) {
11
+ const index = items.findIndex((elem) => isSelectableOutOfTheBox(elem) || isSelectableCustom(elem));
12
+ const isItemInside = items.some((it) => isItemInsideTheTree(it, selectedItem));
13
+ if (isItemInside)
14
+ setSelectedItem(selectedItem);
15
+ else if (index !== -1)
16
+ setSelectedItem(items[index].dsId ?? "");
17
+ }
18
+ }, [openedItem, setSelectedItem, disableDefaultSelection]);
19
+ };
20
+ export {
21
+ useSelectFirstBodyItem
22
+ };
23
+ //# sourceMappingURL=useSelectFirstBodyItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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 React, { useEffect } from 'react';\nimport { GenericItemItemProps } from '../index.d';\nimport { ITEM_TYPES } from '../exported-related/constants';\n\nconst { LEFT_NAV_ITEM_SEPARATOR, LEFT_NAV_ITEM_SECTION } = ITEM_TYPES;\n\nconst isSelectableOutOfTheBox = (elem: GenericItemItemProps) =>\n typeof elem.type === 'string' && elem.type !== LEFT_NAV_ITEM_SEPARATOR && elem.type !== LEFT_NAV_ITEM_SECTION;\nconst isSelectableCustom = (elem: GenericItemItemProps) => elem.itemOpts.selectable;\n\nconst isItemInsideTheTree = (item: GenericItemItemProps, itemID: string | null): boolean =>\n item.dsId === itemID || !!item?.itemOpts?.items?.some((it) => isItemInsideTheTree(it, itemID));\n\nexport const useSelectFirstBodyItem = (\n items: 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;ACCA;AAEA;AAEA,MAAM,EAAE,yBAAyB,0BAA0B;AAE3D,MAAM,0BAA0B,CAAC,SAC/B,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS,2BAA2B,KAAK,SAAS;AAC1F,MAAM,qBAAqB,CAAC,SAA+B,KAAK,SAAS;AAEzE,MAAM,sBAAsB,CAAC,MAA4B,WACvD,KAAK,SAAS,UAAU,CAAC,CAAC,MAAM,UAAU,OAAO,KAAK,CAAC,OAAO,oBAAoB,IAAI;AAEjF,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,SAAS,mBAAmB;AAC5F,YAAM,eAAe,MAAM,KAAK,CAAC,OAAO,oBAAoB,IAAI;AAChE,UAAI;AAAc,wBAAgB;AAAA,eACzB,UAAU;AAAI,wBAAgB,MAAM,OAAO,QAAQ;AAAA;AAAA,KAG7D,CAAC,YAAY,iBAAiB;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { LeftNavItemPropsSchema, LeftNavItemOptionsSchema } from "./prop-types";
3
+ import { LeftNavigation, LeftNavigationWithSchema, LeftNavigation as LeftNavigation2 } from "./LeftNavigation";
4
+ export * from "./exported-related";
5
+ export {
6
+ LeftNavItemOptionsSchema,
7
+ LeftNavItemPropsSchema,
8
+ LeftNavigation,
9
+ LeftNavigationWithSchema,
10
+ LeftNavigation2 as default
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { LeftNavItemPropsSchema, LeftNavItemOptionsSchema } from './prop-types';\nexport { LeftNavigation, LeftNavigationWithSchema, LeftNavigation as default } from './LeftNavigation';\nexport * from './exported-related';\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,123 @@
1
+ import * as React from "react";
2
+ import React2, { useMemo } from "react";
3
+ import Grid from "@elliemae/ds-grid";
4
+ import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
5
+ import { ArrowheadDown, ArrowheadRight } from "@elliemae/ds-icons";
6
+ import { ItemRenderer, ITEM_TYPES } from "../../exported-related/index";
7
+ import { StyledLabel, StyledDate } from "./styled";
8
+ import { ItemSeparator } from "../ItemSeparator";
9
+ import { ItemWithDate } from "../ItemWithDate";
10
+ import { ItemTextLabel } from "../ItemTextLabel";
11
+ const outOfTheBoxSubitemsComponents = {
12
+ [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,
13
+ [ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate,
14
+ [ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL]: ItemTextLabel
15
+ };
16
+ const OutOfTheBoxMapSubitem = (props) => {
17
+ const {
18
+ item,
19
+ item: { type, Component },
20
+ ctx
21
+ } = props;
22
+ if (typeof type === "string" && !!outOfTheBoxSubitemsComponents[type]) {
23
+ const OutOfTheBoxComponent = outOfTheBoxSubitemsComponents[type];
24
+ const currentIndent = item.itemOpts?.indent ?? 0;
25
+ const newItem = {
26
+ ...item,
27
+ itemOpts: { ...item.itemOpts, indent: currentIndent + 44 }
28
+ };
29
+ return /* @__PURE__ */ React2.createElement(OutOfTheBoxComponent, {
30
+ item: newItem,
31
+ ctx
32
+ });
33
+ }
34
+ return /* @__PURE__ */ React2.createElement(Component, {
35
+ item,
36
+ ctx
37
+ });
38
+ };
39
+ const ItemControlledDrilldown = (props) => {
40
+ const {
41
+ item,
42
+ item: {
43
+ itemOpts: {
44
+ label,
45
+ RightComponent,
46
+ labelRightSection,
47
+ labelOverflow: itemLabelOverflow,
48
+ labelBold,
49
+ labelColor,
50
+ isOpened,
51
+ items,
52
+ labelDataTestId
53
+ }
54
+ },
55
+ ctx,
56
+ ctx: {
57
+ leftNavProps: { labelOverflow: leftNavLabelOverflow }
58
+ }
59
+ } = props;
60
+ const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
61
+ const arrowIcon = useMemo(() => {
62
+ const Component = isOpened ? ArrowheadDown : ArrowheadRight;
63
+ return /* @__PURE__ */ React2.createElement(Component, {
64
+ width: "24px",
65
+ height: "18px",
66
+ color: ["brand-primary", "800"]
67
+ });
68
+ }, [isOpened]);
69
+ const subitems = useMemo(() => {
70
+ if (!isOpened || !items)
71
+ return [];
72
+ return items.map((subitem) => /* @__PURE__ */ React2.createElement(OutOfTheBoxMapSubitem, {
73
+ item: subitem,
74
+ ctx,
75
+ key: subitem.dsId
76
+ }));
77
+ }, [items, isOpened]);
78
+ return /* @__PURE__ */ React2.createElement(ItemRenderer, {
79
+ item: {
80
+ ...item,
81
+ itemOpts: {
82
+ ariaExpanded: isOpened,
83
+ ariaRole: "menuitem",
84
+ ...item.itemOpts,
85
+ openable: !isOpened,
86
+ closable: isOpened
87
+ },
88
+ CollapsedComponent: null
89
+ },
90
+ subitems,
91
+ minHeight: "32px",
92
+ paddingTop: "8px"
93
+ }, /* @__PURE__ */ React2.createElement(Grid, {
94
+ pl: "xxs",
95
+ mt: "-2px"
96
+ }, arrowIcon), /* @__PURE__ */ React2.createElement(StyledLabel, {
97
+ pb: "xxxs",
98
+ "data-testid": labelDataTestId || "leftnav-list-item-label",
99
+ labelOverflow,
100
+ labelBold,
101
+ labelColor
102
+ }, labelOverflow === "truncate" ? /* @__PURE__ */ React2.createElement(SimpleTruncatedTooltipText, {
103
+ value: label,
104
+ placement: "bottom-start"
105
+ }) : label), /* @__PURE__ */ React2.createElement(Grid, {
106
+ pr: "xxs2",
107
+ cols: ["auto", "auto"],
108
+ alignItems: "center"
109
+ }, /* @__PURE__ */ React2.createElement(StyledDate, {
110
+ ml: "xxs",
111
+ "data-testid": "leftnav-list-item-date"
112
+ }, labelRightSection), /* @__PURE__ */ React2.createElement(Grid, {
113
+ pl: RightComponent ? "xxs" : "0px",
114
+ "data-testid": "leftnav-right-component"
115
+ }, RightComponent && /* @__PURE__ */ React2.createElement(RightComponent, {
116
+ ctx,
117
+ item
118
+ }))));
119
+ };
120
+ export {
121
+ ItemControlledDrilldown
122
+ };
123
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemControlledDrilldown/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';\nimport { ItemRenderer, ITEM_TYPES } from '../../exported-related/index';\nimport { StyledLabel, StyledDate } from './styled';\nimport { ItemSeparator } from '../ItemSeparator';\nimport { ItemWithDate } from '../ItemWithDate';\nimport { ItemTextLabel } from '../ItemTextLabel';\nimport type { ComponentProps } from '../../index.d';\n\nconst outOfTheBoxSubitemsComponents: Record<string, React.ComponentType<ComponentProps>> = {\n [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,\n [ITEM_TYPES.LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate,\n [ITEM_TYPES.LEFT_NAV_ITEM_TEXT_LABEL]: ItemTextLabel,\n};\n\nconst OutOfTheBoxMapSubitem = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: { type, Component },\n ctx,\n } = props;\n\n if (typeof type === 'string' && !!outOfTheBoxSubitemsComponents[type]) {\n const OutOfTheBoxComponent = outOfTheBoxSubitemsComponents[type];\n const currentIndent = item.itemOpts?.indent ?? 0;\n const newItem = {\n ...item,\n itemOpts: { ...item.itemOpts, indent: currentIndent + 44 },\n };\n return <OutOfTheBoxComponent item={newItem} ctx={ctx} />;\n }\n // we expect an error to be threw if Component is not defined and type is not a valid out-of-the-box...\n return <Component item={item} ctx={ctx} />;\n};\n\nexport const ItemControlledDrilldown = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n itemOpts: {\n label,\n RightComponent,\n labelRightSection,\n labelOverflow: itemLabelOverflow,\n labelBold,\n labelColor,\n isOpened,\n items,\n labelDataTestId,\n },\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow: leftNavLabelOverflow },\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const arrowIcon = useMemo(() => {\n const Component = isOpened ? ArrowheadDown : ArrowheadRight;\n return <Component width=\"24px\" height=\"18px\" color={['brand-primary', '800']} />;\n }, [isOpened]);\n\n const subitems = useMemo(() => {\n if (!isOpened || !items) return [];\n return items.map((subitem) => <OutOfTheBoxMapSubitem item={subitem} ctx={ctx} key={subitem.dsId} />);\n }, [items, isOpened]);\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaExpanded: isOpened,\n ariaRole: 'menuitem',\n ...item.itemOpts,\n openable: !isOpened,\n closable: isOpened,\n },\n CollapsedComponent: null,\n }}\n subitems={subitems}\n minHeight=\"32px\"\n paddingTop=\"8px\"\n >\n <Grid pl=\"xxs\" mt=\"-2px\">\n {arrowIcon}\n </Grid>\n <StyledLabel\n pb=\"xxxs\"\n data-testid={labelDataTestId || 'leftnav-list-item-label'}\n labelOverflow={labelOverflow}\n labelBold={labelBold}\n labelColor={labelColor}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid pr=\"xxs2\" cols={['auto', 'auto']} alignItems=\"center\">\n <StyledDate ml=\"xxs\" data-testid=\"leftnav-list-item-date\">\n {labelRightSection}\n </StyledDate>\n <Grid pl={RightComponent ? 'xxs' : '0px'} data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </Grid>\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAM,gCAAqF;AAAA,GACxF,WAAW,0BAA0B;AAAA,GACrC,WAAW,0BAA0B;AAAA,GACrC,WAAW,2BAA2B;AAAA;AAGzC,MAAM,wBAAwB,CAAC,UAAuC;AACpE,QAAM;AAAA,IACJ;AAAA,IACA,MAAM,EAAE,MAAM;AAAA,IACd;AAAA,MACE;AAEJ,MAAI,OAAO,SAAS,YAAY,CAAC,CAAC,8BAA8B,OAAO;AACrE,UAAM,uBAAuB,8BAA8B;AAC3D,UAAM,gBAAgB,KAAK,UAAU,UAAU;AAC/C,UAAM,UAAU;AAAA,SACX;AAAA,MACH,UAAU,KAAK,KAAK,UAAU,QAAQ,gBAAgB;AAAA;AAExD,WAAO,qCAAC,sBAAD;AAAA,MAAsB,MAAM;AAAA,MAAS;AAAA;AAAA;AAG9C,SAAO,qCAAC,WAAD;AAAA,IAAW;AAAA,IAAY;AAAA;AAAA;AAGzB,MAAM,0BAA0B,CAAC,UAAuC;AAC7E,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,QACA;AAAA,QACA;AAAA;AAAA;AAAA,IAGJ;AAAA,IACA,KAAK;AAAA,MACH,cAAc,EAAE,eAAe;AAAA;AAAA,MAE/B;AAEJ,QAAM,gBAAgB,qBAAqB;AAE3C,QAAM,YAAY,QAAQ,MAAM;AAC9B,UAAM,YAAY,WAAW,gBAAgB;AAC7C,WAAO,qCAAC,WAAD;AAAA,MAAW,OAAM;AAAA,MAAO,QAAO;AAAA,MAAO,OAAO,CAAC,iBAAiB;AAAA;AAAA,KACrE,CAAC;AAEJ,QAAM,WAAW,QAAQ,MAAM;AAC7B,QAAI,CAAC,YAAY,CAAC;AAAO,aAAO;AAChC,WAAO,MAAM,IAAI,CAAC,YAAY,qCAAC,uBAAD;AAAA,MAAuB,MAAM;AAAA,MAAS;AAAA,MAAU,KAAK,QAAQ;AAAA;AAAA,KAC1F,CAAC,OAAO;AAEX,SACE,qCAAC,cAAD;AAAA,IACE,MAAM;AAAA,SACD;AAAA,MACH,UAAU;AAAA,QACR,cAAc;AAAA,QACd,UAAU;AAAA,WACP,KAAK;AAAA,QACR,UAAU,CAAC;AAAA,QACX,UAAU;AAAA;AAAA,MAEZ,oBAAoB;AAAA;AAAA,IAEtB;AAAA,IACA,WAAU;AAAA,IACV,YAAW;AAAA,KAEX,qCAAC,MAAD;AAAA,IAAM,IAAG;AAAA,IAAM,IAAG;AAAA,KACf,YAEH,qCAAC,aAAD;AAAA,IACE,IAAG;AAAA,IACH,eAAa,mBAAmB;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,KAEC,kBAAkB,aAAa,qCAAC,4BAAD;AAAA,IAA4B,OAAO;AAAA,IAAO,WAAU;AAAA,OAAoB,QAE1G,qCAAC,MAAD;AAAA,IAAM,IAAG;AAAA,IAAO,MAAM,CAAC,QAAQ;AAAA,IAAS,YAAW;AAAA,KACjD,qCAAC,YAAD;AAAA,IAAY,IAAG;AAAA,IAAM,eAAY;AAAA,KAC9B,oBAEH,qCAAC,MAAD;AAAA,IAAM,IAAI,iBAAiB,QAAQ;AAAA,IAAO,eAAY;AAAA,KACnD,kBAAkB,qCAAC,gBAAD;AAAA,IAAgB;AAAA,IAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import styled from "styled-components";
3
+ import Grid from "@elliemae/ds-grid";
4
+ const StyledLabel = styled(Grid)`
5
+ font-size: 13px;
6
+ font-weight: ${(props) => props.labelBold ? props.theme.fontWeights.semibold : props.theme.fontWeights.regular};
7
+ color: ${({ labelColor, theme }) => labelColor ? theme.colors[labelColor[0]][labelColor[1]] : theme.colors.neutral[800]};
8
+ line-height: 14px;
9
+ word-break: ${(props) => props.labelOverflow === "wrapAll" ? "break-all" : "normal"};
10
+ `;
11
+ const StyledDate = styled(Grid)`
12
+ font-size: 12px;
13
+ color: ${(props) => props.theme.colors.neutral[600]};
14
+ line-height: 14px;
15
+ `;
16
+ export {
17
+ StyledDate,
18
+ StyledLabel
19
+ };
20
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemControlledDrilldown/styled.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from 'styled-components';\nimport Grid from '@elliemae/ds-grid';\n\nexport const StyledLabel = styled(Grid)<{ labelBold: boolean }>`\n font-size: 13px;\n font-weight: ${(props) =>\n props.labelBold\n ? props.theme.fontWeights.semibold\n : props.theme.fontWeights.regular};\n color: ${({ labelColor, theme }) =>\n labelColor\n ? theme.colors[labelColor[0]][labelColor[1]]\n : theme.colors.neutral[800]};\n line-height: 14px;\n word-break: ${(props) =>\n props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal'};\n`;\n\nexport const StyledDate = styled(Grid)`\n font-size: 12px;\n color: ${(props) => props.theme.colors.neutral[600]};\n line-height: 14px;\n`;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEO,MAAM,cAAc,OAAO;AAAA;AAAA,iBAEjB,CAAC,UACd,MAAM,YACF,MAAM,MAAM,YAAY,WACxB,MAAM,MAAM,YAAY;AAAA,WACrB,CAAC,EAAE,YAAY,YACtB,aACI,MAAM,OAAO,WAAW,IAAI,WAAW,MACvC,MAAM,OAAO,QAAQ;AAAA;AAAA,gBAEb,CAAC,UACb,MAAM,kBAAkB,YAAY,cAAc;AAAA;AAG/C,MAAM,aAAa,OAAO;AAAA;AAAA,WAEtB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,118 @@
1
+ import * as React from "react";
2
+ import React2, { useCallback } from "react";
3
+ import Grid from "@elliemae/ds-grid";
4
+ import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
5
+ import { ItemRenderer } from "../../exported-related/index";
6
+ import { StyledLabel, StyledChevronLeft } from "./styled";
7
+ import { CHEVRON_BACK_DS_ID } from "../../exported-related/constants";
8
+ const notOpenedShadowStyle = (isSelected) => (theme) => `
9
+ box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : "transparent"};
10
+
11
+ :hover {
12
+ box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};
13
+ }
14
+
15
+ :active {
16
+ box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};
17
+ }
18
+ `;
19
+ const ItemHeader = (props) => {
20
+ const {
21
+ item,
22
+ item: {
23
+ dsId,
24
+ itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },
25
+ CollapsedComponent = () => null
26
+ },
27
+ ctx,
28
+ ctx: {
29
+ leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },
30
+ expandedForAnimation,
31
+ setFocusedItem,
32
+ selectedItem,
33
+ selectedParent
34
+ }
35
+ } = props;
36
+ const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
37
+ const opened = openedItem === dsId;
38
+ const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === "string" ? label : "menuitem");
39
+ const isSelected = selectedItem === dsId || selectedParent === dsId;
40
+ const shadowStyle = useCallback((opened2) => (theme) => !opened2 ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`, [isSelected, openedItem]);
41
+ return /* @__PURE__ */ React2.createElement(ItemRenderer, {
42
+ item: {
43
+ ...item,
44
+ itemOpts: {
45
+ ariaLabel,
46
+ ariaExpanded: opened,
47
+ ...item.itemOpts,
48
+ openable: expandedForAnimation && !opened,
49
+ closable: expandedForAnimation && opened,
50
+ selectable: !opened
51
+ }
52
+ },
53
+ hasBorderBottom: true,
54
+ borderBottomMr: opened ? "12px" : "0px",
55
+ shadowStyle
56
+ }, /* @__PURE__ */ React2.createElement(Grid, {
57
+ cols: opened ? ["auto", "auto"] : ["38px"],
58
+ gutter: "1px",
59
+ pl: opened ? "xxs" : 0,
60
+ justifyItems: "center",
61
+ "data-testid": "leftnav-leftcomponent"
62
+ }, opened && /* @__PURE__ */ React2.createElement(StyledChevronLeft, {
63
+ size: "m",
64
+ color: ["brand-primary", 800],
65
+ onClick: (e) => {
66
+ onItemClick(item, e);
67
+ },
68
+ "data-testid": "leftnav-leftcomponent-chevron",
69
+ tabIndex: 0,
70
+ onFocus: (e) => {
71
+ e.stopPropagation();
72
+ setFocusedItem(CHEVRON_BACK_DS_ID);
73
+ },
74
+ role: "button",
75
+ "aria-label": `Close ${ariaLabel}`
76
+ }), /* @__PURE__ */ React2.createElement(CollapsedComponent, {
77
+ item,
78
+ ctx
79
+ })), /* @__PURE__ */ React2.createElement(StyledLabel, {
80
+ ml: opened ? "xxs" : "1px",
81
+ mt: "xxxs",
82
+ mb: "15px",
83
+ "data-testid": labelDataTestId || "leftnav-itemlabel",
84
+ labelOverflow
85
+ }, labelOverflow === "truncate" ? /* @__PURE__ */ React2.createElement(SimpleTruncatedTooltipText, {
86
+ value: label,
87
+ placement: "bottom-start"
88
+ }) : label), /* @__PURE__ */ React2.createElement(Grid, {
89
+ pl: "xs",
90
+ pr: opened ? "xxs2" : "xxs",
91
+ onFocus: (e) => {
92
+ setFocusedItem(null);
93
+ e.stopPropagation();
94
+ },
95
+ onKeyDown: (e) => e.stopPropagation(),
96
+ "data-testid": "leftnav-right-component"
97
+ }, RightComponent && /* @__PURE__ */ React2.createElement(RightComponent, {
98
+ ctx,
99
+ item
100
+ })), BottomComponent && /* @__PURE__ */ React2.createElement(Grid, {
101
+ style: { gridColumn: "span 3" },
102
+ pb: "xxxs",
103
+ pl: "xxs",
104
+ pr: "xxs",
105
+ onFocus: (e) => {
106
+ setFocusedItem(null);
107
+ e.stopPropagation();
108
+ },
109
+ onKeyDown: (e) => e.stopPropagation()
110
+ }, /* @__PURE__ */ React2.createElement(BottomComponent, {
111
+ ctx,
112
+ item
113
+ })));
114
+ };
115
+ export {
116
+ ItemHeader
117
+ };
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemHeader/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel, StyledChevronLeft } from './styled';\nimport { CHEVRON_BACK_DS_ID } from '../../exported-related/constants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemHeader = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, BottomComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { openedItem, labelOverflow: leftNavLabelOverflow, onItemClick },\n expandedForAnimation,\n setFocusedItem,\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const opened = openedItem === dsId;\n\n const ariaLabel = item.itemOpts.ariaLabel ?? (typeof label === 'string' ? label : 'menuitem');\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) =>\n !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel,\n ariaExpanded: opened,\n ...item.itemOpts,\n openable: expandedForAnimation && !opened,\n closable: expandedForAnimation && opened,\n selectable: !opened,\n },\n }}\n hasBorderBottom\n borderBottomMr={opened ? '12px' : '0px'}\n shadowStyle={shadowStyle}\n >\n <Grid\n cols={opened ? ['auto', 'auto'] : ['38px']}\n gutter=\"1px\"\n pl={opened ? 'xxs' : 0}\n justifyItems=\"center\"\n data-testid=\"leftnav-leftcomponent\"\n >\n {opened && (\n <StyledChevronLeft\n size=\"m\"\n color={['brand-primary', 800]}\n onClick={(e) => {\n onItemClick(item, e);\n }}\n data-testid=\"leftnav-leftcomponent-chevron\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(CHEVRON_BACK_DS_ID);\n }}\n role=\"button\"\n aria-label={`Close ${ariaLabel}`}\n />\n )}\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml={opened ? 'xxs' : '1px'}\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid\n pl=\"xs\"\n pr={opened ? 'xxs2' : 'xxs'}\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n data-testid=\"leftnav-right-component\"\n >\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n {BottomComponent && (\n <Grid\n style={{ gridColumn: 'span 3' }}\n pb=\"xxxs\"\n pl=\"xxs\"\n pr=\"xxs\"\n onFocus={(e) => {\n setFocusedItem(null);\n e.stopPropagation();\n }}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <BottomComponent ctx={ctx} item={item} />\n </Grid>\n )}\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "AAAA;ACEA;AACA;AACA;AACA;AAEA;AACA;AAGA,MAAM,uBAAuB,CAAC,eAAwB,CAAC,UACrD;AAAA,gCAC8B,aAAa,MAAM,OAAO,MAAM,OAAO;AAAA;AAAA;AAAA,kCAGrC,aAAa,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA,kCAI1D,MAAM,OAAO,MAAM;AAAA;AAAA;AAI9C,MAAM,aAAa,CAAC,UAAuC;AAChE,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,OAAO,gBAAgB,iBAAiB,iBAAiB,eAAe;AAAA,MACpF,qBAAqB,MAAM;AAAA;AAAA,IAE7B;AAAA,IACA,KAAK;AAAA,MACH,cAAc,EAAE,YAAY,eAAe,sBAAsB;AAAA,MACjE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAEJ,QAAM,gBAAgB,qBAAqB;AAE3C,QAAM,SAAS,eAAe;AAE9B,QAAM,YAAY,KAAK,SAAS,aAAc,QAAO,UAAU,WAAW,QAAQ;AAElF,QAAM,aAAa,iBAAiB,QAAQ,mBAAmB;AAE/D,QAAM,cAAc,YAClB,CAAC,YAAW,CAAC,UACX,CAAC,UAAS,qBAAqB,YAAY,SAAS,uCACtD,CAAC,YAAY;AAGf,SACE,qCAAC,cAAD;AAAA,IACE,MAAM;AAAA,SACD;AAAA,MACH,UAAU;AAAA,QACR;AAAA,QACA,cAAc;AAAA,WACX,KAAK;AAAA,QACR,UAAU,wBAAwB,CAAC;AAAA,QACnC,UAAU,wBAAwB;AAAA,QAClC,YAAY,CAAC;AAAA;AAAA;AAAA,IAGjB,iBAAe;AAAA,IACf,gBAAgB,SAAS,SAAS;AAAA,IAClC;AAAA,KAEA,qCAAC,MAAD;AAAA,IACE,MAAM,SAAS,CAAC,QAAQ,UAAU,CAAC;AAAA,IACnC,QAAO;AAAA,IACP,IAAI,SAAS,QAAQ;AAAA,IACrB,cAAa;AAAA,IACb,eAAY;AAAA,KAEX,UACC,qCAAC,mBAAD;AAAA,IACE,MAAK;AAAA,IACL,OAAO,CAAC,iBAAiB;AAAA,IACzB,SAAS,CAAC,MAAM;AACd,kBAAY,MAAM;AAAA;AAAA,IAEpB,eAAY;AAAA,IACZ,UAAU;AAAA,IACV,SAAS,CAAC,MAAM;AACd,QAAE;AACF,qBAAe;AAAA;AAAA,IAEjB,MAAK;AAAA,IACL,cAAY,SAAS;AAAA,MAGzB,qCAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY;AAAA,OAElC,qCAAC,aAAD;AAAA,IACE,IAAI,SAAS,QAAQ;AAAA,IACrB,IAAG;AAAA,IACH,IAAG;AAAA,IACH,eAAa,mBAAmB;AAAA,IAChC;AAAA,KAEC,kBAAkB,aAAa,qCAAC,4BAAD;AAAA,IAA4B,OAAO;AAAA,IAAO,WAAU;AAAA,OAAoB,QAE1G,qCAAC,MAAD;AAAA,IACE,IAAG;AAAA,IACH,IAAI,SAAS,SAAS;AAAA,IACtB,SAAS,CAAC,MAAM;AACd,qBAAe;AACf,QAAE;AAAA;AAAA,IAEJ,WAAW,CAAC,MAAM,EAAE;AAAA,IACpB,eAAY;AAAA,KAEX,kBAAkB,qCAAC,gBAAD;AAAA,IAAgB;AAAA,IAAU;AAAA,OAE9C,mBACC,qCAAC,MAAD;AAAA,IACE,OAAO,EAAE,YAAY;AAAA,IACrB,IAAG;AAAA,IACH,IAAG;AAAA,IACH,IAAG;AAAA,IACH,SAAS,CAAC,MAAM;AACd,qBAAe;AACf,QAAE;AAAA;AAAA,IAEJ,WAAW,CAAC,MAAM,EAAE;AAAA,KAEpB,qCAAC,iBAAD;AAAA,IAAiB;AAAA,IAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import Grid from "@elliemae/ds-grid";
3
+ import { ChevronSmallLeft } from "@elliemae/ds-icons";
4
+ import styled from "styled-components";
5
+ const StyledLabel = styled(Grid)`
6
+ font-size: 14px;
7
+ color: ${(props) => props.theme.colors.neutral[800]};
8
+ word-break: ${(props) => props.labelOverflow === "wrapAll" ? "break-all" : "normal"};
9
+ `;
10
+ const StyledChevronLeft = styled(ChevronSmallLeft)`
11
+ cursor: pointer;
12
+ :focus {
13
+ outline: 2px solid ${(props) => props.theme.colors.brand[800]};
14
+ }
15
+ `;
16
+ export {
17
+ StyledChevronLeft,
18
+ StyledLabel
19
+ };
20
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemHeader/styled.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import Grid from '@elliemae/ds-grid';\nimport { ChevronSmallLeft } from '@elliemae/ds-icons';\nimport styled from 'styled-components';\n\nexport const StyledLabel = styled(Grid)`\n font-size: 14px;\n color: ${(props) => props.theme.colors.neutral[800]};\n word-break: ${(props) => (props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal')};\n`;\n\nexport const StyledChevronLeft = styled(ChevronSmallLeft)`\n cursor: pointer;\n :focus {\n outline: 2px solid ${(props) => props.theme.colors.brand[800]};\n }\n`;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AAEO,MAAM,cAAc,OAAO;AAAA;AAAA,WAEvB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA,gBACjC,CAAC,UAAW,MAAM,kBAAkB,YAAY,cAAc;AAAA;AAGvE,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA,yBAGf,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,77 @@
1
+ import * as React from "react";
2
+ import React2, { useCallback } from "react";
3
+ import Grid from "@elliemae/ds-grid";
4
+ import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
5
+ import { ItemRenderer } from "../../exported-related/index";
6
+ import { StyledLabel } from "./styled";
7
+ const notOpenedShadowStyle = (isSelected) => (theme) => `
8
+ box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : "transparent"};
9
+
10
+ :hover {
11
+ box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};
12
+ }
13
+
14
+ :active {
15
+ box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};
16
+ }
17
+ `;
18
+ const ItemLink = (props) => {
19
+ const {
20
+ item,
21
+ item: {
22
+ dsId,
23
+ itemOpts: { label, RightComponent, labelDataTestId, labelOverflow: itemLabelOverflow },
24
+ CollapsedComponent = () => null
25
+ },
26
+ ctx,
27
+ ctx: {
28
+ leftNavProps: { labelOverflow: leftNavLabelOverflow, openedItem },
29
+ selectedItem,
30
+ selectedParent
31
+ }
32
+ } = props;
33
+ const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;
34
+ const isSelected = selectedItem === dsId || selectedParent === dsId;
35
+ const shadowStyle = useCallback((opened) => (theme) => !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`, [isSelected, openedItem]);
36
+ return /* @__PURE__ */ React2.createElement(ItemRenderer, {
37
+ item: {
38
+ ...item,
39
+ itemOpts: {
40
+ ariaLabel: typeof label === "string" ? label : "",
41
+ ariaRole: "link",
42
+ ...item.itemOpts,
43
+ selectable: true
44
+ }
45
+ },
46
+ shadowStyle
47
+ }, /* @__PURE__ */ React2.createElement(Grid, {
48
+ cols: ["38px"],
49
+ gutter: "1px",
50
+ pl: 0,
51
+ justifyItems: "center",
52
+ "data-testid": "leftnav-leftcomponent"
53
+ }, /* @__PURE__ */ React2.createElement(CollapsedComponent, {
54
+ item,
55
+ ctx
56
+ })), /* @__PURE__ */ React2.createElement(StyledLabel, {
57
+ ml: "1px",
58
+ mt: "xxxs",
59
+ mb: "15px",
60
+ "data-testid": labelDataTestId || "leftnav-itemlabel",
61
+ labelOverflow
62
+ }, labelOverflow === "truncate" ? /* @__PURE__ */ React2.createElement(SimpleTruncatedTooltipText, {
63
+ value: label,
64
+ placement: "bottom-start"
65
+ }) : label), /* @__PURE__ */ React2.createElement(Grid, {
66
+ mt: "xxxs",
67
+ pr: "xxs2",
68
+ "data-testid": "leftnav-right-component"
69
+ }, RightComponent && /* @__PURE__ */ React2.createElement(RightComponent, {
70
+ ctx,
71
+ item
72
+ })));
73
+ };
74
+ export {
75
+ ItemLink
76
+ };
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemLink/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\nimport React, { useCallback } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { ItemRenderer } from '../../exported-related/index';\nimport type { ComponentProps } from '../../index.d';\nimport { StyledLabel } from './styled';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst notOpenedShadowStyle = (isSelected: boolean) => (theme: any) =>\n `\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : 'transparent'};\n\n :hover {\n box-shadow: inset 4px 0 0 0 ${isSelected ? theme.colors.brand[400] : theme.colors.brand[300]};\n }\n\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n`;\n\nexport const ItemLink = (props: ComponentProps): JSX.Element => {\n const {\n item,\n item: {\n dsId,\n itemOpts: { label, RightComponent, labelDataTestId, labelOverflow: itemLabelOverflow },\n CollapsedComponent = () => null,\n },\n ctx,\n ctx: {\n leftNavProps: { labelOverflow: leftNavLabelOverflow, openedItem },\n selectedItem,\n selectedParent,\n },\n } = props;\n\n const labelOverflow = itemLabelOverflow || leftNavLabelOverflow;\n\n const isSelected = selectedItem === dsId || selectedParent === dsId;\n\n const shadowStyle = useCallback(\n (opened) => (theme: any) => !opened ? notOpenedShadowStyle(isSelected)(theme) : `box-shadow: inset 4px 0 0 0 #52A6EC`,\n [isSelected, openedItem],\n );\n\n return (\n <ItemRenderer\n item={{\n ...item,\n itemOpts: {\n ariaLabel: typeof label === 'string' ? label : '',\n ariaRole: 'link',\n ...item.itemOpts,\n selectable: true,\n },\n }}\n shadowStyle={shadowStyle}\n >\n <Grid cols={['38px']} gutter=\"1px\" pl={0} justifyItems=\"center\" data-testid=\"leftnav-leftcomponent\">\n <CollapsedComponent item={item} ctx={ctx} />\n </Grid>\n <StyledLabel\n ml=\"1px\"\n mt=\"xxxs\"\n mb=\"15px\"\n data-testid={labelDataTestId || 'leftnav-itemlabel'}\n labelOverflow={labelOverflow}\n >\n {labelOverflow === 'truncate' ? <SimpleTruncatedTooltipText value={label} placement=\"bottom-start\" /> : label}\n </StyledLabel>\n <Grid mt=\"xxxs\" pr=\"xxs2\" data-testid=\"leftnav-right-component\">\n {RightComponent && <RightComponent ctx={ctx} item={item} />}\n </Grid>\n </ItemRenderer>\n );\n};\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA;AAGA,MAAM,uBAAuB,CAAC,eAAwB,CAAC,UACrD;AAAA,gCAC8B,aAAa,MAAM,OAAO,MAAM,OAAO;AAAA;AAAA;AAAA,kCAGrC,aAAa,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA,kCAI1D,MAAM,OAAO,MAAM;AAAA;AAAA;AAI9C,MAAM,WAAW,CAAC,UAAuC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,OAAO,gBAAgB,iBAAiB,eAAe;AAAA,MACnE,qBAAqB,MAAM;AAAA;AAAA,IAE7B;AAAA,IACA,KAAK;AAAA,MACH,cAAc,EAAE,eAAe,sBAAsB;AAAA,MACrD;AAAA,MACA;AAAA;AAAA,MAEA;AAEJ,QAAM,gBAAgB,qBAAqB;AAE3C,QAAM,aAAa,iBAAiB,QAAQ,mBAAmB;AAE/D,QAAM,cAAc,YAClB,CAAC,WAAW,CAAC,UAAe,CAAC,SAAS,qBAAqB,YAAY,SAAS,uCAChF,CAAC,YAAY;AAGf,SACE,qCAAC,cAAD;AAAA,IACE,MAAM;AAAA,SACD;AAAA,MACH,UAAU;AAAA,QACR,WAAW,OAAO,UAAU,WAAW,QAAQ;AAAA,QAC/C,UAAU;AAAA,WACP,KAAK;AAAA,QACR,YAAY;AAAA;AAAA;AAAA,IAGhB;AAAA,KAEA,qCAAC,MAAD;AAAA,IAAM,MAAM,CAAC;AAAA,IAAS,QAAO;AAAA,IAAM,IAAI;AAAA,IAAG,cAAa;AAAA,IAAS,eAAY;AAAA,KAC1E,qCAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY;AAAA,OAElC,qCAAC,aAAD;AAAA,IACE,IAAG;AAAA,IACH,IAAG;AAAA,IACH,IAAG;AAAA,IACH,eAAa,mBAAmB;AAAA,IAChC;AAAA,KAEC,kBAAkB,aAAa,qCAAC,4BAAD;AAAA,IAA4B,OAAO;AAAA,IAAO,WAAU;AAAA,OAAoB,QAE1G,qCAAC,MAAD;AAAA,IAAM,IAAG;AAAA,IAAO,IAAG;AAAA,IAAO,eAAY;AAAA,KACnC,kBAAkB,qCAAC,gBAAD;AAAA,IAAgB;AAAA,IAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import Grid from "@elliemae/ds-grid";
3
+ import styled from "styled-components";
4
+ const StyledLabel = styled(Grid)`
5
+ font-size: 14px;
6
+ color: ${(props) => props.theme.colors.neutral[800]};
7
+ word-break: ${(props) => props.labelOverflow === "wrapAll" ? "break-all" : "normal"};
8
+ `;
9
+ export {
10
+ StyledLabel
11
+ };
12
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/outOfTheBox/ItemLink/styled.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import Grid from '@elliemae/ds-grid';\nimport styled from 'styled-components';\n\nexport const StyledLabel = styled(Grid)`\n font-size: 14px;\n color: ${(props) => props.theme.colors.neutral[800]};\n word-break: ${(props) =>\n props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal'};\n`;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEO,MAAM,cAAc,OAAO;AAAA;AAAA,WAEvB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA,gBACjC,CAAC,UACb,MAAM,kBAAkB,YAAY,cAAc;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,50 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import Grid from "@elliemae/ds-grid";
4
+ import { ItemRenderer } from "../../exported-related/index";
5
+ import { StyledLabel, StyledRightLabel, StyledVerticalSeparator } from "./styled";
6
+ const ItemSection = (props) => {
7
+ const {
8
+ item,
9
+ item: {
10
+ itemOpts: { label, LeftComponent, RightComponent, labelRightSection, labelDataTestId }
11
+ },
12
+ ctx,
13
+ ctx: { setFocusedItem }
14
+ } = props;
15
+ return /* @__PURE__ */ React2.createElement(ItemRenderer, {
16
+ item: {
17
+ ...item,
18
+ itemOpts: { ...item.itemOpts, selectable: false, focuseable: false },
19
+ CollapsedComponent: null
20
+ },
21
+ minHeight: "32px",
22
+ paddingTop: "8px"
23
+ }, /* @__PURE__ */ React2.createElement(Grid, {
24
+ cols: ["min-content", "auto", "min-content", "auto"],
25
+ pl: "xxs",
26
+ alignItems: "center"
27
+ }, LeftComponent ? /* @__PURE__ */ React2.createElement(LeftComponent, {
28
+ ctx,
29
+ item
30
+ }) : /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement(StyledLabel, {
31
+ "data-testid": labelDataTestId || "leftnav-section-item-label"
32
+ }, label), /* @__PURE__ */ React2.createElement(StyledVerticalSeparator, null), /* @__PURE__ */ React2.createElement(StyledRightLabel, null, labelRightSection)), /* @__PURE__ */ React2.createElement(Grid, {
33
+ ml: "auto",
34
+ onFocus: (e) => {
35
+ setFocusedItem(null);
36
+ e.stopPropagation();
37
+ },
38
+ onKeyDown: (e) => e.stopPropagation(),
39
+ pr: "xxs2",
40
+ alignItems: "center",
41
+ "data-testid": "leftnav-right-component"
42
+ }, RightComponent && /* @__PURE__ */ React2.createElement(RightComponent, {
43
+ ctx,
44
+ item
45
+ })));
46
+ };
47
+ export {
48
+ ItemSection
49
+ };
50
+ //# sourceMappingURL=index.js.map