@laerdal/life-react-components 1.8.0 → 1.9.0-dev.1.full

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 (399) hide show
  1. package/dist/Breadcrumb/Breadcrumb.cjs +1 -0
  2. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  3. package/dist/Breadcrumb/Breadcrumb.js +1 -0
  4. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  5. package/dist/Button/Button.cjs +4 -4
  6. package/dist/Button/Button.cjs.map +1 -1
  7. package/dist/Button/Button.d.ts +1 -1
  8. package/dist/Button/Button.js +4 -4
  9. package/dist/Button/Button.js.map +1 -1
  10. package/dist/Button/DualFunctionButton.cjs +1 -1
  11. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  12. package/dist/Button/DualFunctionButton.js +1 -1
  13. package/dist/Button/DualFunctionButton.js.map +1 -1
  14. package/dist/Button/Iconbutton.cjs +8 -2
  15. package/dist/Button/Iconbutton.cjs.map +1 -1
  16. package/dist/Button/Iconbutton.d.ts +3 -0
  17. package/dist/Button/Iconbutton.js +8 -2
  18. package/dist/Button/Iconbutton.js.map +1 -1
  19. package/dist/Chips/ChipStyles.cjs +1 -1
  20. package/dist/Chips/ChipStyles.cjs.map +1 -1
  21. package/dist/Chips/ChipStyles.js +1 -1
  22. package/dist/Chips/ChipStyles.js.map +1 -1
  23. package/dist/Chips/ChipTypes.d.ts +3 -3
  24. package/dist/Chips/ChoiceChips.cjs +1 -1
  25. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  26. package/dist/Chips/ChoiceChips.js +1 -1
  27. package/dist/Chips/ChoiceChips.js.map +1 -1
  28. package/dist/Chips/FilterChip.cjs +2 -2
  29. package/dist/Chips/FilterChip.cjs.map +1 -1
  30. package/dist/Chips/FilterChip.js +2 -2
  31. package/dist/Chips/FilterChip.js.map +1 -1
  32. package/dist/Chips/InputChip.cjs.map +1 -1
  33. package/dist/Chips/InputChip.js +1 -1
  34. package/dist/Chips/InputChip.js.map +1 -1
  35. package/dist/ChipsInput/ChipDropdownInput.cjs +5 -6
  36. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  37. package/dist/ChipsInput/ChipDropdownInput.d.ts +0 -1
  38. package/dist/ChipsInput/ChipDropdownInput.js +6 -7
  39. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  40. package/dist/ChipsInput/ChipInput.cjs +0 -2
  41. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  42. package/dist/ChipsInput/ChipInput.js +0 -2
  43. package/dist/ChipsInput/ChipInput.js.map +1 -1
  44. package/dist/ChipsInput/ChipInputField.cjs +11 -18
  45. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  46. package/dist/ChipsInput/ChipInputField.d.ts +1 -1
  47. package/dist/ChipsInput/ChipInputField.js +13 -20
  48. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  49. package/dist/ChipsInput/ChipInputTypes.d.ts +1 -1
  50. package/dist/Dropdown/BasicDropdown.cjs +9 -11
  51. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  52. package/dist/Dropdown/BasicDropdown.d.ts +2 -2
  53. package/dist/Dropdown/BasicDropdown.js +10 -12
  54. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  55. package/dist/Dropdown/CommonStyling.cjs +25 -13
  56. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  57. package/dist/Dropdown/CommonStyling.d.ts +7 -6
  58. package/dist/Dropdown/CommonStyling.js +11 -11
  59. package/dist/Dropdown/CommonStyling.js.map +1 -1
  60. package/dist/Dropdown/DropdownButton.cjs +76 -18
  61. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  62. package/dist/Dropdown/DropdownButton.d.ts +1 -1
  63. package/dist/Dropdown/DropdownButton.js +73 -19
  64. package/dist/Dropdown/DropdownButton.js.map +1 -1
  65. package/dist/Dropdown/DropdownButtonTypes.d.ts +16 -5
  66. package/dist/Dropdown/DropdownFilter.cjs +93 -151
  67. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  68. package/dist/Dropdown/DropdownFilter.d.ts +9 -15
  69. package/dist/Dropdown/DropdownFilter.js +94 -152
  70. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  71. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +107 -176
  72. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  73. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +13 -27
  74. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +106 -176
  75. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  76. package/dist/GlobalNavigationBar/Logo.cjs +3 -5
  77. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  78. package/dist/GlobalNavigationBar/Logo.js +1 -1
  79. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  80. package/dist/GlobalNavigationBar/NavigationHelper.cjs +38 -0
  81. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -0
  82. package/dist/GlobalNavigationBar/NavigationHelper.d.ts +4 -0
  83. package/dist/GlobalNavigationBar/NavigationHelper.js +27 -0
  84. package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -0
  85. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +129 -0
  86. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -0
  87. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +15 -0
  88. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +99 -0
  89. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -0
  90. package/dist/GlobalNavigationBar/{ExtendedMainMenu.cjs → desktop/ExtendedMainMenu.cjs} +7 -9
  91. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -0
  92. package/dist/GlobalNavigationBar/{ExtendedMainMenu.d.ts → desktop/ExtendedMainMenu.d.ts} +2 -2
  93. package/dist/GlobalNavigationBar/{ExtendedMainMenu.js → desktop/ExtendedMainMenu.js} +6 -6
  94. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -0
  95. package/dist/GlobalNavigationBar/{MainMenu.cjs → desktop/MainMenu.cjs} +17 -21
  96. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -0
  97. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +8 -0
  98. package/dist/GlobalNavigationBar/{MainMenu.js → desktop/MainMenu.js} +17 -21
  99. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -0
  100. package/dist/GlobalNavigationBar/{RightSideNav.cjs → desktop/RightSideNav.cjs} +22 -26
  101. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -0
  102. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +8 -0
  103. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +59 -0
  104. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -0
  105. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +204 -0
  106. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -0
  107. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +7 -0
  108. package/dist/GlobalNavigationBar/desktop/UserMenu.js +163 -0
  109. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -0
  110. package/dist/GlobalNavigationBar/index.cjs +15 -18
  111. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  112. package/dist/GlobalNavigationBar/index.d.ts +2 -2
  113. package/dist/GlobalNavigationBar/index.js +2 -2
  114. package/dist/GlobalNavigationBar/index.js.map +1 -1
  115. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +15 -21
  116. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  117. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +3 -6
  118. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +14 -15
  119. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  120. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +117 -221
  121. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  122. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +6 -25
  123. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +116 -216
  124. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  125. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +221 -0
  126. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -0
  127. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +11 -0
  128. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +184 -0
  129. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -0
  130. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +160 -0
  131. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -0
  132. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +12 -0
  133. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +139 -0
  134. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -0
  135. package/dist/GlobalNavigationBar/types.cjs +6 -0
  136. package/dist/GlobalNavigationBar/types.cjs.map +1 -0
  137. package/dist/GlobalNavigationBar/types.d.ts +120 -0
  138. package/dist/GlobalNavigationBar/types.js +2 -0
  139. package/dist/GlobalNavigationBar/types.js.map +1 -0
  140. package/dist/InputFields/Checkbox.cjs +10 -10
  141. package/dist/InputFields/Checkbox.cjs.map +1 -1
  142. package/dist/InputFields/Checkbox.d.ts +3 -3
  143. package/dist/InputFields/Checkbox.js +10 -10
  144. package/dist/InputFields/Checkbox.js.map +1 -1
  145. package/dist/InputFields/DatepickerField.cjs +15 -17
  146. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  147. package/dist/InputFields/DatepickerField.d.ts +3 -3
  148. package/dist/InputFields/DatepickerField.js +15 -21
  149. package/dist/InputFields/DatepickerField.js.map +1 -1
  150. package/dist/InputFields/Label.cjs +24 -14
  151. package/dist/InputFields/Label.cjs.map +1 -1
  152. package/dist/InputFields/Label.js +24 -16
  153. package/dist/InputFields/Label.js.map +1 -1
  154. package/dist/InputFields/NumberField.cjs +288 -0
  155. package/dist/InputFields/NumberField.cjs.map +1 -0
  156. package/dist/InputFields/NumberField.d.ts +21 -0
  157. package/dist/InputFields/NumberField.js +252 -0
  158. package/dist/InputFields/NumberField.js.map +1 -0
  159. package/dist/InputFields/PasswordField.cjs +23 -18
  160. package/dist/InputFields/PasswordField.cjs.map +1 -1
  161. package/dist/InputFields/PasswordField.d.ts +2 -3
  162. package/dist/InputFields/PasswordField.js +21 -16
  163. package/dist/InputFields/PasswordField.js.map +1 -1
  164. package/dist/InputFields/QuickSearch.cjs +2 -3
  165. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  166. package/dist/InputFields/QuickSearch.js +2 -3
  167. package/dist/InputFields/QuickSearch.js.map +1 -1
  168. package/dist/InputFields/RadioButton.cjs +5 -7
  169. package/dist/InputFields/RadioButton.cjs.map +1 -1
  170. package/dist/InputFields/RadioButton.d.ts +1 -1
  171. package/dist/InputFields/RadioButton.js +5 -5
  172. package/dist/InputFields/RadioButton.js.map +1 -1
  173. package/dist/InputFields/SearchBar.cjs +2 -2
  174. package/dist/InputFields/SearchBar.cjs.map +1 -1
  175. package/dist/InputFields/SearchBar.js +3 -3
  176. package/dist/InputFields/SearchBar.js.map +1 -1
  177. package/dist/InputFields/TextField.cjs +35 -40
  178. package/dist/InputFields/TextField.cjs.map +1 -1
  179. package/dist/InputFields/TextField.d.ts +6 -6
  180. package/dist/InputFields/TextField.js +35 -41
  181. package/dist/InputFields/TextField.js.map +1 -1
  182. package/dist/InputFields/Textarea.cjs +26 -31
  183. package/dist/InputFields/Textarea.cjs.map +1 -1
  184. package/dist/InputFields/Textarea.d.ts +1 -12
  185. package/dist/InputFields/Textarea.js +31 -33
  186. package/dist/InputFields/Textarea.js.map +1 -1
  187. package/dist/InputFields/components/SearchBarInput.cjs +1 -1
  188. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  189. package/dist/InputFields/components/SearchBarInput.js +1 -1
  190. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  191. package/dist/InputFields/components/SearchField.cjs +1 -3
  192. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  193. package/dist/InputFields/components/SearchField.js +1 -2
  194. package/dist/InputFields/components/SearchField.js.map +1 -1
  195. package/dist/InputFields/index.cjs +8 -0
  196. package/dist/InputFields/index.cjs.map +1 -1
  197. package/dist/InputFields/index.d.ts +2 -1
  198. package/dist/InputFields/index.js +2 -1
  199. package/dist/InputFields/index.js.map +1 -1
  200. package/dist/InputFields/styling.cjs +22 -28
  201. package/dist/InputFields/styling.cjs.map +1 -1
  202. package/dist/InputFields/styling.d.ts +7 -7
  203. package/dist/InputFields/styling.js +19 -23
  204. package/dist/InputFields/styling.js.map +1 -1
  205. package/dist/InputFields/types.cjs +6 -0
  206. package/dist/InputFields/types.cjs.map +1 -0
  207. package/dist/InputFields/types.d.ts +38 -0
  208. package/dist/InputFields/types.js +2 -0
  209. package/dist/InputFields/types.js.map +1 -0
  210. package/dist/List/ListRow.cjs +1 -0
  211. package/dist/List/ListRow.cjs.map +1 -1
  212. package/dist/List/ListRow.js +1 -0
  213. package/dist/List/ListRow.js.map +1 -1
  214. package/dist/MenuItem/MenuItem.cjs +26 -11
  215. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  216. package/dist/MenuItem/MenuItem.d.ts +6 -4
  217. package/dist/MenuItem/MenuItem.js +26 -11
  218. package/dist/MenuItem/MenuItem.js.map +1 -1
  219. package/dist/MenuItem/index.cjs.map +1 -1
  220. package/dist/MenuItem/index.js.map +1 -1
  221. package/dist/Modals/ModalNote.cjs +1 -1
  222. package/dist/Modals/ModalNote.cjs.map +1 -1
  223. package/dist/Modals/ModalNote.js +2 -2
  224. package/dist/Modals/ModalNote.js.map +1 -1
  225. package/dist/Popover/Popover.cjs +267 -0
  226. package/dist/Popover/Popover.cjs.map +1 -0
  227. package/dist/Popover/Popover.d.ts +26 -0
  228. package/dist/Popover/Popover.js +231 -0
  229. package/dist/Popover/Popover.js.map +1 -0
  230. package/dist/Popover/index.cjs +16 -0
  231. package/dist/Popover/index.cjs.map +1 -0
  232. package/dist/Popover/index.d.ts +1 -0
  233. package/dist/Popover/index.js +2 -0
  234. package/dist/Popover/index.js.map +1 -0
  235. package/dist/ProfileButton/ProfileButton.cjs +105 -0
  236. package/dist/ProfileButton/ProfileButton.cjs.map +1 -0
  237. package/dist/ProfileButton/ProfileButton.d.ts +14 -0
  238. package/dist/ProfileButton/ProfileButton.js +79 -0
  239. package/dist/ProfileButton/ProfileButton.js.map +1 -0
  240. package/dist/ProfileButton/index.cjs +16 -0
  241. package/dist/ProfileButton/index.cjs.map +1 -0
  242. package/dist/ProfileButton/index.d.ts +1 -0
  243. package/dist/ProfileButton/index.js +2 -0
  244. package/dist/ProfileButton/index.js.map +1 -0
  245. package/dist/QuizButton/QuizButton.cjs +1 -1
  246. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  247. package/dist/QuizButton/QuizButton.js +1 -1
  248. package/dist/QuizButton/QuizButton.js.map +1 -1
  249. package/dist/Switcher/MobileSwitcherMenu.cjs +24 -78
  250. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  251. package/dist/Switcher/MobileSwitcherMenu.d.ts +6 -5
  252. package/dist/Switcher/MobileSwitcherMenu.js +26 -70
  253. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  254. package/dist/Table/Table.cjs +22 -22
  255. package/dist/Table/Table.cjs.map +1 -1
  256. package/dist/Table/Table.js +22 -22
  257. package/dist/Table/Table.js.map +1 -1
  258. package/dist/Table/TableBody.cjs +1 -1
  259. package/dist/Table/TableBody.cjs.map +1 -1
  260. package/dist/Table/TableBody.js +1 -1
  261. package/dist/Table/TableBody.js.map +1 -1
  262. package/dist/Table/TableFooter.cjs +12 -14
  263. package/dist/Table/TableFooter.cjs.map +1 -1
  264. package/dist/Table/TableFooter.js +13 -15
  265. package/dist/Table/TableFooter.js.map +1 -1
  266. package/dist/Table/TableHeaders.cjs +1 -0
  267. package/dist/Table/TableHeaders.cjs.map +1 -1
  268. package/dist/Table/TableHeaders.js +1 -0
  269. package/dist/Table/TableHeaders.js.map +1 -1
  270. package/dist/Tabs/TabLink.cjs +2 -3
  271. package/dist/Tabs/TabLink.cjs.map +1 -1
  272. package/dist/Tabs/TabLink.d.ts +1 -2
  273. package/dist/Tabs/TabLink.js +2 -3
  274. package/dist/Tabs/TabLink.js.map +1 -1
  275. package/dist/Tile/Tile.cjs +61 -0
  276. package/dist/Tile/Tile.cjs.map +1 -0
  277. package/dist/Tile/Tile.d.ts +4 -0
  278. package/dist/Tile/Tile.js +43 -0
  279. package/dist/Tile/Tile.js.map +1 -0
  280. package/dist/Tile/TileBody.cjs +37 -0
  281. package/dist/Tile/TileBody.cjs.map +1 -0
  282. package/dist/Tile/TileBody.d.ts +6 -0
  283. package/dist/Tile/TileBody.js +22 -0
  284. package/dist/Tile/TileBody.js.map +1 -0
  285. package/dist/Tile/TileCommonItems.cjs +165 -0
  286. package/dist/Tile/TileCommonItems.cjs.map +1 -0
  287. package/dist/Tile/TileCommonItems.d.ts +9 -0
  288. package/dist/Tile/TileCommonItems.js +126 -0
  289. package/dist/Tile/TileCommonItems.js.map +1 -0
  290. package/dist/Tile/TileFooter.cjs +48 -0
  291. package/dist/Tile/TileFooter.cjs.map +1 -0
  292. package/dist/Tile/TileFooter.d.ts +7 -0
  293. package/dist/Tile/TileFooter.js +32 -0
  294. package/dist/Tile/TileFooter.js.map +1 -0
  295. package/dist/Tile/TileHeader.cjs +90 -0
  296. package/dist/Tile/TileHeader.cjs.map +1 -0
  297. package/dist/Tile/TileHeader.d.ts +7 -0
  298. package/dist/Tile/TileHeader.js +68 -0
  299. package/dist/Tile/TileHeader.js.map +1 -0
  300. package/dist/Tile/TileTypes.cjs +6 -0
  301. package/dist/Tile/TileTypes.cjs.map +1 -0
  302. package/dist/Tile/TileTypes.d.ts +57 -0
  303. package/dist/Tile/TileTypes.js +2 -0
  304. package/dist/Tile/TileTypes.js.map +1 -0
  305. package/dist/Tile/index.cjs +33 -0
  306. package/dist/Tile/index.cjs.map +1 -0
  307. package/dist/Tile/index.d.ts +3 -0
  308. package/dist/Tile/index.js +4 -0
  309. package/dist/Tile/index.js.map +1 -0
  310. package/dist/common/StackState.cjs +47 -0
  311. package/dist/common/StackState.cjs.map +1 -0
  312. package/dist/common/StackState.d.ts +7 -0
  313. package/dist/common/StackState.js +30 -0
  314. package/dist/common/StackState.js.map +1 -0
  315. package/dist/hooks/useClickOutside.cjs +6 -2
  316. package/dist/hooks/useClickOutside.cjs.map +1 -1
  317. package/dist/hooks/useClickOutside.d.ts +1 -1
  318. package/dist/hooks/useClickOutside.js +6 -2
  319. package/dist/hooks/useClickOutside.js.map +1 -1
  320. package/dist/icons/contenticons/ContentIcons.cjs +3214 -3182
  321. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  322. package/dist/icons/contenticons/ContentIcons.d.ts +17 -0
  323. package/dist/icons/contenticons/ContentIcons.js +3341 -3365
  324. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  325. package/dist/icons/index.cjs +22 -69
  326. package/dist/icons/index.cjs.map +1 -1
  327. package/dist/icons/index.d.ts +1 -4
  328. package/dist/icons/index.js +19 -64
  329. package/dist/icons/index.js.map +1 -1
  330. package/dist/icons/systemicons/SystemIcons.cjs +3216 -2433
  331. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  332. package/dist/icons/systemicons/SystemIcons.d.ts +12 -2
  333. package/dist/icons/systemicons/SystemIcons.js +3016 -2267
  334. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  335. package/dist/index.cjs +56 -0
  336. package/dist/index.cjs.map +1 -1
  337. package/dist/index.d.ts +4 -0
  338. package/dist/index.js +4 -0
  339. package/dist/index.js.map +1 -1
  340. package/dist/styles/colors.cjs +1 -0
  341. package/dist/styles/colors.cjs.map +1 -1
  342. package/dist/styles/colors.d.ts +1 -0
  343. package/dist/styles/colors.js +1 -0
  344. package/dist/styles/colors.js.map +1 -1
  345. package/dist/styles/z-indexes.cjs +2 -1
  346. package/dist/styles/z-indexes.cjs.map +1 -1
  347. package/dist/styles/z-indexes.d.ts +1 -0
  348. package/dist/styles/z-indexes.js +2 -1
  349. package/dist/styles/z-indexes.js.map +1 -1
  350. package/dist/types.cjs +20 -1
  351. package/dist/types.cjs.map +1 -1
  352. package/dist/types.d.ts +10 -31
  353. package/dist/types.js +17 -0
  354. package/dist/types.js.map +1 -1
  355. package/package.json +13 -9
  356. package/dist/GlobalNavigationBar/Actions.cjs +0 -185
  357. package/dist/GlobalNavigationBar/Actions.cjs.map +0 -1
  358. package/dist/GlobalNavigationBar/Actions.d.ts +0 -13
  359. package/dist/GlobalNavigationBar/Actions.js +0 -160
  360. package/dist/GlobalNavigationBar/Actions.js.map +0 -1
  361. package/dist/GlobalNavigationBar/Avatar.cjs +0 -104
  362. package/dist/GlobalNavigationBar/Avatar.cjs.map +0 -1
  363. package/dist/GlobalNavigationBar/Avatar.d.ts +0 -15
  364. package/dist/GlobalNavigationBar/Avatar.js +0 -77
  365. package/dist/GlobalNavigationBar/Avatar.js.map +0 -1
  366. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +0 -1
  367. package/dist/GlobalNavigationBar/ExtendedMainMenu.js.map +0 -1
  368. package/dist/GlobalNavigationBar/MainMenu.cjs.map +0 -1
  369. package/dist/GlobalNavigationBar/MainMenu.d.ts +0 -8
  370. package/dist/GlobalNavigationBar/MainMenu.js.map +0 -1
  371. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +0 -1
  372. package/dist/GlobalNavigationBar/RightSideNav.d.ts +0 -8
  373. package/dist/GlobalNavigationBar/RightSideNav.js +0 -61
  374. package/dist/GlobalNavigationBar/RightSideNav.js.map +0 -1
  375. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +0 -112
  376. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +0 -1
  377. package/dist/GlobalNavigationBar/UserMenu/MenuLink.d.ts +0 -11
  378. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +0 -86
  379. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +0 -1
  380. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +0 -178
  381. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +0 -1
  382. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.d.ts +0 -16
  383. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js +0 -146
  384. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +0 -1
  385. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +0 -168
  386. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +0 -1
  387. package/dist/GlobalNavigationBar/UserMenu/UserMenu.d.ts +0 -15
  388. package/dist/GlobalNavigationBar/UserMenu/UserMenu.js +0 -135
  389. package/dist/GlobalNavigationBar/UserMenu/UserMenu.js.map +0 -1
  390. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +0 -49
  391. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +0 -1
  392. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.d.ts +0 -6
  393. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.js +0 -27
  394. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.js.map +0 -1
  395. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +0 -91
  396. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +0 -1
  397. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.d.ts +0 -13
  398. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.js +0 -70
  399. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.js.map +0 -1
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
 
14
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -21,27 +23,29 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
23
 
22
24
  var _Logo = _interopRequireDefault(require("./Logo"));
23
25
 
24
- var _MainMenu = _interopRequireDefault(require("./MainMenu"));
25
-
26
- var _Actions = _interopRequireDefault(require("./Actions"));
26
+ var _MainMenu = _interopRequireDefault(require("./desktop/MainMenu"));
27
27
 
28
28
  var _Layouts = require("../Layouts");
29
29
 
30
30
  var _styles = require("../styles");
31
31
 
32
- var _RightSideNav = _interopRequireDefault(require("./RightSideNav"));
32
+ var _RightSideNav = _interopRequireDefault(require("./desktop/RightSideNav"));
33
33
 
34
34
  var _MobileMenu = _interopRequireDefault(require("./mobile/MobileMenu"));
35
35
 
36
36
  var _SystemIcons = require("../icons/systemicons/SystemIcons");
37
37
 
38
- var _UserMenu = _interopRequireDefault(require("./UserMenu/UserMenu"));
38
+ var _UserMenu = _interopRequireDefault(require("./desktop/UserMenu"));
39
39
 
40
40
  var _useClickOutside = _interopRequireDefault(require("../hooks/useClickOutside"));
41
41
 
42
42
  var _CommonStyles = require("./mobile/CommonStyles");
43
43
 
44
- var _zIndexes = require("../styles/z-indexes");
44
+ var _Button = require("../Button");
45
+
46
+ var _DesktopActions = _interopRequireDefault(require("./desktop/DesktopActions"));
47
+
48
+ var _rooks = require("rooks");
45
49
 
46
50
  var _jsxRuntime = require("react/jsx-runtime");
47
51
 
@@ -51,23 +55,23 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
51
55
 
52
56
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
53
57
 
54
- var HeaderWrapper = _styledComponents.default.header(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: white;\n border-bottom: 1px solid ", ";\n \n z-index: ", ";\n position: relative;\n \n height: 48px;\n\n ", " {\n height: 56px;\n }\n ", " {\n height: 64px;\n }\n\n @media all and (-ms-high-contrast: none) {\n height: auto;\n }\n\n @media print {\n border-bottom: none;\n }\n"])), _styles.COLORS.neutral_200, _zIndexes.Z_INDEXES.sticky_menu, _styles.BREAKPOINTS.SMALL, _styles.BREAKPOINTS.MEDIUM);
58
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
59
+
60
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
61
+
62
+ var HeaderWrapper = _styledComponents.default.header(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: white;\n border-bottom: 1px solid ", ";\n\n z-index: ", ";\n position: relative;\n\n height: 48px;\n\n ", " {\n height: 56px;\n }\n\n ", " {\n height: 64px;\n }\n\n @media all and (-ms-high-contrast: none) {\n height: auto;\n }\n\n @media print {\n border-bottom: none;\n }\n"])), _styles.COLORS.neutral_200, _styles.Z_INDEXES.sticky_menu, _styles.BREAKPOINTS.SMALL, _styles.BREAKPOINTS.MEDIUM);
55
63
 
56
64
  var RowLayout = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n"])));
57
65
 
58
- var RightSide = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin: 0 0 0 auto;\n"])));
66
+ var HamburgerButton = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", " button {\n height: 56px;\n }\n\n ", " {\n display: none;\n }\n"])), _styles.BREAKPOINTS.SMALL, _styles.BREAKPOINTS.MEDIUM);
59
67
 
60
- var MenuWrapper = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n background: rgba(0, 0, 0, 0.5);\n display: ", ";\n position: fixed;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n overflow-y: hidden;\n bottom: 0;\n right: 0;\n z-index: ", ";\n"])), function (props) {
61
- return props.isVisible ? 'flex' : 'none';
62
- }, _zIndexes.Z_INDEXES.backdrop);
68
+ var RightSide = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin: 0 0 0 auto;\n\n &.reverse {\n ", " {\n order: -1;\n }\n\n flex-direction: row-reverse;\n }\n"])), HamburgerButton);
63
69
 
64
- var UserMenuWrapper = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n display: flex;\n margin-left: ", ";\n position: absolute;\n right: ", ";\n top: 56px;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ", ";\n }\n"])), _styles.COLORS.white, function (props) {
65
- return props.floatRight ? 'auto' : 'unset';
66
- }, function (props) {
67
- return props.offsetRight ? "".concat(window.innerWidth - props.offsetRight + 296, "px") : '10%';
68
- }, _styles.COLORS.white);
70
+ var MobileMenuBackdrop = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n position: fixed;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n overflow: hidden;\n z-index: ", ";\n visibility: hidden;\n\n\n &.open {\n visibility: visible;\n animation: ", " 0.3s ease-in-out;\n }\n\n &.closed {\n visibility: hidden;\n animation: ", " 0.3s ease-in-out;\n }\n\n ", " {\n visibility: hidden !important;\n }\n"])), _styles.Z_INDEXES.backdrop, _CommonStyles.fadeIn, _CommonStyles.fadeOut, _styles.BREAKPOINTS.MEDIUM);
69
71
 
70
- var HamburgerButton = _styledComponents.default.button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n border-width: 0;\n background-color: ", ";\n height: 48px;\n\n ", " {\n height: 56px;\n }\n ", " {\n height: 64px;\n }\n &:hover {\n cursor: pointer;\n }\n\n ", " {\n display: none;\n }\n"])), _styles.COLORS.white, _styles.BREAKPOINTS.SMALL, _styles.BREAKPOINTS.MEDIUM, _styles.BREAKPOINTS.MEDIUM);
72
+ var UserMenuWrapper = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n display: flex;\n position: absolute;\n\n ", " {\n top: 56px;\n right: ", ";\n }\n"])), _styles.COLORS.white, _styles.BREAKPOINTS.MEDIUM, function (props) {
73
+ return props.offsetRight ? "".concat(window.innerWidth - props.offsetRight + 296, "px") : '10%';
74
+ });
71
75
 
72
76
  /**
73
77
  * @param props
@@ -75,91 +79,67 @@ var HamburgerButton = _styledComponents.default.button(_templateObject6 || (_tem
75
79
  * @description This component is a global navigation header bar
76
80
  */
77
81
  var GlobalNavigationBar = function GlobalNavigationBar(_ref) {
78
- var _document2, _document2$getElement, _document2$getElement2;
82
+ var _actionsRef$current, _actionsRef$current$b, _actionsRef$current$b2, _actionsRef$current$b3, _desktop$items, _desktop$buttons;
79
83
 
80
84
  var name = _ref.name,
81
- mainNavigationOptions = _ref.mainNavigationOptions,
82
- secondaryNavigationOptions = _ref.secondaryNavigationOptions,
83
- secondaryButton = _ref.secondaryButton,
84
- actions = _ref.actions,
85
- firstName = _ref.firstName,
86
- lastName = _ref.lastName,
87
- email = _ref.email,
88
- organizationName = _ref.organizationName,
89
- signout = _ref.signout,
90
85
  isAuthenticated = _ref.isAuthenticated,
91
- mobileActions = _ref.mobileActions,
92
- notifications = _ref.notifications,
93
- switcherAction = _ref.switcherAction,
94
- _ref$reverseRightSide = _ref.reverseRightSideOrder,
95
- reverseRightSideOrder = _ref$reverseRightSide === void 0 ? false : _ref$reverseRightSide,
96
- showBetaTag = _ref.showBetaTag,
97
- accountSection = _ref.accountSection,
98
- organizationSection = _ref.organizationSection,
99
- supportSection = _ref.supportSection,
100
- accountMenuHeader = _ref.accountMenuHeader,
101
- signOutLabel = _ref.signOutLabel,
102
- useUserMenu = _ref.useUserMenu,
103
- mainLogoTo = _ref.mainLogoTo,
104
- trackLogoClick = _ref.trackLogoClick,
86
+ logo = _ref.logo,
87
+ profile = _ref.profile,
88
+ mobile = _ref.mobile,
89
+ desktop = _ref.desktop,
105
90
  testId = _ref.testId,
106
91
  _ref$useMaxWidth = _ref.useMaxWidth,
107
92
  useMaxWidth = _ref$useMaxWidth === void 0 ? true : _ref$useMaxWidth;
108
93
 
109
94
  var _React$useState = React.useState(false),
110
95
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
111
- showMenu = _React$useState2[0],
112
- setShowMenu = _React$useState2[1];
96
+ showMobileMenu = _React$useState2[0],
97
+ setShowMobileMenu = _React$useState2[1];
98
+
99
+ var wasMobileMenuOpen = (0, _rooks.usePreviousImmediate)(showMobileMenu);
113
100
 
114
101
  var _React$useState3 = React.useState(false),
115
102
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
116
103
  showUserMenu = _React$useState4[0],
117
104
  setShowUserMenu = _React$useState4[1];
118
105
 
119
- var _React$useState5 = React.useState(false),
120
- _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
121
- showMobileUserMenu = _React$useState6[0],
122
- setShowMobileUserMenu = _React$useState6[1];
123
-
124
- var menuRef = React.useRef(null);
106
+ var mobileMenuRef = React.useRef(null);
125
107
  var userMenuRef = React.useRef(null);
108
+ var actionsRef = React.useRef(null);
109
+ var profileButtonRef = React.useRef();
110
+ profileButtonRef.current = actionsRef === null || actionsRef === void 0 ? void 0 : (_actionsRef$current = actionsRef.current) === null || _actionsRef$current === void 0 ? void 0 : (_actionsRef$current$b = _actionsRef$current.buttons) === null || _actionsRef$current$b === void 0 ? void 0 : (_actionsRef$current$b2 = _actionsRef$current$b.find(function (a) {
111
+ return a.type === 'profile';
112
+ })) === null || _actionsRef$current$b2 === void 0 ? void 0 : (_actionsRef$current$b3 = _actionsRef$current$b2.ref) === null || _actionsRef$current$b3 === void 0 ? void 0 : _actionsRef$current$b3.current;
113
+ var mobileMenuButtonRef = React.useRef(null);
126
114
  var rightSideRef = React.useRef(null);
127
115
 
128
- var _React$useState7 = React.useState(0),
129
- _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
130
- avatarRight = _React$useState8[0],
131
- setAvatarRight = _React$useState8[1];
132
-
133
- var handleClickMenuAction = function handleClickMenuAction() {
134
- setShowMenu(false);
135
- };
116
+ var _React$useState5 = React.useState(0),
117
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
118
+ avatarRight = _React$useState6[0],
119
+ setAvatarRight = _React$useState6[1];
136
120
 
137
121
  (0, _useClickOutside.default)(userMenuRef, function () {
138
- return showUserMenu ? setShowUserMenu(false) : null;
139
- });
140
- (0, _useClickOutside.default)(menuRef, function () {
141
- if (showMenu) {
142
- setShowMobileUserMenu(false);
143
- setShowMenu(false);
144
- }
145
- });
122
+ return setShowUserMenu(false);
123
+ }, [profileButtonRef]);
124
+ (0, _useClickOutside.default)(mobileMenuRef, function () {
125
+ return setShowMobileMenu(false);
126
+ }, [mobileMenuButtonRef]);
146
127
  React.useEffect(function () {
147
- var handleResize = function handleResize() {
148
- var _document, _document$getElementB, _document$getElementB2;
128
+ if (!profileButtonRef.current) return;
149
129
 
150
- var right = (_document = document) === null || _document === void 0 ? void 0 : (_document$getElementB = _document.getElementById('avatarContainer')) === null || _document$getElementB === void 0 ? void 0 : (_document$getElementB2 = _document$getElementB.getBoundingClientRect()) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.right;
130
+ var handleResize = function handleResize() {
131
+ var _profileButtonRef$cur, _profileButtonRef$cur2;
151
132
 
152
- if (right) {
153
- setAvatarRight(right);
154
- }
133
+ var profileRightOffset = (_profileButtonRef$cur = profileButtonRef.current) === null || _profileButtonRef$cur === void 0 ? void 0 : (_profileButtonRef$cur2 = _profileButtonRef$cur.getBoundingClientRect()) === null || _profileButtonRef$cur2 === void 0 ? void 0 : _profileButtonRef$cur2.right;
134
+ setAvatarRight(profileRightOffset || 0);
155
135
  };
156
136
 
157
137
  handleResize();
158
138
  window.addEventListener('resize', handleResize);
159
139
  return function () {
160
140
  return window.removeEventListener('resize', handleResize);
161
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
162
- }, [(_document2 = document) === null || _document2 === void 0 ? void 0 : (_document2$getElement = _document2.getElementById('avatarContainer')) === null || _document2$getElement === void 0 ? void 0 : (_document2$getElement2 = _document2$getElement.getBoundingClientRect()) === null || _document2$getElement2 === void 0 ? void 0 : _document2$getElement2.right]);
141
+ };
142
+ }, [profileButtonRef.current]);
163
143
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
164
144
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderWrapper, {
165
145
  "data-testid": testId,
@@ -168,135 +148,86 @@ var GlobalNavigationBar = function GlobalNavigationBar(_ref) {
168
148
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(RowLayout, {
169
149
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Logo.default, {
170
150
  name: name || '',
171
- showBetaTag: showBetaTag,
172
- onClick: trackLogoClick,
173
- to: mainLogoTo
151
+ showBetaTag: logo === null || logo === void 0 ? void 0 : logo.showBetaTag,
152
+ onClick: logo === null || logo === void 0 ? void 0 : logo.onClick,
153
+ to: logo === null || logo === void 0 ? void 0 : logo.to
174
154
  }), isAuthenticated && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MainMenu.default, {
175
- navigationOptions: mainNavigationOptions || [],
155
+ items: (desktop === null || desktop === void 0 ? void 0 : desktop.items.filter(function (a) {
156
+ return !a.pinned;
157
+ })) || [],
176
158
  rightSideRef: rightSideRef
177
159
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(RightSide, {
178
- className: "GlobalNavigationRightSide",
160
+ className: "".concat(desktop !== null && desktop !== void 0 && desktop.reverseRightSideOrder ? 'reverse' : ''),
179
161
  ref: rightSideRef,
180
- children: [reverseRightSideOrder ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
181
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Actions.default, {
182
- actions: actions,
183
- firstName: firstName || '',
184
- lastName: lastName || '',
185
- hideOnLowWidth: true,
186
- useUserMenu: useUserMenu,
187
- setShowUserMenu: setShowUserMenu
188
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RightSideNav.default, {
189
- navigationOptions: secondaryNavigationOptions,
190
- secondaryButton: secondaryButton
191
- })]
192
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
193
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RightSideNav.default, {
194
- navigationOptions: secondaryNavigationOptions,
195
- secondaryButton: secondaryButton
196
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Actions.default, {
197
- actions: actions,
198
- firstName: firstName || '',
199
- lastName: lastName || '',
200
- hideOnLowWidth: true,
201
- useUserMenu: useUserMenu,
202
- setShowUserMenu: setShowUserMenu
203
- })]
204
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(HamburgerButton, {
205
- onClick: function onClick() {
206
- return setShowMenu(!showMenu);
162
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RightSideNav.default, {
163
+ items: desktop === null || desktop === void 0 ? void 0 : (_desktop$items = desktop.items) === null || _desktop$items === void 0 ? void 0 : _desktop$items.filter(function (a) {
164
+ return a.pinned;
165
+ }),
166
+ action: desktop === null || desktop === void 0 ? void 0 : desktop.action
167
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DesktopActions.default, {
168
+ ref: actionsRef,
169
+ buttons: desktop === null || desktop === void 0 ? void 0 : desktop.buttons,
170
+ onShowUserMenu: function onShowUserMenu() {
171
+ return setShowUserMenu(!showUserMenu);
207
172
  },
173
+ user: profile === null || profile === void 0 ? void 0 : profile.user
174
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(HamburgerButton, {
208
175
  hidden: !isAuthenticated,
209
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Menu, {
210
- size: "24px"
176
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
177
+ action: function action() {
178
+ return setShowMobileMenu(!showMobileMenu);
179
+ },
180
+ ref: mobileMenuButtonRef,
181
+ shape: 'circular',
182
+ variant: 'secondary',
183
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Menu, {
184
+ size: "24px"
185
+ })
211
186
  })
212
187
  })]
213
188
  })]
214
189
  })
215
190
  })
216
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuWrapper, {
217
- className: showMenu ? 'open' : 'closed',
218
- isVisible: showMenu,
191
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(MobileMenuBackdrop, {
192
+ className: showMobileMenu ? 'open' : !showUserMenu && wasMobileMenuOpen ? 'closed' : '',
219
193
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyles.Menu, {
220
- ref: menuRef,
221
- onClick: function onClick() {},
194
+ ref: mobileMenuRef,
222
195
  role: "menu",
223
196
  "aria-labelledby": "UserMenuButton",
224
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MobileMenu.default, {
225
- name: name || '',
226
- clickMenuAction: function clickMenuAction() {
227
- setShowMobileUserMenu(false);
228
- handleClickMenuAction();
197
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MobileMenu.default, _objectSpread(_objectSpread({}, mobile), {}, {
198
+ show: showMobileMenu,
199
+ onClose: function onClose() {
200
+ return setShowMobileMenu(false);
229
201
  },
230
- navigationOptions: mainNavigationOptions || [],
231
- secondaryNavigationOptions: secondaryNavigationOptions,
232
- secondaryButton: secondaryButton,
233
- firstName: firstName || '',
234
- lastName: lastName || '',
235
- email: email || '',
236
- signout: signout,
237
- notifications: notifications,
238
- actions: mobileActions,
239
- switcherAction: switcherAction,
240
- isAuthenticated: isAuthenticated,
241
- accountSection: accountSection || [],
242
- organizationSection: organizationSection || [],
243
- supportSection: supportSection || [],
244
- accountMenuHeader: accountMenuHeader || '',
245
- signOutLabel: signOutLabel || '',
246
- organizationName: organizationName || '',
247
- useUserMenu: useUserMenu,
248
- showUserMenu: showMobileUserMenu,
249
- setShowUserMenu: setShowMobileUserMenu
250
- })
202
+ profile: profile
203
+ }))
251
204
  })
252
- }), useUserMenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(UserMenuWrapper, {
205
+ }), (desktop === null || desktop === void 0 ? void 0 : (_desktop$buttons = desktop.buttons) === null || _desktop$buttons === void 0 ? void 0 : _desktop$buttons.some(function (a) {
206
+ return a.type === 'profile';
207
+ })) && !!profile && /*#__PURE__*/(0, _jsxRuntime.jsx)(UserMenuWrapper, {
253
208
  ref: userMenuRef,
254
- className: showUserMenu ? 'open' : 'closed',
255
- floatRight: false,
256
209
  offsetRight: avatarRight,
257
210
  "data-testid": "testUserMenuWrapper",
258
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_UserMenu.default, {
259
- firstName: firstName || '',
260
- lastName: lastName || '',
261
- email: email || '',
262
- organizationName: organizationName || '',
263
- clickMenuAction: function clickMenuAction() {
211
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_UserMenu.default, _objectSpread(_objectSpread({}, profile), {}, {
212
+ show: showUserMenu,
213
+ onHideUserMenu: function onHideUserMenu() {
264
214
  return setShowUserMenu(false);
265
- },
266
- accountSection: accountSection,
267
- organizationSection: organizationSection,
268
- supportSection: supportSection,
269
- signOut: signout,
270
- signOutLabel: signOutLabel || ''
271
- })
215
+ }
216
+ }))
272
217
  })]
273
218
  });
274
219
  };
275
220
 
276
221
  GlobalNavigationBar.propTypes = {
277
- name: _propTypes.default.string,
278
- mainNavigationOptions: _propTypes.default.array,
279
- secondaryNavigationOptions: _propTypes.default.array,
280
- firstName: _propTypes.default.string,
281
- lastName: _propTypes.default.string,
282
- email: _propTypes.default.string,
283
- organizationName: _propTypes.default.string,
284
- signout: _propTypes.default.func,
285
222
  isAuthenticated: _propTypes.default.bool,
286
- notifications: _propTypes.default.array,
287
- switcherAction: _propTypes.default.func,
288
- reverseRightSideOrder: _propTypes.default.bool,
289
- showBetaTag: _propTypes.default.bool,
290
- accountSection: _propTypes.default.array,
291
- organizationSection: _propTypes.default.array,
292
- supportSection: _propTypes.default.array,
293
- accountMenuHeader: _propTypes.default.string,
294
- signOutLabel: _propTypes.default.string,
295
- useUserMenu: _propTypes.default.bool,
296
- trackLogoClick: _propTypes.default.func,
297
- mainLogoTo: _propTypes.default.string,
298
- testId: _propTypes.default.string,
299
- useMaxWidth: _propTypes.default.bool
223
+ useMaxWidth: _propTypes.default.bool,
224
+ name: _propTypes.default.string,
225
+ logo: _propTypes.default.shape({
226
+ onClick: _propTypes.default.func,
227
+ to: _propTypes.default.string,
228
+ showBetaTag: _propTypes.default.bool
229
+ }),
230
+ testId: _propTypes.default.string
300
231
  };
301
232
  var _default = GlobalNavigationBar;
302
233
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GlobalNavigationBar/GlobalNavigationBar.tsx"],"names":["HeaderWrapper","styled","header","COLORS","neutral_200","Z_INDEXES","sticky_menu","BREAKPOINTS","SMALL","MEDIUM","RowLayout","div","RightSide","MenuWrapper","props","isVisible","backdrop","UserMenuWrapper","white","floatRight","offsetRight","window","innerWidth","HamburgerButton","button","GlobalNavigationBar","name","mainNavigationOptions","secondaryNavigationOptions","secondaryButton","actions","firstName","lastName","email","organizationName","signout","isAuthenticated","mobileActions","notifications","switcherAction","reverseRightSideOrder","showBetaTag","accountSection","organizationSection","supportSection","accountMenuHeader","signOutLabel","useUserMenu","mainLogoTo","trackLogoClick","testId","useMaxWidth","React","useState","showMenu","setShowMenu","showUserMenu","setShowUserMenu","showMobileUserMenu","setShowMobileUserMenu","menuRef","useRef","userMenuRef","rightSideRef","avatarRight","setAvatarRight","handleClickMenuAction","useEffect","handleResize","right","document","getElementById","getBoundingClientRect","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Logo from './Logo';\nimport MainMenu from './MainMenu';\nimport Actions from './Actions';\nimport { PageWidth } from '../Layouts';\nimport { COLORS, BREAKPOINTS } from '../styles';\nimport RightSideNav from './RightSideNav';\nimport { NavOption, NavButton, ActionOptions, UserMenuItem } from '../types';\nimport MobileMenu from './mobile/MobileMenu';\nimport { Menu } from '../icons/systemicons/SystemIcons';\nimport UserMenu from './UserMenu/UserMenu';\nimport useClickOutside from '../hooks/useClickOutside';\nimport { Menu as MobileMenuWrapper } from './mobile/CommonStyles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst HeaderWrapper = styled.header`\n background: white;\n border-bottom: 1px solid ${COLORS.neutral_200};\n \n z-index: ${Z_INDEXES.sticky_menu};\n position: relative;\n \n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n\n @media all and (-ms-high-contrast: none) {\n height: auto;\n }\n\n @media print {\n border-bottom: none;\n }\n`;\n\nconst RowLayout = styled.div`\n display: flex;\n`;\n\nconst RightSide = styled.div`\n display: flex;\n margin: 0 0 0 auto;\n`;\n\nconst MenuWrapper = styled.div<MenuWrapperProps>`\n background: rgba(0, 0, 0, 0.5);\n display: ${(props) => (props.isVisible ? 'flex' : 'none')};\n position: fixed;\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n overflow-y: hidden;\n bottom: 0;\n right: 0;\n z-index: ${Z_INDEXES.backdrop};\n`;\n\nconst UserMenuWrapper = styled.div<UserMenuWrapperProps>`\n background-color: ${COLORS.white};\n display: flex;\n margin-left: ${(props) => (props.floatRight ? 'auto' : 'unset')};\n position: absolute;\n right: ${(props) => (props.offsetRight ? `${window.innerWidth - props.offsetRight + 296}px` : '10%')};\n top: 56px;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\ninterface UserMenuWrapperProps {\n floatRight: boolean;\n offsetRight: number | null | undefined;\n}\n\nconst HamburgerButton = styled.button`\n border-width: 0;\n background-color: ${COLORS.white};\n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n &:hover {\n cursor: pointer;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n display: none;\n }\n`;\n\ninterface MenuWrapperProps {\n isVisible: boolean;\n}\n\ntype Props = {\n name?: string;\n mainNavigationOptions?: NavOption[];\n secondaryNavigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n actions?: ActionOptions;\n firstName?: string;\n lastName?: string;\n email?: string;\n organizationName?: string;\n signout?: (e: any) => void;\n isAuthenticated?: boolean;\n mobileActions?: ActionOptions;\n notifications?: NavOption[];\n switcherAction?: () => void;\n reverseRightSideOrder?: boolean;\n showBetaTag?: boolean;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n accountMenuHeader?: string;\n signOutLabel?: string;\n useUserMenu?: boolean;\n trackLogoClick?: () => void;\n mainLogoTo?: string;\n testId?: string;\n useMaxWidth?: boolean;\n};\n\n/**\n * @param props\n * @constructor\n * @description This component is a global navigation header bar\n */\nconst GlobalNavigationBar = ({\n name,\n mainNavigationOptions,\n secondaryNavigationOptions,\n secondaryButton,\n actions,\n firstName,\n lastName,\n email,\n organizationName,\n signout,\n isAuthenticated,\n mobileActions,\n notifications,\n switcherAction,\n reverseRightSideOrder = false,\n showBetaTag,\n accountSection,\n organizationSection,\n supportSection,\n accountMenuHeader,\n signOutLabel,\n useUserMenu,\n mainLogoTo,\n trackLogoClick,\n testId,\n useMaxWidth = true,\n}: Props): React.ReactElement<Props> => {\n const [showMenu, setShowMenu] = React.useState(false);\n const [showUserMenu, setShowUserMenu] = React.useState(false);\n const [showMobileUserMenu, setShowMobileUserMenu] = React.useState<boolean>(false);\n const menuRef = React.useRef(null);\n const userMenuRef = React.useRef<HTMLDivElement>(null);\n const rightSideRef = React.useRef(null);\n const [avatarRight, setAvatarRight] = React.useState<number>(0);\n\n const handleClickMenuAction = () => {\n setShowMenu(false);\n };\n\n useClickOutside(userMenuRef, () => (showUserMenu ? setShowUserMenu(false) : null));\n useClickOutside(menuRef, () => {\n if (showMenu) {\n setShowMobileUserMenu(false);\n setShowMenu(false);\n }\n });\n\n React.useEffect(() => {\n const handleResize = () => {\n const right = document?.getElementById('avatarContainer')?.getBoundingClientRect()?.right;\n if (right) {\n setAvatarRight(right);\n }\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [document?.getElementById('avatarContainer')?.getBoundingClientRect()?.right]);\n\n return (\n <>\n <HeaderWrapper data-testid={testId}>\n <PageWidth useMaxWidth={useMaxWidth}>\n <RowLayout>\n <Logo name={name || ''} showBetaTag={showBetaTag} onClick={trackLogoClick} to={mainLogoTo} />\n {isAuthenticated && <MainMenu navigationOptions={mainNavigationOptions || []} rightSideRef={rightSideRef} />}\n <RightSide className=\"GlobalNavigationRightSide\" ref={rightSideRef}>\n {reverseRightSideOrder ? (\n <>\n <Actions\n actions={actions}\n firstName={firstName || ''}\n lastName={lastName || ''}\n hideOnLowWidth={true}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n <RightSideNav navigationOptions={secondaryNavigationOptions} secondaryButton={secondaryButton} />\n </>\n ) : (\n <>\n <RightSideNav navigationOptions={secondaryNavigationOptions} secondaryButton={secondaryButton} />\n <Actions\n actions={actions}\n firstName={firstName || ''}\n lastName={lastName || ''}\n hideOnLowWidth={true}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n </>\n )}\n <HamburgerButton onClick={() => setShowMenu(!showMenu)} hidden={!isAuthenticated}>\n <Menu size=\"24px\" />\n </HamburgerButton>\n </RightSide>\n </RowLayout>\n </PageWidth>\n </HeaderWrapper>\n <MenuWrapper className={showMenu ? 'open' : 'closed'} isVisible={showMenu}>\n <MobileMenuWrapper ref={menuRef} onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <MobileMenu\n name={name || ''}\n clickMenuAction={() => {\n setShowMobileUserMenu(false);\n handleClickMenuAction();\n }}\n navigationOptions={mainNavigationOptions || []}\n secondaryNavigationOptions={secondaryNavigationOptions}\n secondaryButton={secondaryButton}\n firstName={firstName || ''}\n lastName={lastName || ''}\n email={email || ''}\n signout={signout}\n notifications={notifications}\n actions={mobileActions}\n switcherAction={switcherAction}\n isAuthenticated={isAuthenticated}\n accountSection={accountSection || []}\n organizationSection={organizationSection || []}\n supportSection={supportSection || []}\n accountMenuHeader={accountMenuHeader || ''}\n signOutLabel={signOutLabel || ''}\n organizationName={organizationName || ''}\n useUserMenu={useUserMenu}\n showUserMenu={showMobileUserMenu}\n setShowUserMenu={setShowMobileUserMenu}\n />\n </MobileMenuWrapper>\n </MenuWrapper>\n {useUserMenu && (\n <UserMenuWrapper ref={userMenuRef} className={showUserMenu ? 'open' : 'closed'} floatRight={false} offsetRight={avatarRight} data-testid=\"testUserMenuWrapper\">\n <UserMenu\n firstName={firstName || ''}\n lastName={lastName || ''}\n email={email || ''}\n organizationName={organizationName || ''}\n clickMenuAction={() => setShowUserMenu(false)}\n accountSection={accountSection}\n organizationSection={organizationSection}\n supportSection={supportSection}\n signOut={signout}\n signOutLabel={signOutLabel || ''}\n />\n </UserMenuWrapper>\n )}\n </>\n );\n};\n\nexport default GlobalNavigationBar;\n"],"file":"GlobalNavigationBar.cjs"}
1
+ {"version":3,"sources":["../../src/GlobalNavigationBar/GlobalNavigationBar.tsx"],"names":["HeaderWrapper","styled","header","COLORS","neutral_200","Z_INDEXES","sticky_menu","BREAKPOINTS","SMALL","MEDIUM","RowLayout","div","HamburgerButton","RightSide","MobileMenuBackdrop","backdrop","fadeIn","fadeOut","UserMenuWrapper","white","props","offsetRight","window","innerWidth","GlobalNavigationBar","name","isAuthenticated","logo","profile","mobile","desktop","testId","useMaxWidth","React","useState","showMobileMenu","setShowMobileMenu","wasMobileMenuOpen","showUserMenu","setShowUserMenu","mobileMenuRef","useRef","userMenuRef","actionsRef","profileButtonRef","current","buttons","find","a","type","ref","mobileMenuButtonRef","rightSideRef","avatarRight","setAvatarRight","useEffect","handleResize","profileRightOffset","getBoundingClientRect","right","addEventListener","removeEventListener","showBetaTag","onClick","to","items","filter","pinned","reverseRightSideOrder","action","user","some"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Logo from './Logo';\nimport MainMenu from './desktop/MainMenu';\nimport {PageWidth} from '../Layouts';\nimport {COLORS, BREAKPOINTS} from '../styles';\nimport RightSideNav from './desktop/RightSideNav';\nimport MobileMenu from './mobile/MobileMenu';\nimport {Menu} from '../icons/systemicons/SystemIcons';\nimport UserMenu from './desktop/UserMenu';\nimport useClickOutside from '../hooks/useClickOutside';\nimport {fadeIn, fadeOut, Menu as MobileMenuWrapper} from './mobile/CommonStyles';\nimport {Z_INDEXES} from '../styles';\nimport {\n DesktopNavigationMenuProps, MenuProfileButton,\n MobileNavigationMenuProps,\n ProfileMenu\n} from './types';\nimport {IconButton} from '../Button';\nimport DesktopActions, {DesktopActionsRef} from './desktop/DesktopActions';\nimport {usePreviousImmediate} from 'rooks';\n\nconst HeaderWrapper = styled.header`\n background: white;\n border-bottom: 1px solid ${COLORS.neutral_200};\n\n z-index: ${Z_INDEXES.sticky_menu};\n position: relative;\n\n height: 48px;\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n\n @media all and (-ms-high-contrast: none) {\n height: auto;\n }\n\n @media print {\n border-bottom: none;\n }\n`;\n\nconst RowLayout = styled.div`\n display: flex;\n`;\n\n\nconst HamburgerButton = styled.div`\n ${BREAKPOINTS.SMALL} button {\n height: 56px;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n display: none;\n }\n`;\n\nconst RightSide = styled.div`\n display: flex;\n margin: 0 0 0 auto;\n\n &.reverse {\n ${HamburgerButton} {\n order: -1;\n }\n\n flex-direction: row-reverse;\n }\n`;\n\nconst MobileMenuBackdrop = styled.div`\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n position: fixed;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n overflow: hidden;\n z-index: ${Z_INDEXES.backdrop};\n visibility: hidden;\n\n\n &.open {\n visibility: visible;\n animation: ${fadeIn} 0.3s ease-in-out;\n }\n\n &.closed {\n visibility: hidden;\n animation: ${fadeOut} 0.3s ease-in-out;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n visibility: hidden !important;\n }\n`;\n\nconst UserMenuWrapper = styled.div<{ offsetRight?: number }>`\n background-color: ${COLORS.white};\n display: flex;\n position: absolute;\n\n ${BREAKPOINTS.MEDIUM} {\n top: 56px;\n right: ${(props) => (props.offsetRight ? `${window.innerWidth - props.offsetRight + 296}px` : '10%')};\n }\n`;\n\n\ntype GlobalNavigationBarProps = {\n isAuthenticated?: boolean;\n useMaxWidth?: boolean;\n\n name?: string;\n logo?: { onClick?: () => void; to?: string; showBetaTag?: boolean; };\n\n profile?: ProfileMenu;\n\n mobile?: MobileNavigationMenuProps;\n desktop?: DesktopNavigationMenuProps;\n\n testId?: string;\n};\n\n/**\n * @param props\n * @constructor\n * @description This component is a global navigation header bar\n */\nconst GlobalNavigationBar = ({\n name,\n isAuthenticated,\n logo,\n profile,\n mobile,\n desktop,\n testId,\n useMaxWidth = true,\n }: GlobalNavigationBarProps): React.ReactElement<GlobalNavigationBarProps> => {\n const [showMobileMenu, setShowMobileMenu] = React.useState(false);\n const wasMobileMenuOpen = usePreviousImmediate(showMobileMenu);\n\n const [showUserMenu, setShowUserMenu] = React.useState(false);\n const mobileMenuRef = React.useRef(null);\n const userMenuRef = React.useRef<HTMLDivElement>(null);\n\n const actionsRef = React.useRef<DesktopActionsRef>(null);\n const profileButtonRef = React.useRef<HTMLButtonElement | null>() as React.MutableRefObject<HTMLButtonElement | null | undefined>;\n profileButtonRef.current = actionsRef?.current?.buttons?.find(a => a.type === 'profile')?.ref?.current;\n\n const mobileMenuButtonRef = React.useRef<HTMLButtonElement>(null);\n\n const rightSideRef = React.useRef(null);\n const [avatarRight, setAvatarRight] = React.useState<number>(0);\n\n\n useClickOutside(userMenuRef, () => setShowUserMenu(false), [profileButtonRef]);\n useClickOutside(mobileMenuRef, () => setShowMobileMenu(false), [mobileMenuButtonRef]);\n\n React.useEffect(() => {\n if (!profileButtonRef.current) return;\n\n const handleResize = () => {\n const profileRightOffset = profileButtonRef.current?.getBoundingClientRect()?.right;\n setAvatarRight(profileRightOffset || 0);\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [profileButtonRef.current]);\n\n\n return (\n <>\n <HeaderWrapper data-testid={testId}>\n <PageWidth useMaxWidth={useMaxWidth}>\n <RowLayout>\n <Logo name={name || ''} showBetaTag={logo?.showBetaTag} onClick={logo?.onClick} to={logo?.to}/>\n {\n isAuthenticated &&\n <MainMenu items={desktop?.items.filter(a => !a.pinned) || []} rightSideRef={rightSideRef}/>\n }\n <RightSide className={`${desktop?.reverseRightSideOrder ? 'reverse' : ''}`}\n ref={rightSideRef}>\n <RightSideNav items={desktop?.items?.filter(a => a.pinned)} action={desktop?.action}/>\n <DesktopActions ref={actionsRef}\n buttons={desktop?.buttons}\n onShowUserMenu={() => setShowUserMenu(!showUserMenu)}\n user={profile?.user}/>\n <HamburgerButton hidden={!isAuthenticated}>\n <IconButton action={() => setShowMobileMenu(!showMobileMenu)}\n ref={mobileMenuButtonRef}\n shape={'circular'}\n variant={'secondary'}>\n <Menu size=\"24px\"/>\n </IconButton>\n </HamburgerButton>\n </RightSide>\n </RowLayout>\n </PageWidth>\n </HeaderWrapper>\n <MobileMenuBackdrop className={showMobileMenu ? 'open' : !showUserMenu && wasMobileMenuOpen ? 'closed' : ''}>\n <MobileMenuWrapper ref={mobileMenuRef}\n role=\"menu\"\n aria-labelledby=\"UserMenuButton\">\n <MobileMenu {...mobile}\n show={showMobileMenu}\n onClose={() => setShowMobileMenu(false)}\n profile={profile}/>\n </MobileMenuWrapper>\n </MobileMenuBackdrop>\n {\n desktop?.buttons?.some(a => a.type === 'profile') && !!profile &&\n <UserMenuWrapper ref={userMenuRef}\n offsetRight={avatarRight}\n data-testid=\"testUserMenuWrapper\">\n <UserMenu {...profile}\n show={showUserMenu}\n onHideUserMenu={() => setShowUserMenu(false)}/>\n </UserMenuWrapper>\n }\n </>\n );\n};\n\nexport default GlobalNavigationBar;\n"],"file":"GlobalNavigationBar.cjs"}
@@ -1,37 +1,23 @@
1
1
  import * as React from 'react';
2
- import { NavOption, NavButton, ActionOptions, UserMenuItem } from '../types';
3
- declare type Props = {
4
- name?: string;
5
- mainNavigationOptions?: NavOption[];
6
- secondaryNavigationOptions?: NavOption[];
7
- secondaryButton?: NavButton;
8
- actions?: ActionOptions;
9
- firstName?: string;
10
- lastName?: string;
11
- email?: string;
12
- organizationName?: string;
13
- signout?: (e: any) => void;
2
+ import { DesktopNavigationMenuProps, MobileNavigationMenuProps, ProfileMenu } from './types';
3
+ declare type GlobalNavigationBarProps = {
14
4
  isAuthenticated?: boolean;
15
- mobileActions?: ActionOptions;
16
- notifications?: NavOption[];
17
- switcherAction?: () => void;
18
- reverseRightSideOrder?: boolean;
19
- showBetaTag?: boolean;
20
- accountSection?: UserMenuItem[];
21
- organizationSection?: UserMenuItem[];
22
- supportSection?: UserMenuItem[];
23
- accountMenuHeader?: string;
24
- signOutLabel?: string;
25
- useUserMenu?: boolean;
26
- trackLogoClick?: () => void;
27
- mainLogoTo?: string;
28
- testId?: string;
29
5
  useMaxWidth?: boolean;
6
+ name?: string;
7
+ logo?: {
8
+ onClick?: () => void;
9
+ to?: string;
10
+ showBetaTag?: boolean;
11
+ };
12
+ profile?: ProfileMenu;
13
+ mobile?: MobileNavigationMenuProps;
14
+ desktop?: DesktopNavigationMenuProps;
15
+ testId?: string;
30
16
  };
31
17
  /**
32
18
  * @param props
33
19
  * @constructor
34
20
  * @description This component is a global navigation header bar
35
21
  */
36
- declare const GlobalNavigationBar: ({ name, mainNavigationOptions, secondaryNavigationOptions, secondaryButton, actions, firstName, lastName, email, organizationName, signout, isAuthenticated, mobileActions, notifications, switcherAction, reverseRightSideOrder, showBetaTag, accountSection, organizationSection, supportSection, accountMenuHeader, signOutLabel, useUserMenu, mainLogoTo, trackLogoClick, testId, useMaxWidth, }: Props) => React.ReactElement<Props>;
22
+ declare const GlobalNavigationBar: ({ name, isAuthenticated, logo, profile, mobile, desktop, testId, useMaxWidth, }: GlobalNavigationBarProps) => React.ReactElement<GlobalNavigationBarProps>;
37
23
  export default GlobalNavigationBar;