@elliemae/ds-left-navigation 2.3.0-next.3 → 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,48 @@
1
+ import * as React from "react";
2
+ import { ITEM_TYPES } from "../exported-related";
3
+ import { ItemControlledDrilldown } from "./ItemControlledDrilldown";
4
+ import { ItemUncontrolledDrilldown } from "./ItemUncontrolledDrilldown";
5
+ import { ItemHeader } from "./ItemHeader";
6
+ import { ItemLink } from "./ItemLink";
7
+ import { ItemSection } from "./ItemSection";
8
+ import { ItemSeparator } from "./ItemSeparator";
9
+ import { ItemSubmenu } from "./ItemSubmenu";
10
+ import { ItemTextLabel } from "./ItemTextLabel";
11
+ import { ItemWithDate } from "./ItemWithDate";
12
+ export * from "./ItemControlledDrilldown";
13
+ export * from "./ItemUncontrolledDrilldown";
14
+ export * from "./ItemHeader";
15
+ export * from "./ItemLink";
16
+ export * from "./ItemSection";
17
+ export * from "./ItemSeparator";
18
+ export * from "./ItemSubmenu";
19
+ export * from "./ItemTextLabel";
20
+ export * from "./ItemWithDate";
21
+ const outOfTheBoxTypes = Object.values(ITEM_TYPES);
22
+ const {
23
+ LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN,
24
+ LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN,
25
+ LEFT_NAV_ITEM_HEADER,
26
+ LEFT_NAV_ITEM_LINK,
27
+ LEFT_NAV_ITEM_SECTION,
28
+ LEFT_NAV_ITEM_SEPARATOR,
29
+ LEFT_NAV_ITEM_SUBMENU,
30
+ LEFT_NAV_ITEM_TEXT_LABEL,
31
+ LEFT_NAV_ITEM_WITH_DATE
32
+ } = ITEM_TYPES;
33
+ const outOfTheBoxComponents = {
34
+ [LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN]: ItemControlledDrilldown,
35
+ [LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN]: ItemUncontrolledDrilldown,
36
+ [LEFT_NAV_ITEM_HEADER]: ItemHeader,
37
+ [LEFT_NAV_ITEM_LINK]: ItemLink,
38
+ [LEFT_NAV_ITEM_SECTION]: ItemSection,
39
+ [LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,
40
+ [LEFT_NAV_ITEM_SUBMENU]: ItemSubmenu,
41
+ [LEFT_NAV_ITEM_TEXT_LABEL]: ItemTextLabel,
42
+ [LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate
43
+ };
44
+ export {
45
+ outOfTheBoxComponents,
46
+ outOfTheBoxTypes
47
+ };
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/outOfTheBox/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { ComponentProps } from '../index.d';\nimport { ITEM_TYPES } from '../exported-related';\nimport { ItemControlledDrilldown } from './ItemControlledDrilldown';\nimport { ItemUncontrolledDrilldown } from './ItemUncontrolledDrilldown';\nimport { ItemHeader } from './ItemHeader';\nimport { ItemLink } from './ItemLink';\nimport { ItemSection } from './ItemSection';\nimport { ItemSeparator } from './ItemSeparator';\nimport { ItemSubmenu } from './ItemSubmenu';\nimport { ItemTextLabel } from './ItemTextLabel';\nimport { ItemWithDate } from './ItemWithDate';\n\nexport * from './ItemControlledDrilldown';\nexport * from './ItemUncontrolledDrilldown';\nexport * from './ItemHeader';\nexport * from './ItemLink';\nexport * from './ItemSection';\nexport * from './ItemSeparator';\nexport * from './ItemSubmenu';\nexport * from './ItemTextLabel';\nexport * from './ItemWithDate';\n\nexport const outOfTheBoxTypes = Object.values(ITEM_TYPES);\nconst {\n LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN,\n LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN,\n LEFT_NAV_ITEM_HEADER,\n LEFT_NAV_ITEM_LINK,\n LEFT_NAV_ITEM_SECTION,\n LEFT_NAV_ITEM_SEPARATOR,\n LEFT_NAV_ITEM_SUBMENU,\n LEFT_NAV_ITEM_TEXT_LABEL,\n LEFT_NAV_ITEM_WITH_DATE,\n} = ITEM_TYPES;\n\nexport const outOfTheBoxComponents: Record<\n string,\n React.ComponentType<ComponentProps>\n> = {\n [LEFT_NAV_ITEM_CONTROLLED_DRILLDOWN]: ItemControlledDrilldown,\n [LEFT_NAV_ITEM_UNCONTROLLED_DRILLDOWN]: ItemUncontrolledDrilldown,\n [LEFT_NAV_ITEM_HEADER]: ItemHeader,\n [LEFT_NAV_ITEM_LINK]: ItemLink,\n [LEFT_NAV_ITEM_SECTION]: ItemSection,\n [LEFT_NAV_ITEM_SEPARATOR]: ItemSeparator,\n [LEFT_NAV_ITEM_SUBMENU]: ItemSubmenu,\n [LEFT_NAV_ITEM_TEXT_LABEL]: ItemTextLabel,\n [LEFT_NAV_ITEM_WITH_DATE]: ItemWithDate,\n};\n"],
5
+ "mappings": "AAAA;ACEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,OAAO,OAAO;AAC9C,MAAM;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,IACE;AAEG,MAAM,wBAGT;AAAA,GACD,qCAAqC;AAAA,GACrC,uCAAuC;AAAA,GACvC,uBAAuB;AAAA,GACvB,qBAAqB;AAAA,GACrB,wBAAwB;AAAA,GACxB,0BAA0B;AAAA,GAC1B,wBAAwB;AAAA,GACxB,2BAA2B;AAAA,GAC3B,0BAA0B;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,67 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { LeftNavContext } from "../../LeftNavigationContext";
4
+ import { LeftNavFooterItem } from "../LeftNavFooterItem";
5
+ import { LeftNavContentWithScrollbar } from "../LeftNavContentWithScrollbar";
6
+ import { OutOfTheBoxMapItem } from "../OutOfTheBoxMapItem";
7
+ import {
8
+ StyledLeftNavExpandAnimationWrapper,
9
+ StyledLeftNavAreasContainer,
10
+ StyledLeftNavHeaderArea,
11
+ StyledLeftNavBodyAreasContainer,
12
+ StyledLeftNavBodyHeaderArea,
13
+ StyledLeftNavBodyItemsArea,
14
+ StyledLeftNavFooterArea
15
+ } from "./styled";
16
+ import { LeftNavLoading } from "../LeftNavLoading";
17
+ const leftNavScreenReaderInstructions = "Left Navigation. You can navigate through the items using the Up/Down arrows. To expand or select an item, use the Enter/Return or Space keys. Expandable items can also be opened/closed with the Right/Left arrows. The Home and End keys will take you to the first and last item respectively.";
18
+ const LeftNavInnerContent = () => {
19
+ const {
20
+ leftNavProps: { HeaderComponent, BodyHeaderComponent, openedItem, items, withoutBodyShadow },
21
+ selectedItem
22
+ } = React2.useContext(LeftNavContext);
23
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(StyledLeftNavHeaderArea, {
24
+ "data-testid": "leftnav-header-area",
25
+ selected: HeaderComponent && [selectedItem, openedItem].includes(HeaderComponent.dsId)
26
+ }, HeaderComponent ? /* @__PURE__ */ React2.createElement(OutOfTheBoxMapItem, {
27
+ item: HeaderComponent
28
+ }) : null), /* @__PURE__ */ React2.createElement(StyledLeftNavBodyAreasContainer, null, /* @__PURE__ */ React2.createElement(StyledLeftNavBodyHeaderArea, {
29
+ "data-testid": "leftnav-body-header-area",
30
+ selected: BodyHeaderComponent && [selectedItem, openedItem].includes(BodyHeaderComponent.dsId)
31
+ }, BodyHeaderComponent ? /* @__PURE__ */ React2.createElement(OutOfTheBoxMapItem, {
32
+ item: BodyHeaderComponent
33
+ }) : null), /* @__PURE__ */ React2.createElement(StyledLeftNavBodyItemsArea, {
34
+ selected: !withoutBodyShadow && openedItem !== null,
35
+ "data-testid": "leftnav-body-items-area",
36
+ tabIndex: -1
37
+ }, /* @__PURE__ */ React2.createElement(LeftNavContentWithScrollbar, null, items.map((item) => /* @__PURE__ */ React2.createElement(OutOfTheBoxMapItem, {
38
+ item,
39
+ key: item.dsId
40
+ }))))));
41
+ };
42
+ const LeftNavContent = () => {
43
+ const {
44
+ expandedForAnimation,
45
+ leftNavProps: { expanded, expandedWidth, footerLabel, onFooterExpand, onFooterClose, loading }
46
+ } = React2.useContext(LeftNavContext);
47
+ return /* @__PURE__ */ React2.createElement(StyledLeftNavExpandAnimationWrapper, {
48
+ expandedWidth,
49
+ expanded,
50
+ "data-testid": "leftnav-component",
51
+ "aria-label": leftNavScreenReaderInstructions
52
+ }, /* @__PURE__ */ React2.createElement(StyledLeftNavAreasContainer, {
53
+ expandedWidth,
54
+ expanded: expandedForAnimation
55
+ }, loading && /* @__PURE__ */ React2.createElement(LeftNavLoading, {
56
+ expanded: expandedForAnimation
57
+ }), !loading && /* @__PURE__ */ React2.createElement(LeftNavInnerContent, null), /* @__PURE__ */ React2.createElement(StyledLeftNavFooterArea, null, /* @__PURE__ */ React2.createElement(LeftNavFooterItem, {
58
+ footerLabel,
59
+ onFooterExpand,
60
+ onFooterClose
61
+ }))));
62
+ };
63
+ var LeftNavContent_default = LeftNavContent;
64
+ export {
65
+ LeftNavContent_default as default
66
+ };
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavContent/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { LeftNavContext } from '../../LeftNavigationContext';\nimport { LeftNavFooterItem } from '../LeftNavFooterItem';\nimport { LeftNavContentWithScrollbar } from '../LeftNavContentWithScrollbar';\nimport { OutOfTheBoxMapItem } from '../OutOfTheBoxMapItem';\nimport {\n StyledLeftNavExpandAnimationWrapper,\n StyledLeftNavAreasContainer,\n StyledLeftNavHeaderArea,\n StyledLeftNavBodyAreasContainer,\n StyledLeftNavBodyHeaderArea,\n StyledLeftNavBodyItemsArea,\n StyledLeftNavFooterArea,\n} from './styled';\nimport { LeftNavLoading } from '../LeftNavLoading';\n\nconst leftNavScreenReaderInstructions =\n 'Left Navigation. You can navigate through the items using the Up/Down arrows. ' +\n 'To expand or select an item, use the Enter/Return or Space keys. ' +\n 'Expandable items can also be opened/closed with the Right/Left arrows. ' +\n 'The Home and End keys will take you to the first and last item respectively.';\n\nconst LeftNavInnerContent = () => {\n const {\n leftNavProps: { HeaderComponent, BodyHeaderComponent, openedItem, items, withoutBodyShadow },\n selectedItem,\n } = React.useContext(LeftNavContext);\n return (\n <>\n <StyledLeftNavHeaderArea\n data-testid=\"leftnav-header-area\"\n selected={HeaderComponent && [selectedItem, openedItem].includes(HeaderComponent.dsId)}\n >\n {HeaderComponent ? <OutOfTheBoxMapItem item={HeaderComponent} /> : null}\n </StyledLeftNavHeaderArea>\n <StyledLeftNavBodyAreasContainer>\n <StyledLeftNavBodyHeaderArea\n data-testid=\"leftnav-body-header-area\"\n selected={BodyHeaderComponent && [selectedItem, openedItem].includes(BodyHeaderComponent.dsId)}\n >\n {BodyHeaderComponent ? <OutOfTheBoxMapItem item={BodyHeaderComponent} /> : null}\n </StyledLeftNavBodyHeaderArea>\n <StyledLeftNavBodyItemsArea\n selected={!withoutBodyShadow && openedItem !== null}\n data-testid=\"leftnav-body-items-area\"\n tabIndex={-1}\n >\n <LeftNavContentWithScrollbar>\n {items.map((item) => (\n <OutOfTheBoxMapItem item={item} key={item.dsId} />\n ))}\n </LeftNavContentWithScrollbar>\n </StyledLeftNavBodyItemsArea>\n </StyledLeftNavBodyAreasContainer>\n </>\n );\n};\n\nconst LeftNavContent: React.ComponentType = () => {\n const {\n expandedForAnimation,\n leftNavProps: { expanded, expandedWidth, footerLabel, onFooterExpand, onFooterClose, loading },\n } = React.useContext(LeftNavContext);\n\n return (\n <StyledLeftNavExpandAnimationWrapper\n expandedWidth={expandedWidth}\n expanded={expanded}\n data-testid=\"leftnav-component\"\n aria-label={leftNavScreenReaderInstructions}\n >\n <StyledLeftNavAreasContainer expandedWidth={expandedWidth} expanded={expandedForAnimation}>\n {loading && <LeftNavLoading expanded={expandedForAnimation} />}\n {!loading && <LeftNavInnerContent />}\n <StyledLeftNavFooterArea>\n <LeftNavFooterItem footerLabel={footerLabel} onFooterExpand={onFooterExpand} onFooterClose={onFooterClose} />\n </StyledLeftNavFooterArea>\n </StyledLeftNavAreasContainer>\n </StyledLeftNavExpandAnimationWrapper>\n );\n};\n\nexport default LeftNavContent;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA;AAEA,MAAM,kCACJ;AAKF,MAAM,sBAAsB,MAAM;AAChC,QAAM;AAAA,IACJ,cAAc,EAAE,iBAAiB,qBAAqB,YAAY,OAAO;AAAA,IACzE;AAAA,MACE,OAAM,WAAW;AACrB,SACE,4DACE,qCAAC,yBAAD;AAAA,IACE,eAAY;AAAA,IACZ,UAAU,mBAAmB,CAAC,cAAc,YAAY,SAAS,gBAAgB;AAAA,KAEhF,kBAAkB,qCAAC,oBAAD;AAAA,IAAoB,MAAM;AAAA,OAAsB,OAErE,qCAAC,iCAAD,MACE,qCAAC,6BAAD;AAAA,IACE,eAAY;AAAA,IACZ,UAAU,uBAAuB,CAAC,cAAc,YAAY,SAAS,oBAAoB;AAAA,KAExF,sBAAsB,qCAAC,oBAAD;AAAA,IAAoB,MAAM;AAAA,OAA0B,OAE7E,qCAAC,4BAAD;AAAA,IACE,UAAU,CAAC,qBAAqB,eAAe;AAAA,IAC/C,eAAY;AAAA,IACZ,UAAU;AAAA,KAEV,qCAAC,6BAAD,MACG,MAAM,IAAI,CAAC,SACV,qCAAC,oBAAD;AAAA,IAAoB;AAAA,IAAY,KAAK,KAAK;AAAA;AAAA;AASxD,MAAM,iBAAsC,MAAM;AAChD,QAAM;AAAA,IACJ;AAAA,IACA,cAAc,EAAE,UAAU,eAAe,aAAa,gBAAgB,eAAe;AAAA,MACnF,OAAM,WAAW;AAErB,SACE,qCAAC,qCAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA,eAAY;AAAA,IACZ,cAAY;AAAA,KAEZ,qCAAC,6BAAD;AAAA,IAA6B;AAAA,IAA8B,UAAU;AAAA,KAClE,WAAW,qCAAC,gBAAD;AAAA,IAAgB,UAAU;AAAA,MACrC,CAAC,WAAW,qCAAC,qBAAD,OACb,qCAAC,yBAAD,MACE,qCAAC,mBAAD;AAAA,IAAmB;AAAA,IAA0B;AAAA,IAAgC;AAAA;AAAA;AAOvF,IAAO,yBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,84 @@
1
+ import * as React from "react";
2
+ import styled from "styled-components";
3
+ const getLeftShadowStyles = ({
4
+ selected,
5
+ selectedParent,
6
+ theme
7
+ }) => {
8
+ if (!selected && !selectedParent) {
9
+ return `
10
+ box-shadow: inset 4px 0 0 0 transparent;
11
+ :hover {
12
+ box-shadow: inset 4px 0 0 0 ${theme.colors.brand[300]};
13
+ }
14
+ :active {
15
+ box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};
16
+ }
17
+ `;
18
+ }
19
+ return `box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};`;
20
+ };
21
+ const StyledLeftNavExpandAnimationWrapper = styled.nav`
22
+ width: ${(props) => props.expanded ? props.expandedWidth : "48px"};
23
+ transition: width ${(props) => props.expanded ? "ease-out" : "ease-in"} 350ms;
24
+ box-shadow: -1px 0 0 0 ${(props) => props.theme.colors.neutral[100]};
25
+ border: 1px solid ${(props) => props.theme.colors.neutral[100]};
26
+ overflow: hidden;
27
+ height: 100%;
28
+ position: relative;
29
+ `;
30
+ const StyledLeftNavAreasContainer = styled.div`
31
+ position: absolute;
32
+ width: ${(props) => props.expanded ? `calc(${props.expandedWidth} - 2px)` : "46px"};
33
+ height: 100%;
34
+ display: grid;
35
+ grid-template-columns: 1fr;
36
+ grid-template-rows: auto 1fr auto;
37
+ grid-template-areas:
38
+ 'left-nav-header'
39
+ 'left-nav-body'
40
+ 'left-nav-footer';
41
+ `;
42
+ const StyledLeftNavHeaderArea = styled.div`
43
+ grid-area: left-nav-header;
44
+ ${getLeftShadowStyles}
45
+ `;
46
+ const StyledLeftNavBodyAreasContainer = styled.div`
47
+ position: absolute;
48
+ width: 100%;
49
+ height: 100%;
50
+ display: grid;
51
+ grid-template-columns: 1fr;
52
+ grid-template-rows: auto 1fr;
53
+ grid-template-areas:
54
+ 'left-nav-body-header'
55
+ 'left-nav-body-body';
56
+ grid-area: left-nav-body;
57
+ `;
58
+ const StyledLeftNavBodyHeaderArea = styled.div`
59
+ width: 100%;
60
+ grid-area: left-nav-body-header;
61
+ ${getLeftShadowStyles}
62
+ `;
63
+ const StyledLeftNavBodyItemsArea = styled.div`
64
+ width: 100%;
65
+ grid-area: left-nav-body-body;
66
+ max-height: 100%;
67
+ overflow-y: hidden;
68
+ overflow-x: hidden;
69
+ box-shadow: inset 4px 0 0 0 ${(props) => props.selected ? props.theme.colors.brand[400] : "transparent"};
70
+ `;
71
+ const StyledLeftNavFooterArea = styled.div`
72
+ width: 100%;
73
+ grid-area: left-nav-footer;
74
+ `;
75
+ export {
76
+ StyledLeftNavAreasContainer,
77
+ StyledLeftNavBodyAreasContainer,
78
+ StyledLeftNavBodyHeaderArea,
79
+ StyledLeftNavBodyItemsArea,
80
+ StyledLeftNavExpandAnimationWrapper,
81
+ StyledLeftNavFooterArea,
82
+ StyledLeftNavHeaderArea
83
+ };
84
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavContent/styled.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from 'styled-components';\n\ntype LeftNavProps = {\n expanded: boolean;\n expandedWidth: string;\n};\n\nconst getLeftShadowStyles = ({\n selected,\n selectedParent,\n theme,\n}: {\n selected: boolean;\n selectedParent: boolean;\n theme: any;\n}) => {\n if (!selected && !selectedParent) {\n return `\n box-shadow: inset 4px 0 0 0 transparent;\n :hover {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[300]};\n }\n :active {\n box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};\n }\n `;\n }\n return `box-shadow: inset 4px 0 0 0 ${theme.colors.brand[400]};`;\n};\n\nexport const StyledLeftNavExpandAnimationWrapper = styled.nav<LeftNavProps>`\n width: ${(props) => (props.expanded ? props.expandedWidth : '48px')};\n transition: width ${(props) => (props.expanded ? 'ease-out' : 'ease-in')} 350ms;\n box-shadow: -1px 0 0 0 ${(props) => props.theme.colors.neutral[100]};\n border: 1px solid ${(props) => props.theme.colors.neutral[100]};\n overflow: hidden;\n height: 100%;\n position: relative;\n`;\nexport const StyledLeftNavAreasContainer = styled.div<LeftNavProps>`\n position: absolute;\n width: ${(props) => (props.expanded ? `calc(${props.expandedWidth} - 2px)` : '46px')};\n height: 100%;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr auto;\n grid-template-areas:\n 'left-nav-header'\n 'left-nav-body'\n 'left-nav-footer';\n`;\n\nexport const StyledLeftNavHeaderArea = styled.div<{ selected: boolean }>`\n grid-area: left-nav-header;\n ${getLeftShadowStyles}\n`;\n\nexport const StyledLeftNavBodyAreasContainer = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr;\n grid-template-areas:\n 'left-nav-body-header'\n 'left-nav-body-body';\n grid-area: left-nav-body;\n`;\n\nexport const StyledLeftNavBodyHeaderArea = styled.div<{ selected: boolean }>`\n width: 100%;\n grid-area: left-nav-body-header;\n ${getLeftShadowStyles}\n`;\n\nexport const StyledLeftNavBodyItemsArea = styled.div<{ selected: boolean }>`\n width: 100%;\n grid-area: left-nav-body-body;\n max-height: 100%;\n overflow-y: hidden;\n overflow-x: hidden;\n box-shadow: inset 4px 0 0 0 ${(props) => (props.selected ? props.theme.colors.brand[400] : 'transparent')};\n`;\n\nexport const StyledLeftNavFooterArea = styled.div`\n width: 100%;\n grid-area: left-nav-footer;\n`;\n"],
5
+ "mappings": "AAAA;ACAA;AAOA,MAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,MAKI;AACJ,MAAI,CAAC,YAAY,CAAC,gBAAgB;AAChC,WAAO;AAAA;AAAA;AAAA,sCAG2B,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA,sCAGnB,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAIvD,SAAO,+BAA+B,MAAM,OAAO,MAAM;AAAA;AAGpD,MAAM,sCAAsC,OAAO;AAAA,WAC/C,CAAC,UAAW,MAAM,WAAW,MAAM,gBAAgB;AAAA,sBACxC,CAAC,UAAW,MAAM,WAAW,aAAa;AAAA,2BACrC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA,sBAC3C,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKrD,MAAM,8BAA8B,OAAO;AAAA;AAAA,WAEvC,CAAC,UAAW,MAAM,WAAW,QAAQ,MAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWxE,MAAM,0BAA0B,OAAO;AAAA;AAAA,IAE1C;AAAA;AAGG,MAAM,kCAAkC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa/C,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA,IAG9C;AAAA;AAGG,MAAM,6BAA6B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAMjB,CAAC,UAAW,MAAM,WAAW,MAAM,MAAM,OAAO,MAAM,OAAO;AAAA;AAGtF,MAAM,0BAA0B,OAAO;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,72 @@
1
+ import * as React from "react";
2
+ import React2, { useEffect, useRef, useState } from "react";
3
+ import "overlayscrollbars/css/OverlayScrollbars.css";
4
+ import OverlayScrollbars from "overlayscrollbars";
5
+ import styled from "styled-components";
6
+ const StyledHandle = styled.div`
7
+ width: 6px;
8
+ border: 1px solid rgba(0, 0, 0, 0);
9
+ background-color: rgba(105, 116, 137, 0.5) !important;
10
+ border-radius: 7px;
11
+
12
+ :hover {
13
+ background-color: rgba(105, 116, 137, 0.7) !important;
14
+ }
15
+
16
+ :active {
17
+ background-color: rgba(105, 116, 137, 0.7) !important;
18
+ }
19
+ `;
20
+ const options = {
21
+ className: "os-theme-dark",
22
+ scrollbars: {
23
+ autoHide: "leave",
24
+ autoHideDelay: 0
25
+ }
26
+ };
27
+ const LeftNavContentWithScrollbar = (props) => {
28
+ const { children } = props;
29
+ const inheritBoxShadow = { boxShadow: "inherit" };
30
+ const [osInstance, setOsInstance] = useState();
31
+ const osTargetRef = useRef(null);
32
+ useEffect(() => {
33
+ const nextOsInstance = OverlayScrollbars(osTargetRef.current, options);
34
+ setOsInstance(nextOsInstance);
35
+ }, [osInstance]);
36
+ return /* @__PURE__ */ React2.createElement("div", {
37
+ className: "os-host",
38
+ style: { height: "100%", ...inheritBoxShadow },
39
+ tabIndex: -1,
40
+ ref: osTargetRef
41
+ }, /* @__PURE__ */ React2.createElement("div", {
42
+ className: "os-resize-observer-host"
43
+ }), /* @__PURE__ */ React2.createElement("div", {
44
+ className: "os-padding",
45
+ style: inheritBoxShadow
46
+ }, /* @__PURE__ */ React2.createElement("div", {
47
+ className: "os-viewport",
48
+ style: inheritBoxShadow
49
+ }, /* @__PURE__ */ React2.createElement("div", {
50
+ className: "os-content",
51
+ style: inheritBoxShadow,
52
+ "aria-hidden": true
53
+ }, children))), /* @__PURE__ */ React2.createElement("div", {
54
+ className: "os-scrollbar os-scrollbar-horizontal "
55
+ }, /* @__PURE__ */ React2.createElement("div", {
56
+ className: "os-scrollbar-track"
57
+ }, /* @__PURE__ */ React2.createElement("div", {
58
+ className: "os-scrollbar-handle"
59
+ }))), /* @__PURE__ */ React2.createElement("div", {
60
+ className: "os-scrollbar os-scrollbar-vertical"
61
+ }, /* @__PURE__ */ React2.createElement("div", {
62
+ className: "os-scrollbar-track"
63
+ }, /* @__PURE__ */ React2.createElement(StyledHandle, {
64
+ className: "os-scrollbar-handle"
65
+ }))), /* @__PURE__ */ React2.createElement("div", {
66
+ className: "os-scrollbar-corner"
67
+ }));
68
+ };
69
+ export {
70
+ LeftNavContentWithScrollbar
71
+ };
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavContentWithScrollbar/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { useEffect, useRef, useState } from 'react';\nimport 'overlayscrollbars/css/OverlayScrollbars.css';\nimport OverlayScrollbars, { Options } from 'overlayscrollbars';\nimport styled from 'styled-components';\n\nexport interface OverlayScrollbarsComponentProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n}\n\nconst StyledHandle = styled.div`\n width: 6px;\n border: 1px solid rgba(0, 0, 0, 0);\n background-color: rgba(105, 116, 137, 0.5) !important;\n border-radius: 7px;\n\n :hover {\n background-color: rgba(105, 116, 137, 0.7) !important;\n }\n\n :active {\n background-color: rgba(105, 116, 137, 0.7) !important;\n }\n`;\n\nconst options: Options = {\n className: 'os-theme-dark',\n scrollbars: {\n autoHide: 'leave',\n autoHideDelay: 0,\n },\n};\n\nexport const LeftNavContentWithScrollbar: React.ComponentType<OverlayScrollbarsComponentProps> = (props) => {\n const { children } = props;\n\n const inheritBoxShadow = { boxShadow: 'inherit' };\n const [osInstance, setOsInstance] = useState<OverlayScrollbars>();\n const osTargetRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const nextOsInstance: OverlayScrollbars = OverlayScrollbars(osTargetRef.current, options);\n setOsInstance(nextOsInstance);\n }, [osInstance]);\n\n return (\n <div className=\"os-host\" style={{ height: '100%', ...inheritBoxShadow }} tabIndex={-1} ref={osTargetRef}>\n <div className=\"os-resize-observer-host\" />\n <div className=\"os-padding\" style={inheritBoxShadow}>\n <div className=\"os-viewport\" style={inheritBoxShadow}>\n <div className=\"os-content\" style={inheritBoxShadow} aria-hidden>\n {children}\n </div>\n </div>\n </div>\n <div className=\"os-scrollbar os-scrollbar-horizontal \">\n <div className=\"os-scrollbar-track\">\n <div className=\"os-scrollbar-handle\" />\n </div>\n </div>\n <div className=\"os-scrollbar os-scrollbar-vertical\">\n <div className=\"os-scrollbar-track\">\n <StyledHandle className=\"os-scrollbar-handle\"></StyledHandle>\n </div>\n </div>\n <div className=\"os-scrollbar-corner\" />\n </div>\n );\n};\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AAMA,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe5B,MAAM,UAAmB;AAAA,EACvB,WAAW;AAAA,EACX,YAAY;AAAA,IACV,UAAU;AAAA,IACV,eAAe;AAAA;AAAA;AAIZ,MAAM,8BAAoF,CAAC,UAAU;AAC1G,QAAM,EAAE,aAAa;AAErB,QAAM,mBAAmB,EAAE,WAAW;AACtC,QAAM,CAAC,YAAY,iBAAiB;AACpC,QAAM,cAAc,OAAuB;AAE3C,YAAU,MAAM;AACd,UAAM,iBAAoC,kBAAkB,YAAY,SAAS;AACjF,kBAAc;AAAA,KACb,CAAC;AAEJ,SACE,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAU,OAAO,EAAE,QAAQ,WAAW;AAAA,IAAoB,UAAU;AAAA,IAAI,KAAK;AAAA,KAC1F,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,MACf,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAa,OAAO;AAAA,KACjC,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAc,OAAO;AAAA,KAClC,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAa,OAAO;AAAA,IAAkB,eAAW;AAAA,KAC7D,aAIP,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,QAGnB,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA,KACb,qCAAC,cAAD;AAAA,IAAc,WAAU;AAAA,QAG5B,qCAAC,OAAD;AAAA,IAAK,WAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,103 @@
1
+ import * as React from "react";
2
+ import React2, { useContext } from "react";
3
+ import { MenuExpand } from "@elliemae/ds-icons";
4
+ import { PropTypes } from "react-desc";
5
+ import Grid from "@elliemae/ds-grid";
6
+ import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
7
+ import {
8
+ StyledFooterMenu,
9
+ StyledItem,
10
+ StyledItemWrapper,
11
+ StyledLabel,
12
+ StyledSeparator,
13
+ StyledMenuCollapse
14
+ } from "./styled";
15
+ import { useKeyboardNavigation } from "../../hooks";
16
+ import LeftNavigationContext from "../../LeftNavigationContext";
17
+ import { FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from "../../exported-related/constants";
18
+ const LeftNavFooterItem = (props) => {
19
+ const { footerLabel, onFooterExpand = () => null, onFooterClose = () => null } = props;
20
+ const {
21
+ leftNavProps: { labelOverflow, openedItem },
22
+ expandedForAnimation,
23
+ setSelectedItem,
24
+ setFocusedItem,
25
+ visibleItemsRefs
26
+ } = useContext(LeftNavigationContext);
27
+ const id = FOOTER_DS_ID;
28
+ const handleOnClick = expandedForAnimation ? onFooterClose : onFooterExpand;
29
+ const onKeyDown = useKeyboardNavigation({
30
+ item: {
31
+ dsId: id,
32
+ itemOpts: {
33
+ selectable: !expandedForAnimation,
34
+ openable: false,
35
+ closable: false
36
+ }
37
+ },
38
+ onClick: handleOnClick
39
+ });
40
+ return /* @__PURE__ */ React2.createElement(StyledFooterMenu, {
41
+ key: id,
42
+ "data-testid": "leftnav-container"
43
+ }, /* @__PURE__ */ React2.createElement(StyledItemWrapper, null, /* @__PURE__ */ React2.createElement(StyledItem, {
44
+ ref: visibleItemsRefs.current[id],
45
+ tabIndex: expandedForAnimation ? -1 : 0,
46
+ expanded: expandedForAnimation,
47
+ pt: "xxs2",
48
+ height: expandedForAnimation ? "auto" : "48px",
49
+ alignItems: "flex-start",
50
+ pl: "xxs",
51
+ cols: expandedForAnimation ? ["auto", "1fr", "auto"] : ["38px"],
52
+ onClick: expandedForAnimation ? () => null : handleOnClick,
53
+ onKeyDown,
54
+ onFocus: () => setFocusedItem(id),
55
+ "data-testid": "leftnav-item-container",
56
+ role: "menuitem",
57
+ "aria-label": expandedForAnimation ? `Footer, ${footerLabel}` : `Expand left navigation`
58
+ }, !expandedForAnimation ? /* @__PURE__ */ React2.createElement(MenuExpand, {
59
+ size: "m",
60
+ color: ["brand-primary", 800],
61
+ "data-testid": "leftnav-footer-btn"
62
+ }) : /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(StyledLabel, {
63
+ mt: "5px",
64
+ mr: "12px",
65
+ mb: "16px",
66
+ "data-testid": "leftnav-itemlabel",
67
+ labelOverflow,
68
+ "aria-live": "polite"
69
+ }, labelOverflow === "truncate" ? /* @__PURE__ */ React2.createElement(SimpleTruncatedTooltipText, {
70
+ value: footerLabel,
71
+ placement: "bottom-start"
72
+ }) : footerLabel), /* @__PURE__ */ React2.createElement(StyledSeparator, {
73
+ mt: "xxxs"
74
+ }), /* @__PURE__ */ React2.createElement(Grid, {
75
+ m: "0 12px"
76
+ }, /* @__PURE__ */ React2.createElement(StyledMenuCollapse, {
77
+ size: "m",
78
+ color: ["brand-primary", 800],
79
+ onClick: (e) => {
80
+ e.stopPropagation();
81
+ handleOnClick(e);
82
+ },
83
+ "data-testid": "leftnav-footer-btn",
84
+ tabIndex: 0,
85
+ onFocus: (e) => {
86
+ e.stopPropagation();
87
+ setFocusedItem(FOOTER_MENU_CLOSE_DS_ID);
88
+ },
89
+ role: "button",
90
+ "aria-label": "Collapse left navigation"
91
+ }))))));
92
+ };
93
+ LeftNavFooterItem.propTypes = {
94
+ footerLabel: PropTypes.any,
95
+ onFooterExpand: PropTypes.func,
96
+ onFooterClose: PropTypes.func
97
+ };
98
+ var LeftNavFooterItem_default = LeftNavFooterItem;
99
+ export {
100
+ LeftNavFooterItem,
101
+ LeftNavFooterItem_default as default
102
+ };
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavFooterItem/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useContext } from 'react';\nimport { MenuExpand } from '@elliemae/ds-icons';\nimport { PropTypes } from 'react-desc';\nimport Grid from '@elliemae/ds-grid';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport {\n StyledFooterMenu,\n StyledItem,\n StyledItemWrapper,\n StyledLabel,\n StyledSeparator,\n StyledMenuCollapse,\n} from './styled';\nimport { useKeyboardNavigation } from '../../hooks';\nimport LeftNavigationContext from '../../LeftNavigationContext';\nimport { FOOTER_DS_ID, FOOTER_MENU_CLOSE_DS_ID } from '../../exported-related/constants';\n\ntype LeftNavFooterItemProps = {\n footerLabel: string | JSX.Element;\n onFooterExpand: React.MouseEventHandler & React.KeyboardEventHandler;\n onFooterClose: React.MouseEventHandler & React.KeyboardEventHandler;\n};\n\nexport const LeftNavFooterItem: React.ComponentType<LeftNavFooterItemProps> = (props) => {\n const { footerLabel, onFooterExpand = () => null, onFooterClose = () => null } = props;\n const {\n leftNavProps: { labelOverflow, openedItem },\n expandedForAnimation,\n setSelectedItem,\n setFocusedItem,\n visibleItemsRefs,\n } = useContext(LeftNavigationContext);\n\n const id = FOOTER_DS_ID;\n\n const handleOnClick = expandedForAnimation ? onFooterClose : onFooterExpand;\n\n const onKeyDown = useKeyboardNavigation({\n item: {\n dsId: id,\n itemOpts: {\n selectable: !expandedForAnimation,\n openable: false,\n closable: false,\n },\n },\n onClick: handleOnClick,\n });\n\n return (\n <StyledFooterMenu key={id} data-testid=\"leftnav-container\">\n <StyledItemWrapper>\n <StyledItem\n ref={visibleItemsRefs.current[id]}\n tabIndex={expandedForAnimation ? -1 : 0}\n expanded={expandedForAnimation}\n pt=\"xxs2\"\n height={expandedForAnimation ? 'auto' : '48px'}\n alignItems=\"flex-start\"\n pl=\"xxs\"\n cols={expandedForAnimation ? ['auto', '1fr', 'auto'] : ['38px']}\n onClick={expandedForAnimation ? () => null : handleOnClick}\n onKeyDown={onKeyDown}\n onFocus={() => setFocusedItem(id)}\n data-testid=\"leftnav-item-container\"\n role=\"menuitem\"\n aria-label={expandedForAnimation ? `Footer, ${footerLabel}` : `Expand left navigation`}\n >\n {!expandedForAnimation ? (\n <MenuExpand size=\"m\" color={['brand-primary', 800]} data-testid=\"leftnav-footer-btn\" />\n ) : (\n <>\n <StyledLabel\n mt=\"5px\"\n mr=\"12px\"\n mb=\"16px\"\n data-testid=\"leftnav-itemlabel\"\n labelOverflow={labelOverflow}\n aria-live=\"polite\"\n >\n {labelOverflow === 'truncate' ? (\n <SimpleTruncatedTooltipText value={footerLabel} placement=\"bottom-start\" />\n ) : (\n footerLabel\n )}\n </StyledLabel>\n <StyledSeparator mt=\"xxxs\" />\n <Grid m=\"0 12px\">\n <StyledMenuCollapse\n size=\"m\"\n color={['brand-primary', 800]}\n onClick={(e) => {\n e.stopPropagation();\n handleOnClick(e);\n }}\n data-testid=\"leftnav-footer-btn\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n setFocusedItem(FOOTER_MENU_CLOSE_DS_ID);\n }}\n role=\"button\"\n aria-label=\"Collapse left navigation\"\n />\n </Grid>\n </>\n )}\n </StyledItem>\n </StyledItemWrapper>\n </StyledFooterMenu>\n );\n};\n\nLeftNavFooterItem.propTypes = {\n footerLabel: PropTypes.any,\n onFooterExpand: PropTypes.func,\n onFooterClose: PropTypes.func,\n};\n\nexport default LeftNavFooterItem;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AACA;AACA;AAQO,MAAM,oBAAiE,CAAC,UAAU;AACvF,QAAM,EAAE,aAAa,iBAAiB,MAAM,MAAM,gBAAgB,MAAM,SAAS;AACjF,QAAM;AAAA,IACJ,cAAc,EAAE,eAAe;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,QAAM,KAAK;AAEX,QAAM,gBAAgB,uBAAuB,gBAAgB;AAE7D,QAAM,YAAY,sBAAsB;AAAA,IACtC,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,QACR,YAAY,CAAC;AAAA,QACb,UAAU;AAAA,QACV,UAAU;AAAA;AAAA;AAAA,IAGd,SAAS;AAAA;AAGX,SACE,qCAAC,kBAAD;AAAA,IAAkB,KAAK;AAAA,IAAI,eAAY;AAAA,KACrC,qCAAC,mBAAD,MACE,qCAAC,YAAD;AAAA,IACE,KAAK,iBAAiB,QAAQ;AAAA,IAC9B,UAAU,uBAAuB,KAAK;AAAA,IACtC,UAAU;AAAA,IACV,IAAG;AAAA,IACH,QAAQ,uBAAuB,SAAS;AAAA,IACxC,YAAW;AAAA,IACX,IAAG;AAAA,IACH,MAAM,uBAAuB,CAAC,QAAQ,OAAO,UAAU,CAAC;AAAA,IACxD,SAAS,uBAAuB,MAAM,OAAO;AAAA,IAC7C;AAAA,IACA,SAAS,MAAM,eAAe;AAAA,IAC9B,eAAY;AAAA,IACZ,MAAK;AAAA,IACL,cAAY,uBAAuB,WAAW,gBAAgB;AAAA,KAE7D,CAAC,uBACA,qCAAC,YAAD;AAAA,IAAY,MAAK;AAAA,IAAI,OAAO,CAAC,iBAAiB;AAAA,IAAM,eAAY;AAAA,OAEhE,4DACE,qCAAC,aAAD;AAAA,IACE,IAAG;AAAA,IACH,IAAG;AAAA,IACH,IAAG;AAAA,IACH,eAAY;AAAA,IACZ;AAAA,IACA,aAAU;AAAA,KAET,kBAAkB,aACjB,qCAAC,4BAAD;AAAA,IAA4B,OAAO;AAAA,IAAa,WAAU;AAAA,OAE1D,cAGJ,qCAAC,iBAAD;AAAA,IAAiB,IAAG;AAAA,MACpB,qCAAC,MAAD;AAAA,IAAM,GAAE;AAAA,KACN,qCAAC,oBAAD;AAAA,IACE,MAAK;AAAA,IACL,OAAO,CAAC,iBAAiB;AAAA,IACzB,SAAS,CAAC,MAAM;AACd,QAAE;AACF,oBAAc;AAAA;AAAA,IAEhB,eAAY;AAAA,IACZ,UAAU;AAAA,IACV,SAAS,CAAC,MAAM;AACd,QAAE;AACF,qBAAe;AAAA;AAAA,IAEjB,MAAK;AAAA,IACL,cAAW;AAAA;AAAA;AAW7B,kBAAkB,YAAY;AAAA,EAC5B,aAAa,UAAU;AAAA,EACvB,gBAAgB,UAAU;AAAA,EAC1B,eAAe,UAAU;AAAA;AAG3B,IAAO,4BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,65 @@
1
+ import * as React from "react";
2
+ import styled from "styled-components";
3
+ import { Grid } from "@elliemae/ds-grid";
4
+ import { MenuCollapse } from "@elliemae/ds-icons";
5
+ import { getLeftBorderStyle, getItemBackgroundStyle } from "../../common";
6
+ const StyledFooterMenu = styled(Grid)`
7
+ width: 100%;
8
+ margin-top: auto;
9
+ background: ${(props) => props.theme.colors.neutral["000"]};
10
+
11
+ ${getLeftBorderStyle}
12
+
13
+ border-top: 1px solid ${(props) => props.theme.colors.neutral[100]};
14
+ `;
15
+ const StyledItemWrapper = styled(Grid)`
16
+ position: relative;
17
+ padding-left: ${(props) => props.theme.space.xxxs};
18
+ `;
19
+ const StyledItem = styled(Grid)`
20
+ min-height: 48px;
21
+ cursor: ${(props) => props.expanded ? "auto" : "pointer"};
22
+
23
+ ${getItemBackgroundStyle}
24
+
25
+ outline: none;
26
+
27
+ :focus {
28
+ &:before {
29
+ content: '';
30
+ position: absolute;
31
+ height: 100%;
32
+ width: 100%;
33
+ top: 0;
34
+ left: 0px;
35
+ border: 2px solid ${(props) => props.theme.colors.brand[600]};
36
+ pointer-events: none;
37
+ }
38
+ }
39
+ `;
40
+ const StyledLabel = styled(Grid)`
41
+ font-size: 11px;
42
+ color: ${(props) => props.theme.colors.neutral[500]};
43
+ line-height: 14px;
44
+ word-break: ${(props) => props.labelOverflow === "wrapAll" ? "break-all" : "normal"};
45
+ `;
46
+ const StyledSeparator = styled(Grid)`
47
+ height: 16px;
48
+ width: 1px;
49
+ background-color: ${(props) => props.theme.colors.neutral[100]};
50
+ `;
51
+ const StyledMenuCollapse = styled(MenuCollapse)`
52
+ cursor: pointer;
53
+ :focus {
54
+ outline: 2px solid ${(props) => props.theme.colors.brand[700]};
55
+ }
56
+ `;
57
+ export {
58
+ StyledFooterMenu,
59
+ StyledItem,
60
+ StyledItemWrapper,
61
+ StyledLabel,
62
+ StyledMenuCollapse,
63
+ StyledSeparator
64
+ };
65
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavFooterItem/styled.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import styled from 'styled-components';\nimport { Grid } from '@elliemae/ds-grid';\nimport { MenuCollapse } from '@elliemae/ds-icons';\nimport { getLeftBorderStyle, getItemBackgroundStyle } from '../../common';\n\nexport const StyledFooterMenu = styled(Grid)`\n width: 100%;\n margin-top: auto;\n background: ${(props) => props.theme.colors.neutral['000']};\n\n ${getLeftBorderStyle}\n\n border-top: 1px solid ${(props) => props.theme.colors.neutral[100]};\n`;\n\nexport const StyledItemWrapper = styled(Grid)`\n position: relative;\n padding-left: ${(props) => props.theme.space.xxxs};\n`;\n\nexport const StyledItem = styled(Grid)`\n min-height: 48px;\n cursor: ${(props) => (props.expanded ? 'auto' : 'pointer')};\n\n ${getItemBackgroundStyle}\n\n outline: none;\n\n :focus {\n &:before {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0px;\n border: 2px solid ${(props) => props.theme.colors.brand[600]};\n pointer-events: none;\n }\n }\n`;\n\nexport const StyledLabel = styled(Grid)`\n font-size: 11px;\n color: ${(props) => props.theme.colors.neutral[500]};\n line-height: 14px;\n word-break: ${(props) => (props.labelOverflow === 'wrapAll' ? 'break-all' : 'normal')};\n`;\n\nexport const StyledSeparator = styled(Grid)`\n height: 16px;\n width: 1px;\n background-color: ${(props) => props.theme.colors.neutral[100]};\n`;\n\nexport const StyledMenuCollapse = styled(MenuCollapse)`\n cursor: pointer;\n :focus {\n outline: 2px solid ${(props) => props.theme.colors.brand[700]};\n }\n`;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,OAAO;AAAA;AAAA;AAAA,gBAGvB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,IAElD;AAAA;AAAA,0BAEsB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGzD,MAAM,oBAAoB,OAAO;AAAA;AAAA,kBAEtB,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAGxC,MAAM,aAAa,OAAO;AAAA;AAAA,YAErB,CAAC,UAAW,MAAM,WAAW,SAAS;AAAA;AAAA,IAE9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAYsB,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAMvD,MAAM,cAAc,OAAO;AAAA;AAAA,WAEvB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,gBAEjC,CAAC,UAAW,MAAM,kBAAkB,YAAY,cAAc;AAAA;AAGvE,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA,sBAGhB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGrD,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA,yBAGhB,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import DSCircularProgressIndicator from "@elliemae/ds-circular-progress-indicator";
4
+ import Grid from "@elliemae/ds-grid";
5
+ import styled from "styled-components";
6
+ const StyledLoaderWrapper = styled(Grid)`
7
+ grid-area: left-nav-body;
8
+ height: 100%;
9
+ place-items: center;
10
+ z-index: 0;
11
+ background-color: white;
12
+ `;
13
+ const LeftNavLoading = ({ expanded }) => /* @__PURE__ */ React2.createElement(StyledLoaderWrapper, null, /* @__PURE__ */ React2.createElement(DSCircularProgressIndicator, {
14
+ size: expanded ? "xl" : "m",
15
+ loading: true,
16
+ showLabel: expanded,
17
+ waiting: false,
18
+ showTooltip: !expanded
19
+ }));
20
+ export {
21
+ LeftNavLoading
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/LeftNavLoading/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport DSCircularProgressIndicator from '@elliemae/ds-circular-progress-indicator';\nimport Grid from '@elliemae/ds-grid';\nimport styled from 'styled-components';\n\nconst StyledLoaderWrapper = styled(Grid)`\n grid-area: left-nav-body;\n height: 100%;\n place-items: center;\n z-index: 0;\n background-color: white;\n`;\n\nexport const LeftNavLoading: React.ComponentType<{ expanded: boolean }> = ({ expanded }) => (\n <StyledLoaderWrapper>\n <DSCircularProgressIndicator\n size={expanded ? 'xl' : 'm'}\n loading\n showLabel={expanded}\n waiting={false}\n showTooltip={!expanded}\n />\n </StyledLoaderWrapper>\n);\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEA,MAAM,sBAAsB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ5B,MAAM,iBAA6D,CAAC,EAAE,eAC3E,qCAAC,qBAAD,MACE,qCAAC,6BAAD;AAAA,EACE,MAAM,WAAW,OAAO;AAAA,EACxB,SAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa,CAAC;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { outOfTheBoxComponents } from "../outOfTheBox";
4
+ import { LeftNavContext } from "../LeftNavigationContext";
5
+ const OutOfTheBoxMapItem = (props) => {
6
+ const {
7
+ item,
8
+ item: { type, Component }
9
+ } = props;
10
+ const ctx = React2.useContext(LeftNavContext);
11
+ if (typeof type === "string" && !!outOfTheBoxComponents[type]) {
12
+ const OutOfTheBoxComponent = outOfTheBoxComponents[type];
13
+ return /* @__PURE__ */ React2.createElement(OutOfTheBoxComponent, {
14
+ item: { itemOpts: {}, ...item },
15
+ ctx
16
+ });
17
+ }
18
+ return /* @__PURE__ */ React2.createElement(Component, {
19
+ item,
20
+ ctx
21
+ });
22
+ };
23
+ export {
24
+ OutOfTheBoxMapItem
25
+ };
26
+ //# sourceMappingURL=OutOfTheBoxMapItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/OutOfTheBoxMapItem.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { outOfTheBoxComponents } from '../outOfTheBox';\nimport { OutOfTheBoxMapItemT } from '../index.d';\nimport { LeftNavContext } from '../LeftNavigationContext';\n\nexport const OutOfTheBoxMapItem = (props: OutOfTheBoxMapItemT): JSX.Element => {\n const {\n item,\n item: { type, Component },\n } = props;\n const ctx = React.useContext(LeftNavContext);\n\n if (typeof type === 'string' && !!outOfTheBoxComponents[type]) {\n const OutOfTheBoxComponent = outOfTheBoxComponents[type];\n return <OutOfTheBoxComponent item={{ itemOpts: {}, ...item }} 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"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEA;AAEO,MAAM,qBAAqB,CAAC,UAA4C;AAC7E,QAAM;AAAA,IACJ;AAAA,IACA,MAAM,EAAE,MAAM;AAAA,MACZ;AACJ,QAAM,MAAM,OAAM,WAAW;AAE7B,MAAI,OAAO,SAAS,YAAY,CAAC,CAAC,sBAAsB,OAAO;AAC7D,UAAM,uBAAuB,sBAAsB;AACnD,WAAO,qCAAC,sBAAD;AAAA,MAAsB,MAAM,EAAE,UAAU,OAAO;AAAA,MAAQ;AAAA;AAAA;AAGhE,SAAO,qCAAC,WAAD;AAAA,IAAW;AAAA,IAAY;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ import * as React from "react";
2
+ import { PropTypes, describe } from "react-desc";
3
+ import { outOfTheBoxTypes } from "./outOfTheBox";
4
+ const leftNavItemProps = {
5
+ type: PropTypes.oneOf(outOfTheBoxTypes).description("out of the box types"),
6
+ dsId: PropTypes.string.description("unique identifier for the left nav item"),
7
+ Component: 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"),
8
+ CollapsedComponent: PropTypes.func.description("A component which is renderer when the left-nav is collapsed"),
9
+ itemOpts: PropTypes.object.description("Item options")
10
+ };
11
+ const leftNavigationProps = {
12
+ containerProps: PropTypes.shape({ expandedWidth: PropTypes.string }).description("Set of Properties attached to the main container").defaultValue({ expandedWidth: "240px" }),
13
+ expanded: PropTypes.bool.description("Whether to show the left navigation expanded or collapsed").defaultValue(false),
14
+ loading: PropTypes.bool.description("Whether the left-nav is loading").defaultValue(false),
15
+ tabIndex: PropTypes.number.description("Tab index").defaultValue(0),
16
+ openedItem: PropTypes.string.description("The id of the left navigation item you want to be opened").defaultValue(null),
17
+ footerLabel: PropTypes.string.description("The label to show in the footer item"),
18
+ onFooterExpand: PropTypes.func.description("The function to call when the left-nav is opened via the footer"),
19
+ onFooterClose: PropTypes.func.description("The function to call when the left-nav is closed via the footer"),
20
+ onSelectedChange: PropTypes.func.description("A callback which triggers when the selected item changes").defaultValue(() => null),
21
+ onFocusChange: PropTypes.func.description("A callback which triggers when the focused item changes").defaultValue(() => null),
22
+ items: PropTypes.arrayOf(PropTypes.object).description("The array of items you want to render inside the left nav").defaultValue([]),
23
+ disableDefaultSelection: PropTypes.bool.description("Whether you do not want to automatically select the first body item").defaultValue(false)
24
+ };
25
+ const LeftNavItemProps = () => null;
26
+ const LeftNavItemPropsSchema = describe(LeftNavItemProps);
27
+ LeftNavItemPropsSchema.propTypes = leftNavItemProps;
28
+ const LeftNavItemOptions = () => null;
29
+ const LeftNavItemOptionsSchema = describe(LeftNavItemOptions);
30
+ LeftNavItemOptionsSchema.propTypes = leftNavItemProps;
31
+ export {
32
+ LeftNavItemOptionsSchema,
33
+ LeftNavItemPropsSchema,
34
+ leftNavItemProps,
35
+ leftNavigationProps
36
+ };
37
+ //# sourceMappingURL=prop-types.js.map