@laerdal/life-react-components 1.8.0-dev.9 → 1.9.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 (341) hide show
  1. package/dist/Button/Button.cjs +4 -4
  2. package/dist/Button/Button.cjs.map +1 -1
  3. package/dist/Button/Button.d.ts +1 -1
  4. package/dist/Button/Button.js +4 -4
  5. package/dist/Button/Button.js.map +1 -1
  6. package/dist/Button/DualFunctionButton.cjs +1 -1
  7. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  8. package/dist/Button/DualFunctionButton.js +1 -1
  9. package/dist/Button/DualFunctionButton.js.map +1 -1
  10. package/dist/Button/Iconbutton.cjs +8 -2
  11. package/dist/Button/Iconbutton.cjs.map +1 -1
  12. package/dist/Button/Iconbutton.d.ts +3 -0
  13. package/dist/Button/Iconbutton.js +8 -2
  14. package/dist/Button/Iconbutton.js.map +1 -1
  15. package/dist/Chips/ChipStyles.cjs +1 -1
  16. package/dist/Chips/ChipStyles.cjs.map +1 -1
  17. package/dist/Chips/ChipStyles.js +1 -1
  18. package/dist/Chips/ChipStyles.js.map +1 -1
  19. package/dist/Chips/ChipTypes.d.ts +3 -3
  20. package/dist/Chips/ChoiceChips.cjs +1 -1
  21. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  22. package/dist/Chips/ChoiceChips.js +1 -1
  23. package/dist/Chips/ChoiceChips.js.map +1 -1
  24. package/dist/Chips/FilterChip.cjs +2 -2
  25. package/dist/Chips/FilterChip.cjs.map +1 -1
  26. package/dist/Chips/FilterChip.js +2 -2
  27. package/dist/Chips/FilterChip.js.map +1 -1
  28. package/dist/Chips/InputChip.cjs.map +1 -1
  29. package/dist/Chips/InputChip.js +1 -1
  30. package/dist/Chips/InputChip.js.map +1 -1
  31. package/dist/ChipsInput/ChipDropdownInput.cjs +1 -3
  32. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  33. package/dist/ChipsInput/ChipDropdownInput.js +2 -4
  34. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  35. package/dist/ChipsInput/ChipInput.cjs +0 -2
  36. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  37. package/dist/ChipsInput/ChipInput.js +0 -2
  38. package/dist/ChipsInput/ChipInput.js.map +1 -1
  39. package/dist/ChipsInput/ChipInputField.cjs +6 -16
  40. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  41. package/dist/ChipsInput/ChipInputField.d.ts +0 -1
  42. package/dist/ChipsInput/ChipInputField.js +8 -18
  43. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  44. package/dist/ChipsInput/ChipInputTypes.d.ts +0 -1
  45. package/dist/Dropdown/BasicDropdown.cjs +9 -11
  46. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  47. package/dist/Dropdown/BasicDropdown.d.ts +2 -2
  48. package/dist/Dropdown/BasicDropdown.js +10 -12
  49. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  50. package/dist/Dropdown/CommonStyling.cjs +4 -4
  51. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  52. package/dist/Dropdown/CommonStyling.d.ts +3 -6
  53. package/dist/Dropdown/CommonStyling.js +4 -4
  54. package/dist/Dropdown/CommonStyling.js.map +1 -1
  55. package/dist/Dropdown/DropdownFilter.cjs +23 -21
  56. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  57. package/dist/Dropdown/DropdownFilter.d.ts +3 -3
  58. package/dist/Dropdown/DropdownFilter.js +24 -22
  59. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  60. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +107 -176
  61. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  62. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +13 -27
  63. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +106 -176
  64. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  65. package/dist/GlobalNavigationBar/Logo.cjs +3 -5
  66. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  67. package/dist/GlobalNavigationBar/Logo.js +1 -1
  68. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  69. package/dist/GlobalNavigationBar/NavigationHelper.cjs +38 -0
  70. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -0
  71. package/dist/GlobalNavigationBar/NavigationHelper.d.ts +4 -0
  72. package/dist/GlobalNavigationBar/NavigationHelper.js +27 -0
  73. package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -0
  74. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +129 -0
  75. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -0
  76. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +15 -0
  77. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +99 -0
  78. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -0
  79. package/dist/GlobalNavigationBar/{ExtendedMainMenu.cjs → desktop/ExtendedMainMenu.cjs} +7 -9
  80. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -0
  81. package/dist/GlobalNavigationBar/{ExtendedMainMenu.d.ts → desktop/ExtendedMainMenu.d.ts} +2 -2
  82. package/dist/GlobalNavigationBar/{ExtendedMainMenu.js → desktop/ExtendedMainMenu.js} +6 -6
  83. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -0
  84. package/dist/GlobalNavigationBar/{MainMenu.cjs → desktop/MainMenu.cjs} +17 -21
  85. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -0
  86. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +8 -0
  87. package/dist/GlobalNavigationBar/{MainMenu.js → desktop/MainMenu.js} +17 -21
  88. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -0
  89. package/dist/GlobalNavigationBar/{RightSideNav.cjs → desktop/RightSideNav.cjs} +22 -26
  90. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -0
  91. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +8 -0
  92. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +59 -0
  93. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -0
  94. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +204 -0
  95. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -0
  96. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +7 -0
  97. package/dist/GlobalNavigationBar/desktop/UserMenu.js +163 -0
  98. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -0
  99. package/dist/GlobalNavigationBar/index.cjs +15 -18
  100. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  101. package/dist/GlobalNavigationBar/index.d.ts +2 -2
  102. package/dist/GlobalNavigationBar/index.js +2 -2
  103. package/dist/GlobalNavigationBar/index.js.map +1 -1
  104. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +15 -21
  105. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  106. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +3 -6
  107. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +14 -15
  108. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  109. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +117 -221
  110. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  111. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +6 -25
  112. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +116 -216
  113. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  114. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +221 -0
  115. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -0
  116. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +11 -0
  117. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +184 -0
  118. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -0
  119. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +160 -0
  120. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -0
  121. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +12 -0
  122. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +139 -0
  123. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -0
  124. package/dist/GlobalNavigationBar/types.cjs +6 -0
  125. package/dist/GlobalNavigationBar/types.cjs.map +1 -0
  126. package/dist/GlobalNavigationBar/types.d.ts +120 -0
  127. package/dist/GlobalNavigationBar/types.js +2 -0
  128. package/dist/GlobalNavigationBar/types.js.map +1 -0
  129. package/dist/InputFields/Checkbox.cjs +10 -10
  130. package/dist/InputFields/Checkbox.cjs.map +1 -1
  131. package/dist/InputFields/Checkbox.d.ts +3 -3
  132. package/dist/InputFields/Checkbox.js +10 -10
  133. package/dist/InputFields/Checkbox.js.map +1 -1
  134. package/dist/InputFields/DatepickerField.cjs +15 -17
  135. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  136. package/dist/InputFields/DatepickerField.d.ts +3 -3
  137. package/dist/InputFields/DatepickerField.js +15 -21
  138. package/dist/InputFields/DatepickerField.js.map +1 -1
  139. package/dist/InputFields/Label.cjs +24 -14
  140. package/dist/InputFields/Label.cjs.map +1 -1
  141. package/dist/InputFields/Label.js +24 -16
  142. package/dist/InputFields/Label.js.map +1 -1
  143. package/dist/InputFields/NumberField.cjs +20 -8
  144. package/dist/InputFields/NumberField.cjs.map +1 -1
  145. package/dist/InputFields/NumberField.js +21 -9
  146. package/dist/InputFields/NumberField.js.map +1 -1
  147. package/dist/InputFields/PasswordField.cjs +23 -18
  148. package/dist/InputFields/PasswordField.cjs.map +1 -1
  149. package/dist/InputFields/PasswordField.d.ts +2 -3
  150. package/dist/InputFields/PasswordField.js +21 -16
  151. package/dist/InputFields/PasswordField.js.map +1 -1
  152. package/dist/InputFields/QuickSearch.cjs +2 -3
  153. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  154. package/dist/InputFields/QuickSearch.js +2 -3
  155. package/dist/InputFields/QuickSearch.js.map +1 -1
  156. package/dist/InputFields/RadioButton.cjs +5 -7
  157. package/dist/InputFields/RadioButton.cjs.map +1 -1
  158. package/dist/InputFields/RadioButton.d.ts +1 -1
  159. package/dist/InputFields/RadioButton.js +5 -5
  160. package/dist/InputFields/RadioButton.js.map +1 -1
  161. package/dist/InputFields/SearchBar.cjs +2 -2
  162. package/dist/InputFields/SearchBar.cjs.map +1 -1
  163. package/dist/InputFields/SearchBar.js +3 -3
  164. package/dist/InputFields/SearchBar.js.map +1 -1
  165. package/dist/InputFields/TextField.cjs +35 -40
  166. package/dist/InputFields/TextField.cjs.map +1 -1
  167. package/dist/InputFields/TextField.d.ts +6 -6
  168. package/dist/InputFields/TextField.js +35 -41
  169. package/dist/InputFields/TextField.js.map +1 -1
  170. package/dist/InputFields/Textarea.cjs +26 -31
  171. package/dist/InputFields/Textarea.cjs.map +1 -1
  172. package/dist/InputFields/Textarea.d.ts +1 -12
  173. package/dist/InputFields/Textarea.js +31 -33
  174. package/dist/InputFields/Textarea.js.map +1 -1
  175. package/dist/InputFields/components/SearchBarInput.cjs +1 -1
  176. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  177. package/dist/InputFields/components/SearchBarInput.js +1 -1
  178. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  179. package/dist/InputFields/components/SearchField.cjs +1 -3
  180. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  181. package/dist/InputFields/components/SearchField.js +1 -2
  182. package/dist/InputFields/components/SearchField.js.map +1 -1
  183. package/dist/InputFields/styling.cjs +22 -28
  184. package/dist/InputFields/styling.cjs.map +1 -1
  185. package/dist/InputFields/styling.d.ts +7 -7
  186. package/dist/InputFields/styling.js +19 -23
  187. package/dist/InputFields/styling.js.map +1 -1
  188. package/dist/InputFields/types.cjs +6 -0
  189. package/dist/InputFields/types.cjs.map +1 -0
  190. package/dist/InputFields/types.d.ts +38 -0
  191. package/dist/InputFields/types.js +2 -0
  192. package/dist/InputFields/types.js.map +1 -0
  193. package/dist/MenuItem/MenuItem.cjs +26 -11
  194. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  195. package/dist/MenuItem/MenuItem.d.ts +6 -4
  196. package/dist/MenuItem/MenuItem.js +26 -11
  197. package/dist/MenuItem/MenuItem.js.map +1 -1
  198. package/dist/MenuItem/index.cjs.map +1 -1
  199. package/dist/MenuItem/index.js.map +1 -1
  200. package/dist/Modals/ModalNote.cjs +1 -1
  201. package/dist/Modals/ModalNote.cjs.map +1 -1
  202. package/dist/Modals/ModalNote.js +2 -2
  203. package/dist/Modals/ModalNote.js.map +1 -1
  204. package/dist/Popover/Popover.cjs +49 -31
  205. package/dist/Popover/Popover.cjs.map +1 -1
  206. package/dist/Popover/Popover.d.ts +2 -2
  207. package/dist/Popover/Popover.js +49 -32
  208. package/dist/Popover/Popover.js.map +1 -1
  209. package/dist/ProfileButton/ProfileButton.cjs +105 -0
  210. package/dist/ProfileButton/ProfileButton.cjs.map +1 -0
  211. package/dist/ProfileButton/ProfileButton.d.ts +14 -0
  212. package/dist/ProfileButton/ProfileButton.js +79 -0
  213. package/dist/ProfileButton/ProfileButton.js.map +1 -0
  214. package/dist/ProfileButton/index.cjs +16 -0
  215. package/dist/ProfileButton/index.cjs.map +1 -0
  216. package/dist/ProfileButton/index.d.ts +1 -0
  217. package/dist/ProfileButton/index.js +2 -0
  218. package/dist/ProfileButton/index.js.map +1 -0
  219. package/dist/QuizButton/QuizButton.cjs +1 -1
  220. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  221. package/dist/QuizButton/QuizButton.js +1 -1
  222. package/dist/QuizButton/QuizButton.js.map +1 -1
  223. package/dist/Switcher/MobileSwitcherMenu.cjs +24 -78
  224. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  225. package/dist/Switcher/MobileSwitcherMenu.d.ts +6 -5
  226. package/dist/Switcher/MobileSwitcherMenu.js +26 -70
  227. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  228. package/dist/Table/Table.cjs +22 -22
  229. package/dist/Table/Table.cjs.map +1 -1
  230. package/dist/Table/Table.js +22 -22
  231. package/dist/Table/Table.js.map +1 -1
  232. package/dist/Table/TableBody.cjs +1 -1
  233. package/dist/Table/TableBody.cjs.map +1 -1
  234. package/dist/Table/TableBody.js +1 -1
  235. package/dist/Table/TableBody.js.map +1 -1
  236. package/dist/Tabs/TabLink.cjs +2 -3
  237. package/dist/Tabs/TabLink.cjs.map +1 -1
  238. package/dist/Tabs/TabLink.d.ts +1 -2
  239. package/dist/Tabs/TabLink.js +2 -3
  240. package/dist/Tabs/TabLink.js.map +1 -1
  241. package/dist/Tile/TileBody.cjs +1 -1
  242. package/dist/Tile/TileBody.cjs.map +1 -1
  243. package/dist/Tile/TileBody.js +1 -1
  244. package/dist/Tile/TileBody.js.map +1 -1
  245. package/dist/Tile/TileCommonItems.cjs +1 -1
  246. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  247. package/dist/Tile/TileCommonItems.js +1 -1
  248. package/dist/Tile/TileCommonItems.js.map +1 -1
  249. package/dist/Tile/TileFooter.cjs +1 -1
  250. package/dist/Tile/TileFooter.cjs.map +1 -1
  251. package/dist/Tile/TileFooter.js +1 -1
  252. package/dist/Tile/TileFooter.js.map +1 -1
  253. package/dist/Tile/TileHeader.cjs +1 -1
  254. package/dist/Tile/TileHeader.cjs.map +1 -1
  255. package/dist/Tile/TileHeader.js +2 -2
  256. package/dist/Tile/TileHeader.js.map +1 -1
  257. package/dist/common/StackState.cjs +47 -0
  258. package/dist/common/StackState.cjs.map +1 -0
  259. package/dist/common/StackState.d.ts +7 -0
  260. package/dist/common/StackState.js +30 -0
  261. package/dist/common/StackState.js.map +1 -0
  262. package/dist/hooks/useClickOutside.cjs +6 -2
  263. package/dist/hooks/useClickOutside.cjs.map +1 -1
  264. package/dist/hooks/useClickOutside.d.ts +1 -1
  265. package/dist/hooks/useClickOutside.js +6 -2
  266. package/dist/hooks/useClickOutside.js.map +1 -1
  267. package/dist/icons/contenticons/ContentIcons.cjs +3214 -3182
  268. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  269. package/dist/icons/contenticons/ContentIcons.d.ts +17 -0
  270. package/dist/icons/contenticons/ContentIcons.js +3341 -3365
  271. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  272. package/dist/icons/index.cjs +22 -69
  273. package/dist/icons/index.cjs.map +1 -1
  274. package/dist/icons/index.d.ts +1 -4
  275. package/dist/icons/index.js +19 -64
  276. package/dist/icons/index.js.map +1 -1
  277. package/dist/icons/systemicons/SystemIcons.cjs +3216 -2433
  278. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  279. package/dist/icons/systemicons/SystemIcons.d.ts +12 -2
  280. package/dist/icons/systemicons/SystemIcons.js +3016 -2267
  281. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  282. package/dist/index.cjs +28 -0
  283. package/dist/index.cjs.map +1 -1
  284. package/dist/index.d.ts +2 -0
  285. package/dist/index.js +2 -0
  286. package/dist/index.js.map +1 -1
  287. package/dist/styles/colors.cjs +1 -0
  288. package/dist/styles/colors.cjs.map +1 -1
  289. package/dist/styles/colors.d.ts +1 -0
  290. package/dist/styles/colors.js +1 -0
  291. package/dist/styles/colors.js.map +1 -1
  292. package/dist/types.cjs +20 -1
  293. package/dist/types.cjs.map +1 -1
  294. package/dist/types.d.ts +10 -31
  295. package/dist/types.js +17 -0
  296. package/dist/types.js.map +1 -1
  297. package/package.json +13 -9
  298. package/dist/GlobalNavigationBar/Actions.cjs +0 -185
  299. package/dist/GlobalNavigationBar/Actions.cjs.map +0 -1
  300. package/dist/GlobalNavigationBar/Actions.d.ts +0 -13
  301. package/dist/GlobalNavigationBar/Actions.js +0 -160
  302. package/dist/GlobalNavigationBar/Actions.js.map +0 -1
  303. package/dist/GlobalNavigationBar/Avatar.cjs +0 -104
  304. package/dist/GlobalNavigationBar/Avatar.cjs.map +0 -1
  305. package/dist/GlobalNavigationBar/Avatar.d.ts +0 -15
  306. package/dist/GlobalNavigationBar/Avatar.js +0 -77
  307. package/dist/GlobalNavigationBar/Avatar.js.map +0 -1
  308. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +0 -1
  309. package/dist/GlobalNavigationBar/ExtendedMainMenu.js.map +0 -1
  310. package/dist/GlobalNavigationBar/MainMenu.cjs.map +0 -1
  311. package/dist/GlobalNavigationBar/MainMenu.d.ts +0 -8
  312. package/dist/GlobalNavigationBar/MainMenu.js.map +0 -1
  313. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +0 -1
  314. package/dist/GlobalNavigationBar/RightSideNav.d.ts +0 -8
  315. package/dist/GlobalNavigationBar/RightSideNav.js +0 -61
  316. package/dist/GlobalNavigationBar/RightSideNav.js.map +0 -1
  317. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +0 -112
  318. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +0 -1
  319. package/dist/GlobalNavigationBar/UserMenu/MenuLink.d.ts +0 -11
  320. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +0 -86
  321. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +0 -1
  322. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +0 -178
  323. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +0 -1
  324. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.d.ts +0 -16
  325. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js +0 -146
  326. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +0 -1
  327. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +0 -168
  328. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +0 -1
  329. package/dist/GlobalNavigationBar/UserMenu/UserMenu.d.ts +0 -15
  330. package/dist/GlobalNavigationBar/UserMenu/UserMenu.js +0 -135
  331. package/dist/GlobalNavigationBar/UserMenu/UserMenu.js.map +0 -1
  332. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +0 -49
  333. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +0 -1
  334. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.d.ts +0 -6
  335. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.js +0 -27
  336. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.js.map +0 -1
  337. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +0 -91
  338. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +0 -1
  339. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.d.ts +0 -13
  340. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.js +0 -70
  341. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.js.map +0 -1
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _styles = require("../../styles");
21
+
22
+ var _types = require("../../types");
23
+
24
+ var _HyperLink = require("../../HyperLink");
25
+
26
+ var _reactResponsive = require("react-responsive");
27
+
28
+ var _Button = require("../../Button");
29
+
30
+ var _NavigationHelper = require("../NavigationHelper");
31
+
32
+ var _MenuItem = require("../../MenuItem");
33
+
34
+ var _icons = require("../../icons");
35
+
36
+ var _rooks = require("rooks");
37
+
38
+ var _jsxRuntime = require("react/jsx-runtime");
39
+
40
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
41
+
42
+ var HeaderText = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", " {\n ", "\n }\n"])), (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.BREAKPOINTS.SMALL, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600));
43
+
44
+ var HeaderNote = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), (0, _styles.ParagraphXSStyling)(_styles.ParagraphTextStyle.Regular, _styles.COLORS.neutral_600));
45
+
46
+ var HeaderContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0 24px;\n padding-bottom: 8px;\n box-sizing: border-box;\n border-bottom: 1px solid ", ";\n display: flex;\n flex-direction: column;\n"])), _styles.COLORS.neutral_200);
47
+
48
+ var ScrollableContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 10px;\n }\n\n ", "\n"])), (0, _styles.scrollBarStyling)(_types.Size.Small));
49
+
50
+ var MenuItemsContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n"])));
51
+
52
+ var MenuSectionContainer = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ", ";\n }\n"])), _styles.COLORS.neutral_200);
53
+
54
+ var MenuSectionHeader = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ", ";\n\n ", "\n"])), _styles.COLORS.neutral_20, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_500));
55
+
56
+ var MenuSectionList = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n"])));
57
+
58
+ var PinnedContainer = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px solid ", ";\n"])), _styles.COLORS.neutral_200);
59
+
60
+ var FooterText = _styledComponents.default.div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", " {\n ", "\n }\n"])), (0, _styles.ComponentXSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.BREAKPOINTS.SMALL, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600));
61
+
62
+ var FooterNote = _styledComponents.default.div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", " {\n ", "\n }\n"])), (0, _styles.ParagraphXSStyling)(_styles.ParagraphTextStyle.Regular, _styles.COLORS.neutral_600), _styles.BREAKPOINTS.SMALL, (0, _styles.ParagraphSStyling)(_styles.ParagraphTextStyle.Regular, _styles.COLORS.neutral_600));
63
+
64
+ var FooterLink = _styledComponents.default.div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n a {\n ", "\n ", " {\n ", "\n }\n }\n"])), (0, _styles.ComponentXSStyling)(_styles.ComponentTextStyle.Bold, null), _styles.BREAKPOINTS.SMALL, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, null));
65
+
66
+ var FooterContainer = _styledComponents.default.div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n background: ", ";\n\n ", " {\n padding: 16px;\n }\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_20, _styles.BREAKPOINTS.SMALL);
67
+
68
+ var ActionContainer = _styledComponents.default.div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n\n ", " {\n padding: 16px;\n }\n"])), _styles.COLORS.neutral_200, _styles.BREAKPOINTS.SMALL);
69
+
70
+ var Wrapper = _styledComponents.default.div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n"])));
71
+
72
+ var MobileMenuContent = function MobileMenuContent(_ref) {
73
+ var header = _ref.header,
74
+ items = _ref.items,
75
+ footer = _ref.footer,
76
+ action = _ref.action,
77
+ onSubMenuOpen = _ref.onSubMenuOpen;
78
+ var isSmallScreen = (0, _reactResponsive.useMediaQuery)({
79
+ query: _styles.BREAKPOINTS.SMALL.replace('@media ', '')
80
+ });
81
+
82
+ var _useNavigationHelper = (0, _NavigationHelper.useNavigationHelper)(),
83
+ navigate = _useNavigationHelper.navigate,
84
+ isActiveRoute = _useNavigationHelper.isActiveRoute;
85
+
86
+ var _React$useState = _react.default.useState(false),
87
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
88
+ scrollable = _React$useState2[0],
89
+ setScrollable = _React$useState2[1];
90
+
91
+ var _useDimensionsRef = (0, _rooks.useDimensionsRef)({
92
+ updateOnResize: true
93
+ }),
94
+ _useDimensionsRef2 = (0, _slicedToArray2.default)(_useDimensionsRef, 3),
95
+ scrollContainerRef = _useDimensionsRef2[0],
96
+ dimensions = _useDimensionsRef2[1],
97
+ node = _useDimensionsRef2[2];
98
+
99
+ _react.default.useEffect(function () {
100
+ var _node$clientHeight, _node$scrollHeight;
101
+
102
+ var clientHeight = (_node$clientHeight = node === null || node === void 0 ? void 0 : node.clientHeight) !== null && _node$clientHeight !== void 0 ? _node$clientHeight : 0;
103
+ var scrollHeight = (_node$scrollHeight = node === null || node === void 0 ? void 0 : node.scrollHeight) !== null && _node$scrollHeight !== void 0 ? _node$scrollHeight : 0;
104
+ setScrollable(scrollHeight > clientHeight);
105
+ }, [header, dimensions, node, footer, action, items]);
106
+
107
+ var renderItem = function renderItem(item, index) {
108
+ switch (item.type) {
109
+ case 'section':
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(MenuSectionContainer, {
111
+ children: [item.label && /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuSectionHeader, {
112
+ children: item.label
113
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuSectionList, {
114
+ children: item.items.map(function (item, index) {
115
+ return renderItem(item, index);
116
+ })
117
+ })]
118
+ }, index);
119
+
120
+ case 'group':
121
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.MenuItem, {
122
+ id: 'menu-item-' + index,
123
+ size: isSmallScreen ? _types.Size.Medium : _types.Size.Small,
124
+ active: false,
125
+ item: {
126
+ value: item.label,
127
+ disabled: item.disabled,
128
+ icon: item.icon,
129
+ displayLabel: item.label,
130
+ noteLabel: item.note
131
+ },
132
+ iconRight: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropRight, {}),
133
+ onClickHandler: function onClickHandler(e) {
134
+ e.nativeEvent.stopImmediatePropagation();
135
+ onSubMenuOpen && onSubMenuOpen(item);
136
+ }
137
+ }, index);
138
+
139
+ case 'item':
140
+ default:
141
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.MenuItem, {
142
+ id: 'menu-item-' + index,
143
+ active: !item.external && isActiveRoute(item.to, !!item.exact),
144
+ size: isSmallScreen ? _types.Size.Medium : _types.Size.Small,
145
+ item: {
146
+ value: item.to,
147
+ disabled: item.disabled,
148
+ icon: item.icon,
149
+ displayLabel: item.label,
150
+ noteLabel: item.note
151
+ },
152
+ onClickHandler: function onClickHandler() {
153
+ item.action && item.action();
154
+ navigate(item.to, !!item.external);
155
+ }
156
+ }, index);
157
+ }
158
+ };
159
+
160
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
161
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ScrollableContainer, {
162
+ ref: scrollContainerRef,
163
+ className: scrollable ? 'scrollable' : '',
164
+ children: [!!header && /*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderContainer, {
165
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderText, {
166
+ children: header.header
167
+ }), header.note && /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderNote, {
168
+ children: header.note
169
+ })]
170
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuItemsContainer, {
171
+ children: items === null || items === void 0 ? void 0 : items.filter(function (a) {
172
+ return !a.pinned;
173
+ }).map(function (item, index) {
174
+ return renderItem(item, index);
175
+ })
176
+ })]
177
+ }), (items === null || items === void 0 ? void 0 : items.some(function (a) {
178
+ return a.pinned;
179
+ })) && /*#__PURE__*/(0, _jsxRuntime.jsx)(PinnedContainer, {
180
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuItemsContainer, {
181
+ children: items === null || items === void 0 ? void 0 : items.filter(function (a) {
182
+ return !!a.pinned;
183
+ }).map(function (item, index) {
184
+ return renderItem(item, index);
185
+ })
186
+ })
187
+ }), footer && /*#__PURE__*/(0, _jsxRuntime.jsxs)(FooterContainer, {
188
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FooterText, {
189
+ children: footer.header
190
+ }), footer.note && /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterNote, {
191
+ children: footer.note
192
+ }), footer.link && /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLink, {
193
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, {
194
+ variant: 'default',
195
+ id: footer.link.id,
196
+ target: footer.link.target,
197
+ onClick: footer.link.onClick,
198
+ href: footer.link.href,
199
+ children: footer.link.label
200
+ })
201
+ })]
202
+ }), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionContainer, {
203
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
204
+ variant: 'secondary',
205
+ size: isSmallScreen ? _types.Size.Medium : _types.Size.Small,
206
+ disabled: action.disabled,
207
+ icon: action.icon,
208
+ onClick: action.action,
209
+ children: action.label
210
+ })
211
+ })]
212
+ });
213
+ };
214
+
215
+ MobileMenuContent.propTypes = {
216
+ items: _propTypes.default.array,
217
+ onSubMenuOpen: _propTypes.default.func
218
+ };
219
+ var _default = MobileMenuContent;
220
+ exports.default = _default;
221
+ //# sourceMappingURL=MobileMenuContent.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenuContent.tsx"],"names":["HeaderText","styled","div","ComponentTextStyle","Bold","COLORS","neutral_600","BREAKPOINTS","SMALL","HeaderNote","ParagraphTextStyle","Regular","HeaderContainer","neutral_200","ScrollableContainer","Size","Small","MenuItemsContainer","MenuSectionContainer","MenuSectionHeader","neutral_20","neutral_500","MenuSectionList","PinnedContainer","FooterText","FooterNote","FooterLink","FooterContainer","ActionContainer","Wrapper","MobileMenuContent","header","items","footer","action","onSubMenuOpen","isSmallScreen","query","replace","navigate","isActiveRoute","React","useState","scrollable","setScrollable","updateOnResize","scrollContainerRef","dimensions","node","useEffect","clientHeight","scrollHeight","renderItem","item","index","type","label","map","Medium","value","disabled","icon","displayLabel","noteLabel","note","e","nativeEvent","stopImmediatePropagation","external","to","exact","filter","a","pinned","some","link","id","target","onClick","href"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n MenuButton,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuNavigationItemTypeGroup,\n MenuNavigationItemTypeItem,\n MenuNavigationItemTypeSection\n} from '../types';\nimport styled from 'styled-components';\nimport {\n BREAKPOINTS,\n COLORS,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n ParagraphXSStyling,\n scrollBarStyling\n} from '../../styles';\nimport {Size} from '../../types';\nimport {HyperLink} from '../../HyperLink';\nimport {useMediaQuery} from 'react-responsive';\nimport {Button} from '../../Button';\nimport {useNavigationHelper} from '../NavigationHelper';\nimport {MenuItem} from '../../MenuItem';\nimport {SystemIcons} from '../../icons';\nimport {useDimensionsRef} from 'rooks';\n\n\nconst HeaderText = styled.div`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst HeaderNote = styled.div`\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n`;\nconst HeaderContainer = styled.div`\n margin: 0 24px;\n padding-bottom: 8px;\n box-sizing: border-box;\n border-bottom: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n`;\n\n\nconst ScrollableContainer = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 10px;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst MenuItemsContainer = styled.div`\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n`;\n\nconst MenuSectionContainer = styled.div`\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ${COLORS.neutral_200};\n }\n`;\n\nconst MenuSectionHeader = styled.div`\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ${COLORS.neutral_20};\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n`;\n\nconst MenuSectionList = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\n\nconst PinnedContainer = styled.div`\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst FooterText = styled.div`\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst FooterNote = styled.div`\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n }\n`;\nconst FooterLink = styled.div`\n a {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n }\n }\n`;\n\nconst FooterContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\nconst ActionContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\nconst Wrapper = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ninterface MobileMenuContentProps {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n\n onSubMenuOpen?: (item: MenuNavigationItemTypeGroup) => void;\n}\n\nconst MobileMenuContent: React.FunctionComponent<MobileMenuContentProps> = ({\n header,\n items,\n footer,\n action,\n onSubMenuOpen\n }) => {\n\n const isSmallScreen = useMediaQuery({query: BREAKPOINTS.SMALL.replace('@media ', '')});\n\n const {navigate, isActiveRoute} = useNavigationHelper();\n\n const [scrollable, setScrollable] = React.useState(false);\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n\n React.useEffect(() => {\n const clientHeight = node?.clientHeight ?? 0;\n const scrollHeight = node?.scrollHeight ?? 0;\n setScrollable(scrollHeight > clientHeight);\n }, [header, dimensions, node, footer, action, items]);\n\n const renderItem = (item: MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection, index: number) => {\n switch (item.type) {\n case 'section':\n return (\n <MenuSectionContainer key={index}>\n {item.label && <MenuSectionHeader>{item.label}</MenuSectionHeader>}\n <MenuSectionList>\n {item.items.map((item, index) => renderItem(item, index))}\n </MenuSectionList>\n </MenuSectionContainer>\n );\n case 'group':\n return <MenuItem key={index}\n id={'menu-item-' + index}\n size={isSmallScreen ? Size.Medium : Size.Small}\n active={false}\n item={{\n value: item.label,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n iconRight={<SystemIcons.ArrowDropRight/>}\n onClickHandler={(e) => {\n e.nativeEvent.stopImmediatePropagation();\n onSubMenuOpen && onSubMenuOpen(item);\n }}/>\n case 'item':\n default:\n return (\n <MenuItem key={index}\n id={'menu-item-' + index}\n active={!item.external && isActiveRoute(item.to, !!item.exact)}\n size={isSmallScreen ? Size.Medium : Size.Small}\n item={{\n value: item.to,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n onClickHandler={() => {\n item.action && item.action();\n navigate(item.to, !!item.external);\n }}/>\n );\n }\n }\n\n return (\n <Wrapper>\n <ScrollableContainer ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n {\n !!header &&\n <HeaderContainer>\n <HeaderText>{header.header}</HeaderText>\n {header.note && <HeaderNote>{header.note}</HeaderNote>}\n </HeaderContainer>\n }\n <MenuItemsContainer>\n {items?.filter(a => !a.pinned).map((item, index) => renderItem(item, index))}\n </MenuItemsContainer>\n </ScrollableContainer>\n {\n items?.some(a => a.pinned) &&\n <PinnedContainer>\n <MenuItemsContainer>\n {items?.filter(a => !!a.pinned).map((item, index) => renderItem(item, index))}\n </MenuItemsContainer>\n </PinnedContainer>\n\n }\n {\n footer &&\n <FooterContainer>\n <FooterText>{footer.header}</FooterText>\n {footer.note && <FooterNote>{footer.note}</FooterNote>}\n {footer.link &&\n <FooterLink>\n <HyperLink variant={'default'}\n id={footer.link.id}\n target={footer.link.target}\n onClick={footer.link.onClick}\n href={footer.link.href}>\n {footer.link.label}\n </HyperLink>\n </FooterLink>\n }\n </FooterContainer>\n }\n {\n action &&\n <ActionContainer>\n <Button variant={'secondary'}\n size={isSmallScreen ? Size.Medium : Size.Small}\n disabled={action.disabled}\n icon={action.icon}\n onClick={action.action}>\n {action.label}\n </Button>\n </ActionContainer>\n }\n </Wrapper>\n )\n};\n\nexport default MobileMenuContent;\n"],"file":"MobileMenuContent.cjs"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { MenuButton, MenuGroupFooter, MenuGroupHeader, MenuNavigationItemTypeGroup, MenuNavigationItemTypeItem, MenuNavigationItemTypeSection } from '../types';
3
+ interface MobileMenuContentProps {
4
+ header?: MenuGroupHeader;
5
+ items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];
6
+ footer?: MenuGroupFooter;
7
+ action?: MenuButton;
8
+ onSubMenuOpen?: (item: MenuNavigationItemTypeGroup) => void;
9
+ }
10
+ declare const MobileMenuContent: React.FunctionComponent<MobileMenuContentProps>;
11
+ export default MobileMenuContent;
@@ -0,0 +1,184 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
+ import _pt from "prop-types";
4
+
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
6
+
7
+ import React from 'react';
8
+ import styled from 'styled-components';
9
+ import { BREAKPOINTS, COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXSStyling, ParagraphSStyling, ParagraphTextStyle, ParagraphXSStyling, scrollBarStyling } from '../../styles';
10
+ import { Size } from '../../types';
11
+ import { HyperLink } from '../../HyperLink';
12
+ import { useMediaQuery } from 'react-responsive';
13
+ import { Button } from '../../Button';
14
+ import { useNavigationHelper } from '../NavigationHelper';
15
+ import { MenuItem } from '../../MenuItem';
16
+ import { SystemIcons } from '../../icons';
17
+ import { useDimensionsRef } from 'rooks';
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ var HeaderText = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n ", " {\n ", "\n }\n"])), ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600), BREAKPOINTS.SMALL, ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600));
21
+ var HeaderNote = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n"])), ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600));
22
+ var HeaderContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 0 24px;\n padding-bottom: 8px;\n box-sizing: border-box;\n border-bottom: 1px solid ", ";\n display: flex;\n flex-direction: column;\n"])), COLORS.neutral_200);
23
+ var ScrollableContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 10px;\n }\n\n ", "\n"])), scrollBarStyling(Size.Small));
24
+ var MenuItemsContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n"])));
25
+ var MenuSectionContainer = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ", ";\n }\n"])), COLORS.neutral_200);
26
+ var MenuSectionHeader = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ", ";\n\n ", "\n"])), COLORS.neutral_20, ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_500));
27
+ var MenuSectionList = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n"])));
28
+ var PinnedContainer = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n border-top: 1px solid ", ";\n"])), COLORS.neutral_200);
29
+ var FooterText = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n ", "\n ", " {\n ", "\n }\n"])), ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600), BREAKPOINTS.SMALL, ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600));
30
+ var FooterNote = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n ", "\n ", " {\n ", "\n }\n"])), ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600), BREAKPOINTS.SMALL, ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600));
31
+ var FooterLink = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n a {\n ", "\n ", " {\n ", "\n }\n }\n"])), ComponentXSStyling(ComponentTextStyle.Bold, null), BREAKPOINTS.SMALL, ComponentSStyling(ComponentTextStyle.Bold, null));
32
+ var FooterContainer = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n background: ", ";\n\n ", " {\n padding: 16px;\n }\n"])), COLORS.neutral_200, COLORS.neutral_20, BREAKPOINTS.SMALL);
33
+ var ActionContainer = styled.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n\n ", " {\n padding: 16px;\n }\n"])), COLORS.neutral_200, BREAKPOINTS.SMALL);
34
+ var Wrapper = styled.div(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n"])));
35
+
36
+ var MobileMenuContent = function MobileMenuContent(_ref) {
37
+ var header = _ref.header,
38
+ items = _ref.items,
39
+ footer = _ref.footer,
40
+ action = _ref.action,
41
+ onSubMenuOpen = _ref.onSubMenuOpen;
42
+ var isSmallScreen = useMediaQuery({
43
+ query: BREAKPOINTS.SMALL.replace('@media ', '')
44
+ });
45
+
46
+ var _useNavigationHelper = useNavigationHelper(),
47
+ navigate = _useNavigationHelper.navigate,
48
+ isActiveRoute = _useNavigationHelper.isActiveRoute;
49
+
50
+ var _React$useState = React.useState(false),
51
+ _React$useState2 = _slicedToArray(_React$useState, 2),
52
+ scrollable = _React$useState2[0],
53
+ setScrollable = _React$useState2[1];
54
+
55
+ var _useDimensionsRef = useDimensionsRef({
56
+ updateOnResize: true
57
+ }),
58
+ _useDimensionsRef2 = _slicedToArray(_useDimensionsRef, 3),
59
+ scrollContainerRef = _useDimensionsRef2[0],
60
+ dimensions = _useDimensionsRef2[1],
61
+ node = _useDimensionsRef2[2];
62
+
63
+ React.useEffect(function () {
64
+ var _node$clientHeight, _node$scrollHeight;
65
+
66
+ var clientHeight = (_node$clientHeight = node === null || node === void 0 ? void 0 : node.clientHeight) !== null && _node$clientHeight !== void 0 ? _node$clientHeight : 0;
67
+ var scrollHeight = (_node$scrollHeight = node === null || node === void 0 ? void 0 : node.scrollHeight) !== null && _node$scrollHeight !== void 0 ? _node$scrollHeight : 0;
68
+ setScrollable(scrollHeight > clientHeight);
69
+ }, [header, dimensions, node, footer, action, items]);
70
+
71
+ var renderItem = function renderItem(item, index) {
72
+ switch (item.type) {
73
+ case 'section':
74
+ return /*#__PURE__*/_jsxs(MenuSectionContainer, {
75
+ children: [item.label && /*#__PURE__*/_jsx(MenuSectionHeader, {
76
+ children: item.label
77
+ }), /*#__PURE__*/_jsx(MenuSectionList, {
78
+ children: item.items.map(function (item, index) {
79
+ return renderItem(item, index);
80
+ })
81
+ })]
82
+ }, index);
83
+
84
+ case 'group':
85
+ return /*#__PURE__*/_jsx(MenuItem, {
86
+ id: 'menu-item-' + index,
87
+ size: isSmallScreen ? Size.Medium : Size.Small,
88
+ active: false,
89
+ item: {
90
+ value: item.label,
91
+ disabled: item.disabled,
92
+ icon: item.icon,
93
+ displayLabel: item.label,
94
+ noteLabel: item.note
95
+ },
96
+ iconRight: /*#__PURE__*/_jsx(SystemIcons.ArrowDropRight, {}),
97
+ onClickHandler: function onClickHandler(e) {
98
+ e.nativeEvent.stopImmediatePropagation();
99
+ onSubMenuOpen && onSubMenuOpen(item);
100
+ }
101
+ }, index);
102
+
103
+ case 'item':
104
+ default:
105
+ return /*#__PURE__*/_jsx(MenuItem, {
106
+ id: 'menu-item-' + index,
107
+ active: !item.external && isActiveRoute(item.to, !!item.exact),
108
+ size: isSmallScreen ? Size.Medium : Size.Small,
109
+ item: {
110
+ value: item.to,
111
+ disabled: item.disabled,
112
+ icon: item.icon,
113
+ displayLabel: item.label,
114
+ noteLabel: item.note
115
+ },
116
+ onClickHandler: function onClickHandler() {
117
+ item.action && item.action();
118
+ navigate(item.to, !!item.external);
119
+ }
120
+ }, index);
121
+ }
122
+ };
123
+
124
+ return /*#__PURE__*/_jsxs(Wrapper, {
125
+ children: [/*#__PURE__*/_jsxs(ScrollableContainer, {
126
+ ref: scrollContainerRef,
127
+ className: scrollable ? 'scrollable' : '',
128
+ children: [!!header && /*#__PURE__*/_jsxs(HeaderContainer, {
129
+ children: [/*#__PURE__*/_jsx(HeaderText, {
130
+ children: header.header
131
+ }), header.note && /*#__PURE__*/_jsx(HeaderNote, {
132
+ children: header.note
133
+ })]
134
+ }), /*#__PURE__*/_jsx(MenuItemsContainer, {
135
+ children: items === null || items === void 0 ? void 0 : items.filter(function (a) {
136
+ return !a.pinned;
137
+ }).map(function (item, index) {
138
+ return renderItem(item, index);
139
+ })
140
+ })]
141
+ }), (items === null || items === void 0 ? void 0 : items.some(function (a) {
142
+ return a.pinned;
143
+ })) && /*#__PURE__*/_jsx(PinnedContainer, {
144
+ children: /*#__PURE__*/_jsx(MenuItemsContainer, {
145
+ children: items === null || items === void 0 ? void 0 : items.filter(function (a) {
146
+ return !!a.pinned;
147
+ }).map(function (item, index) {
148
+ return renderItem(item, index);
149
+ })
150
+ })
151
+ }), footer && /*#__PURE__*/_jsxs(FooterContainer, {
152
+ children: [/*#__PURE__*/_jsx(FooterText, {
153
+ children: footer.header
154
+ }), footer.note && /*#__PURE__*/_jsx(FooterNote, {
155
+ children: footer.note
156
+ }), footer.link && /*#__PURE__*/_jsx(FooterLink, {
157
+ children: /*#__PURE__*/_jsx(HyperLink, {
158
+ variant: 'default',
159
+ id: footer.link.id,
160
+ target: footer.link.target,
161
+ onClick: footer.link.onClick,
162
+ href: footer.link.href,
163
+ children: footer.link.label
164
+ })
165
+ })]
166
+ }), action && /*#__PURE__*/_jsx(ActionContainer, {
167
+ children: /*#__PURE__*/_jsx(Button, {
168
+ variant: 'secondary',
169
+ size: isSmallScreen ? Size.Medium : Size.Small,
170
+ disabled: action.disabled,
171
+ icon: action.icon,
172
+ onClick: action.action,
173
+ children: action.label
174
+ })
175
+ })]
176
+ });
177
+ };
178
+
179
+ MobileMenuContent.propTypes = {
180
+ items: _pt.array,
181
+ onSubMenuOpen: _pt.func
182
+ };
183
+ export default MobileMenuContent;
184
+ //# sourceMappingURL=MobileMenuContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenuContent.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXSStyling","ParagraphSStyling","ParagraphTextStyle","ParagraphXSStyling","scrollBarStyling","Size","HyperLink","useMediaQuery","Button","useNavigationHelper","MenuItem","SystemIcons","useDimensionsRef","HeaderText","div","Bold","neutral_600","SMALL","HeaderNote","Regular","HeaderContainer","neutral_200","ScrollableContainer","Small","MenuItemsContainer","MenuSectionContainer","MenuSectionHeader","neutral_20","neutral_500","MenuSectionList","PinnedContainer","FooterText","FooterNote","FooterLink","FooterContainer","ActionContainer","Wrapper","MobileMenuContent","header","items","footer","action","onSubMenuOpen","isSmallScreen","query","replace","navigate","isActiveRoute","useState","scrollable","setScrollable","updateOnResize","scrollContainerRef","dimensions","node","useEffect","clientHeight","scrollHeight","renderItem","item","index","type","label","map","Medium","value","disabled","icon","displayLabel","noteLabel","note","e","nativeEvent","stopImmediatePropagation","external","to","exact","filter","a","pinned","some","link","id","target","onClick","href"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AASA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SACEC,WADF,EAEEC,MAFF,EAGEC,iBAHF,EAIEC,iBAJF,EAKEC,kBALF,EAMEC,kBANF,EAOEC,iBAPF,EAQEC,kBARF,EASEC,kBATF,EAUEC,gBAVF,QAWO,cAXP;AAYA,SAAQC,IAAR,QAAmB,aAAnB;AACA,SAAQC,SAAR,QAAwB,iBAAxB;AACA,SAAQC,aAAR,QAA4B,kBAA5B;AACA,SAAQC,MAAR,QAAqB,cAArB;AACA,SAAQC,mBAAR,QAAkC,qBAAlC;AACA,SAAQC,QAAR,QAAuB,gBAAvB;AACA,SAAQC,WAAR,QAA0B,aAA1B;AACA,SAAQC,gBAAR,QAA+B,OAA/B;;;AAGA,IAAMC,UAAU,GAAGnB,MAAM,CAACoB,GAAV,yGACZhB,iBAAiB,CAACC,kBAAkB,CAACgB,IAApB,EAA0BnB,MAAM,CAACoB,WAAjC,CADL,EAEZrB,WAAW,CAACsB,KAFA,EAGVpB,iBAAiB,CAACE,kBAAkB,CAACgB,IAApB,EAA0BnB,MAAM,CAACoB,WAAjC,CAHP,CAAhB;AAMA,IAAME,UAAU,GAAGxB,MAAM,CAACoB,GAAV,kFACZX,kBAAkB,CAACD,kBAAkB,CAACiB,OAApB,EAA6BvB,MAAM,CAACoB,WAApC,CADN,CAAhB;AAGA,IAAMI,eAAe,GAAG1B,MAAM,CAACoB,GAAV,+NAIQlB,MAAM,CAACyB,WAJf,CAArB;AAUA,IAAMC,mBAAmB,GAAG5B,MAAM,CAACoB,GAAV,kQAYrBV,gBAAgB,CAACC,IAAI,CAACkB,KAAN,CAZK,CAAzB;AAeA,IAAMC,kBAAkB,GAAG9B,MAAM,CAACoB,GAAV,kKAAxB;AAOA,IAAMW,oBAAoB,GAAG/B,MAAM,CAACoB,GAAV,sNAOElB,MAAM,CAACyB,WAPT,CAA1B;AAWA,IAAMK,iBAAiB,GAAGhC,MAAM,CAACoB,GAAV,wOAMDlB,MAAM,CAAC+B,UANN,EAQnB7B,iBAAiB,CAACC,kBAAkB,CAACgB,IAApB,EAA0BnB,MAAM,CAACgC,WAAjC,CARE,CAAvB;AAWA,IAAMC,eAAe,GAAGnC,MAAM,CAACoB,GAAV,sHAArB;AAMA,IAAMgB,eAAe,GAAGpC,MAAM,CAACoB,GAAV,yGACKlB,MAAM,CAACyB,WADZ,CAArB;AAIA,IAAMU,UAAU,GAAGrC,MAAM,CAACoB,GAAV,6GACZd,kBAAkB,CAACD,kBAAkB,CAACgB,IAApB,EAA0BnB,MAAM,CAACoB,WAAjC,CADN,EAEZrB,WAAW,CAACsB,KAFA,EAGVnB,iBAAiB,CAACC,kBAAkB,CAACgB,IAApB,EAA0BnB,MAAM,CAACoB,WAAjC,CAHP,CAAhB;AAMA,IAAMgB,UAAU,GAAGtC,MAAM,CAACoB,GAAV,6GACZX,kBAAkB,CAACD,kBAAkB,CAACiB,OAApB,EAA6BvB,MAAM,CAACoB,WAApC,CADN,EAEZrB,WAAW,CAACsB,KAFA,EAGVhB,iBAAiB,CAACC,kBAAkB,CAACiB,OAApB,EAA6BvB,MAAM,CAACoB,WAApC,CAHP,CAAhB;AAMA,IAAMiB,UAAU,GAAGvC,MAAM,CAACoB,GAAV,iIAEVd,kBAAkB,CAACD,kBAAkB,CAACgB,IAApB,EAA0B,IAA1B,CAFR,EAGVpB,WAAW,CAACsB,KAHF,EAIRnB,iBAAiB,CAACC,kBAAkB,CAACgB,IAApB,EAA0B,IAA1B,CAJT,CAAhB;AASA,IAAMmB,eAAe,GAAGxC,MAAM,CAACoB,GAAV,mQAGKlB,MAAM,CAACyB,WAHZ,EAMLzB,MAAM,CAAC+B,UANF,EAQjBhC,WAAW,CAACsB,KARK,CAArB;AAaA,IAAMkB,eAAe,GAAGzC,MAAM,CAACoB,GAAV,8OAGKlB,MAAM,CAACyB,WAHZ,EAOjB1B,WAAW,CAACsB,KAPK,CAArB;AAYA,IAAMmB,OAAO,GAAG1C,MAAM,CAACoB,GAAV,+LAAb;;AAkBA,IAAMuB,iBAAkE,GAAG,SAArEA,iBAAqE,OAMO;AAAA,MALJC,MAKI,QALJA,MAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,MAGI,QAHJA,MAGI;AAAA,MAFJC,MAEI,QAFJA,MAEI;AAAA,MADJC,aACI,QADJA,aACI;AAEhF,MAAMC,aAAa,GAAGpC,aAAa,CAAC;AAACqC,IAAAA,KAAK,EAAEjD,WAAW,CAACsB,KAAZ,CAAkB4B,OAAlB,CAA0B,SAA1B,EAAqC,EAArC;AAAR,GAAD,CAAnC;;AAEA,6BAAkCpC,mBAAmB,EAArD;AAAA,MAAOqC,QAAP,wBAAOA,QAAP;AAAA,MAAiBC,aAAjB,wBAAiBA,aAAjB;;AAEA,wBAAoCtD,KAAK,CAACuD,QAAN,CAAe,KAAf,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,0BAA+CtC,gBAAgB,CAAC;AAACuC,IAAAA,cAAc,EAAE;AAAjB,GAAD,CAA/D;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,UAA3B;AAAA,MAAuCC,IAAvC;;AAEA7D,EAAAA,KAAK,CAAC8D,SAAN,CAAgB,YAAM;AAAA;;AACpB,QAAMC,YAAY,yBAAGF,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEE,YAAT,mEAAyB,CAA3C;AACA,QAAMC,YAAY,yBAAGH,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEG,YAAT,mEAAyB,CAA3C;AACAP,IAAAA,aAAa,CAACO,YAAY,GAAGD,YAAhB,CAAb;AACD,GAJD,EAIG,CAAClB,MAAD,EAASe,UAAT,EAAqBC,IAArB,EAA2Bd,MAA3B,EAAmCC,MAAnC,EAA2CF,KAA3C,CAJH;;AAMA,MAAMmB,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAiGC,KAAjG,EAAmH;AACpI,YAAQD,IAAI,CAACE,IAAb;AACE,WAAK,SAAL;AACE,4BACE,MAAC,oBAAD;AAAA,qBACGF,IAAI,CAACG,KAAL,iBAAc,KAAC,iBAAD;AAAA,sBAAoBH,IAAI,CAACG;AAAzB,YADjB,eAEE,KAAC,eAAD;AAAA,sBACGH,IAAI,CAACpB,KAAL,CAAWwB,GAAX,CAAe,UAACJ,IAAD,EAAOC,KAAP;AAAA,qBAAiBF,UAAU,CAACC,IAAD,EAAOC,KAAP,CAA3B;AAAA,aAAf;AADH,YAFF;AAAA,WAA2BA,KAA3B,CADF;;AAQF,WAAK,OAAL;AACE,4BAAO,KAAC,QAAD;AACU,UAAA,EAAE,EAAE,eAAeA,KAD7B;AAEU,UAAA,IAAI,EAAEjB,aAAa,GAAGtC,IAAI,CAAC2D,MAAR,GAAiB3D,IAAI,CAACkB,KAFnD;AAGU,UAAA,MAAM,EAAE,KAHlB;AAIU,UAAA,IAAI,EAAE;AACJ0C,YAAAA,KAAK,EAAEN,IAAI,CAACG,KADR;AAEJI,YAAAA,QAAQ,EAAEP,IAAI,CAACO,QAFX;AAGJC,YAAAA,IAAI,EAAER,IAAI,CAACQ,IAHP;AAIJC,YAAAA,YAAY,EAAET,IAAI,CAACG,KAJf;AAKJO,YAAAA,SAAS,EAAEV,IAAI,CAACW;AALZ,WAJhB;AAWU,UAAA,SAAS,eAAE,KAAC,WAAD,CAAa,cAAb,KAXrB;AAYU,UAAA,cAAc,EAAE,wBAACC,CAAD,EAAO;AACrBA,YAAAA,CAAC,CAACC,WAAF,CAAcC,wBAAd;AACA/B,YAAAA,aAAa,IAAIA,aAAa,CAACiB,IAAD,CAA9B;AACD;AAfX,WAAeC,KAAf,CAAP;;AAgBF,WAAK,MAAL;AACA;AACE,4BACE,KAAC,QAAD;AACU,UAAA,EAAE,EAAE,eAAeA,KAD7B;AAEU,UAAA,MAAM,EAAE,CAACD,IAAI,CAACe,QAAN,IAAkB3B,aAAa,CAACY,IAAI,CAACgB,EAAN,EAAU,CAAC,CAAChB,IAAI,CAACiB,KAAjB,CAFjD;AAGU,UAAA,IAAI,EAAEjC,aAAa,GAAGtC,IAAI,CAAC2D,MAAR,GAAiB3D,IAAI,CAACkB,KAHnD;AAIU,UAAA,IAAI,EAAE;AACJ0C,YAAAA,KAAK,EAAEN,IAAI,CAACgB,EADR;AAEJT,YAAAA,QAAQ,EAAEP,IAAI,CAACO,QAFX;AAGJC,YAAAA,IAAI,EAAER,IAAI,CAACQ,IAHP;AAIJC,YAAAA,YAAY,EAAET,IAAI,CAACG,KAJf;AAKJO,YAAAA,SAAS,EAAEV,IAAI,CAACW;AALZ,WAJhB;AAWU,UAAA,cAAc,EAAE,0BAAM;AACpBX,YAAAA,IAAI,CAAClB,MAAL,IAAekB,IAAI,CAAClB,MAAL,EAAf;AACAK,YAAAA,QAAQ,CAACa,IAAI,CAACgB,EAAN,EAAU,CAAC,CAAChB,IAAI,CAACe,QAAjB,CAAR;AACD;AAdX,WAAed,KAAf,CADF;AA7BJ;AA+CD,GAhDD;;AAkDA,sBACE,MAAC,OAAD;AAAA,4BACE,MAAC,mBAAD;AAAqB,MAAA,GAAG,EAAER,kBAA1B;AAAqD,MAAA,SAAS,EAAEH,UAAU,GAAG,YAAH,GAAkB,EAA5F;AAAA,iBAEI,CAAC,CAACX,MAAF,iBACA,MAAC,eAAD;AAAA,gCACE,KAAC,UAAD;AAAA,oBAAaA,MAAM,CAACA;AAApB,UADF,EAEGA,MAAM,CAACgC,IAAP,iBAAe,KAAC,UAAD;AAAA,oBAAahC,MAAM,CAACgC;AAApB,UAFlB;AAAA,QAHJ,eAQE,KAAC,kBAAD;AAAA,kBACG/B,KADH,aACGA,KADH,uBACGA,KAAK,CAAEsC,MAAP,CAAc,UAAAC,CAAC;AAAA,iBAAI,CAACA,CAAC,CAACC,MAAP;AAAA,SAAf,EAA8BhB,GAA9B,CAAkC,UAACJ,IAAD,EAAOC,KAAP;AAAA,iBAAiBF,UAAU,CAACC,IAAD,EAAOC,KAAP,CAA3B;AAAA,SAAlC;AADH,QARF;AAAA,MADF,EAcI,CAAArB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEyC,IAAP,CAAY,UAAAF,CAAC;AAAA,aAAIA,CAAC,CAACC,MAAN;AAAA,KAAb,mBACA,KAAC,eAAD;AAAA,6BACE,KAAC,kBAAD;AAAA,kBACGxC,KADH,aACGA,KADH,uBACGA,KAAK,CAAEsC,MAAP,CAAc,UAAAC,CAAC;AAAA,iBAAI,CAAC,CAACA,CAAC,CAACC,MAAR;AAAA,SAAf,EAA+BhB,GAA/B,CAAmC,UAACJ,IAAD,EAAOC,KAAP;AAAA,iBAAiBF,UAAU,CAACC,IAAD,EAAOC,KAAP,CAA3B;AAAA,SAAnC;AADH;AADF,MAfJ,EAuBIpB,MAAM,iBACN,MAAC,eAAD;AAAA,8BACE,KAAC,UAAD;AAAA,kBAAaA,MAAM,CAACF;AAApB,QADF,EAEGE,MAAM,CAAC8B,IAAP,iBAAe,KAAC,UAAD;AAAA,kBAAa9B,MAAM,CAAC8B;AAApB,QAFlB,EAGG9B,MAAM,CAACyC,IAAP,iBACC,KAAC,UAAD;AAAA,+BACE,KAAC,SAAD;AAAW,UAAA,OAAO,EAAE,SAApB;AACW,UAAA,EAAE,EAAEzC,MAAM,CAACyC,IAAP,CAAYC,EAD3B;AAEW,UAAA,MAAM,EAAE1C,MAAM,CAACyC,IAAP,CAAYE,MAF/B;AAGW,UAAA,OAAO,EAAE3C,MAAM,CAACyC,IAAP,CAAYG,OAHhC;AAIW,UAAA,IAAI,EAAE5C,MAAM,CAACyC,IAAP,CAAYI,IAJ7B;AAAA,oBAKG7C,MAAM,CAACyC,IAAP,CAAYnB;AALf;AADF,QAJJ;AAAA,MAxBJ,EAyCIrB,MAAM,iBACN,KAAC,eAAD;AAAA,6BACE,KAAC,MAAD;AAAQ,QAAA,OAAO,EAAE,WAAjB;AACQ,QAAA,IAAI,EAAEE,aAAa,GAAGtC,IAAI,CAAC2D,MAAR,GAAiB3D,IAAI,CAACkB,KADjD;AAEQ,QAAA,QAAQ,EAAEkB,MAAM,CAACyB,QAFzB;AAGQ,QAAA,IAAI,EAAEzB,MAAM,CAAC0B,IAHrB;AAIQ,QAAA,OAAO,EAAE1B,MAAM,CAACA,MAJxB;AAAA,kBAKGA,MAAM,CAACqB;AALV;AADF,MA1CJ;AAAA,IADF;AAuDD,CA/HD;;;AAPEvB,EAAAA,K;AAIAG,EAAAA,a;;AAoIF,eAAeL,iBAAf","sourcesContent":["import React from 'react';\nimport {\n MenuButton,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuNavigationItemTypeGroup,\n MenuNavigationItemTypeItem,\n MenuNavigationItemTypeSection\n} from '../types';\nimport styled from 'styled-components';\nimport {\n BREAKPOINTS,\n COLORS,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n ParagraphXSStyling,\n scrollBarStyling\n} from '../../styles';\nimport {Size} from '../../types';\nimport {HyperLink} from '../../HyperLink';\nimport {useMediaQuery} from 'react-responsive';\nimport {Button} from '../../Button';\nimport {useNavigationHelper} from '../NavigationHelper';\nimport {MenuItem} from '../../MenuItem';\nimport {SystemIcons} from '../../icons';\nimport {useDimensionsRef} from 'rooks';\n\n\nconst HeaderText = styled.div`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst HeaderNote = styled.div`\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n`;\nconst HeaderContainer = styled.div`\n margin: 0 24px;\n padding-bottom: 8px;\n box-sizing: border-box;\n border-bottom: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n`;\n\n\nconst ScrollableContainer = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 10px;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst MenuItemsContainer = styled.div`\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n`;\n\nconst MenuSectionContainer = styled.div`\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ${COLORS.neutral_200};\n }\n`;\n\nconst MenuSectionHeader = styled.div`\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ${COLORS.neutral_20};\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n`;\n\nconst MenuSectionList = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\n\nconst PinnedContainer = styled.div`\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst FooterText = styled.div`\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst FooterNote = styled.div`\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n }\n`;\nconst FooterLink = styled.div`\n a {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n }\n }\n`;\n\nconst FooterContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\nconst ActionContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\nconst Wrapper = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ninterface MobileMenuContentProps {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n\n onSubMenuOpen?: (item: MenuNavigationItemTypeGroup) => void;\n}\n\nconst MobileMenuContent: React.FunctionComponent<MobileMenuContentProps> = ({\n header,\n items,\n footer,\n action,\n onSubMenuOpen\n }) => {\n\n const isSmallScreen = useMediaQuery({query: BREAKPOINTS.SMALL.replace('@media ', '')});\n\n const {navigate, isActiveRoute} = useNavigationHelper();\n\n const [scrollable, setScrollable] = React.useState(false);\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n\n React.useEffect(() => {\n const clientHeight = node?.clientHeight ?? 0;\n const scrollHeight = node?.scrollHeight ?? 0;\n setScrollable(scrollHeight > clientHeight);\n }, [header, dimensions, node, footer, action, items]);\n\n const renderItem = (item: MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection, index: number) => {\n switch (item.type) {\n case 'section':\n return (\n <MenuSectionContainer key={index}>\n {item.label && <MenuSectionHeader>{item.label}</MenuSectionHeader>}\n <MenuSectionList>\n {item.items.map((item, index) => renderItem(item, index))}\n </MenuSectionList>\n </MenuSectionContainer>\n );\n case 'group':\n return <MenuItem key={index}\n id={'menu-item-' + index}\n size={isSmallScreen ? Size.Medium : Size.Small}\n active={false}\n item={{\n value: item.label,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n iconRight={<SystemIcons.ArrowDropRight/>}\n onClickHandler={(e) => {\n e.nativeEvent.stopImmediatePropagation();\n onSubMenuOpen && onSubMenuOpen(item);\n }}/>\n case 'item':\n default:\n return (\n <MenuItem key={index}\n id={'menu-item-' + index}\n active={!item.external && isActiveRoute(item.to, !!item.exact)}\n size={isSmallScreen ? Size.Medium : Size.Small}\n item={{\n value: item.to,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n onClickHandler={() => {\n item.action && item.action();\n navigate(item.to, !!item.external);\n }}/>\n );\n }\n }\n\n return (\n <Wrapper>\n <ScrollableContainer ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n {\n !!header &&\n <HeaderContainer>\n <HeaderText>{header.header}</HeaderText>\n {header.note && <HeaderNote>{header.note}</HeaderNote>}\n </HeaderContainer>\n }\n <MenuItemsContainer>\n {items?.filter(a => !a.pinned).map((item, index) => renderItem(item, index))}\n </MenuItemsContainer>\n </ScrollableContainer>\n {\n items?.some(a => a.pinned) &&\n <PinnedContainer>\n <MenuItemsContainer>\n {items?.filter(a => !!a.pinned).map((item, index) => renderItem(item, index))}\n </MenuItemsContainer>\n </PinnedContainer>\n\n }\n {\n footer &&\n <FooterContainer>\n <FooterText>{footer.header}</FooterText>\n {footer.note && <FooterNote>{footer.note}</FooterNote>}\n {footer.link &&\n <FooterLink>\n <HyperLink variant={'default'}\n id={footer.link.id}\n target={footer.link.target}\n onClick={footer.link.onClick}\n href={footer.link.href}>\n {footer.link.label}\n </HyperLink>\n </FooterLink>\n }\n </FooterContainer>\n }\n {\n action &&\n <ActionContainer>\n <Button variant={'secondary'}\n size={isSmallScreen ? Size.Medium : Size.Small}\n disabled={action.disabled}\n icon={action.icon}\n onClick={action.action}>\n {action.label}\n </Button>\n </ActionContainer>\n }\n </Wrapper>\n )\n};\n\nexport default MobileMenuContent;\n"],"file":"MobileMenuContent.js"}