@elliemae/ds-left-navigation 2.3.0-alpha.6 → 2.3.0-next.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/cjs/LeftNavigation.js +29 -0
  2. package/cjs/LeftNavigationContext.js +41 -0
  3. package/cjs/common/getItemBackgroundStyle.js +12 -0
  4. package/cjs/common/getLeftBorderStyle.js +12 -0
  5. package/cjs/common/getScrollbarStyle.js +7 -0
  6. package/cjs/common/index.js +13 -0
  7. package/cjs/configs/index.js +10 -0
  8. package/cjs/configs/useLeftNavConfig.js +102 -0
  9. package/cjs/configs/useLeftNavItems.js +80 -0
  10. package/cjs/configs/useLeftNavSmoothExpand.js +35 -0
  11. package/cjs/exported-related/ChevronItem/index.js +28 -0
  12. package/cjs/exported-related/Icon/index.js +36 -0
  13. package/cjs/exported-related/ItemRenderer/index.js +128 -0
  14. package/cjs/exported-related/ItemRenderer/styled.js +58 -0
  15. package/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +57 -0
  16. package/cjs/exported-related/Notifications/index.js +62 -0
  17. package/cjs/exported-related/OpenWindowItem/index.js +33 -0
  18. package/cjs/exported-related/constants.js +29 -0
  19. package/cjs/exported-related/index.js +23 -0
  20. package/cjs/hooks/index.js +13 -0
  21. package/cjs/hooks/useExpandableOnClickHandler.js +35 -0
  22. package/cjs/hooks/useKeyboardNavigation.js +110 -0
  23. package/cjs/hooks/useOpenableOnClickHandler.js +40 -0
  24. package/cjs/hooks/useSelectFirstBodyItem.js +39 -0
  25. package/cjs/index.d.js +2 -0
  26. package/cjs/index.js +30 -0
  27. package/cjs/outOfTheBox/ItemControlledDrilldown/index.js +158 -0
  28. package/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +27 -0
  29. package/cjs/outOfTheBox/ItemHeader/index.js +144 -0
  30. package/cjs/outOfTheBox/ItemHeader/styled.js +22 -0
  31. package/cjs/outOfTheBox/ItemLink/index.js +97 -0
  32. package/cjs/outOfTheBox/ItemLink/styled.js +17 -0
  33. package/cjs/outOfTheBox/ItemSection/index.js +83 -0
  34. package/cjs/outOfTheBox/ItemSection/styled.js +23 -0
  35. package/cjs/outOfTheBox/ItemSeparator/index.js +52 -0
  36. package/cjs/outOfTheBox/ItemSubmenu/index.js +145 -0
  37. package/cjs/outOfTheBox/ItemSubmenu/styled.js +22 -0
  38. package/cjs/outOfTheBox/ItemTextLabel/index.js +70 -0
  39. package/cjs/outOfTheBox/ItemTextLabel/styled.js +23 -0
  40. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +172 -0
  41. package/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +27 -0
  42. package/cjs/outOfTheBox/ItemWithDate/index.js +86 -0
  43. package/cjs/outOfTheBox/ItemWithDate/styled.js +27 -0
  44. package/cjs/outOfTheBox/index.js +62 -0
  45. package/cjs/parts/LeftNavContent/index.js +84 -0
  46. package/cjs/parts/LeftNavContent/styled.js +53 -0
  47. package/cjs/parts/LeftNavContentWithScrollbar/index.js +91 -0
  48. package/cjs/parts/LeftNavFooterItem/index.js +108 -0
  49. package/cjs/parts/LeftNavFooterItem/styled.js +39 -0
  50. package/cjs/parts/LeftNavLoading/index.js +34 -0
  51. package/cjs/parts/OutOfTheBoxMapItem.js +52 -0
  52. package/cjs/prop-types.js +47 -0
  53. package/esm/LeftNavigation.js +20 -0
  54. package/{dist/esm → esm}/LeftNavigationContext.js +11 -15
  55. package/esm/common/getItemBackgroundStyle.js +8 -0
  56. package/esm/common/getLeftBorderStyle.js +8 -0
  57. package/esm/common/getScrollbarStyle.js +3 -0
  58. package/esm/common/index.js +3 -0
  59. package/esm/configs/index.js +2 -0
  60. package/esm/configs/useLeftNavConfig.js +93 -0
  61. package/esm/configs/useLeftNavItems.js +75 -0
  62. package/esm/configs/useLeftNavSmoothExpand.js +26 -0
  63. package/esm/exported-related/ChevronItem/index.js +19 -0
  64. package/esm/exported-related/Icon/index.js +27 -0
  65. package/esm/exported-related/ItemRenderer/index.js +119 -0
  66. package/esm/exported-related/ItemRenderer/styled.js +47 -0
  67. package/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +49 -0
  68. package/esm/exported-related/Notifications/index.js +51 -0
  69. package/esm/exported-related/OpenWindowItem/index.js +23 -0
  70. package/esm/exported-related/constants.js +21 -0
  71. package/esm/exported-related/index.js +6 -0
  72. package/esm/hooks/index.js +3 -0
  73. package/esm/hooks/useExpandableOnClickHandler.js +31 -0
  74. package/{dist/esm → esm}/hooks/useKeyboardNavigation.js +47 -30
  75. package/esm/hooks/useOpenableOnClickHandler.js +36 -0
  76. package/esm/hooks/useSelectFirstBodyItem.js +35 -0
  77. package/esm/index.d.js +1 -0
  78. package/esm/index.js +8 -0
  79. package/esm/outOfTheBox/ItemControlledDrilldown/index.js +148 -0
  80. package/esm/outOfTheBox/ItemControlledDrilldown/styled.js +17 -0
  81. package/esm/outOfTheBox/ItemHeader/index.js +134 -0
  82. package/esm/outOfTheBox/ItemHeader/styled.js +12 -0
  83. package/esm/outOfTheBox/ItemLink/index.js +87 -0
  84. package/esm/outOfTheBox/ItemLink/styled.js +8 -0
  85. package/esm/outOfTheBox/ItemSection/index.js +73 -0
  86. package/esm/outOfTheBox/ItemSection/styled.js +13 -0
  87. package/esm/outOfTheBox/ItemSeparator/index.js +42 -0
  88. package/esm/outOfTheBox/ItemSubmenu/index.js +135 -0
  89. package/esm/outOfTheBox/ItemSubmenu/styled.js +12 -0
  90. package/esm/outOfTheBox/ItemTextLabel/index.js +61 -0
  91. package/esm/outOfTheBox/ItemTextLabel/styled.js +14 -0
  92. package/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +162 -0
  93. package/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +17 -0
  94. package/esm/outOfTheBox/ItemWithDate/index.js +76 -0
  95. package/esm/outOfTheBox/ItemWithDate/styled.js +17 -0
  96. package/esm/outOfTheBox/index.js +57 -0
  97. package/esm/parts/LeftNavContent/index.js +77 -0
  98. package/esm/parts/LeftNavContent/styled.js +39 -0
  99. package/esm/parts/LeftNavContentWithScrollbar/index.js +80 -0
  100. package/esm/parts/LeftNavFooterItem/index.js +98 -0
  101. package/esm/parts/LeftNavFooterItem/styled.js +26 -0
  102. package/esm/parts/LeftNavLoading/index.js +23 -0
  103. package/esm/parts/OutOfTheBoxMapItem.js +42 -0
  104. package/esm/prop-types.js +40 -0
  105. package/package.json +121 -123
  106. package/types/LeftNavigation.d.ts +55 -0
  107. package/types/LeftNavigationContext.d.ts +18 -0
  108. package/types/common/getItemBackgroundStyle.d.ts +5 -0
  109. package/types/common/getLeftBorderStyle.d.ts +4 -0
  110. package/types/common/getScrollbarStyle.d.ts +1 -0
  111. package/types/common/index.d.ts +3 -0
  112. package/types/configs/index.d.ts +3 -0
  113. package/types/configs/useLeftNavConfig.d.ts +4 -0
  114. package/types/configs/useLeftNavItems.d.ts +12 -0
  115. package/types/configs/useLeftNavSmoothExpand.d.ts +10 -0
  116. package/types/exported-related/ChevronItem/index.d.ts +3 -0
  117. package/types/exported-related/Icon/index.d.ts +5 -0
  118. package/types/exported-related/ItemRenderer/index.d.ts +3 -0
  119. package/types/exported-related/ItemRenderer/styled.d.ts +16 -0
  120. package/types/exported-related/ItemRenderer/usePropsWithDefaults.d.ts +2 -0
  121. package/types/exported-related/Notifications/index.d.ts +8 -0
  122. package/types/exported-related/OpenWindowItem/index.d.ts +3 -0
  123. package/types/exported-related/constants.d.ts +19 -0
  124. package/types/exported-related/index.d.ts +6 -0
  125. package/types/hooks/index.d.ts +3 -0
  126. package/types/hooks/useExpandableOnClickHandler.d.ts +9 -0
  127. package/types/hooks/useKeyboardNavigation.d.ts +8 -0
  128. package/types/hooks/useOpenableOnClickHandler.d.ts +10 -0
  129. package/types/hooks/useSelectFirstBodyItem.d.ts +3 -0
  130. package/types/index.d.d.ts +77 -0
  131. package/types/index.d.ts +3 -0
  132. package/types/outOfTheBox/ItemControlledDrilldown/index.d.ts +3 -0
  133. package/types/outOfTheBox/ItemControlledDrilldown/styled.d.ts +5 -0
  134. package/types/outOfTheBox/ItemHeader/index.d.ts +3 -0
  135. package/types/outOfTheBox/ItemHeader/styled.d.ts +3 -0
  136. package/types/outOfTheBox/ItemLink/index.d.ts +3 -0
  137. package/types/outOfTheBox/ItemLink/styled.d.ts +2 -0
  138. package/types/outOfTheBox/ItemSection/index.d.ts +3 -0
  139. package/types/outOfTheBox/ItemSection/styled.d.ts +3 -0
  140. package/types/outOfTheBox/ItemSeparator/index.d.ts +3 -0
  141. package/types/outOfTheBox/ItemSubmenu/index.d.ts +3 -0
  142. package/types/outOfTheBox/ItemSubmenu/styled.d.ts +3 -0
  143. package/types/outOfTheBox/ItemTextLabel/index.d.ts +3 -0
  144. package/types/outOfTheBox/ItemTextLabel/styled.d.ts +2 -0
  145. package/types/outOfTheBox/ItemUncontrolledDrilldown/index.d.ts +3 -0
  146. package/types/outOfTheBox/ItemUncontrolledDrilldown/styled.d.ts +5 -0
  147. package/types/outOfTheBox/ItemWithDate/index.d.ts +3 -0
  148. package/types/outOfTheBox/ItemWithDate/styled.d.ts +5 -0
  149. package/types/outOfTheBox/index.d.ts +13 -0
  150. package/types/parts/LeftNavContent/index.d.ts +3 -0
  151. package/types/parts/LeftNavContent/styled.d.ts +14 -0
  152. package/types/parts/LeftNavContentWithScrollbar/index.d.ts +6 -0
  153. package/types/parts/LeftNavFooterItem/index.d.ts +8 -0
  154. package/types/parts/LeftNavFooterItem/styled.d.ts +14 -0
  155. package/types/parts/LeftNavLoading/index.d.ts +4 -0
  156. package/types/parts/OutOfTheBoxMapItem.d.ts +3 -0
  157. package/types/prop-types.d.ts +91 -0
  158. package/types/tests/LeftNavigation.collapsed.test.d.ts +1 -0
  159. package/types/tests/LeftNavigation.expanded.test.d.ts +1 -0
  160. package/types/tests/LeftNavigation.opened.test.d.ts +1 -0
  161. package/types/tests/events/LeftNavigation.events.keyboard.test.d.ts +1 -0
  162. package/types/tests/events/LeftNavigation.events.subitems.test.d.ts +1 -0
  163. package/types/tests/events/LeftNavigation.events.test.d.ts +1 -0
  164. package/types/tests/events/LeftNavigation.focus.events.test.d.ts +1 -0
  165. package/dist/cjs/LeftNavigation.js +0 -51
  166. package/dist/cjs/LeftNavigation.js.map +0 -7
  167. package/dist/cjs/LeftNavigationContext.js +0 -67
  168. package/dist/cjs/LeftNavigationContext.js.map +0 -7
  169. package/dist/cjs/common/getItemBackgroundStyle.js +0 -51
  170. package/dist/cjs/common/getItemBackgroundStyle.js.map +0 -7
  171. package/dist/cjs/common/getLeftBorderStyle.js +0 -54
  172. package/dist/cjs/common/getLeftBorderStyle.js.map +0 -7
  173. package/dist/cjs/common/getScrollbarStyle.js +0 -58
  174. package/dist/cjs/common/getScrollbarStyle.js.map +0 -7
  175. package/dist/cjs/common/index.js +0 -30
  176. package/dist/cjs/common/index.js.map +0 -7
  177. package/dist/cjs/configs/index.js +0 -38
  178. package/dist/cjs/configs/index.js.map +0 -7
  179. package/dist/cjs/configs/useLeftNavConfig.js +0 -106
  180. package/dist/cjs/configs/useLeftNavConfig.js.map +0 -7
  181. package/dist/cjs/configs/useLeftNavItems.js +0 -82
  182. package/dist/cjs/configs/useLeftNavItems.js.map +0 -7
  183. package/dist/cjs/configs/useLeftNavSmoothExpand.js +0 -53
  184. package/dist/cjs/configs/useLeftNavSmoothExpand.js.map +0 -7
  185. package/dist/cjs/exported-related/ChevronItem/index.js +0 -43
  186. package/dist/cjs/exported-related/ChevronItem/index.js.map +0 -7
  187. package/dist/cjs/exported-related/Icon/index.js +0 -53
  188. package/dist/cjs/exported-related/Icon/index.js.map +0 -7
  189. package/dist/cjs/exported-related/ItemRenderer/index.js +0 -133
  190. package/dist/cjs/exported-related/ItemRenderer/index.js.map +0 -7
  191. package/dist/cjs/exported-related/ItemRenderer/styled.js +0 -90
  192. package/dist/cjs/exported-related/ItemRenderer/styled.js.map +0 -7
  193. package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -69
  194. package/dist/cjs/exported-related/ItemRenderer/usePropsWithDefaults.js.map +0 -7
  195. package/dist/cjs/exported-related/Notifications/index.js +0 -82
  196. package/dist/cjs/exported-related/Notifications/index.js.map +0 -7
  197. package/dist/cjs/exported-related/OpenWindowItem/index.js +0 -50
  198. package/dist/cjs/exported-related/OpenWindowItem/index.js.map +0 -7
  199. package/dist/cjs/exported-related/constants.js +0 -57
  200. package/dist/cjs/exported-related/constants.js.map +0 -7
  201. package/dist/cjs/exported-related/index.js +0 -33
  202. package/dist/cjs/exported-related/index.js.map +0 -7
  203. package/dist/cjs/hooks/index.js +0 -30
  204. package/dist/cjs/hooks/index.js.map +0 -7
  205. package/dist/cjs/hooks/useExpandableOnClickHandler.js +0 -64
  206. package/dist/cjs/hooks/useExpandableOnClickHandler.js.map +0 -7
  207. package/dist/cjs/hooks/useKeyboardNavigation.js +0 -118
  208. package/dist/cjs/hooks/useKeyboardNavigation.js.map +0 -7
  209. package/dist/cjs/hooks/useOpenableOnClickHandler.js +0 -69
  210. package/dist/cjs/hooks/useOpenableOnClickHandler.js.map +0 -7
  211. package/dist/cjs/hooks/useSelectFirstBodyItem.js +0 -52
  212. package/dist/cjs/hooks/useSelectFirstBodyItem.js.map +0 -7
  213. package/dist/cjs/index.d.js +0 -27
  214. package/dist/cjs/index.d.js.map +0 -7
  215. package/dist/cjs/index.js +0 -41
  216. package/dist/cjs/index.js.map +0 -7
  217. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js +0 -152
  218. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/index.js.map +0 -7
  219. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/styled.js +0 -49
  220. package/dist/cjs/outOfTheBox/ItemControlledDrilldown/styled.js.map +0 -7
  221. package/dist/cjs/outOfTheBox/ItemHeader/index.js +0 -147
  222. package/dist/cjs/outOfTheBox/ItemHeader/index.js.map +0 -7
  223. package/dist/cjs/outOfTheBox/ItemHeader/styled.js +0 -49
  224. package/dist/cjs/outOfTheBox/ItemHeader/styled.js.map +0 -7
  225. package/dist/cjs/outOfTheBox/ItemLink/index.js +0 -106
  226. package/dist/cjs/outOfTheBox/ItemLink/index.js.map +0 -7
  227. package/dist/cjs/outOfTheBox/ItemLink/styled.js +0 -41
  228. package/dist/cjs/outOfTheBox/ItemLink/styled.js.map +0 -7
  229. package/dist/cjs/outOfTheBox/ItemSection/index.js +0 -79
  230. package/dist/cjs/outOfTheBox/ItemSection/index.js.map +0 -7
  231. package/dist/cjs/outOfTheBox/ItemSection/styled.js +0 -53
  232. package/dist/cjs/outOfTheBox/ItemSection/styled.js.map +0 -7
  233. package/dist/cjs/outOfTheBox/ItemSeparator/index.js +0 -63
  234. package/dist/cjs/outOfTheBox/ItemSeparator/index.js.map +0 -7
  235. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js +0 -149
  236. package/dist/cjs/outOfTheBox/ItemSubmenu/index.js.map +0 -7
  237. package/dist/cjs/outOfTheBox/ItemSubmenu/styled.js +0 -49
  238. package/dist/cjs/outOfTheBox/ItemSubmenu/styled.js.map +0 -7
  239. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js +0 -69
  240. package/dist/cjs/outOfTheBox/ItemTextLabel/index.js.map +0 -7
  241. package/dist/cjs/outOfTheBox/ItemTextLabel/styled.js +0 -43
  242. package/dist/cjs/outOfTheBox/ItemTextLabel/styled.js.map +0 -7
  243. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -166
  244. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +0 -7
  245. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -49
  246. package/dist/cjs/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +0 -7
  247. package/dist/cjs/outOfTheBox/ItemWithDate/index.js +0 -91
  248. package/dist/cjs/outOfTheBox/ItemWithDate/index.js.map +0 -7
  249. package/dist/cjs/outOfTheBox/ItemWithDate/styled.js +0 -49
  250. package/dist/cjs/outOfTheBox/ItemWithDate/styled.js.map +0 -7
  251. package/dist/cjs/outOfTheBox/index.js +0 -77
  252. package/dist/cjs/outOfTheBox/index.js.map +0 -7
  253. package/dist/cjs/parts/LeftNavContent/index.js +0 -88
  254. package/dist/cjs/parts/LeftNavContent/index.js.map +0 -7
  255. package/dist/cjs/parts/LeftNavContent/styled.js +0 -113
  256. package/dist/cjs/parts/LeftNavContent/styled.js.map +0 -7
  257. package/dist/cjs/parts/LeftNavContentWithScrollbar/index.js +0 -101
  258. package/dist/cjs/parts/LeftNavContentWithScrollbar/index.js.map +0 -7
  259. package/dist/cjs/parts/LeftNavFooterItem/index.js +0 -125
  260. package/dist/cjs/parts/LeftNavFooterItem/index.js.map +0 -7
  261. package/dist/cjs/parts/LeftNavFooterItem/styled.js +0 -94
  262. package/dist/cjs/parts/LeftNavFooterItem/styled.js.map +0 -7
  263. package/dist/cjs/parts/LeftNavLoading/index.js +0 -52
  264. package/dist/cjs/parts/LeftNavLoading/index.js.map +0 -7
  265. package/dist/cjs/parts/OutOfTheBoxMapItem.js +0 -55
  266. package/dist/cjs/parts/OutOfTheBoxMapItem.js.map +0 -7
  267. package/dist/cjs/prop-types.js +0 -66
  268. package/dist/cjs/prop-types.js.map +0 -7
  269. package/dist/esm/LeftNavigation.js +0 -22
  270. package/dist/esm/LeftNavigation.js.map +0 -7
  271. package/dist/esm/LeftNavigationContext.js.map +0 -7
  272. package/dist/esm/common/getItemBackgroundStyle.js +0 -22
  273. package/dist/esm/common/getItemBackgroundStyle.js.map +0 -7
  274. package/dist/esm/common/getLeftBorderStyle.js +0 -25
  275. package/dist/esm/common/getLeftBorderStyle.js.map +0 -7
  276. package/dist/esm/common/getScrollbarStyle.js +0 -29
  277. package/dist/esm/common/getScrollbarStyle.js.map +0 -7
  278. package/dist/esm/common/index.js +0 -5
  279. package/dist/esm/common/index.js.map +0 -7
  280. package/dist/esm/configs/index.js +0 -9
  281. package/dist/esm/configs/index.js.map +0 -7
  282. package/dist/esm/configs/useLeftNavConfig.js +0 -77
  283. package/dist/esm/configs/useLeftNavConfig.js.map +0 -7
  284. package/dist/esm/configs/useLeftNavItems.js +0 -53
  285. package/dist/esm/configs/useLeftNavItems.js.map +0 -7
  286. package/dist/esm/configs/useLeftNavSmoothExpand.js +0 -24
  287. package/dist/esm/configs/useLeftNavSmoothExpand.js.map +0 -7
  288. package/dist/esm/exported-related/ChevronItem/index.js +0 -14
  289. package/dist/esm/exported-related/ChevronItem/index.js.map +0 -7
  290. package/dist/esm/exported-related/Icon/index.js +0 -24
  291. package/dist/esm/exported-related/Icon/index.js.map +0 -7
  292. package/dist/esm/exported-related/ItemRenderer/index.js +0 -104
  293. package/dist/esm/exported-related/ItemRenderer/index.js.map +0 -7
  294. package/dist/esm/exported-related/ItemRenderer/styled.js +0 -61
  295. package/dist/esm/exported-related/ItemRenderer/styled.js.map +0 -7
  296. package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js +0 -40
  297. package/dist/esm/exported-related/ItemRenderer/usePropsWithDefaults.js.map +0 -7
  298. package/dist/esm/exported-related/Notifications/index.js +0 -58
  299. package/dist/esm/exported-related/Notifications/index.js.map +0 -7
  300. package/dist/esm/exported-related/OpenWindowItem/index.js +0 -21
  301. package/dist/esm/exported-related/OpenWindowItem/index.js.map +0 -7
  302. package/dist/esm/exported-related/constants.js +0 -28
  303. package/dist/esm/exported-related/constants.js.map +0 -7
  304. package/dist/esm/exported-related/index.js +0 -8
  305. package/dist/esm/exported-related/index.js.map +0 -7
  306. package/dist/esm/hooks/index.js +0 -5
  307. package/dist/esm/hooks/index.js.map +0 -7
  308. package/dist/esm/hooks/useExpandableOnClickHandler.js +0 -35
  309. package/dist/esm/hooks/useExpandableOnClickHandler.js.map +0 -7
  310. package/dist/esm/hooks/useKeyboardNavigation.js.map +0 -7
  311. package/dist/esm/hooks/useOpenableOnClickHandler.js +0 -40
  312. package/dist/esm/hooks/useOpenableOnClickHandler.js.map +0 -7
  313. package/dist/esm/hooks/useSelectFirstBodyItem.js +0 -23
  314. package/dist/esm/hooks/useSelectFirstBodyItem.js.map +0 -7
  315. package/dist/esm/index.d.js +0 -2
  316. package/dist/esm/index.d.js.map +0 -7
  317. package/dist/esm/index.js +0 -12
  318. package/dist/esm/index.js.map +0 -7
  319. package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js +0 -123
  320. package/dist/esm/outOfTheBox/ItemControlledDrilldown/index.js.map +0 -7
  321. package/dist/esm/outOfTheBox/ItemControlledDrilldown/styled.js +0 -20
  322. package/dist/esm/outOfTheBox/ItemControlledDrilldown/styled.js.map +0 -7
  323. package/dist/esm/outOfTheBox/ItemHeader/index.js +0 -118
  324. package/dist/esm/outOfTheBox/ItemHeader/index.js.map +0 -7
  325. package/dist/esm/outOfTheBox/ItemHeader/styled.js +0 -20
  326. package/dist/esm/outOfTheBox/ItemHeader/styled.js.map +0 -7
  327. package/dist/esm/outOfTheBox/ItemLink/index.js +0 -77
  328. package/dist/esm/outOfTheBox/ItemLink/index.js.map +0 -7
  329. package/dist/esm/outOfTheBox/ItemLink/styled.js +0 -12
  330. package/dist/esm/outOfTheBox/ItemLink/styled.js.map +0 -7
  331. package/dist/esm/outOfTheBox/ItemSection/index.js +0 -50
  332. package/dist/esm/outOfTheBox/ItemSection/index.js.map +0 -7
  333. package/dist/esm/outOfTheBox/ItemSection/styled.js +0 -24
  334. package/dist/esm/outOfTheBox/ItemSection/styled.js.map +0 -7
  335. package/dist/esm/outOfTheBox/ItemSeparator/index.js +0 -34
  336. package/dist/esm/outOfTheBox/ItemSeparator/index.js.map +0 -7
  337. package/dist/esm/outOfTheBox/ItemSubmenu/index.js +0 -120
  338. package/dist/esm/outOfTheBox/ItemSubmenu/index.js.map +0 -7
  339. package/dist/esm/outOfTheBox/ItemSubmenu/styled.js +0 -20
  340. package/dist/esm/outOfTheBox/ItemSubmenu/styled.js.map +0 -7
  341. package/dist/esm/outOfTheBox/ItemTextLabel/index.js +0 -40
  342. package/dist/esm/outOfTheBox/ItemTextLabel/index.js.map +0 -7
  343. package/dist/esm/outOfTheBox/ItemTextLabel/styled.js +0 -14
  344. package/dist/esm/outOfTheBox/ItemTextLabel/styled.js.map +0 -7
  345. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js +0 -137
  346. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/index.js.map +0 -7
  347. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js +0 -20
  348. package/dist/esm/outOfTheBox/ItemUncontrolledDrilldown/styled.js.map +0 -7
  349. package/dist/esm/outOfTheBox/ItemWithDate/index.js +0 -62
  350. package/dist/esm/outOfTheBox/ItemWithDate/index.js.map +0 -7
  351. package/dist/esm/outOfTheBox/ItemWithDate/styled.js +0 -20
  352. package/dist/esm/outOfTheBox/ItemWithDate/styled.js.map +0 -7
  353. package/dist/esm/outOfTheBox/index.js +0 -48
  354. package/dist/esm/outOfTheBox/index.js.map +0 -7
  355. package/dist/esm/parts/LeftNavContent/index.js +0 -67
  356. package/dist/esm/parts/LeftNavContent/index.js.map +0 -7
  357. package/dist/esm/parts/LeftNavContent/styled.js +0 -84
  358. package/dist/esm/parts/LeftNavContent/styled.js.map +0 -7
  359. package/dist/esm/parts/LeftNavContentWithScrollbar/index.js +0 -72
  360. package/dist/esm/parts/LeftNavContentWithScrollbar/index.js.map +0 -7
  361. package/dist/esm/parts/LeftNavFooterItem/index.js +0 -103
  362. package/dist/esm/parts/LeftNavFooterItem/index.js.map +0 -7
  363. package/dist/esm/parts/LeftNavFooterItem/styled.js +0 -65
  364. package/dist/esm/parts/LeftNavFooterItem/styled.js.map +0 -7
  365. package/dist/esm/parts/LeftNavLoading/index.js +0 -23
  366. package/dist/esm/parts/LeftNavLoading/index.js.map +0 -7
  367. package/dist/esm/parts/OutOfTheBoxMapItem.js +0 -26
  368. package/dist/esm/parts/OutOfTheBoxMapItem.js.map +0 -7
  369. package/dist/esm/prop-types.js +0 -37
  370. package/dist/esm/prop-types.js.map +0 -7
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
13
+ var React = require('react');
14
+ require('overlayscrollbars/css/OverlayScrollbars.css');
15
+ var OverlayScrollbars = require('overlayscrollbars');
16
+ var styled = require('styled-components');
17
+ var jsxRuntime = require('react/jsx-runtime');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
22
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
23
+ var OverlayScrollbars__default = /*#__PURE__*/_interopDefaultLegacy(OverlayScrollbars);
24
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
25
+
26
+ var _div, _div2, _div3, _div4;
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+ const StyledHandle = /*#__PURE__*/styled__default["default"].div.withConfig({
32
+ componentId: "sc-yn7jj3-0"
33
+ })(["width:6px;border:1px solid rgba(0,0,0,0);background-color:rgba(105,116,137,0.5) !important;border-radius:7px;:hover{background-color:rgba(105,116,137,0.7) !important;}:active{background-color:rgba(105,116,137,0.7) !important;}"]);
34
+ const options = {
35
+ className: 'os-theme-dark',
36
+ scrollbars: {
37
+ autoHide: 'leave',
38
+ autoHideDelay: 0
39
+ }
40
+ };
41
+ const LeftNavContentWithScrollbar = props => {
42
+ const {
43
+ children
44
+ } = props;
45
+ const inheritBoxShadow = {
46
+ boxShadow: 'inherit'
47
+ };
48
+ const [osInstance, setOsInstance] = React.useState();
49
+ const osTargetRef = React.useRef(null);
50
+ React.useEffect(() => {
51
+ const nextOsInstance = OverlayScrollbars__default["default"](osTargetRef.current, options);
52
+ setOsInstance(nextOsInstance);
53
+ }, [osInstance]);
54
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
55
+ className: "os-host",
56
+ style: _objectSpread({
57
+ height: '100%'
58
+ }, inheritBoxShadow),
59
+ tabIndex: -1,
60
+ ref: osTargetRef,
61
+ children: [_div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {
62
+ className: "os-resize-observer-host"
63
+ })), /*#__PURE__*/_jsx__default["default"]("div", {
64
+ className: "os-padding",
65
+ style: inheritBoxShadow
66
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
67
+ className: "os-viewport",
68
+ style: inheritBoxShadow
69
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
70
+ className: "os-content",
71
+ style: inheritBoxShadow,
72
+ "aria-hidden": true
73
+ }, void 0, children))), _div2 || (_div2 = /*#__PURE__*/_jsx__default["default"]("div", {
74
+ className: "os-scrollbar os-scrollbar-horizontal "
75
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
76
+ className: "os-scrollbar-track"
77
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
78
+ className: "os-scrollbar-handle"
79
+ })))), _div3 || (_div3 = /*#__PURE__*/_jsx__default["default"]("div", {
80
+ className: "os-scrollbar os-scrollbar-vertical"
81
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
82
+ className: "os-scrollbar-track"
83
+ }, void 0, /*#__PURE__*/_jsx__default["default"](StyledHandle, {
84
+ className: "os-scrollbar-handle"
85
+ })))), _div4 || (_div4 = /*#__PURE__*/_jsx__default["default"]("div", {
86
+ className: "os-scrollbar-corner"
87
+ }))]
88
+ });
89
+ };
90
+
91
+ exports.LeftNavContentWithScrollbar = LeftNavContentWithScrollbar;
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ var React = require('react');
7
+ var dsIcons = require('@elliemae/ds-icons');
8
+ var Grid = require('@elliemae/ds-grid');
9
+ var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
+ var styled = require('./styled.js');
11
+ var LeftNavigationContext = require('../../LeftNavigationContext.js');
12
+ var useKeyboardNavigation = require('../../hooks/useKeyboardNavigation.js');
13
+ var constants = require('../../exported-related/constants.js');
14
+ var jsxRuntime = require('react/jsx-runtime');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
20
+
21
+ var _StyledSeparator;
22
+ const LeftNavFooterItem = props => {
23
+ const {
24
+ footerLabel,
25
+ onFooterExpand = () => null,
26
+ onFooterClose = () => null
27
+ } = props;
28
+ const {
29
+ leftNavProps: {
30
+ labelOverflow,
31
+ openedItem
32
+ },
33
+ expandedForAnimation,
34
+ setSelectedItem,
35
+ setFocusedItem,
36
+ visibleItemsRefs
37
+ } = React.useContext(LeftNavigationContext.LeftNavContext);
38
+ const id = constants.FOOTER_DS_ID;
39
+ const handleOnClick = expandedForAnimation ? onFooterClose : onFooterExpand;
40
+ const onKeyDown = useKeyboardNavigation.useKeyboardNavigation({
41
+ item: {
42
+ dsId: id,
43
+ itemOpts: {
44
+ selectable: !expandedForAnimation,
45
+ openable: false,
46
+ closable: false
47
+ }
48
+ },
49
+ onClick: handleOnClick
50
+ });
51
+ return /*#__PURE__*/_jsx__default["default"](styled.StyledFooterMenu, {
52
+ "data-testid": "leftnav-container"
53
+ }, id, /*#__PURE__*/_jsx__default["default"](styled.StyledItemWrapper, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(styled.StyledItem, {
54
+ ref: visibleItemsRefs.current[id],
55
+ tabIndex: expandedForAnimation ? -1 : 0,
56
+ expanded: expandedForAnimation,
57
+ pt: "xxs2",
58
+ height: expandedForAnimation ? 'auto' : '48px',
59
+ alignItems: "flex-start",
60
+ pl: "xxs",
61
+ cols: expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px'],
62
+ onClick: expandedForAnimation ? () => null : handleOnClick,
63
+ onKeyDown: onKeyDown,
64
+ onFocus: () => setFocusedItem(id),
65
+ "data-testid": "leftnav-item-container",
66
+ role: "menuitem",
67
+ "aria-label": expandedForAnimation ? "Footer, ".concat(footerLabel) : "Expand left navigation",
68
+ children: !expandedForAnimation ? /*#__PURE__*/_jsx__default["default"](dsIcons.MenuExpand, {
69
+ size: "m",
70
+ color: ['brand-primary', 800],
71
+ "data-testid": "leftnav-footer-btn"
72
+ }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
73
+ children: [/*#__PURE__*/_jsx__default["default"](styled.StyledLabel, {
74
+ mt: "5px",
75
+ mr: "12px",
76
+ mb: "16px",
77
+ "data-testid": "leftnav-itemlabel",
78
+ labelOverflow: labelOverflow,
79
+ "aria-live": "polite"
80
+ }, void 0, labelOverflow === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
81
+ value: footerLabel,
82
+ placement: "bottom-start"
83
+ }) : footerLabel), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](styled.StyledSeparator, {
84
+ mt: "xxxs"
85
+ })), /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
86
+ m: "0 12px"
87
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledMenuCollapse, {
88
+ size: "m",
89
+ color: ['brand-primary', 800],
90
+ onClick: e => {
91
+ e.stopPropagation();
92
+ handleOnClick(e);
93
+ },
94
+ "data-testid": "leftnav-footer-btn",
95
+ tabIndex: 0,
96
+ onFocus: e => {
97
+ e.stopPropagation();
98
+ setFocusedItem(constants.FOOTER_MENU_CLOSE_DS_ID);
99
+ },
100
+ role: "button",
101
+ "aria-label": "Collapse left navigation"
102
+ }))]
103
+ })
104
+ })));
105
+ };
106
+
107
+ exports.LeftNavFooterItem = LeftNavFooterItem;
108
+ exports["default"] = LeftNavFooterItem;
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var styled = require('styled-components');
6
+ var Grid = require('@elliemae/ds-grid');
7
+ var dsIcons = require('@elliemae/ds-icons');
8
+ var getItemBackgroundStyle = require('../../common/getItemBackgroundStyle.js');
9
+ var getLeftBorderStyle = require('../../common/getLeftBorderStyle.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
14
+
15
+ const StyledFooterMenu = /*#__PURE__*/styled__default["default"](Grid.Grid).withConfig({
16
+ componentId: "sc-1mcbjxr-0"
17
+ })(["width:100%;margin-top:auto;background:", ";", " border-top:1px solid ", ";"], props => props.theme.colors.neutral['000'], getLeftBorderStyle.getLeftBorderStyle, props => props.theme.colors.neutral[100]);
18
+ const StyledItemWrapper = /*#__PURE__*/styled__default["default"](Grid.Grid).withConfig({
19
+ componentId: "sc-1mcbjxr-1"
20
+ })(["position:relative;padding-left:", ";"], props => props.theme.space.xxxs);
21
+ const StyledItem = /*#__PURE__*/styled__default["default"](Grid.Grid).withConfig({
22
+ componentId: "sc-1mcbjxr-2"
23
+ })(["min-height:48px;cursor:", ";", " outline:none;:focus{&:before{content:'';position:absolute;height:100%;width:100%;top:0;left:0px;border:2px solid ", ";pointer-events:none;}}"], props => props.expanded ? 'auto' : 'pointer', getItemBackgroundStyle.getItemBackgroundStyle, props => props.theme.colors.brand[600]);
24
+ const StyledLabel = /*#__PURE__*/styled__default["default"](Grid.Grid).withConfig({
25
+ componentId: "sc-1mcbjxr-3"
26
+ })(["font-size:11px;color:", ";line-height:14px;word-break:", ";"], props => props.theme.colors.neutral[500], props => props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal');
27
+ const StyledSeparator = /*#__PURE__*/styled__default["default"](Grid.Grid).withConfig({
28
+ componentId: "sc-1mcbjxr-4"
29
+ })(["height:16px;width:1px;background-color:", ";"], props => props.theme.colors.neutral[100]);
30
+ const StyledMenuCollapse = /*#__PURE__*/styled__default["default"](dsIcons.MenuCollapse).withConfig({
31
+ componentId: "sc-1mcbjxr-5"
32
+ })(["cursor:pointer;:focus{outline:2px solid ", ";}"], props => props.theme.colors.brand[700]);
33
+
34
+ exports.StyledFooterMenu = StyledFooterMenu;
35
+ exports.StyledItem = StyledItem;
36
+ exports.StyledItemWrapper = StyledItemWrapper;
37
+ exports.StyledLabel = StyledLabel;
38
+ exports.StyledMenuCollapse = StyledMenuCollapse;
39
+ exports.StyledSeparator = StyledSeparator;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('react');
7
+ var DSCircularProgressIndicator = require('@elliemae/ds-circular-progress-indicator');
8
+ var Grid = require('@elliemae/ds-grid');
9
+ var styled = require('styled-components');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
+ var DSCircularProgressIndicator__default = /*#__PURE__*/_interopDefaultLegacy(DSCircularProgressIndicator);
15
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
16
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
17
+
18
+ const StyledLoaderWrapper = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
19
+ componentId: "sc-mqgtxd-0"
20
+ })(["grid-area:left-nav-body;height:100%;place-items:center;z-index:0;background-color:white;"]);
21
+ const LeftNavLoading = _ref => {
22
+ let {
23
+ expanded
24
+ } = _ref;
25
+ return /*#__PURE__*/_jsx__default["default"](StyledLoaderWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](DSCircularProgressIndicator__default["default"], {
26
+ size: expanded ? 'xl' : 'm',
27
+ loading: true,
28
+ showLabel: expanded,
29
+ waiting: false,
30
+ showTooltip: !expanded
31
+ }));
32
+ };
33
+
34
+ exports.LeftNavLoading = LeftNavLoading;
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _jsx = require('@babel/runtime/helpers/jsx');
11
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
+ var React = require('react');
13
+ var index = require('../outOfTheBox/index.js');
14
+ var LeftNavigationContext = require('../LeftNavigationContext.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ const OutOfTheBoxMapItem = props => {
26
+ const {
27
+ item,
28
+ item: {
29
+ type,
30
+ Component
31
+ }
32
+ } = props;
33
+ const ctx = React__default["default"].useContext(LeftNavigationContext.LeftNavContext);
34
+
35
+ if (typeof type === 'string' && !!index.outOfTheBoxComponents[type]) {
36
+ const OutOfTheBoxComponent = index.outOfTheBoxComponents[type];
37
+ return /*#__PURE__*/_jsx__default["default"](OutOfTheBoxComponent, {
38
+ item: _objectSpread({
39
+ itemOpts: {}
40
+ }, item),
41
+ ctx: ctx
42
+ });
43
+ } // we expect an error to be threw if Component is not defined and type is not a valid out-of-the-box...
44
+
45
+
46
+ return /*#__PURE__*/_jsx__default["default"](Component, {
47
+ item: item,
48
+ ctx: ctx
49
+ });
50
+ };
51
+
52
+ exports.OutOfTheBoxMapItem = OutOfTheBoxMapItem;
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var reactDesc = require('react-desc');
6
+ var index = require('./outOfTheBox/index.js');
7
+
8
+ const leftNavItemProps = {
9
+ type: reactDesc.PropTypes.oneOf(index.outOfTheBoxTypes).description('out of the box types'),
10
+ dsId: reactDesc.PropTypes.string.description('unique identifier for the left nav item'),
11
+ Component: reactDesc.PropTypes.func.description("A custom component, receives the item as prop. This is used only when type is not defined or doesn't matches any out-of-the-box"),
12
+ CollapsedComponent: reactDesc.PropTypes.func.description('A component which is renderer when the left-nav is collapsed'),
13
+ itemOpts: reactDesc.PropTypes.object.description('Item options')
14
+ };
15
+ const leftNavigationProps = {
16
+ containerProps: reactDesc.PropTypes.shape({
17
+ expandedWidth: reactDesc.PropTypes.string
18
+ }).description('Set of Properties attached to the main container').defaultValue({
19
+ expandedWidth: '240px'
20
+ }),
21
+ expanded: reactDesc.PropTypes.bool.description('Whether to show the left navigation expanded or collapsed').defaultValue(false),
22
+ loading: reactDesc.PropTypes.bool.description('Whether the left-nav is loading').defaultValue(false),
23
+ tabIndex: reactDesc.PropTypes.number.description('Tab index').defaultValue(0),
24
+ openedItem: reactDesc.PropTypes.string.description('The id of the left navigation item you want to be opened').defaultValue(null),
25
+ footerLabel: reactDesc.PropTypes.string.description('The label to show in the footer item'),
26
+ onFooterExpand: reactDesc.PropTypes.func.description('The function to call when the left-nav is opened via the footer'),
27
+ onFooterClose: reactDesc.PropTypes.func.description('The function to call when the left-nav is closed via the footer'),
28
+ onSelectedChange: reactDesc.PropTypes.func.description('A callback which triggers when the selected item changes').defaultValue(() => null),
29
+ onFocusChange: reactDesc.PropTypes.func.description('A callback which triggers when the focused item changes').defaultValue(() => null),
30
+ items: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.object).description('The array of items you want to render inside the left nav').defaultValue([]),
31
+ disableDefaultSelection: reactDesc.PropTypes.bool.description('Whether you do not want to automatically select the first body item').defaultValue(false)
32
+ };
33
+
34
+ const LeftNavItemProps = () => null;
35
+
36
+ const LeftNavItemPropsSchema = reactDesc.describe(LeftNavItemProps);
37
+ LeftNavItemPropsSchema.propTypes = leftNavItemProps;
38
+
39
+ const LeftNavItemOptions = () => null;
40
+
41
+ const LeftNavItemOptionsSchema = reactDesc.describe(LeftNavItemOptions);
42
+ LeftNavItemOptionsSchema.propTypes = leftNavItemProps;
43
+
44
+ exports.LeftNavItemOptionsSchema = LeftNavItemOptionsSchema;
45
+ exports.LeftNavItemPropsSchema = LeftNavItemPropsSchema;
46
+ exports.leftNavItemProps = leftNavItemProps;
47
+ exports.leftNavigationProps = leftNavigationProps;
@@ -0,0 +1,20 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { describe } from 'react-desc';
4
+ import { leftNavigationProps } from './prop-types.js';
5
+ import { LeftNavContext, defaultProps } from './LeftNavigationContext.js';
6
+ import { useLeftNavConfig } from './configs/useLeftNavConfig.js';
7
+ import LeftNavContent from './parts/LeftNavContent/index.js';
8
+
9
+ var _LeftNavContent;
10
+ const LeftNavigation = props => {
11
+ const leftNavConfig = useLeftNavConfig(props);
12
+ return /*#__PURE__*/_jsx(LeftNavContext.Provider, {
13
+ value: leftNavConfig
14
+ }, void 0, _LeftNavContent || (_LeftNavContent = /*#__PURE__*/_jsx(LeftNavContent, {})));
15
+ };
16
+ LeftNavigation.defaultProps = defaultProps;
17
+ const LeftNavigationWithSchema = describe(LeftNavigation).description('Left Navigation');
18
+ LeftNavigationWithSchema.propTypes = leftNavigationProps;
19
+
20
+ export { LeftNavigation, LeftNavigationWithSchema };
@@ -1,18 +1,18 @@
1
- import * as React from "react";
2
- import { createContext } from "react";
1
+ import { createContext } from 'react';
2
+
3
3
  const defaultProps = {
4
- expandedWidth: "240px",
4
+ expandedWidth: '240px',
5
5
  tabIndex: 0,
6
6
  loading: false,
7
7
  expanded: false,
8
8
  openedItem: null,
9
- footerLabel: "",
9
+ footerLabel: '',
10
10
  onSelectedChange: () => null,
11
11
  onFocusChange: () => null,
12
12
  onFooterExpand: () => null,
13
13
  onFooterClose: () => null,
14
14
  items: [],
15
- labelOverflow: "wrap",
15
+ labelOverflow: 'wrap',
16
16
  onItemClick: () => null
17
17
  };
18
18
  const defaultContext = {
@@ -25,14 +25,10 @@ const defaultContext = {
25
25
  openedDrilldowns: [],
26
26
  setOpenedDrilldowns: () => null,
27
27
  visibleItems: [],
28
- visibleItemsRefs: { current: {} }
28
+ visibleItemsRefs: {
29
+ current: {}
30
+ }
29
31
  };
30
- const LeftNavContext = createContext(defaultContext);
31
- var LeftNavigationContext_default = LeftNavContext;
32
- export {
33
- LeftNavContext,
34
- LeftNavigationContext_default as default,
35
- defaultContext,
36
- defaultProps
37
- };
38
- //# sourceMappingURL=LeftNavigationContext.js.map
32
+ const LeftNavContext = /*#__PURE__*/createContext(defaultContext);
33
+
34
+ export { LeftNavContext, LeftNavContext as default, defaultContext, defaultProps };
@@ -0,0 +1,8 @@
1
+ const commonItemBackgroundStyle = (color, hoverColor, activeColor) => "\n\n background: ".concat(color, ";\n\n :hover {\n background: ").concat(hoverColor, ";\n }\n\n :active {\n background: ").concat(activeColor, ";\n }\n");
2
+
3
+ const getItemBackgroundStyle = props => {
4
+ if (props.selected && !props.opened) return commonItemBackgroundStyle(props.theme.colors.brand[200], props.theme.colors.brand[200], props.theme.colors.brand[200]);
5
+ return commonItemBackgroundStyle(props.theme.colors.neutral['000'], props.theme.colors.neutral['080'], props.theme.colors.brand[200]);
6
+ };
7
+
8
+ export { getItemBackgroundStyle };
@@ -0,0 +1,8 @@
1
+ const commonLeftBorderStyle = (color, hoverColor, activeColor) => "\n\n -webkit-box-shadow: inset 4px 0 0 0 ".concat(color, ";\n box-shadow: inset 4px 0 0 0 ").concat(color, ";\n\n :hover {\n -webkit-box-shadow: inset 4px 0 0 0 ").concat(hoverColor, ";\n box-shadow: inset 4px 0 0 0 ").concat(hoverColor, ";\n }\n\n :active {\n -webkit-box-shadow: inset 4px 0 0 0 ").concat(activeColor, ";\n box-shadow: inset 4px 0 0 0 ").concat(activeColor, ";\n }\n");
2
+
3
+ const getLeftBorderStyle = props => {
4
+ if (props.selected || props.selectedParent) return commonLeftBorderStyle(props.theme.colors.brand[400], props.theme.colors.brand[400], props.theme.colors.brand[400]);
5
+ return commonLeftBorderStyle(props.theme.colors.neutral['000'], props.theme.colors.brand[300], props.theme.colors.brand[400]);
6
+ };
7
+
8
+ export { getLeftBorderStyle };
@@ -0,0 +1,3 @@
1
+ const getScrolbarStyle = () => "\n ::-webkit-scrollbar {\n width: 14px;\n }\n ::-webkit-scrollbar-thumb {\n height: 6px;\n border: 4px solid rgba(0, 0, 0, 0);\n\n background-clip: padding-box;\n\n background-color: rgba(105, 116, 137, 0.5);\n\n border-radius: 7px;\n -webkit-border-radius: 7px;\n }\n ::-webkit-scrollbar-button {\n width: 0;\n height: 0;\n display: none;\n }\n ::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n";
2
+
3
+ export { getScrolbarStyle };
@@ -0,0 +1,3 @@
1
+ export { getItemBackgroundStyle } from './getItemBackgroundStyle.js';
2
+ export { getLeftBorderStyle } from './getLeftBorderStyle.js';
3
+ export { getScrolbarStyle } from './getScrollbarStyle.js';
@@ -0,0 +1,2 @@
1
+ import { useLeftNavConfig } from './useLeftNavConfig.js';
2
+ export { useLeftNavConfig as default, useLeftNavConfig } from './useLeftNavConfig.js';
@@ -0,0 +1,93 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
+ import React from 'react';
3
+ import { useLeftNavItems } from './useLeftNavItems.js';
4
+ import { useLeftNavSmoothExpand } from './useLeftNavSmoothExpand.js';
5
+ import { useSelectFirstBodyItem } from '../hooks/useSelectFirstBodyItem.js';
6
+
7
+ const useLeftNavConfig = props => {
8
+ const {
9
+ expanded,
10
+ openedItem,
11
+ onSelectedChange,
12
+ onFocusChange,
13
+ items
14
+ } = props; // -----------------------------------------------------------------------------
15
+ // ************************** ------------ **************************
16
+ // * INTERNAL STATE *
17
+ // ************************** ------------ **************************
18
+ // Selection related
19
+
20
+ const [selectedItem, setSelectedItem] = React.useState(null);
21
+ const [selectedParent, setSelectedParent] = React.useState(null); // Focus related
22
+
23
+ const [focusedItem, setFocusedItem] = React.useState(null); // Opened uncontrolled drilldowns
24
+
25
+ const [openedDrilldowns, setOpenedDrilldowns] = React.useState([]); // -----------------------------------------------------------------------------
26
+ // ************************** ------------ **************************
27
+ // * EXPAND ANIMATION *
28
+ // ************************** ------------ **************************
29
+
30
+ const [expandedForAnimation, setExpandedForAnimation] = React.useState(expanded);
31
+ const timeoutRef = React.useRef(null);
32
+ const smoothExpandOpts = React.useMemo(() => ({
33
+ expandedForAnimation,
34
+ timeoutRef,
35
+ setExpandedForAnimation
36
+ }), [expandedForAnimation, timeoutRef, setExpandedForAnimation]);
37
+ useLeftNavSmoothExpand(props, smoothExpandOpts); // -----------------------------------------------------------------------------
38
+ // ************************** ------------ **************************
39
+ // * SIDE EFFECTS *
40
+ // ************************** ------------ **************************
41
+
42
+ React.useEffect(() => {
43
+ onSelectedChange(selectedItem);
44
+ }, [selectedItem, onSelectedChange]);
45
+ React.useEffect(() => {
46
+ if (props.actionRef && props.actionRef.current) {
47
+ props.actionRef.current.setFocusedItem = setFocusedItem;
48
+ }
49
+ }, [props.actionRef]);
50
+ React.useEffect(() => {
51
+ if (openedItem !== null) setSelectedParent(openedItem);
52
+ }, [openedItem]);
53
+ React.useEffect(() => {
54
+ onFocusChange(focusedItem);
55
+ }, [focusedItem, onFocusChange]);
56
+ useSelectFirstBodyItem(items, openedItem, props.selectedItem !== undefined ? props.selectedItem : selectedItem, setSelectedItem, props.disableDefaultSelection); // -----------------------------------------------------------------------------
57
+ // ************************** ------------ **************************
58
+ // * ITEMS MANAGEMENT *
59
+ // ************************** ------------ **************************
60
+
61
+ const leftNavItemsProps = React.useMemo(() => ({
62
+ headerItem: props.HeaderComponent,
63
+ bodyHeaderItem: props.BodyHeaderComponent,
64
+ items: props.items,
65
+ openedDrilldowns
66
+ }), [props.HeaderComponent, props.BodyHeaderComponent, props.items, openedDrilldowns]); // We need to know the current visible items since we have drilldowns
67
+
68
+ const {
69
+ visibleItems,
70
+ visibleItemsRefs
71
+ } = useLeftNavItems(leftNavItemsProps); // -----------------------------------------------------------------------------
72
+ // ************************** ------------ **************************
73
+ // * LEFTNAV CONFIG *
74
+ // ************************** ------------ **************************
75
+
76
+ const finalConfig = React.useMemo(() => ({
77
+ leftNavProps: props,
78
+ expandedForAnimation,
79
+ selectedItem: props.selectedItem !== undefined ? props.selectedItem : selectedItem,
80
+ setSelectedItem,
81
+ selectedParent: props.selectedParent !== undefined ? props.selectedParent : selectedParent,
82
+ setSelectedParent,
83
+ focusedItem,
84
+ setFocusedItem,
85
+ openedDrilldowns,
86
+ setOpenedDrilldowns,
87
+ visibleItems,
88
+ visibleItemsRefs
89
+ }), [props, expandedForAnimation, selectedItem, setSelectedItem, setSelectedParent, selectedParent, focusedItem, setFocusedItem, openedDrilldowns, setOpenedDrilldowns, visibleItems, visibleItemsRefs]);
90
+ return finalConfig;
91
+ };
92
+
93
+ export { useLeftNavConfig as default, useLeftNavConfig };
@@ -0,0 +1,75 @@
1
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.for-each.js';
4
+ import 'core-js/modules/web.dom-collections.iterator.js';
5
+ import { useMemo, useRef, createRef } from 'react';
6
+ import { ITEM_TYPES, FOOTER_DS_ID } from '../exported-related/constants.js';
7
+ import '@babel/runtime/helpers/esm/jsx';
8
+ import '@elliemae/ds-grid';
9
+ import 'styled-components';
10
+ import 'core-js/modules/esnext.async-iterator.filter.js';
11
+ import 'core-js/modules/esnext.iterator.filter.js';
12
+ import '@babel/runtime/helpers/esm/defineProperty';
13
+ import 'react/jsx-runtime';
14
+ import '@elliemae/ds-icons';
15
+
16
+ const notFocuseableItems = [ITEM_TYPES.LEFT_NAV_ITEM_SEPARATOR, ITEM_TYPES.LEFT_NAV_ITEM_SECTION]; // Walks the array of items
17
+ // Drilldowns are tree-like structures
18
+
19
+ const walkItems = (items, openedDrilldowns, callback) => {
20
+ items.forEach(item => {
21
+ if (typeof item.type === 'string') {
22
+ var _item$itemOpts$items, _item$itemOpts, _item$itemOpts2, _item$itemOpts$items2, _item$itemOpts3;
23
+
24
+ // Out of the box item
25
+ if (notFocuseableItems.includes(item.type)) return; // not focuseable
26
+
27
+ callback(item.dsId); // If it's an opened uncontrolled drilldown
28
+
29
+ if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN && openedDrilldowns.includes(item.dsId)) walkItems((_item$itemOpts$items = (_item$itemOpts = item.itemOpts) === null || _item$itemOpts === void 0 ? void 0 : _item$itemOpts.items) !== null && _item$itemOpts$items !== void 0 ? _item$itemOpts$items : [], openedDrilldowns, callback); // If it's an opened controlled drilldown
30
+
31
+ if (item.type === ITEM_TYPES.LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN && (_item$itemOpts2 = item.itemOpts) !== null && _item$itemOpts2 !== void 0 && _item$itemOpts2.isOpened) walkItems((_item$itemOpts$items2 = (_item$itemOpts3 = item.itemOpts) === null || _item$itemOpts3 === void 0 ? void 0 : _item$itemOpts3.items) !== null && _item$itemOpts$items2 !== void 0 ? _item$itemOpts$items2 : [], openedDrilldowns, callback);
32
+ } else {
33
+ var _item$itemOpts4;
34
+
35
+ // Custom item
36
+ if (!((_item$itemOpts4 = item.itemOpts) !== null && _item$itemOpts4 !== void 0 && _item$itemOpts4.focuseable)) return; // not focuseable specified
37
+
38
+ callback(item.dsId);
39
+ }
40
+ });
41
+ };
42
+
43
+ const useLeftNavItems = props => {
44
+ const {
45
+ headerItem,
46
+ bodyHeaderItem,
47
+ items: bodyItems,
48
+ openedDrilldowns
49
+ } = props; // Place the header and body header items into the array of items
50
+
51
+ const items = useMemo(() => {
52
+ const itemsArray = [...bodyItems];
53
+ if (bodyHeaderItem) itemsArray.unshift(bodyHeaderItem);
54
+ if (headerItem) itemsArray.unshift(headerItem);
55
+ return itemsArray;
56
+ }, [headerItem, bodyHeaderItem, bodyItems]);
57
+ const visibleItemsRefs = useRef({});
58
+ const visibleItems = useMemo(() => {
59
+ const visibleItemsArray = [];
60
+ walkItems(items, openedDrilldowns, dsId => {
61
+ visibleItemsArray.push(dsId);
62
+ });
63
+ visibleItemsArray.push(FOOTER_DS_ID);
64
+ return visibleItemsArray;
65
+ }, [items, openedDrilldowns]);
66
+ visibleItems.forEach(dsId => {
67
+ if (!(dsId in visibleItemsRefs.current)) visibleItemsRefs.current[dsId] = /*#__PURE__*/createRef();
68
+ });
69
+ return {
70
+ visibleItems,
71
+ visibleItemsRefs
72
+ };
73
+ };
74
+
75
+ export { useLeftNavItems as default, useLeftNavItems };