@laerdal/life-react-components 2.3.1-dev.2 → 2.3.1-dev.21

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 (301) hide show
  1. package/dist/Accordion/AccordionItem.cjs +2 -1
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +2 -1
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +8 -4
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +8 -4
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/AuthPage/AuthPage.d.ts +1 -0
  10. package/dist/Breadcrumb/Breadcrumb.cjs +34 -32
  11. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  12. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -0
  13. package/dist/Breadcrumb/Breadcrumb.js +34 -32
  14. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  15. package/dist/Button/Iconbutton.cjs.map +1 -1
  16. package/dist/Button/Iconbutton.d.ts +1 -1
  17. package/dist/Button/Iconbutton.js.map +1 -1
  18. package/dist/Card/HorizontalCard/types.cjs.map +1 -1
  19. package/dist/Card/HorizontalCard/types.d.ts +1 -1
  20. package/dist/Card/HorizontalCard/types.js.map +1 -1
  21. package/dist/Dropdown/BasicDropdown.cjs +17 -5
  22. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  23. package/dist/Dropdown/BasicDropdown.d.ts +1 -0
  24. package/dist/Dropdown/BasicDropdown.js +17 -5
  25. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  26. package/dist/Dropdown/CommonStyling.cjs +6 -3
  27. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  28. package/dist/Dropdown/CommonStyling.d.ts +3 -1
  29. package/dist/Dropdown/CommonStyling.js +6 -3
  30. package/dist/Dropdown/CommonStyling.js.map +1 -1
  31. package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -0
  32. package/dist/Dropdown/DropdownFilter.cjs +11 -1
  33. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  34. package/dist/Dropdown/DropdownFilter.js +11 -1
  35. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  36. package/dist/Footer/Components/FooterBottomLinks.d.ts +1 -0
  37. package/dist/Footer/Components/FooterDropdownLinks.d.ts +1 -0
  38. package/dist/Footer/Components/FooterNavSection.d.ts +1 -0
  39. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +1 -0
  40. package/dist/Footer/Components/FooterTop.d.ts +1 -0
  41. package/dist/Footer/Footer.d.ts +1 -0
  42. package/dist/Footer/SiteFooter.cjs +30 -19
  43. package/dist/Footer/SiteFooter.cjs.map +1 -1
  44. package/dist/Footer/SiteFooter.d.ts +3 -1
  45. package/dist/Footer/SiteFooter.js +31 -19
  46. package/dist/Footer/SiteFooter.js.map +1 -1
  47. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +3 -1
  48. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  49. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +3 -1
  50. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  51. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -0
  52. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  53. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -0
  54. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  55. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +7 -2
  56. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  57. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +5 -0
  58. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +6 -5
  59. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  60. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +207 -56
  61. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  62. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +2 -2
  63. package/dist/GlobalNavigationBar/desktop/MainMenu.js +207 -56
  64. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  65. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +259 -0
  66. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -0
  67. package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +21 -0
  68. package/dist/GlobalNavigationBar/desktop/SubMenu.js +249 -0
  69. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -0
  70. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +1 -0
  71. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -0
  72. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  73. package/dist/GlobalNavigationBar/types.d.ts +12 -2
  74. package/dist/GlobalNavigationBar/types.js.map +1 -1
  75. package/dist/GlobalNavigationBar/utils.cjs +17 -0
  76. package/dist/GlobalNavigationBar/utils.cjs.map +1 -0
  77. package/dist/GlobalNavigationBar/utils.d.ts +2 -0
  78. package/dist/GlobalNavigationBar/utils.js +10 -0
  79. package/dist/GlobalNavigationBar/utils.js.map +1 -0
  80. package/dist/InputFields/DatepickerField.cjs +18 -5
  81. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  82. package/dist/InputFields/DatepickerField.js +18 -5
  83. package/dist/InputFields/DatepickerField.js.map +1 -1
  84. package/dist/InputFields/DatepickerFieldHeader.cjs +2 -4
  85. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  86. package/dist/InputFields/DatepickerFieldHeader.d.ts +1 -0
  87. package/dist/InputFields/DatepickerFieldHeader.js +2 -4
  88. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  89. package/dist/InputFields/NumberField.cjs +14 -4
  90. package/dist/InputFields/NumberField.cjs.map +1 -1
  91. package/dist/InputFields/NumberField.js +14 -4
  92. package/dist/InputFields/NumberField.js.map +1 -1
  93. package/dist/InputFields/TextField.cjs +12 -3
  94. package/dist/InputFields/TextField.cjs.map +1 -1
  95. package/dist/InputFields/TextField.js +12 -3
  96. package/dist/InputFields/TextField.js.map +1 -1
  97. package/dist/InputFields/styling.cjs +7 -3
  98. package/dist/InputFields/styling.cjs.map +1 -1
  99. package/dist/InputFields/styling.d.ts +1 -0
  100. package/dist/InputFields/styling.js +7 -3
  101. package/dist/InputFields/styling.js.map +1 -1
  102. package/dist/Layouts/index.cjs +4 -6
  103. package/dist/Layouts/index.cjs.map +1 -1
  104. package/dist/Layouts/index.d.ts +0 -1
  105. package/dist/Layouts/index.js +3 -4
  106. package/dist/Layouts/index.js.map +1 -1
  107. package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -0
  108. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  109. package/dist/NavItem/NavItem.cjs +2 -1
  110. package/dist/NavItem/NavItem.cjs.map +1 -1
  111. package/dist/NavItem/NavItem.d.ts +1 -0
  112. package/dist/NavItem/NavItem.js +1 -1
  113. package/dist/NavItem/NavItem.js.map +1 -1
  114. package/dist/NavItem/NestedNavItem.cjs +38 -0
  115. package/dist/NavItem/NestedNavItem.cjs.map +1 -0
  116. package/dist/NavItem/NestedNavItem.d.ts +13 -0
  117. package/dist/NavItem/NestedNavItem.js +28 -0
  118. package/dist/NavItem/NestedNavItem.js.map +1 -0
  119. package/dist/Paginator/Paginator.d.ts +1 -0
  120. package/dist/SideMenu/SideMenuBody.d.ts +1 -0
  121. package/dist/SideMenu/SideMenuFooter.d.ts +1 -0
  122. package/dist/SideMenu/SideMenuHeader.d.ts +1 -0
  123. package/dist/SideMenu/types.d.ts +1 -0
  124. package/dist/Switcher/MobileCustomMenuContent.cjs +3 -0
  125. package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -1
  126. package/dist/Switcher/MobileCustomMenuContent.d.ts +1 -0
  127. package/dist/Switcher/MobileCustomMenuContent.js +3 -0
  128. package/dist/Switcher/MobileCustomMenuContent.js.map +1 -1
  129. package/dist/Switcher/SwitcherMenuItem.d.ts +1 -0
  130. package/dist/Table/TableTypes.d.ts +1 -0
  131. package/dist/Tabs/TabLink.cjs +74 -48
  132. package/dist/Tabs/TabLink.cjs.map +1 -1
  133. package/dist/Tabs/TabLink.d.ts +14 -10
  134. package/dist/Tabs/TabLink.js +74 -48
  135. package/dist/Tabs/TabLink.js.map +1 -1
  136. package/dist/Tabs/VerticalTabs.cjs +2 -0
  137. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  138. package/dist/Tabs/VerticalTabs.d.ts +1 -0
  139. package/dist/Tabs/VerticalTabs.js +2 -0
  140. package/dist/Tabs/VerticalTabs.js.map +1 -1
  141. package/dist/Tile/TileCommonItems.d.ts +1 -0
  142. package/dist/Tile/TileHeader.cjs +3 -3
  143. package/dist/Tile/TileHeader.cjs.map +1 -1
  144. package/dist/Tile/TileHeader.js +3 -3
  145. package/dist/Tile/TileHeader.js.map +1 -1
  146. package/dist/Toggles/TogglerTypes.d.ts +1 -0
  147. package/dist/Tooltips/TooltipOverflow.cjs +117 -0
  148. package/dist/Tooltips/TooltipOverflow.cjs.map +1 -0
  149. package/dist/Tooltips/TooltipOverflow.d.ts +10 -0
  150. package/dist/Tooltips/TooltipOverflow.js +107 -0
  151. package/dist/Tooltips/TooltipOverflow.js.map +1 -0
  152. package/dist/Tooltips/TooltipStyles.cjs +5 -2
  153. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  154. package/dist/Tooltips/TooltipStyles.d.ts +1 -0
  155. package/dist/Tooltips/TooltipStyles.js +5 -2
  156. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  157. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  158. package/dist/Tooltips/TooltipWrapper.d.ts +1 -0
  159. package/dist/icons/contenticons/AedNoShockAdvised.cjs +41 -0
  160. package/dist/icons/contenticons/AedNoShockAdvised.cjs.map +1 -0
  161. package/dist/icons/contenticons/AedNoShockAdvised.d.ts +3 -0
  162. package/dist/icons/contenticons/AedNoShockAdvised.js +30 -0
  163. package/dist/icons/contenticons/AedNoShockAdvised.js.map +1 -0
  164. package/dist/icons/contenticons/AedShockAdvised.cjs +41 -0
  165. package/dist/icons/contenticons/AedShockAdvised.cjs.map +1 -0
  166. package/dist/icons/contenticons/AedShockAdvised.d.ts +3 -0
  167. package/dist/icons/contenticons/AedShockAdvised.js +30 -0
  168. package/dist/icons/contenticons/AedShockAdvised.js.map +1 -0
  169. package/dist/icons/contenticons/{NoShockAdvised.cjs → Data.cjs} +5 -5
  170. package/dist/icons/contenticons/Data.cjs.map +1 -0
  171. package/dist/icons/contenticons/Data.d.ts +3 -0
  172. package/dist/icons/contenticons/{NoShockAdvised.js → Data.js} +3 -3
  173. package/dist/icons/contenticons/Data.js.map +1 -0
  174. package/dist/icons/contenticons/DecisionFlow.cjs +41 -0
  175. package/dist/icons/contenticons/DecisionFlow.cjs.map +1 -0
  176. package/dist/icons/contenticons/DecisionFlow.d.ts +3 -0
  177. package/dist/icons/contenticons/DecisionFlow.js +30 -0
  178. package/dist/icons/contenticons/DecisionFlow.js.map +1 -0
  179. package/dist/icons/contenticons/Metronome.cjs +41 -0
  180. package/dist/icons/contenticons/Metronome.cjs.map +1 -0
  181. package/dist/icons/contenticons/Metronome.d.ts +3 -0
  182. package/dist/icons/contenticons/Metronome.js +30 -0
  183. package/dist/icons/contenticons/Metronome.js.map +1 -0
  184. package/dist/icons/contenticons/ShockAutomated.cjs +41 -0
  185. package/dist/icons/contenticons/ShockAutomated.cjs.map +1 -0
  186. package/dist/icons/contenticons/{NoShockAdvised.d.ts → ShockAutomated.d.ts} +1 -1
  187. package/dist/icons/contenticons/ShockAutomated.js +30 -0
  188. package/dist/icons/contenticons/ShockAutomated.js.map +1 -0
  189. package/dist/icons/contenticons/ShockNotAdvised.cjs +41 -0
  190. package/dist/icons/contenticons/ShockNotAdvised.cjs.map +1 -0
  191. package/dist/icons/contenticons/ShockNotAdvised.d.ts +3 -0
  192. package/dist/icons/contenticons/ShockNotAdvised.js +30 -0
  193. package/dist/icons/contenticons/ShockNotAdvised.js.map +1 -0
  194. package/dist/icons/contenticons/Visibility.cjs +41 -0
  195. package/dist/icons/contenticons/Visibility.cjs.map +1 -0
  196. package/dist/icons/contenticons/Visibility.d.ts +3 -0
  197. package/dist/icons/contenticons/Visibility.js +30 -0
  198. package/dist/icons/contenticons/Visibility.js.map +1 -0
  199. package/dist/icons/contenticons/index.cjs +70 -4
  200. package/dist/icons/contenticons/index.cjs.map +1 -1
  201. package/dist/icons/contenticons/index.d.ts +7 -1
  202. package/dist/icons/contenticons/index.js +7 -1
  203. package/dist/icons/contenticons/index.js.map +1 -1
  204. package/dist/icons/systemicons/Adult.cjs +41 -0
  205. package/dist/icons/systemicons/Adult.cjs.map +1 -0
  206. package/dist/icons/systemicons/Adult.d.ts +3 -0
  207. package/dist/icons/systemicons/Adult.js +30 -0
  208. package/dist/icons/systemicons/Adult.js.map +1 -0
  209. package/dist/icons/systemicons/AedPads.cjs +41 -0
  210. package/dist/icons/systemicons/AedPads.cjs.map +1 -0
  211. package/dist/icons/systemicons/AedPads.d.ts +3 -0
  212. package/dist/icons/systemicons/AedPads.js +30 -0
  213. package/dist/icons/systemicons/AedPads.js.map +1 -0
  214. package/dist/icons/systemicons/AedPadsCorrect.cjs +41 -0
  215. package/dist/icons/systemicons/AedPadsCorrect.cjs.map +1 -0
  216. package/dist/icons/systemicons/AedPadsCorrect.d.ts +3 -0
  217. package/dist/icons/systemicons/AedPadsCorrect.js +30 -0
  218. package/dist/icons/systemicons/AedPadsCorrect.js.map +1 -0
  219. package/dist/icons/systemicons/AedPadsError.cjs +41 -0
  220. package/dist/icons/systemicons/AedPadsError.cjs.map +1 -0
  221. package/dist/icons/systemicons/AedPadsError.d.ts +3 -0
  222. package/dist/icons/systemicons/AedPadsError.js +30 -0
  223. package/dist/icons/systemicons/AedPadsError.js.map +1 -0
  224. package/dist/icons/systemicons/Archive.cjs +41 -0
  225. package/dist/icons/systemicons/Archive.cjs.map +1 -0
  226. package/dist/icons/systemicons/Archive.d.ts +3 -0
  227. package/dist/icons/systemicons/Archive.js +30 -0
  228. package/dist/icons/systemicons/Archive.js.map +1 -0
  229. package/dist/icons/systemicons/ArrowCollapse.cjs +41 -0
  230. package/dist/icons/systemicons/ArrowCollapse.cjs.map +1 -0
  231. package/dist/icons/systemicons/ArrowCollapse.d.ts +3 -0
  232. package/dist/icons/systemicons/ArrowCollapse.js +30 -0
  233. package/dist/icons/systemicons/ArrowCollapse.js.map +1 -0
  234. package/dist/icons/systemicons/ArrowExpand.cjs +41 -0
  235. package/dist/icons/systemicons/ArrowExpand.cjs.map +1 -0
  236. package/dist/icons/systemicons/ArrowExpand.d.ts +3 -0
  237. package/dist/icons/systemicons/ArrowExpand.js +30 -0
  238. package/dist/icons/systemicons/ArrowExpand.js.map +1 -0
  239. package/dist/icons/systemicons/Child.cjs +41 -0
  240. package/dist/icons/systemicons/Child.cjs.map +1 -0
  241. package/dist/icons/systemicons/Child.d.ts +3 -0
  242. package/dist/icons/systemicons/Child.js +30 -0
  243. package/dist/icons/systemicons/Child.js.map +1 -0
  244. package/dist/icons/systemicons/Copy.cjs +41 -0
  245. package/dist/icons/systemicons/Copy.cjs.map +1 -0
  246. package/dist/icons/systemicons/Copy.d.ts +3 -0
  247. package/dist/icons/systemicons/Copy.js +30 -0
  248. package/dist/icons/systemicons/Copy.js.map +1 -0
  249. package/dist/icons/systemicons/DecisionFlow.cjs +41 -0
  250. package/dist/icons/systemicons/DecisionFlow.cjs.map +1 -0
  251. package/dist/icons/systemicons/DecisionFlow.d.ts +3 -0
  252. package/dist/icons/systemicons/DecisionFlow.js +30 -0
  253. package/dist/icons/systemicons/DecisionFlow.js.map +1 -0
  254. package/dist/icons/systemicons/HeartShock.cjs +41 -0
  255. package/dist/icons/systemicons/HeartShock.cjs.map +1 -0
  256. package/dist/icons/systemicons/HeartShock.d.ts +3 -0
  257. package/dist/icons/systemicons/HeartShock.js +30 -0
  258. package/dist/icons/systemicons/HeartShock.js.map +1 -0
  259. package/dist/icons/systemicons/Infant.cjs +41 -0
  260. package/dist/icons/systemicons/Infant.cjs.map +1 -0
  261. package/dist/icons/systemicons/Infant.d.ts +3 -0
  262. package/dist/icons/systemicons/Infant.js +30 -0
  263. package/dist/icons/systemicons/Infant.js.map +1 -0
  264. package/dist/icons/systemicons/Metronome.cjs +41 -0
  265. package/dist/icons/systemicons/Metronome.cjs.map +1 -0
  266. package/dist/icons/systemicons/Metronome.d.ts +3 -0
  267. package/dist/icons/systemicons/Metronome.js +30 -0
  268. package/dist/icons/systemicons/Metronome.js.map +1 -0
  269. package/dist/icons/systemicons/Shock.cjs +41 -0
  270. package/dist/icons/systemicons/Shock.cjs.map +1 -0
  271. package/dist/icons/systemicons/Shock.d.ts +3 -0
  272. package/dist/icons/systemicons/Shock.js +30 -0
  273. package/dist/icons/systemicons/Shock.js.map +1 -0
  274. package/dist/icons/systemicons/ShockAdvised.cjs +41 -0
  275. package/dist/icons/systemicons/ShockAdvised.cjs.map +1 -0
  276. package/dist/icons/systemicons/ShockAdvised.d.ts +3 -0
  277. package/dist/icons/systemicons/ShockAdvised.js +30 -0
  278. package/dist/icons/systemicons/ShockAdvised.js.map +1 -0
  279. package/dist/icons/systemicons/ShockAutomated.cjs +41 -0
  280. package/dist/icons/systemicons/ShockAutomated.cjs.map +1 -0
  281. package/dist/icons/systemicons/ShockAutomated.d.ts +3 -0
  282. package/dist/icons/systemicons/ShockAutomated.js +30 -0
  283. package/dist/icons/systemicons/ShockAutomated.js.map +1 -0
  284. package/dist/icons/systemicons/ShockNotAdvised.cjs +41 -0
  285. package/dist/icons/systemicons/ShockNotAdvised.cjs.map +1 -0
  286. package/dist/icons/systemicons/ShockNotAdvised.d.ts +3 -0
  287. package/dist/icons/systemicons/ShockNotAdvised.js +30 -0
  288. package/dist/icons/systemicons/ShockNotAdvised.js.map +1 -0
  289. package/dist/icons/systemicons/Translation.cjs +41 -0
  290. package/dist/icons/systemicons/Translation.cjs.map +1 -0
  291. package/dist/icons/systemicons/Translation.d.ts +3 -0
  292. package/dist/icons/systemicons/Translation.js +30 -0
  293. package/dist/icons/systemicons/Translation.js.map +1 -0
  294. package/dist/icons/systemicons/index.cjs +198 -0
  295. package/dist/icons/systemicons/index.cjs.map +1 -1
  296. package/dist/icons/systemicons/index.d.ts +18 -0
  297. package/dist/icons/systemicons/index.js +18 -0
  298. package/dist/icons/systemicons/index.js.map +1 -1
  299. package/package.json +10 -10
  300. package/dist/icons/contenticons/NoShockAdvised.cjs.map +0 -1
  301. package/dist/icons/contenticons/NoShockAdvised.js.map +0 -1
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
13
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -17,36 +18,63 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
18
  var _NavItem = require("../../NavItem");
18
19
  var _icons = require("../../icons");
19
20
  var _styles = require("../../styles");
20
- var _ExtendedMainMenu = _interopRequireDefault(require("./ExtendedMainMenu"));
21
+ var _ExtendedMainMenu = require("./ExtendedMainMenu");
22
+ var _SubMenu = require("./SubMenu");
21
23
  var _Button = require("../../Button");
22
24
  var _common = require("../../common");
25
+ var _NavItem2 = require("../../NavItem/NavItem");
26
+ var _utils = require("../utils");
23
27
  var _jsxRuntime = require("react/jsx-runtime");
24
28
  var _excluded = ["icon", "to", "exact", "disabled", "external", "action", "label", "note", "pinned"];
25
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
29
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
26
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
31
  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; }
28
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
33
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
- var NavContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n flex-grow: 1;\n justify-content: flex-start;\n align-items: center;\n \n padding: 0 16px;\n\n ", " {\n display: flex;\n }\n \n ", " {\n padding: 0 32px;\n }\n\n a {\n text-decoration: none;\n }\n"])), _styles.BREAKPOINTS.MEDIUM, _styles.BREAKPOINTS.LARGE);
34
+ var NavContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n flex-grow: 1;\n justify-content: flex-start;\n align-items: center;\n \n padding: 0 16px;\n\n ", " {\n display: flex;\n }\n \n ", " {\n cursor: pointer;\n }\n ", " {\n padding: 0 32px;\n }\n\n a {\n text-decoration: none;\n }\n"])), _styles.BREAKPOINTS.MEDIUM, _NavItem2.NavItemDiv, _styles.BREAKPOINTS.LARGE);
31
35
  var NavButton = _styledComponents.default.button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n border: 0;\n"])), _styles.COLORS.white);
32
36
  var ExtendedMenuWrapper = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin-left: ", ";\n\n position: absolute;\n flex-direction: column;\n left: 290px;\n top: 22px;\n\n height: 0;\n width: 0;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ", ";\n }\n"])), function (props) {
33
37
  return props.floatRight ? 'auto' : 'unset';
34
38
  }, _styles.COLORS.white);
35
39
  var ExtendedSection = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
40
+ var SubMenuWrapper = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n ", " {\n top: ", ";\n left: ", ";\n }\n\n button {\n padding-left: 0px;\n }\n"])), _ExtendedMainMenu.Menu, function (props) {
41
+ return props.topLevel ? '100%' : '0px';
42
+ }, function (props) {
43
+ return props.topLevel ? '0px' : 'calc(100% - 12px)';
44
+ });
45
+ var ExtendedMenuOption = 'extendedOption';
36
46
  var MainMenu = function MainMenu(_ref) {
37
47
  var items = _ref.items,
38
48
  rightSideRef = _ref.rightSideRef;
39
- var _React$useState = React.useState(false),
40
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
41
- showExtendedMenu = _React$useState2[0],
42
- setShowExtendedMenu = _React$useState2[1];
43
- var extendedMenuRef = React.useRef(null);
44
49
  var menuButtonRef = React.useRef(null);
50
+ //we have to use refs instead of 'state' here, because when onmouseleave is triggered for multiple nested divs, state update is not being updated in between
51
+ var dropdownMenusOpenedArray = React.useRef([]);
45
52
  var mainMenuRef = React.useRef(null);
46
- var _React$useState3 = React.useState(1),
53
+ var _React$useState = React.useState(1),
54
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
55
+ numberOfItemsAllowed = _React$useState2[0],
56
+ setNumberOfItemsAllowed = _React$useState2[1];
57
+ var _React$useState3 = React.useState([]),
47
58
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
48
- numberOfItemsAllowed = _React$useState4[0],
49
- setNumberOfItemsAllowed = _React$useState4[1];
59
+ subMenuRefs = _React$useState4[0],
60
+ setAllSubMenuRefs = _React$useState4[1];
61
+ var extendedMenuOptionRef = /*#__PURE__*/React.createRef();
62
+ React.useEffect(function () {
63
+ setAllSubMenuRefs(items.map(function (x) {
64
+ return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : undefined;
65
+ }));
66
+ }, [items]);
67
+ var _React$useState5 = React.useState({}),
68
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
69
+ forceUpdate = _React$useState6[1];
70
+ var _React$useState7 = React.useState(''),
71
+ _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
72
+ activeItem = _React$useState8[0],
73
+ setActiveItemId = _React$useState8[1];
74
+ var _React$useState9 = React.useState(''),
75
+ _React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
76
+ focusedItemId = _React$useState10[0],
77
+ setFocusedItemId = _React$useState10[1];
50
78
  var widthOfItem = 120;
51
79
  var recalculateNumberOfItemsAllowed = function recalculateNumberOfItemsAllowed() {
52
80
  if (rightSideRef !== null && rightSideRef !== void 0 && rightSideRef.current && mainMenuRef !== null && mainMenuRef !== void 0 && mainMenuRef.current) {
@@ -57,80 +85,203 @@ var MainMenu = function MainMenu(_ref) {
57
85
  }
58
86
  }
59
87
  };
60
- var handleClickExtendedMenuAction = function handleClickExtendedMenuAction() {
61
- setShowExtendedMenu(false);
88
+ var _onMouseLeave = function onMouseLeave(event, id) {
89
+ dropdownMenusOpenedArray.current = (0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current.filter(function (x) {
90
+ return x != id;
91
+ }));
92
+ //just trigger rerendering
93
+ forceUpdate({});
62
94
  };
63
- var handleClickOutside = function handleClickOutside(e) {
64
- var _extendedMenuRef$curr, _menuButtonRef$curren;
65
- if (!(extendedMenuRef !== null && extendedMenuRef !== void 0 && (_extendedMenuRef$curr = extendedMenuRef.current) !== null && _extendedMenuRef$curr !== void 0 && _extendedMenuRef$curr.contains(e.target)) && !(menuButtonRef !== null && menuButtonRef !== void 0 && (_menuButtonRef$curren = menuButtonRef.current) !== null && _menuButtonRef$curren !== void 0 && _menuButtonRef$curren.contains(e.target))) {
66
- setShowExtendedMenu(false);
95
+ var _onMouseEnter = function onMouseEnter(event, id) {
96
+ var existingRefForId = dropdownMenusOpenedArray.current.find(function (x) {
97
+ return x == id;
98
+ });
99
+ if (existingRefForId == null) {
100
+ dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [id]);
101
+ //just trigger rerendering
102
+ forceUpdate({});
67
103
  }
68
104
  };
69
105
  React.useEffect(function () {
70
106
  recalculateNumberOfItemsAllowed();
71
107
  // Bind the event listener
72
- document.addEventListener('click', handleClickOutside);
73
108
  window.addEventListener('resize', recalculateNumberOfItemsAllowed);
74
109
  return function () {
75
110
  // Unbind the event listener on clean up
76
- document.removeEventListener('click', handleClickOutside);
77
111
  window.removeEventListener('resize', recalculateNumberOfItemsAllowed);
78
112
  };
79
113
  }, []);
80
114
  React.useEffect(function () {
81
115
  recalculateNumberOfItemsAllowed();
82
116
  }, [items.length]);
117
+ var onFocus = function onFocus(event) {
118
+ //no open dropdowns if top level was entered
119
+ dropdownMenusOpenedArray.current = [];
120
+ forceUpdate({});
121
+ };
122
+ var onKeyDownTop = function onKeyDownTop(event) {
123
+ if (event.key === 'Escape' || event.key === 'Esc') {
124
+ dropdownMenusOpenedArray.current = [];
125
+ //just trigger rerendering
126
+ forceUpdate({});
127
+ }
128
+ };
83
129
  var renderItem = function renderItem(item, index) {
84
130
  if (index > numberOfItemsAllowed - 2) return null;
85
- var icon = item.icon,
86
- to = item.to,
87
- exact = item.exact,
88
- disabled = item.disabled,
89
- external = item.external,
90
- action = item.action,
91
- label = item.label,
92
- note = item.note,
93
- pinned = item.pinned,
94
- rest = (0, _objectWithoutProperties2.default)(item, _excluded);
95
- return item !== null && item !== void 0 && item.disabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
96
- as: NavButton,
97
- className: "disabled",
98
- onMouseDown: _common.defaultOnMouseDownHandler,
99
- children: item === null || item === void 0 ? void 0 : item.label
100
- }, item.label) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, _objectSpread(_objectSpread({
101
- as: _reactRouterDom.NavLink,
102
- to: item.to || '',
103
- onMouseDown: _common.defaultOnMouseDownHandler,
104
- onClick: function onClick(e) {
105
- return item.action && item.action(e);
106
- }
107
- }, rest), {}, {
108
- children: item === null || item === void 0 ? void 0 : item.label
109
- }), item.label);
131
+ if (item.type != 'desktopgroup') {
132
+ var _ref2 = item,
133
+ icon = _ref2.icon,
134
+ to = _ref2.to,
135
+ exact = _ref2.exact,
136
+ disabled = _ref2.disabled,
137
+ external = _ref2.external,
138
+ action = _ref2.action,
139
+ label = _ref2.label,
140
+ note = _ref2.note,
141
+ pinned = _ref2.pinned,
142
+ rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
143
+ return item !== null && item !== void 0 && item.disabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
144
+ as: NavButton,
145
+ className: "disabled",
146
+ onMouseDown: _common.defaultOnMouseDownHandler,
147
+ children: item === null || item === void 0 ? void 0 : item.label
148
+ }, item.label) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, _objectSpread(_objectSpread({
149
+ as: _reactRouterDom.NavLink,
150
+ onFocus: onFocus,
151
+ to: to || '',
152
+ onMouseDown: _common.defaultOnMouseDownHandler,
153
+ onClick: function onClick(e) {
154
+ return action && action(e);
155
+ }
156
+ }, rest), {}, {
157
+ children: item === null || item === void 0 ? void 0 : item.label
158
+ }), label);
159
+ } else {
160
+ var existingRef = dropdownMenusOpenedArray.current.find(function (x) {
161
+ return x == item.id;
162
+ });
163
+ var onClick = function onClick() {
164
+ if (existingRef == null) {
165
+ dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [item.id]);
166
+ //just trigger rerendering
167
+ forceUpdate({});
168
+ }
169
+ };
170
+ var onKeyDown = function onKeyDown(event) {
171
+ if (event.key == 'Enter' || event.code == 'Space') {
172
+ dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [item.id]);
173
+ //just trigger rerendering
174
+ forceUpdate({});
175
+ }
176
+ };
177
+ var containsActiveItem = (0, _utils.checkIfContainsItem)(item, activeItem);
178
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
179
+ style: {
180
+ position: 'relative'
181
+ },
182
+ onMouseEnter: function onMouseEnter(event) {
183
+ var _item$id;
184
+ return _onMouseEnter(event, (_item$id = item.id) !== null && _item$id !== void 0 ? _item$id : '');
185
+ },
186
+ onMouseLeave: function onMouseLeave(event) {
187
+ var _item$id2;
188
+ return _onMouseLeave(event, (_item$id2 = item.id) !== null && _item$id2 !== void 0 ? _item$id2 : '');
189
+ },
190
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_NavItem.NavItem, {
191
+ id: item.id + '_parentOption',
192
+ "aria-expanded": Boolean(existingRef),
193
+ "aria-activedescendant": containsActiveItem ? activeItem : '',
194
+ "aria-controls": item.id,
195
+ role: "listbox",
196
+ onFocus: onFocus,
197
+ onKeyDown: onKeyDown,
198
+ tabIndex: 0,
199
+ className: existingRef != null || (0, _utils.checkIfContainsItem)(item, activeItem) ? 'active' : '',
200
+ to: null,
201
+ onClick: onClick,
202
+ children: [item === null || item === void 0 ? void 0 : item.label, " ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropDown, {
203
+ size: "24px"
204
+ })]
205
+ }, item.label), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SubMenu.SubMenu, {
206
+ ariaLabelledBy: item.id + '_parentOption',
207
+ ref: subMenuRefs[index],
208
+ onItemFocused: setFocusedItemId,
209
+ focusedItemId: focusedItemId,
210
+ activeItemId: activeItem,
211
+ nestPath: [item.id],
212
+ onItemStateChanged: function onItemStateChanged(item, state) {
213
+ if (state) {
214
+ setActiveItemId(item);
215
+ } else if (item == activeItem) setActiveItemId('');
216
+ },
217
+ item: item,
218
+ dropdownMenusOpenedArray: dropdownMenusOpenedArray,
219
+ index: index + 1,
220
+ topLevel: true
221
+ })]
222
+ });
223
+ }
224
+ };
225
+ var extended = dropdownMenusOpenedArray.current.find(function (x) {
226
+ return x == ExtendedMenuOption;
227
+ });
228
+ var extendedSectionKeyHandler = function extendedSectionKeyHandler(event) {
229
+ if (event.key == 'Enter' || event.code == 'Space') {
230
+ event.stopPropagation();
231
+ dropdownMenusOpenedArray.current = [ExtendedMenuOption];
232
+ forceUpdate({});
233
+ }
110
234
  };
111
235
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(NavContainer, {
236
+ role: "navigation",
112
237
  className: "GlobalNavigationMainMenu",
113
238
  ref: mainMenuRef,
114
- open: showExtendedMenu,
239
+ onKeyDown: onKeyDownTop,
115
240
  children: [items === null || items === void 0 ? void 0 : items.map(renderItem), items.length + 1 > numberOfItemsAllowed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(ExtendedSection, {
241
+ onKeyDown: function onKeyDown(event) {
242
+ return extendedSectionKeyHandler(event);
243
+ },
244
+ onMouseEnter: function onMouseEnter(event) {
245
+ return _onMouseEnter(event, ExtendedMenuOption);
246
+ },
247
+ onMouseLeave: function onMouseLeave(event) {
248
+ return _onMouseLeave(event, ExtendedMenuOption);
249
+ },
116
250
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
251
+ id: ExtendedMenuOption + '_parentOption',
252
+ "aria-expanded": Boolean(extended),
253
+ "aria-activedescendant": (0, _utils.checkIfContainsItem)({
254
+ items: items.slice(numberOfItemsAllowed - 1),
255
+ id: ExtendedMenuOption
256
+ }, activeItem) ? activeItem : '',
257
+ "aria-controls": ExtendedMenuOption,
258
+ role: "listbox",
117
259
  ref: menuButtonRef,
118
260
  variant: 'secondary',
119
261
  shape: 'circular',
120
- action: function action() {
121
- setShowExtendedMenu(!showExtendedMenu);
122
- },
262
+ action: function action() {},
123
263
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.MoreHorizontal, {
124
264
  size: "24px"
125
265
  })
126
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ExtendedMenuWrapper, {
127
- ref: extendedMenuRef,
128
- className: showExtendedMenu ? 'open' : '',
129
- floatRight: false,
130
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.default, {
131
- clickMenuAction: handleClickExtendedMenuAction,
132
- navigationOptions: items.slice(numberOfItemsAllowed - 1)
133
- })
266
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SubMenu.SubMenu, {
267
+ ariaLabelledBy: ExtendedMenuOption + '_parentOption',
268
+ activeItemId: activeItem,
269
+ onItemFocused: setFocusedItemId,
270
+ focusedItemId: focusedItemId,
271
+ ref: extendedMenuOptionRef,
272
+ onItemStateChanged: function onItemStateChanged(item, state) {
273
+ console.log(item);
274
+ console.log(state);
275
+ if (state) setActiveItemId(item);else if (item == activeItem) setActiveItemId('');
276
+ },
277
+ nestPath: [ExtendedMenuOption],
278
+ item: {
279
+ items: items.slice(numberOfItemsAllowed - 1),
280
+ id: ExtendedMenuOption
281
+ },
282
+ topLevel: true,
283
+ index: 0,
284
+ dropdownMenusOpenedArray: dropdownMenusOpenedArray
134
285
  })]
135
286
  })]
136
287
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MainMenu.cjs","names":["NavContainer","styled","div","BREAKPOINTS","MEDIUM","LARGE","NavButton","button","COLORS","white","ExtendedMenuWrapper","props","floatRight","ExtendedSection","MainMenu","items","rightSideRef","React","useState","showExtendedMenu","setShowExtendedMenu","extendedMenuRef","useRef","menuButtonRef","mainMenuRef","numberOfItemsAllowed","setNumberOfItemsAllowed","widthOfItem","recalculateNumberOfItemsAllowed","current","number","Math","floor","offsetLeft","handleClickExtendedMenuAction","handleClickOutside","e","contains","target","useEffect","document","addEventListener","window","removeEventListener","length","renderItem","item","index","icon","to","exact","disabled","external","action","label","note","pinned","rest","defaultOnMouseDownHandler","NavLink","map","slice"],"sources":["../../../src/GlobalNavigationBar/desktop/MainMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport {NavLink} from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport {NavItem} from '../../NavItem';\nimport {SystemIcons} from '../../icons';\nimport {COLORS, BREAKPOINTS} from '../../styles';\nimport ExtendedMainMenu from './ExtendedMainMenu';\nimport {IconButton} from '../../Button';\nimport {defaultOnMouseDownHandler} from '../../common';\nimport {MenuNavigationItemTypeItem} from '../types';\n\nconst NavContainer = styled.div<{ open: boolean }>`\n display: none;\n flex-grow: 1;\n justify-content: flex-start;\n align-items: center;\n \n padding: 0 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n display: flex;\n }\n \n ${BREAKPOINTS.LARGE} {\n padding: 0 32px;\n }\n\n a {\n text-decoration: none;\n }\n`;\n\nconst NavButton = styled.button`\n background: ${COLORS.white};\n border: 0;\n`;\n\ninterface ExtendedMenuWrapperProps {\n floatRight: boolean;\n}\n\nconst ExtendedMenuWrapper = styled.div<ExtendedMenuWrapperProps>`\n display: flex;\n margin-left: ${props => (props.floatRight ? 'auto' : 'unset')};\n\n position: absolute;\n flex-direction: column;\n left: 290px;\n top: 22px;\n\n height: 0;\n width: 0;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\nconst ExtendedSection = styled.div`\n position: relative;\n`;\n\ntype Props = {\n items: MenuNavigationItemTypeItem[];\n rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;\n};\n\nconst MainMenu = ({items, rightSideRef}: Props): React.ReactElement<Props> => {\n const [showExtendedMenu, setShowExtendedMenu] = React.useState(false);\n const extendedMenuRef = React.useRef<any>(null);\n const menuButtonRef = React.useRef<HTMLButtonElement>(null);\n const mainMenuRef: React.RefObject<HTMLDivElement> | null | undefined = React.useRef(null);\n const [numberOfItemsAllowed, setNumberOfItemsAllowed] = React.useState<number>(1);\n\n const widthOfItem = 120;\n const recalculateNumberOfItemsAllowed = () => {\n if (rightSideRef?.current && mainMenuRef?.current) {\n const number = Math.floor((rightSideRef?.current?.offsetLeft - mainMenuRef?.current?.offsetLeft) / widthOfItem);\n if (number !== numberOfItemsAllowed) {\n setNumberOfItemsAllowed(number);\n }\n }\n };\n\n const handleClickExtendedMenuAction = () => {\n setShowExtendedMenu(false);\n };\n\n const handleClickOutside = (e: any) => {\n if (!extendedMenuRef?.current?.contains(e.target) && !menuButtonRef?.current?.contains(e.target)) {\n setShowExtendedMenu(false);\n }\n };\n\n React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n // Bind the event listener\n document.addEventListener('click', handleClickOutside);\n window.addEventListener('resize', recalculateNumberOfItemsAllowed);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener('click', handleClickOutside);\n window.removeEventListener('resize', recalculateNumberOfItemsAllowed);\n };\n }, []);\n\n React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n }, [items.length])\n\n const renderItem = (item: MenuNavigationItemTypeItem, index: number) => {\n\n if (index > numberOfItemsAllowed - 2) return null\n\n const {icon, to, exact, disabled, external, action, label, note, pinned, ...rest} = item;\n\n return item?.disabled\n ? <NavItem as={NavButton}\n className=\"disabled\"\n key={item.label}\n onMouseDown={defaultOnMouseDownHandler}>\n {item?.label}\n </NavItem>\n : <NavItem as={NavLink}\n to={item.to || ''}\n key={item.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e: React.MouseEvent) => item.action && item.action(e)}\n {...rest}>\n {item?.label}\n </NavItem>\n }\n\n return (\n <NavContainer className=\"GlobalNavigationMainMenu\" ref={mainMenuRef} open={showExtendedMenu}>\n {items?.map(renderItem)}\n {items.length + 1 > numberOfItemsAllowed && (\n <ExtendedSection>\n <IconButton\n ref={menuButtonRef}\n variant={'secondary'}\n shape={'circular'}\n action={() => {\n setShowExtendedMenu(!showExtendedMenu)\n }}>\n <SystemIcons.MoreHorizontal size=\"24px\"/>\n </IconButton>\n <ExtendedMenuWrapper ref={extendedMenuRef} className={showExtendedMenu ? 'open' : ''} floatRight={false}>\n <ExtendedMainMenu clickMenuAction={handleClickExtendedMenuAction}\n navigationOptions={items.slice(numberOfItemsAllowed - 1)}/>\n </ExtendedMenuWrapper>\n </ExtendedSection>\n )}\n </NavContainer>\n );\n};\n\nexport default MainMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MainMenu.cjs","names":["NavContainer","styled","div","BREAKPOINTS","MEDIUM","NavItemDiv","LARGE","NavButton","button","COLORS","white","ExtendedMenuWrapper","props","floatRight","ExtendedSection","SubMenuWrapper","Menu","topLevel","ExtendedMenuOption","MainMenu","items","rightSideRef","menuButtonRef","React","useRef","dropdownMenusOpenedArray","mainMenuRef","useState","numberOfItemsAllowed","setNumberOfItemsAllowed","subMenuRefs","setAllSubMenuRefs","extendedMenuOptionRef","createRef","useEffect","map","x","type","undefined","forceUpdate","activeItem","setActiveItemId","focusedItemId","setFocusedItemId","widthOfItem","recalculateNumberOfItemsAllowed","current","number","Math","floor","offsetLeft","onMouseLeave","event","id","filter","onMouseEnter","existingRefForId","find","window","addEventListener","removeEventListener","length","onFocus","onKeyDownTop","key","renderItem","item","index","icon","to","exact","disabled","external","action","label","note","pinned","rest","defaultOnMouseDownHandler","NavLink","e","existingRef","onClick","onKeyDown","code","containsActiveItem","checkIfContainsItem","position","Boolean","state","extended","extendedSectionKeyHandler","stopPropagation","slice","console","log"],"sources":["../../../src/GlobalNavigationBar/desktop/MainMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { NavItem } from '../../NavItem';\nimport {SystemIcons} from '../../icons';\nimport { COLORS, BREAKPOINTS } from '../../styles';\nimport { Menu } from './ExtendedMainMenu';\nimport { SubMenu } from './SubMenu';\nimport { IconButton } from '../../Button';\nimport { defaultOnMouseDownHandler } from '../../common';\nimport { MenuNavigationItemTypeDesktopGroup, MenuNavigationItemTypeItem } from '../types';\nimport { NavItemDiv } from '../../NavItem/NavItem';\nimport { checkIfContainsItem } from '../utils';\n\nconst NavContainer = styled.div`\n display: none;\n flex-grow: 1;\n justify-content: flex-start;\n align-items: center;\n \n padding: 0 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n display: flex;\n }\n \n ${NavItemDiv} {\n cursor: pointer;\n }\n ${BREAKPOINTS.LARGE} {\n padding: 0 32px;\n }\n\n a {\n text-decoration: none;\n }\n`;\n\nconst NavButton = styled.button`\n background: ${COLORS.white};\n border: 0;\n`;\n\ninterface ExtendedMenuWrapperProps {\n floatRight: boolean;\n}\n\nconst ExtendedMenuWrapper = styled.div<ExtendedMenuWrapperProps>`\n display: flex;\n margin-left: ${(props) => (props.floatRight ? 'auto' : 'unset')};\n\n position: absolute;\n flex-direction: column;\n left: 290px;\n top: 22px;\n\n height: 0;\n width: 0;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\nconst ExtendedSection = styled.div`\n position: relative;\n`;\n\nconst SubMenuWrapper = styled.div<{ topLevel: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n button {\n padding-left: 0px;\n }\n`;\n\nconst ExtendedMenuOption = 'extendedOption';\n\ntype Props = {\n items: (MenuNavigationItemTypeItem | MenuNavigationItemTypeDesktopGroup)[];\n rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;\n};\n\nconst MainMenu = ({ items, rightSideRef }: Props): React.ReactElement<Props> => {\n const menuButtonRef = React.useRef<HTMLButtonElement>(null);\n //we have to use refs instead of 'state' here, because when onmouseleave is triggered for multiple nested divs, state update is not being updated in between\n const dropdownMenusOpenedArray = React.useRef<string[]>([]);\n const mainMenuRef: React.RefObject<HTMLDivElement> | null | undefined = React.useRef(null);\n const [numberOfItemsAllowed, setNumberOfItemsAllowed] = React.useState<number>(1);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n const extendedMenuOptionRef = React.createRef<HTMLUListElement>();\n\n React.useEffect(() => {\n setAllSubMenuRefs(items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [items]);\n\n const [, forceUpdate] = React.useState({});\n const [activeItem, setActiveItemId] = React.useState<string>('');\n const [focusedItemId, setFocusedItemId] = React.useState<string>('');\n\n const widthOfItem = 120;\n const recalculateNumberOfItemsAllowed = () => {\n if (rightSideRef?.current && mainMenuRef?.current) {\n const number = Math.floor((rightSideRef?.current?.offsetLeft - mainMenuRef?.current?.offsetLeft) / widthOfItem);\n if (number !== numberOfItemsAllowed) {\n setNumberOfItemsAllowed(number);\n }\n }\n };\n\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n forceUpdate({});\n };\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n forceUpdate({});\n }\n };\n\n React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n // Bind the event listener\n window.addEventListener('resize', recalculateNumberOfItemsAllowed);\n return () => {\n // Unbind the event listener on clean up\n window.removeEventListener('resize', recalculateNumberOfItemsAllowed);\n };\n }, []);\n\n React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n }, [items.length]);\n\n const onFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n //no open dropdowns if top level was entered\n dropdownMenusOpenedArray.current = [];\n forceUpdate({});\n };\n\n const onKeyDownTop = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape' || event.key === 'Esc') {\n dropdownMenusOpenedArray.current = [];\n //just trigger rerendering\n forceUpdate({});\n }\n };\n\n const renderItem = (item: MenuNavigationItemTypeItem | MenuNavigationItemTypeDesktopGroup, index: number) => {\n if (index > numberOfItemsAllowed - 2) return null;\n if (item.type != 'desktopgroup') {\n const { icon, to, exact, disabled, external, action, label, note, pinned, ...rest } = item as MenuNavigationItemTypeItem;\n return item?.disabled ? (\n <NavItem as={NavButton} className=\"disabled\" key={item.label} onMouseDown={defaultOnMouseDownHandler}>\n {item?.label}\n </NavItem>\n ) : (\n <NavItem as={NavLink} onFocus={onFocus} to={to || ''} key={label} onMouseDown={defaultOnMouseDownHandler} onClick={(e: React.MouseEvent) => action && action(e)} {...rest}>\n {item?.label}\n </NavItem>\n );\n } else {\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onClick = () => {\n if (existingRef == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, item.id];\n //just trigger rerendering\n forceUpdate({});\n }\n };\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key == 'Enter' || event.code == 'Space') {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, item.id];\n //just trigger rerendering\n forceUpdate({});\n } \n };\n\n const containsActiveItem = checkIfContainsItem(item, activeItem);\n return (\n <div\n style={{ position: 'relative' }}\n onMouseEnter={(event) => onMouseEnter(event, item.id ?? '')}\n onMouseLeave={(event) => onMouseLeave(event, item.id ?? '')}>\n <NavItem\n id={item.id + '_parentOption'}\n aria-expanded={Boolean(existingRef)}\n aria-activedescendant={containsActiveItem ? activeItem : ''}\n aria-controls={item.id}\n role=\"listbox\"\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n tabIndex={0}\n className={existingRef != null || checkIfContainsItem(item, activeItem) ? 'active' : ''}\n key={item.label}\n to={null}\n onClick={onClick}>\n {item?.label} <SystemIcons.ArrowDropDown size=\"24px\" />\n </NavItem>\n <SubMenu\n ariaLabelledBy={item.id + '_parentOption'}\n ref={subMenuRefs[index]}\n onItemFocused={setFocusedItemId}\n focusedItemId={focusedItemId}\n activeItemId={activeItem}\n nestPath={[item.id]}\n onItemStateChanged={(item, state) => {\n if (state) {\n setActiveItemId(item);\n } else if (item == activeItem) setActiveItemId('');\n }}\n item={item as MenuNavigationItemTypeDesktopGroup}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n index={index + 1}\n topLevel={true}\n />\n </div>\n );\n }\n };\n\n\n const extended = dropdownMenusOpenedArray.current.find((x) => x == ExtendedMenuOption);\n const extendedSectionKeyHandler = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key == 'Enter' || event.code == 'Space') {\n event.stopPropagation();\n\n dropdownMenusOpenedArray.current = [ExtendedMenuOption];\n forceUpdate({});\n }\n };\n\n return (\n <NavContainer role=\"navigation\" className=\"GlobalNavigationMainMenu\" ref={mainMenuRef} onKeyDown={onKeyDownTop}>\n {items?.map(renderItem)}\n {items.length + 1 > numberOfItemsAllowed && (\n <ExtendedSection\n onKeyDown={(event) => extendedSectionKeyHandler(event)}\n onMouseEnter={(event) => onMouseEnter(event, ExtendedMenuOption)}\n onMouseLeave={(event) => onMouseLeave(event, ExtendedMenuOption)}>\n <IconButton\n id={ExtendedMenuOption + '_parentOption'}\n aria-expanded={Boolean(extended)}\n aria-activedescendant={checkIfContainsItem({ items: items.slice(numberOfItemsAllowed - 1), id: ExtendedMenuOption }, activeItem) ? activeItem : ''}\n aria-controls={ExtendedMenuOption}\n role=\"listbox\"\n \n ref={menuButtonRef} variant={'secondary'} shape={'circular'} action={() => {}}>\n <SystemIcons.MoreHorizontal size=\"24px\"/>\n </IconButton>\n <SubMenu\n ariaLabelledBy={ExtendedMenuOption + '_parentOption'}\n activeItemId={activeItem}\n onItemFocused={setFocusedItemId}\n focusedItemId={focusedItemId}\n ref={extendedMenuOptionRef}\n onItemStateChanged={(item, state) => {\n console.log(item);\n console.log(state);\n if (state) setActiveItemId(item);\n else if (item == activeItem) setActiveItemId('');\n }}\n nestPath={[ExtendedMenuOption]}\n item={{ items: items.slice(numberOfItemsAllowed - 1), id: ExtendedMenuOption }}\n topLevel={true}\n index={0}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n />\n </ExtendedSection>\n )}\n </NavContainer>\n );\n};\n\nexport default MainMenu;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE/C,IAAMA,YAAY,GAAGC,yBAAM,CAACC,GAAG,sWAQ3BC,mBAAW,CAACC,MAAM,EAIlBC,oBAAU,EAGVF,mBAAW,CAACG,KAAK,CAOpB;AAED,IAAMC,SAAS,GAAGN,yBAAM,CAACO,MAAM,2HACfC,cAAM,CAACC,KAAK,CAE3B;AAMD,IAAMC,mBAAmB,GAAGV,yBAAM,CAACC,GAAG,wTAErB,UAACU,KAAK;EAAA,OAAMA,KAAK,CAACC,UAAU,GAAG,MAAM,GAAG,OAAO;AAAA,CAAC,EAa/CJ,cAAM,CAACC,KAAK,CAE7B;AAED,IAAMI,eAAe,GAAGb,yBAAM,CAACC,GAAG,8GAEjC;AAED,IAAMa,cAAc,GAAGd,yBAAM,CAACC,GAAG,mLAC7Bc,sBAAI,EACG,UAACJ,KAAK;EAAA,OAAMA,KAAK,CAACK,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,EAC3C,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACK,QAAQ,GAAG,KAAK,GAAG,mBAAmB;AAAA,CAAC,CAMpE;AAED,IAAMC,kBAAkB,GAAG,gBAAgB;AAO3C,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAAkE;EAAA,IAA5DC,KAAK,QAALA,KAAK;IAAEC,YAAY,QAAZA,YAAY;EACrC,IAAMC,aAAa,GAAGC,KAAK,CAACC,MAAM,CAAoB,IAAI,CAAC;EAC3D;EACA,IAAMC,wBAAwB,GAAGF,KAAK,CAACC,MAAM,CAAW,EAAE,CAAC;EAC3D,IAAME,WAA+D,GAAGH,KAAK,CAACC,MAAM,CAAC,IAAI,CAAC;EAC1F,sBAAwDD,KAAK,CAACI,QAAQ,CAAS,CAAC,CAAC;IAAA;IAA1EC,oBAAoB;IAAEC,uBAAuB;EACpD,uBAAyCN,KAAK,CAACI,QAAQ,CAAoD,EAAE,CAAC;IAAA;IAAvGG,WAAW;IAAEC,iBAAiB;EACrC,IAAMC,qBAAqB,gBAAGT,KAAK,CAACU,SAAS,EAAoB;EAEjEV,KAAK,CAACW,SAAS,CAAC,YAAM;IACpBH,iBAAiB,CAACX,KAAK,CAACe,GAAG,CAAC,UAACC,CAAC;MAAA,OAAMA,CAAC,CAACC,IAAI,IAAI,cAAc,gBAAGd,KAAK,CAACU,SAAS,EAAoB,GAAGK,SAAS;IAAA,CAAC,CAAC,CAAC;EACnH,CAAC,EAAE,CAAClB,KAAK,CAAC,CAAC;EAEX,uBAAwBG,KAAK,CAACI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAA;IAAjCY,WAAW;EACpB,uBAAsChB,KAAK,CAACI,QAAQ,CAAS,EAAE,CAAC;IAAA;IAAzDa,UAAU;IAAEC,eAAe;EAClC,uBAA0ClB,KAAK,CAACI,QAAQ,CAAS,EAAE,CAAC;IAAA;IAA7De,aAAa;IAAEC,gBAAgB;EAEtC,IAAMC,WAAW,GAAG,GAAG;EACvB,IAAMC,+BAA+B,GAAG,SAAlCA,+BAA+B,GAAS;IAC5C,IAAIxB,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEyB,OAAO,IAAIpB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEoB,OAAO,EAAE;MAAA;MACjD,IAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAA5B,YAAY,aAAZA,YAAY,gDAAZA,YAAY,CAAEyB,OAAO,0DAArB,sBAAuBI,UAAU,KAAGxB,WAAW,aAAXA,WAAW,+CAAXA,WAAW,CAAEoB,OAAO,yDAApB,qBAAsBI,UAAU,KAAIN,WAAW,CAAC;MAC/G,IAAIG,MAAM,KAAKnB,oBAAoB,EAAE;QACnCC,uBAAuB,CAACkB,MAAM,CAAC;MACjC;IACF;EACF,CAAC;EAED,IAAMI,aAAY,GAAG,SAAfA,YAAY,CAAIC,KAAU,EAAEC,EAAU,EAAK;IAC/C5B,wBAAwB,CAACqB,OAAO,oCAAOrB,wBAAwB,CAACqB,OAAO,CAACQ,MAAM,CAAC,UAAClB,CAAC;MAAA,OAAKA,CAAC,IAAIiB,EAAE;IAAA,EAAC,CAAC;IAC/F;IACAd,WAAW,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC;EAED,IAAMgB,aAAY,GAAG,SAAfA,YAAY,CAAIH,KAAU,EAAEC,EAAU,EAAK;IAC/C,IAAMG,gBAAgB,GAAG/B,wBAAwB,CAACqB,OAAO,CAACW,IAAI,CAAC,UAACrB,CAAC;MAAA,OAAKA,CAAC,IAAIiB,EAAE;IAAA,EAAC;IAC9E,IAAIG,gBAAgB,IAAI,IAAI,EAAE;MAC5B/B,wBAAwB,CAACqB,OAAO,8CAAOrB,wBAAwB,CAACqB,OAAO,IAAEO,EAAE,EAAC;MAC5E;MACAd,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB;EACF,CAAC;EAEDhB,KAAK,CAACW,SAAS,CAAC,YAAM;IACpBW,+BAA+B,EAAE;IACjC;IACAa,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEd,+BAA+B,CAAC;IAClE,OAAO,YAAM;MACX;MACAa,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEf,+BAA+B,CAAC;IACvE,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENtB,KAAK,CAACW,SAAS,CAAC,YAAM;IACpBW,+BAA+B,EAAE;EACnC,CAAC,EAAE,CAACzB,KAAK,CAACyC,MAAM,CAAC,CAAC;EAElB,IAAMC,OAAO,GAAG,SAAVA,OAAO,CAAIV,KAAuC,EAAK;IAC3D;IACA3B,wBAAwB,CAACqB,OAAO,GAAG,EAAE;IACrCP,WAAW,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC;EAED,IAAMwB,YAAY,GAAG,SAAfA,YAAY,CAAIX,KAA0C,EAAK;IACnE,IAAIA,KAAK,CAACY,GAAG,KAAK,QAAQ,IAAIZ,KAAK,CAACY,GAAG,KAAK,KAAK,EAAE;MACjDvC,wBAAwB,CAACqB,OAAO,GAAG,EAAE;MACrC;MACAP,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB;EACF,CAAC;EAED,IAAM0B,UAAU,GAAG,SAAbA,UAAU,CAAIC,IAAqE,EAAEC,KAAa,EAAK;IAC3G,IAAIA,KAAK,GAAGvC,oBAAoB,GAAG,CAAC,EAAE,OAAO,IAAI;IACjD,IAAIsC,IAAI,CAAC7B,IAAI,IAAI,cAAc,EAAE;MAC/B,YAAsF6B,IAAI;QAAlFE,IAAI,SAAJA,IAAI;QAAEC,EAAE,SAAFA,EAAE;QAAEC,KAAK,SAALA,KAAK;QAAEC,QAAQ,SAARA,QAAQ;QAAEC,QAAQ,SAARA,QAAQ;QAAEC,MAAM,SAANA,MAAM;QAAEC,KAAK,SAALA,KAAK;QAAEC,IAAI,SAAJA,IAAI;QAAEC,MAAM,SAANA,MAAM;QAAKC,IAAI;MACjF,OAAOX,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEK,QAAQ,gBACnB,qBAAC,gBAAO;QAAC,EAAE,EAAEhE,SAAU;QAAC,SAAS,EAAC,UAAU;QAAkB,WAAW,EAAEuE,iCAA0B;QAAA,UAClGZ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ;MAAK,GADoCR,IAAI,CAACQ,KAAK,CAElD,gBAEV,qBAAC,gBAAO;QAAC,EAAE,EAAEK,uBAAQ;QAAC,OAAO,EAAEjB,OAAQ;QAAC,EAAE,EAAEO,EAAE,IAAI,EAAG;QAAa,WAAW,EAAES,iCAA0B;QAAC,OAAO,EAAE,iBAACE,CAAmB;UAAA,OAAKP,MAAM,IAAIA,MAAM,CAACO,CAAC,CAAC;QAAA;MAAC,GAAKH,IAAI;QAAA,UACtKX,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ;MAAK,IAD6CA,KAAK,CAGjE;IACH,CAAC,MAAM;MACL,IAAMO,WAAW,GAAGxD,wBAAwB,CAACqB,OAAO,CAACW,IAAI,CAAC,UAACrB,CAAC;QAAA,OAAKA,CAAC,IAAI8B,IAAI,CAACb,EAAE;MAAA,EAAC;MAC9E,IAAM6B,OAAO,GAAG,SAAVA,OAAO,GAAS;QACpB,IAAID,WAAW,IAAI,IAAI,EAAE;UACvBxD,wBAAwB,CAACqB,OAAO,8CAAOrB,wBAAwB,CAACqB,OAAO,IAAEoB,IAAI,CAACb,EAAE,EAAC;UACjF;UACAd,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB;MACF,CAAC;MACD,IAAM4C,SAAS,GAAG,SAAZA,SAAS,CAAI/B,KAA0C,EAAK;QAChE,IAAIA,KAAK,CAACY,GAAG,IAAI,OAAO,IAAIZ,KAAK,CAACgC,IAAI,IAAI,OAAO,EAAE;UACjD3D,wBAAwB,CAACqB,OAAO,8CAAOrB,wBAAwB,CAACqB,OAAO,IAAEoB,IAAI,CAACb,EAAE,EAAC;UACjF;UACAd,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB;MACF,CAAC;MAED,IAAM8C,kBAAkB,GAAG,IAAAC,0BAAmB,EAACpB,IAAI,EAAE1B,UAAU,CAAC;MAChE,oBACE;QACE,KAAK,EAAE;UAAE+C,QAAQ,EAAE;QAAW,CAAE;QAChC,YAAY,EAAE,sBAACnC,KAAK;UAAA;UAAA,OAAKG,aAAY,CAACH,KAAK,cAAEc,IAAI,CAACb,EAAE,+CAAI,EAAE,CAAC;QAAA,CAAC;QAC5D,YAAY,EAAE,sBAACD,KAAK;UAAA;UAAA,OAAKD,aAAY,CAACC,KAAK,eAAEc,IAAI,CAACb,EAAE,iDAAI,EAAE,CAAC;QAAA,CAAC;QAAA,wBAC5D,sBAAC,gBAAO;UACN,EAAE,EAAEa,IAAI,CAACb,EAAE,GAAG,eAAgB;UAC9B,iBAAemC,OAAO,CAACP,WAAW,CAAE;UACpC,yBAAuBI,kBAAkB,GAAG7C,UAAU,GAAG,EAAG;UAC5D,iBAAe0B,IAAI,CAACb,EAAG;UACvB,IAAI,EAAC,SAAS;UACd,OAAO,EAAES,OAAQ;UACjB,SAAS,EAAEqB,SAAU;UACrB,QAAQ,EAAE,CAAE;UACZ,SAAS,EAAEF,WAAW,IAAI,IAAI,IAAI,IAAAK,0BAAmB,EAACpB,IAAI,EAAE1B,UAAU,CAAC,GAAG,QAAQ,GAAG,EAAG;UAExF,EAAE,EAAE,IAAK;UACT,OAAO,EAAE0C,OAAQ;UAAA,WAChBhB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ,KAAK,EAAC,GAAC,oCAAC,kBAAW,CAAC,aAAa;YAAC,IAAI,EAAC;UAAM,EAAG;QAAA,GAHlDR,IAAI,CAACQ,KAAK,CAIP,eACV,qBAAC,gBAAO;UACN,cAAc,EAAER,IAAI,CAACb,EAAE,GAAG,eAAgB;UAC1C,GAAG,EAAEvB,WAAW,CAACqC,KAAK,CAAE;UACxB,aAAa,EAAExB,gBAAiB;UAChC,aAAa,EAAED,aAAc;UAC7B,YAAY,EAAEF,UAAW;UACzB,QAAQ,EAAE,CAAC0B,IAAI,CAACb,EAAE,CAAE;UACpB,kBAAkB,EAAE,4BAACa,IAAI,EAAEuB,KAAK,EAAK;YACnC,IAAIA,KAAK,EAAE;cACThD,eAAe,CAACyB,IAAI,CAAC;YACvB,CAAC,MAAM,IAAIA,IAAI,IAAI1B,UAAU,EAAEC,eAAe,CAAC,EAAE,CAAC;UACpD,CAAE;UACF,IAAI,EAAEyB,IAA2C;UACjD,wBAAwB,EAAEzC,wBAAyB;UACnD,KAAK,EAAE0C,KAAK,GAAG,CAAE;UACjB,QAAQ,EAAE;QAAK,EACf;MAAA,EACE;IAEV;EACF,CAAC;EAGD,IAAMuB,QAAQ,GAAGjE,wBAAwB,CAACqB,OAAO,CAACW,IAAI,CAAC,UAACrB,CAAC;IAAA,OAAKA,CAAC,IAAIlB,kBAAkB;EAAA,EAAC;EACtF,IAAMyE,yBAAyB,GAAG,SAA5BA,yBAAyB,CAAIvC,KAA0C,EAAK;IAChF,IAAIA,KAAK,CAACY,GAAG,IAAI,OAAO,IAAIZ,KAAK,CAACgC,IAAI,IAAI,OAAO,EAAE;MACjDhC,KAAK,CAACwC,eAAe,EAAE;MAEvBnE,wBAAwB,CAACqB,OAAO,GAAG,CAAC5B,kBAAkB,CAAC;MACvDqB,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB;EACF,CAAC;EAED,oBACE,sBAAC,YAAY;IAAC,IAAI,EAAC,YAAY;IAAC,SAAS,EAAC,0BAA0B;IAAC,GAAG,EAAEb,WAAY;IAAC,SAAS,EAAEqC,YAAa;IAAA,WAC5G3C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEe,GAAG,CAAC8B,UAAU,CAAC,EACtB7C,KAAK,CAACyC,MAAM,GAAG,CAAC,GAAGjC,oBAAoB,iBACtC,sBAAC,eAAe;MACd,SAAS,EAAE,mBAACwB,KAAK;QAAA,OAAKuC,yBAAyB,CAACvC,KAAK,CAAC;MAAA,CAAC;MACvD,YAAY,EAAE,sBAACA,KAAK;QAAA,OAAKG,aAAY,CAACH,KAAK,EAAElC,kBAAkB,CAAC;MAAA,CAAC;MACjE,YAAY,EAAE,sBAACkC,KAAK;QAAA,OAAKD,aAAY,CAACC,KAAK,EAAElC,kBAAkB,CAAC;MAAA,CAAC;MAAA,wBACjE,qBAAC,kBAAU;QACT,EAAE,EAAEA,kBAAkB,GAAG,eAAgB;QACzC,iBAAesE,OAAO,CAACE,QAAQ,CAAE;QACjC,yBAAuB,IAAAJ,0BAAmB,EAAC;UAAElE,KAAK,EAAEA,KAAK,CAACyE,KAAK,CAACjE,oBAAoB,GAAG,CAAC,CAAC;UAAEyB,EAAE,EAAEnC;QAAmB,CAAC,EAAEsB,UAAU,CAAC,GAAGA,UAAU,GAAG,EAAG;QACnJ,iBAAetB,kBAAmB;QAClC,IAAI,EAAC,SAAS;QAEd,GAAG,EAAEI,aAAc;QAAC,OAAO,EAAE,WAAY;QAAC,KAAK,EAAE,UAAW;QAAC,MAAM,EAAE,kBAAM,CAAC,CAAE;QAAA,uBAC9E,qBAAC,kBAAW,CAAC,cAAc;UAAC,IAAI,EAAC;QAAM;MAAE,EAC9B,eACb,qBAAC,gBAAO;QACN,cAAc,EAAEJ,kBAAkB,GAAG,eAAgB;QACrD,YAAY,EAAEsB,UAAW;QACzB,aAAa,EAAEG,gBAAiB;QAChC,aAAa,EAAED,aAAc;QAC7B,GAAG,EAAEV,qBAAsB;QAC3B,kBAAkB,EAAE,4BAACkC,IAAI,EAAEuB,KAAK,EAAK;UACnCK,OAAO,CAACC,GAAG,CAAC7B,IAAI,CAAC;UACjB4B,OAAO,CAACC,GAAG,CAACN,KAAK,CAAC;UAClB,IAAIA,KAAK,EAAEhD,eAAe,CAACyB,IAAI,CAAC,CAAC,KAC5B,IAAIA,IAAI,IAAI1B,UAAU,EAAEC,eAAe,CAAC,EAAE,CAAC;QAClD,CAAE;QACF,QAAQ,EAAE,CAACvB,kBAAkB,CAAE;QAC/B,IAAI,EAAE;UAAEE,KAAK,EAAEA,KAAK,CAACyE,KAAK,CAACjE,oBAAoB,GAAG,CAAC,CAAC;UAAEyB,EAAE,EAAEnC;QAAmB,CAAE;QAC/E,QAAQ,EAAE,IAAK;QACf,KAAK,EAAE,CAAE;QACT,wBAAwB,EAAEO;MAAyB,EACnD;IAAA,EAEL;EAAA,EACY;AAEnB,CAAC;AAAC;EAtMAL,KAAK;AAAA;AAAA,eAwMQD,QAAQ;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { MenuNavigationItemTypeItem } from '../types';
2
+ import { MenuNavigationItemTypeDesktopGroup, MenuNavigationItemTypeItem } from '../types';
3
3
  type Props = {
4
- items: MenuNavigationItemTypeItem[];
4
+ items: (MenuNavigationItemTypeItem | MenuNavigationItemTypeDesktopGroup)[];
5
5
  rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;
6
6
  };
7
7
  declare const MainMenu: ({ items, rightSideRef }: Props) => React.ReactElement<Props>;