@dnanpm/styleguide 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/README.md +86 -86
  2. package/build/cjs/assets/{bundle-8de31ca3.css → bundle-f9dcdcfa.css} +129 -129
  3. package/build/cjs/components/Accordion/Accordion.d.ts +2 -1
  4. package/build/cjs/components/Accordion/Accordion.js +4 -4
  5. package/build/cjs/components/AccordionItem/AccordionItem.d.ts +4 -3
  6. package/build/cjs/components/AccordionItem/AccordionItem.js +2 -2
  7. package/build/cjs/components/Box/Box.d.ts +2 -1
  8. package/build/cjs/components/Box/Box.js +1 -1
  9. package/build/cjs/components/Button/Button.d.ts +4 -3
  10. package/build/cjs/components/Button/ButtonArrow.d.ts +2 -1
  11. package/build/cjs/components/Button/ButtonArrow.js +1 -3
  12. package/build/cjs/components/Checkbox/Checkbox.js +1 -1
  13. package/build/cjs/components/Chip/Chip.d.ts +3 -2
  14. package/build/cjs/components/DateTimePicker/DateTimePicker.d.ts +102 -0
  15. package/build/cjs/components/DateTimePicker/DateTimePicker.js +282 -0
  16. package/build/cjs/components/Divider/Divider.d.ts +2 -1
  17. package/build/cjs/components/DnaLogo/DnaLogo.d.ts +2 -1
  18. package/build/cjs/components/Drawer/Drawer.d.ts +2 -1
  19. package/build/cjs/components/EmptyState/EmptyState.d.ts +2 -1
  20. package/build/cjs/components/Floater/Floater.d.ts +2 -1
  21. package/build/cjs/components/Footer/Components/FooterComponents.d.ts +2 -67
  22. package/build/cjs/components/Footer/Components/FooterComponents.js +17 -67
  23. package/build/cjs/components/Footer/Footer.d.ts +4 -13
  24. package/build/cjs/components/Footer/Footer.js +2 -5
  25. package/build/cjs/components/Footer/context/FooterContext.d.ts +5 -4
  26. package/build/cjs/components/Footer/context/FooterContext.js +1 -5
  27. package/build/cjs/components/Icon/Icon.d.ts +3 -2
  28. package/build/cjs/components/Icons/hlLink.d.ts +4 -0
  29. package/build/cjs/components/Icons/hlLink.js +19 -0
  30. package/build/cjs/components/Icons/index.d.ts +1 -0
  31. package/build/cjs/components/Icons/index.js +2 -0
  32. package/build/cjs/components/Input/Input.d.ts +28 -11
  33. package/build/cjs/components/Input/Input.js +56 -29
  34. package/build/cjs/components/Label/Label.d.ts +2 -1
  35. package/build/cjs/components/LabelText/LabelText.d.ts +2 -1
  36. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.d.ts +6 -0
  37. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +70 -0
  38. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.d.ts +3 -0
  39. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +207 -0
  40. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.d.ts +4 -0
  41. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +40 -0
  42. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.d.ts +10 -0
  43. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +44 -0
  44. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.d.ts +7 -0
  45. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +24 -0
  46. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +193 -0
  47. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +120 -0
  48. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +169 -0
  49. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +68 -0
  50. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +7 -0
  51. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +27 -0
  52. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.d.ts +3 -0
  53. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +196 -0
  54. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.d.ts +6 -0
  55. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +24 -0
  56. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +36 -0
  57. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +322 -0
  58. package/build/cjs/components/MainHeaderNavigation/context/MobileMenuContext.d.ts +6 -0
  59. package/build/cjs/components/MainHeaderNavigation/context/MobileMenuContext.js +11 -0
  60. package/build/cjs/components/MainHeaderNavigation/context/NavContext.d.ts +29 -0
  61. package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +56 -0
  62. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.d.ts +1482 -0
  63. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +189 -0
  64. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +2 -2
  65. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +33 -33
  66. package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +2 -2
  67. package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +1 -1
  68. package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +1 -1
  69. package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.js +11 -14
  70. package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.d.ts +1 -1
  71. package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.js +9 -9
  72. package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.js +3 -5
  73. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -4
  74. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +10 -10
  75. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +4 -2
  76. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +2 -2
  77. package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.js +4 -6
  78. package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.d.ts +1 -1
  79. package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.js +21 -17
  80. package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.js +3 -5
  81. package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.d.ts +2 -2
  82. package/build/cjs/components/MainNavigation/MainNavigation.d.ts +5 -5
  83. package/build/cjs/components/MainNavigation/MainNavigation.js +100 -74
  84. package/build/cjs/components/MainNavigation/context/MobileMenuContext.d.ts +3 -3
  85. package/build/cjs/components/MainNavigation/context/MobileMenuContext.js +1 -5
  86. package/build/cjs/components/MainNavigation/context/NavContext.d.ts +14 -15
  87. package/build/cjs/components/MainNavigation/context/NavContext.js +6 -5
  88. package/build/cjs/components/MainNavigation/globalNavStyles.d.ts +4 -4
  89. package/build/cjs/components/Modal/Modal.d.ts +2 -1
  90. package/build/cjs/components/Notification/Notification.d.ts +3 -2
  91. package/build/cjs/components/NotificationBadge/NotificationBadge.d.ts +2 -1
  92. package/build/cjs/components/Pill/Pill.d.ts +3 -2
  93. package/build/cjs/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  94. package/build/cjs/components/RadioButton/RadioButton.d.ts +2 -1
  95. package/build/cjs/components/ReadMore/ReadMore.d.ts +4 -4
  96. package/build/cjs/components/Search/Search.d.ts +7 -6
  97. package/build/cjs/components/Search/Search.js +1 -1
  98. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -2
  99. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +23 -29
  100. package/build/cjs/components/Selectbox/Selectbox.js +2 -2
  101. package/build/cjs/components/Selectbox/__tests__/Selectbox.spec.d.ts +1 -0
  102. package/build/cjs/components/Tabs/Tab.d.ts +5 -3
  103. package/build/cjs/components/Tabs/Tab.js +1 -1
  104. package/build/cjs/components/Tabs/Tabs.d.ts +18 -19
  105. package/build/cjs/components/Tabs/Tabs.js +3 -3
  106. package/build/cjs/components/Textarea/Textarea.d.ts +6 -5
  107. package/build/cjs/components/Toaster/Toaster.d.ts +3 -2
  108. package/build/cjs/components/Tooltip/Tooltip.d.ts +2 -1
  109. package/build/cjs/components/Tooltip/Tooltip.js +1 -1
  110. package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +2 -2
  111. package/build/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -1
  112. package/build/cjs/components/index.d.ts +3 -1
  113. package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +3 -2
  114. package/build/cjs/hooks/useDebounce.d.ts +2 -0
  115. package/build/cjs/hooks/useDebounce.js +23 -0
  116. package/build/cjs/hooks/useDocHeight.d.ts +2 -1
  117. package/build/cjs/hooks/useDocHeight.js +5 -25
  118. package/build/cjs/hooks/useResizeObserver.d.ts +6 -0
  119. package/build/cjs/hooks/{useElementDimensions.js → useResizeObserver.js} +5 -5
  120. package/build/cjs/hooks/useScrollPosition.d.ts +2 -3
  121. package/build/cjs/hooks/useScrollPosition.js +8 -14
  122. package/build/cjs/index.js +6 -0
  123. package/build/cjs/themes/globalStyles.d.ts +3 -3
  124. package/build/cjs/themes/styled.d.ts +7 -7
  125. package/build/cjs/themes/theme.d.ts +1 -1
  126. package/build/cjs/themes/themeComponents/navigation.d.ts +7 -0
  127. package/build/cjs/themes/themeComponents/navigation.js +13 -1
  128. package/build/cjs/utils/common.d.ts +2 -1
  129. package/build/cjs/utils/common.js +1 -1
  130. package/build/cjs/utils/createStyled.d.ts +163 -2
  131. package/build/cjs/utils/createStyled.js +2 -2
  132. package/build/cjs/utils/styledUtils.d.ts +1 -1
  133. package/build/es/assets/{bundle-8de31ca3.css → bundle-f9dcdcfa.css} +129 -129
  134. package/build/es/components/Accordion/Accordion.d.ts +2 -1
  135. package/build/es/components/Accordion/Accordion.js +5 -5
  136. package/build/es/components/AccordionItem/AccordionItem.d.ts +4 -3
  137. package/build/es/components/AccordionItem/AccordionItem.js +1 -1
  138. package/build/es/components/Box/Box.d.ts +2 -1
  139. package/build/es/components/Box/Box.js +1 -1
  140. package/build/es/components/Button/Button.d.ts +4 -3
  141. package/build/es/components/Button/ButtonArrow.d.ts +2 -1
  142. package/build/es/components/Button/ButtonArrow.js +2 -4
  143. package/build/es/components/Checkbox/Checkbox.js +1 -1
  144. package/build/es/components/Chip/Chip.d.ts +3 -2
  145. package/build/es/components/DateTimePicker/DateTimePicker.d.ts +102 -0
  146. package/build/es/components/DateTimePicker/DateTimePicker.js +272 -0
  147. package/build/es/components/Divider/Divider.d.ts +2 -1
  148. package/build/es/components/DnaLogo/DnaLogo.d.ts +2 -1
  149. package/build/es/components/Drawer/Drawer.d.ts +2 -1
  150. package/build/es/components/EmptyState/EmptyState.d.ts +2 -1
  151. package/build/es/components/Floater/Floater.d.ts +2 -1
  152. package/build/es/components/Footer/Components/FooterComponents.d.ts +2 -67
  153. package/build/es/components/Footer/Components/FooterComponents.js +18 -68
  154. package/build/es/components/Footer/Footer.d.ts +4 -13
  155. package/build/es/components/Footer/Footer.js +3 -6
  156. package/build/es/components/Footer/context/FooterContext.d.ts +5 -4
  157. package/build/es/components/Footer/context/FooterContext.js +2 -2
  158. package/build/es/components/Icon/Icon.d.ts +3 -2
  159. package/build/es/components/Icons/hlLink.d.ts +4 -0
  160. package/build/es/components/Icons/hlLink.js +11 -0
  161. package/build/es/components/Icons/index.d.ts +1 -0
  162. package/build/es/components/Icons/index.js +1 -0
  163. package/build/es/components/Input/Input.d.ts +28 -11
  164. package/build/es/components/Input/Input.js +56 -29
  165. package/build/es/components/Label/Label.d.ts +2 -1
  166. package/build/es/components/LabelText/LabelText.d.ts +2 -1
  167. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.d.ts +6 -0
  168. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +62 -0
  169. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.d.ts +3 -0
  170. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +199 -0
  171. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.d.ts +4 -0
  172. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +32 -0
  173. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.d.ts +10 -0
  174. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +35 -0
  175. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.d.ts +7 -0
  176. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +16 -0
  177. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +193 -0
  178. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +111 -0
  179. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +169 -0
  180. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +63 -0
  181. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +7 -0
  182. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +19 -0
  183. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.d.ts +3 -0
  184. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +188 -0
  185. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.d.ts +6 -0
  186. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -0
  187. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +36 -0
  188. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +314 -0
  189. package/build/es/components/MainHeaderNavigation/context/MobileMenuContext.d.ts +6 -0
  190. package/build/es/components/MainHeaderNavigation/context/MobileMenuContext.js +7 -0
  191. package/build/es/components/MainHeaderNavigation/context/NavContext.d.ts +29 -0
  192. package/build/es/components/MainHeaderNavigation/context/NavContext.js +52 -0
  193. package/build/es/components/MainHeaderNavigation/globalNavStyles.d.ts +1482 -0
  194. package/build/es/components/MainHeaderNavigation/globalNavStyles.js +177 -0
  195. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +2 -2
  196. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.js +33 -33
  197. package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +2 -2
  198. package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +1 -1
  199. package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +1 -1
  200. package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.js +12 -15
  201. package/build/es/components/MainNavigation/ChildComponents/LinkModifier.d.ts +1 -1
  202. package/build/es/components/MainNavigation/ChildComponents/LinkModifier.js +9 -9
  203. package/build/es/components/MainNavigation/ChildComponents/LoginTooltip.js +4 -6
  204. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -4
  205. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +11 -11
  206. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +4 -2
  207. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +2 -3
  208. package/build/es/components/MainNavigation/ChildComponents/MinicartTooltip.js +5 -7
  209. package/build/es/components/MainNavigation/ChildComponents/MobileMenu.d.ts +1 -1
  210. package/build/es/components/MainNavigation/ChildComponents/MobileMenu.js +22 -18
  211. package/build/es/components/MainNavigation/ChildComponents/PageSearch.js +4 -6
  212. package/build/es/components/MainNavigation/ChildComponents/Ribbon.d.ts +2 -2
  213. package/build/es/components/MainNavigation/MainNavigation.d.ts +5 -5
  214. package/build/es/components/MainNavigation/MainNavigation.js +101 -75
  215. package/build/es/components/MainNavigation/context/MobileMenuContext.d.ts +3 -3
  216. package/build/es/components/MainNavigation/context/MobileMenuContext.js +2 -2
  217. package/build/es/components/MainNavigation/context/NavContext.d.ts +14 -15
  218. package/build/es/components/MainNavigation/context/NavContext.js +7 -2
  219. package/build/es/components/MainNavigation/globalNavStyles.d.ts +4 -4
  220. package/build/es/components/Modal/Modal.d.ts +2 -1
  221. package/build/es/components/Notification/Notification.d.ts +3 -2
  222. package/build/es/components/NotificationBadge/NotificationBadge.d.ts +2 -1
  223. package/build/es/components/Pill/Pill.d.ts +3 -2
  224. package/build/es/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  225. package/build/es/components/RadioButton/RadioButton.d.ts +2 -1
  226. package/build/es/components/ReadMore/ReadMore.d.ts +4 -4
  227. package/build/es/components/Search/Search.d.ts +7 -6
  228. package/build/es/components/Search/Search.js +2 -2
  229. package/build/es/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -2
  230. package/build/es/components/SecondaryNavigation/SecondaryNavigation.js +23 -29
  231. package/build/es/components/Selectbox/Selectbox.js +2 -2
  232. package/build/es/components/Selectbox/__tests__/Selectbox.spec.d.ts +1 -0
  233. package/build/es/components/Tabs/Tab.d.ts +5 -3
  234. package/build/es/components/Tabs/Tab.js +2 -2
  235. package/build/es/components/Tabs/Tabs.d.ts +18 -19
  236. package/build/es/components/Tabs/Tabs.js +4 -4
  237. package/build/es/components/Textarea/Textarea.d.ts +6 -5
  238. package/build/es/components/Toaster/Toaster.d.ts +3 -2
  239. package/build/es/components/Tooltip/Tooltip.d.ts +2 -1
  240. package/build/es/components/Tooltip/Tooltip.js +1 -1
  241. package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +2 -2
  242. package/build/es/components/TooltipMenu/TooltipMenu.d.ts +2 -1
  243. package/build/es/components/index.d.ts +3 -1
  244. package/build/es/hooks/useCloseOutsideOrElementClicked.js +3 -2
  245. package/build/es/hooks/useDebounce.d.ts +2 -0
  246. package/build/es/hooks/useDebounce.js +19 -0
  247. package/build/es/hooks/useDocHeight.d.ts +2 -1
  248. package/build/es/hooks/useDocHeight.js +6 -6
  249. package/build/es/hooks/useResizeObserver.d.ts +6 -0
  250. package/build/es/hooks/{useElementDimensions.js → useResizeObserver.js} +5 -5
  251. package/build/es/hooks/useScrollPosition.d.ts +2 -3
  252. package/build/es/hooks/useScrollPosition.js +9 -11
  253. package/build/es/index.js +3 -0
  254. package/build/es/themes/globalStyles.d.ts +3 -3
  255. package/build/es/themes/styled.d.ts +7 -7
  256. package/build/es/themes/theme.d.ts +1 -1
  257. package/build/es/themes/themeComponents/navigation.d.ts +7 -0
  258. package/build/es/themes/themeComponents/navigation.js +9 -2
  259. package/build/es/utils/common.d.ts +2 -1
  260. package/build/es/utils/common.js +1 -1
  261. package/build/es/utils/createStyled.d.ts +163 -2
  262. package/build/es/utils/createStyled.js +2 -2
  263. package/build/es/utils/styledUtils.d.ts +1 -1
  264. package/package.json +22 -11
  265. package/build/cjs/hooks/modifyBodyClass.d.ts +0 -1
  266. package/build/cjs/hooks/modifyBodyClass.js +0 -20
  267. package/build/cjs/hooks/useDebounceFunc.d.ts +0 -1
  268. package/build/cjs/hooks/useDebounceFunc.js +0 -39
  269. package/build/cjs/hooks/useElementDimensions.d.ts +0 -5
  270. package/build/es/hooks/modifyBodyClass.d.ts +0 -1
  271. package/build/es/hooks/modifyBodyClass.js +0 -16
  272. package/build/es/hooks/useDebounceFunc.d.ts +0 -1
  273. package/build/es/hooks/useDebounceFunc.js +0 -15
  274. package/build/es/hooks/useElementDimensions.d.ts +0 -5
@@ -22,7 +22,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
22
22
 
23
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
24
 
25
- // @ts-nocheck
26
25
  const MobileMenuWrapper = styled["default"].div `
27
26
  width: ${100 * navigation.menuLevelsAmount}%;
28
27
  `;
@@ -101,7 +100,7 @@ const MobileMenu = styled["default"].div `
101
100
  }
102
101
  `;
103
102
  const MenuItemBackLink = ({ currentLevel }) => {
104
- const { handleNavMenuClick, lang: language, menuLevel: { scrollPosition }, level1Items, level2Items, getBackLink, } = React.useContext(NavContext["default"]);
103
+ const { handleNavMenuClick, lang, menuLevel: { scrollPosition }, level1Items, level2Items, getBackLink, } = React.useContext(NavContext["default"]);
105
104
  const levels = {
106
105
  level1Items,
107
106
  level2Items,
@@ -115,19 +114,21 @@ const MenuItemBackLink = ({ currentLevel }) => {
115
114
  const tabNavigationDisabled = scrollPosition !== currentLevel - 1;
116
115
  const backLink = getBackLink(menuElements, currentLevel - 1);
117
116
  return (React__default["default"].createElement(globalNavStyles.MenuItem, { key: `back-${backLink.id}`, "data-testid": `mobile-nav-menu-backlink-level-${currentLevel}` },
118
- React__default["default"].createElement(MenuLinkBackLink, { role: "menu-item", as: "button", onClick: mobileMenuBackClick, tabIndex: tabNavigationDisabled ? -1 : undefined },
117
+ React__default["default"].createElement(MenuLinkBackLink, { role: "menuitem", as: "button", onClick: mobileMenuBackClick, tabIndex: tabNavigationDisabled ? -1 : undefined },
119
118
  React__default["default"].createElement(Icon["default"], { icon: hlChevronLeft["default"], size: "1rem" }),
120
- backLink.titles[language])));
119
+ backLink.titles[lang])));
121
120
  };
122
121
  const CreateSubMenuItem = ({ menuItem, currentLevel, itemIndex }) => {
123
- const { handleNavMenuClick, menuLevel: { scrollPosition }, lang: language, currentUrl, } = React.useContext(NavContext["default"]);
122
+ var _a;
123
+ const { handleNavMenuClick, menuLevel: { scrollPosition }, lang, currentUrl, } = React.useContext(NavContext["default"]);
124
124
  const { mobileMenuRef } = React.useContext(MobileMenuContext["default"]);
125
- const hasChildren = menuItem.pages && menuItem.pages.length;
125
+ const hasChildren = (_a = menuItem === null || menuItem === void 0 ? void 0 : menuItem.pages) === null || _a === void 0 ? void 0 : _a.length;
126
126
  const indexLevel = currentLevel - 1;
127
127
  const tabNavigationDisabled = () => scrollPosition !== indexLevel;
128
- const menuUrl = menuItem.urls[language] || '';
128
+ const menuUrl = menuItem.urls[lang] || '';
129
129
  const mobileMenuClick = (element) => (e) => {
130
- if (typeof mobileMenuRef.current.scroll === 'function') {
130
+ var _a;
131
+ if (typeof ((_a = mobileMenuRef === null || mobileMenuRef === void 0 ? void 0 : mobileMenuRef.current) === null || _a === void 0 ? void 0 : _a.scroll) === 'function') {
131
132
  mobileMenuRef.current.scroll({
132
133
  top: 0,
133
134
  left: 0,
@@ -140,7 +141,7 @@ const CreateSubMenuItem = ({ menuItem, currentLevel, itemIndex }) => {
140
141
  if (hasChildren && currentLevel < 3) {
141
142
  return (React__default["default"].createElement(globalNavStyles.MenuItem, { key: menuItem.id, "aria-haspopup": "true", "data-testid": `mobile-menu-level-${currentLevel}-link-${itemIndex + 1}`, isActive: LinkModifier.isSelected(currentUrl, menuUrl) },
142
143
  React__default["default"].createElement(globalNavStyles.MenuLink, { as: "button", onClick: mobileMenuClick(menuItem), role: "menuitem", tabIndex: tabNavigationDisabled() ? -1 : undefined },
143
- menuItem.titles[language],
144
+ menuItem.titles[lang],
144
145
  React__default["default"].createElement(Icon["default"], { icon: hlChevronRight["default"], size: "1rem" }))));
145
146
  }
146
147
  return (React__default["default"].createElement(globalNavStyles.MenuItem, { key: menuItem.id, role: "menuitem", "data-testid": `mobile-menu-level-${currentLevel}-link-${itemIndex + 1}`, isActive: LinkModifier.isSelected(currentUrl, menuUrl, true) },
@@ -156,9 +157,9 @@ const SubMenuMobile = ({ currentLevel, menuItem }) => {
156
157
  navElements.map((subMenuItem, index) => (React__default["default"].createElement(CreateSubMenuItem, { menuItem: subMenuItem, currentLevel: currentLevel, key: subMenuItem.id, itemIndex: index })))));
157
158
  };
158
159
  const NavigationMenuMobile = () => {
159
- const { items: data, menuLevel, level1Items, level2Items } = React.useContext(NavContext["default"]);
160
- const { mainNavigation } = data;
161
- if (!mainNavigation.pages.length) {
160
+ const { items, menuLevel, level1Items, level2Items } = React.useContext(NavContext["default"]);
161
+ const { mainNavigation } = items;
162
+ if (!(mainNavigation === null || mainNavigation === void 0 ? void 0 : mainNavigation.pages.length)) {
162
163
  return null;
163
164
  }
164
165
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -173,19 +174,22 @@ const NavigationMenuMobile = () => {
173
174
  };
174
175
  const RenderMobileMenu = () => {
175
176
  const { menuLevel, isMobileMenuOpen } = React.useContext(NavContext["default"]);
176
- const mobileMenuRef = React__default["default"].useRef(null);
177
+ const mobileMenuRef = React.useRef(null);
177
178
  const slidingMenuAnimation = reactSpring.useSpring({
178
179
  transform: `translateX(${(menuLevel.scrollPosition / navigation.menuLevelsAmount) * -100}%)`,
179
180
  });
180
- const mobileMenuContext = {
181
+ const mobileMenuContext = React.useMemo(() => ({
181
182
  mobileMenuRef,
182
- };
183
- return (React__default["default"].createElement(React__default["default"].Fragment, null, isMobileMenuOpen && (React__default["default"].createElement(MobileMenuContainer, { ref: mobileMenuRef },
183
+ }), [mobileMenuRef]);
184
+ if (!isMobileMenuOpen) {
185
+ return null;
186
+ }
187
+ return (React__default["default"].createElement(MobileMenuContainer, { ref: mobileMenuRef },
184
188
  React__default["default"].createElement(MobileMenuContext["default"].Provider, { value: mobileMenuContext },
185
189
  React__default["default"].createElement(MobileMenu, null,
186
190
  React__default["default"].createElement(MobileMenuWrapper, null,
187
191
  React__default["default"].createElement(reactSpring.animated.div, { style: slidingMenuAnimation },
188
- React__default["default"].createElement(NavigationMenuMobile, null)))))))));
192
+ React__default["default"].createElement(NavigationMenuMobile, null)))))));
189
193
  };
190
194
 
191
195
  exports["default"] = RenderMobileMenu;
@@ -8,7 +8,6 @@ require('tslib');
8
8
  var hlMagnifyingGlass = require('../../Icons/hlMagnifyingGlass.js');
9
9
  var NavContext = require('../context/NavContext.js');
10
10
  var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
11
- var MainNavTooltipMenuExportedStyles = require('./MainNavTooltipMenuExportedStyles.js');
12
11
 
13
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
13
 
@@ -16,11 +15,10 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
15
 
17
16
  const PageSearch = ({ searchLabel }) => {
18
17
  const globalStateString = 'search';
19
- const { navZIndex, searchComponent: SearchComponent, collapseSize, tooltipItems, } = React__default["default"].useContext(NavContext["default"]);
18
+ const { navZIndex, searchComponent: SearchComponent } = React.useContext(NavContext["default"]);
20
19
  return (React__default["default"].createElement(MainNavTooltipMenu["default"], { zIndex: navZIndex + 1, tooltipRight: "0", contentComponent: SearchComponent, contentWidth: "100%", globalStateString: globalStateString, fullWidthDesktop: true, closeWhenTagClicked: ['a'] },
21
- React__default["default"].createElement(MainNavTooltipMenuExportedStyles.TooltipWrapper, { collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateString] },
22
- React__default["default"].createElement(Icon["default"], { icon: hlMagnifyingGlass["default"], size: "2rem" }),
23
- React__default["default"].createElement("span", null, searchLabel))));
20
+ React__default["default"].createElement(Icon["default"], { icon: hlMagnifyingGlass["default"], size: "2rem" }),
21
+ React__default["default"].createElement("span", null, searchLabel)));
24
22
  };
25
23
 
26
24
  exports["default"] = PageSearch;
@@ -5,9 +5,9 @@ export interface RibbonDataProps {
5
5
  ribbonIcon: string;
6
6
  ribbonTexts: LangProps;
7
7
  }
8
- interface Ribbon {
8
+ interface Props {
9
9
  ribbonData: RibbonDataProps[];
10
10
  lang?: string;
11
11
  }
12
- declare const Ribbon: ({ ribbonData, lang }: Ribbon) => React.JSX.Element;
12
+ declare const Ribbon: ({ ribbonData, lang }: Props) => React.JSX.Element;
13
13
  export default Ribbon;
@@ -1,29 +1,29 @@
1
+ import type { ReactNode } from 'react';
1
2
  import React from 'react';
2
3
  import type { RibbonDataProps } from './ChildComponents/Ribbon';
3
4
  import type { GlobalNavItems } from './types/globalNavProps';
4
5
  export interface MainNavigationProps {
5
6
  /** Allows to pass a custom className */
6
7
  className?: string;
7
- children?: React.ReactNode;
8
8
  items?: GlobalNavItems;
9
9
  language?: string;
10
10
  zIndex?: number;
11
11
  search?: boolean;
12
12
  searchText?: string;
13
- searchComponent?: React.ReactNode | boolean;
13
+ searchComponent?: ReactNode | boolean;
14
14
  minicart?: boolean;
15
15
  minicartText?: string;
16
16
  minicartAmount?: number;
17
- minicartComponent?: React.ReactNode | boolean;
17
+ minicartComponent?: ReactNode | boolean;
18
18
  showMinicart?: boolean;
19
19
  showLoginTooltip?: boolean;
20
20
  login?: boolean;
21
21
  loginText?: string;
22
- loginComponent?: React.ReactNode | boolean;
22
+ loginComponent?: ReactNode | boolean;
23
23
  isLoggedIn?: boolean;
24
24
  collapseSize?: number;
25
25
  languageSelector?: boolean;
26
- nextJSLinkComponent: React.ReactNode | boolean;
26
+ nextJSLinkComponent: ReactNode | boolean;
27
27
  ribbon?: boolean;
28
28
  ribbonData?: RibbonDataProps[];
29
29
  currentUrl?: string;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var ramda = require('ramda');
6
6
  var React = require('react');
7
- var modifyBodyClass = require('../../hooks/modifyBodyClass.js');
8
7
  var useScrollPosition = require('../../hooks/useScrollPosition.js');
9
8
  var useWindowSize = require('../../hooks/useWindowSize.js');
10
9
  var styled = require('../../themes/styled.js');
@@ -28,7 +27,7 @@ const GlobalStyle = styled.createGlobalStyle `
28
27
  `;
29
28
  // detect common touch screen devices
30
29
  const isIosDevice = () => {
31
- const validate = new RegExp(/iPad|iPhone|iPod|iPad Simulator|iPhone Simulator/i);
30
+ const validate = /iPad|iPhone|iPod|iPad Simulator|iPhone Simulator/i;
32
31
  if (typeof navigator !== 'undefined' && typeof window !== 'undefined') {
33
32
  return (validate.test(navigator.userAgent) &&
34
33
  !window.MSStream);
@@ -51,7 +50,7 @@ const fadeIn = styled.keyframes `
51
50
  }
52
51
  `;
53
52
  const preventBodyScroll = () => {
54
- const scrollY = window.scrollY;
53
+ const { scrollY } = window;
55
54
  document.body.style.position = 'fixed';
56
55
  document.body.style.top = `-${scrollY}px`;
57
56
  };
@@ -62,7 +61,7 @@ const resumeBodyScroll = () => {
62
61
  // if the call to close overlay is done multiple times, scroll only the first time
63
62
  if (scrollY) {
64
63
  setTimeout(() => {
65
- window.scrollTo(0, parseInt(scrollY, undefined) * -1);
64
+ window.scrollTo(0, parseInt(scrollY, 10) * -1);
66
65
  });
67
66
  }
68
67
  };
@@ -120,7 +119,6 @@ const initiateScrollToHeader = (componentRef) => {
120
119
  };
121
120
  /** @visibleName Main Navigation */
122
121
  const MainNavigation = ({ items = {}, language = 'fi', zIndex = 1030, languageSelector = false, search = true, searchText = 'Haku', searchComponent = false, minicart = true, minicartText = 'Ostoskori', minicartComponent = false, minicartAmount = 0, showMinicart = false, showLoginTooltip = false, login = true, loginText = 'Kirjaudu', loginComponent, isLoggedIn = false, collapseSize = 767, nextJSLinkComponent = false, ribbon = true, ribbonData, className, currentUrl = '', notificationText = '', }) => {
123
- var _a, _b;
124
122
  const { isMobile } = useWindowSize["default"](collapseSize);
125
123
  const props = {
126
124
  items,
@@ -147,14 +145,14 @@ const MainNavigation = ({ items = {}, language = 'fi', zIndex = 1030, languageSe
147
145
  };
148
146
  const navigationEl = React.useRef(null);
149
147
  const key = ramda.prop('id');
150
- const level1 = (_b = (_a = items.mainNavigation) === null || _a === void 0 ? void 0 : _a.pages) !== null && _b !== void 0 ? _b : [];
151
148
  // Index & memoize menu levels
149
+ const level1 = React.useMemo(() => { var _a, _b; return (_b = (_a = items.mainNavigation) === null || _a === void 0 ? void 0 : _a.pages) !== null && _b !== void 0 ? _b : []; }, [items.mainNavigation]);
152
150
  const level1Items = React.useMemo(() => ramda.indexBy(key, level1), [level1, key]);
153
151
  const level2 = React.useMemo(() => level1.map(item => ramda.indexBy(key, item.pages)), [level1, key]);
154
152
  const level2Items = Object.assign({}, ...level2);
155
153
  // All states to for handling menus
156
154
  const [isMobileMenuOpen, setIsMobileMenuOpen] = React.useState(false);
157
- const [menuLevel, setMenuLevel] = React__default["default"].useState({
155
+ const [menuLevel, setMenuLevel] = React.useState({
158
156
  level1: null,
159
157
  animate1: true,
160
158
  level2: null,
@@ -165,26 +163,11 @@ const MainNavigation = ({ items = {}, language = 'fi', zIndex = 1030, languageSe
165
163
  hideOnScroll: false,
166
164
  });
167
165
  const [lang] = React.useState(language);
168
- const handleNavMenuClick = (newValue, updatedLevel) => {
169
- let clickedItself = false;
170
- switch (updatedLevel) {
171
- case 'level1':
172
- clickedItself = newValue === menuLevel.level1;
173
- setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level1: !clickedItself ? newValue : null, animate1: !clickedItself, level2: null, animate2: true }));
174
- break;
175
- case 'level2':
176
- clickedItself = newValue === menuLevel.level2;
177
- setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level2: newValue !== menuLevel.level2 ? newValue : null, animate1: false, animate2: !clickedItself }));
178
- break;
179
- case 'level1Mobile':
180
- setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level1Mobile: newValue || menuLevel.level1Mobile, scrollPosition: newValue ? 1 : 0 }));
181
- break;
182
- case 'level2Mobile':
183
- setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level2Mobile: newValue || menuLevel.level2Mobile, scrollPosition: newValue ? 2 : 1 }));
184
- break;
185
- }
166
+ // As scroll position cannot be always retained, close mobile menu when orientation changes
167
+ const initRotation = () => {
168
+ setIsMobileMenuOpen(false);
186
169
  };
187
- React__default["default"].useEffect(() => {
170
+ React.useEffect(() => {
188
171
  if (iosDevice && isMobileMenuOpen) {
189
172
  window.addEventListener('orientationchange', initRotation, false);
190
173
  preventBodyScroll();
@@ -198,83 +181,126 @@ const MainNavigation = ({ items = {}, language = 'fi', zIndex = 1030, languageSe
198
181
  resumeBodyScroll();
199
182
  };
200
183
  }, [isMobileMenuOpen]);
201
- // As scroll position cannot be always retained, close mobile menu when orientation changes
202
- const initRotation = () => {
203
- setIsMobileMenuOpen(false);
204
- };
205
- const handleToggleClick = () => {
206
- resetMenuEvents();
207
- initiateScrollToHeader(navigationEl);
208
- setIsMobileMenuOpen(!isMobileMenuOpen);
209
- };
210
- const initialTooltipItems = {
184
+ const [tooltipItems, setTooltipItems] = React.useState(React.useMemo(() => ({
211
185
  minicart: false,
212
186
  login: false,
213
187
  search: false,
214
- };
215
- const [tooltipItems, setTooltipItems] = React.useState(initialTooltipItems);
188
+ }), []));
216
189
  const tooltipMenuActive = tooltipItems.minicart || tooltipItems.login || tooltipItems.search;
217
190
  const freezeOverflow = isMobileMenuOpen || (tooltipMenuActive && isMobile);
218
191
  const isPageOverlay = tooltipMenuActive || menuLevel.level1 || menuLevel.level2;
219
- modifyBodyClass["default"](freezeOverflow ? 'overflow-hidden' : 'overflow-shown');
220
- const resetMenuEvents = () => {
221
- setMenuLevel({
222
- level2: null,
223
- animate2: true,
224
- level1: null,
225
- animate1: true,
226
- level1Mobile: null,
227
- level2Mobile: null,
228
- scrollPosition: 0,
229
- hideOnScroll: false,
230
- });
231
- if (isMobileMenuOpen) {
232
- setIsMobileMenuOpen(false);
192
+ React.useEffect(() => {
193
+ const bodyClasses = ['overflow-shown', 'overflow-hidden'];
194
+ document.body.classList.remove(...bodyClasses);
195
+ document.body.classList.add(bodyClasses[Number(Boolean(freezeOverflow))]);
196
+ }, [freezeOverflow]);
197
+ const navigationContext = React.useMemo(() => {
198
+ const handleNavMenuClick = (newValue, updatedLevel) => {
199
+ let clickedItself = false;
200
+ switch (updatedLevel) {
201
+ case 'level1':
202
+ clickedItself = newValue === menuLevel.level1;
203
+ setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level1: !clickedItself ? newValue : null, animate1: !clickedItself, level2: null, animate2: true }));
204
+ break;
205
+ case 'level2':
206
+ clickedItself = newValue === menuLevel.level2;
207
+ setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level2: newValue !== menuLevel.level2 ? newValue : null, animate1: false, animate2: !clickedItself }));
208
+ break;
209
+ case 'level1Mobile':
210
+ setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level1Mobile: newValue || menuLevel.level1Mobile, scrollPosition: newValue ? 1 : 0 }));
211
+ break;
212
+ case 'level2Mobile':
213
+ setMenuLevel(Object.assign(Object.assign({}, menuLevel), { level2Mobile: newValue || menuLevel.level2Mobile, scrollPosition: newValue ? 2 : 1 }));
214
+ break;
215
+ }
216
+ };
217
+ const resetMenuEvents = () => {
218
+ setMenuLevel({
219
+ level2: null,
220
+ animate2: true,
221
+ level1: null,
222
+ animate1: true,
223
+ level1Mobile: null,
224
+ level2Mobile: null,
225
+ scrollPosition: 0,
226
+ hideOnScroll: false,
227
+ });
228
+ if (isMobileMenuOpen) {
229
+ setIsMobileMenuOpen(false);
230
+ }
231
+ setTooltipItems({
232
+ minicart: false,
233
+ login: false,
234
+ search: false,
235
+ });
236
+ };
237
+ const handleToggleClick = () => {
238
+ resetMenuEvents();
239
+ initiateScrollToHeader(navigationEl);
240
+ setIsMobileMenuOpen(!isMobileMenuOpen);
241
+ };
242
+ const getBackLink = (menuElements, i) => {
243
+ const idValue = menuLevel[`level${i}Mobile`];
244
+ return menuElements[idValue];
245
+ };
246
+ // Resets menu states when menu content alters between mobile and desktop
247
+ const menuChanged = previousValue !== isMobile;
248
+ if (menuChanged) {
249
+ resetMenuEvents();
250
+ previousValue = isMobile;
233
251
  }
234
- setTooltipItems(initialTooltipItems);
235
- };
236
- const getBackLink = (menuElements, i) => {
237
- const idValue = menuLevel[`level${i}Mobile`];
238
- return menuElements[idValue];
239
- };
240
- const navigationContext = {
252
+ return {
253
+ lang,
254
+ navZIndex: zIndex,
255
+ menuLevel,
256
+ handleNavMenuClick,
257
+ getBackLink,
258
+ isMobileMenu: isMobile,
259
+ items,
260
+ level1Items,
261
+ level2Items,
262
+ resetMenuEvents,
263
+ handleToggleClick,
264
+ isMobileMenuOpen,
265
+ nextJSLinkComponent,
266
+ loginComponent,
267
+ isLoggedIn,
268
+ collapseSize,
269
+ tooltipItems,
270
+ setTooltipItems,
271
+ minicartComponent,
272
+ showMinicart,
273
+ showLoginTooltip,
274
+ searchComponent,
275
+ currentUrl,
276
+ };
277
+ }, [
278
+ isMobile,
241
279
  lang,
242
- navZIndex: zIndex,
280
+ zIndex,
243
281
  menuLevel,
244
- handleNavMenuClick,
245
- getBackLink,
246
- isMobileMenu: isMobile,
247
282
  items,
248
283
  level1Items,
249
284
  level2Items,
250
- resetMenuEvents,
251
- handleToggleClick,
252
285
  isMobileMenuOpen,
253
286
  nextJSLinkComponent,
254
287
  loginComponent,
255
288
  isLoggedIn,
256
289
  collapseSize,
257
290
  tooltipItems,
258
- setTooltipItems,
259
291
  minicartComponent,
260
292
  showMinicart,
261
293
  showLoginTooltip,
262
294
  searchComponent,
263
295
  currentUrl,
264
- };
265
- // Resets menu states when menu content alters between mobile and desktop
266
- const menuChanged = previousValue !== isMobile;
267
- if (menuChanged) {
268
- resetMenuEvents();
269
- previousValue = isMobile;
270
- }
296
+ ]);
271
297
  useScrollPosition["default"](({ prevPos, currPos }) => {
272
298
  const overThreshold = checkThreshold(prevPos.y, currPos.y);
273
299
  const isShow = currPos.y < prevPos.y;
274
300
  if (isShow !== menuLevel.hideOnScroll && overThreshold && !menuLevel.level1) {
275
301
  setMenuLevel(Object.assign(Object.assign({}, menuLevel), { animate1: false, animate2: false, hideOnScroll: isShow }));
276
302
  }
277
- }, [menuLevel], undefined, false, 200);
303
+ }, undefined, false, 200);
278
304
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
279
305
  isPageOverlay && React__default["default"].createElement(PageOverlay, { "data-testid": "navigation-overlay", navZIndex: zIndex }),
280
306
  React__default["default"].createElement(GlobalNavigationContainer, { className: className, ref: navigationEl, collapseSize: collapseSize, menuLevel: menuLevel, "data-testid": "main-navigation", navZIndex: zIndex, tooltipMenuActive: tooltipMenuActive },
@@ -1,6 +1,6 @@
1
- import React from 'react';
1
+ import type { RefObject } from 'react';
2
2
  interface MobileMenuContextProps {
3
- mobileMenuRef: HTMLElement | null;
3
+ mobileMenuRef: RefObject<HTMLElement> | null;
4
4
  }
5
- declare const MobileMenuContext: React.Context<MobileMenuContextProps>;
5
+ declare const MobileMenuContext: import("react").Context<MobileMenuContextProps>;
6
6
  export default MobileMenuContext;
@@ -4,11 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
-
11
- const MobileMenuContext = React__default["default"].createContext({
7
+ const MobileMenuContext = React.createContext({
12
8
  mobileMenuRef: null,
13
9
  });
14
10
 
@@ -1,30 +1,29 @@
1
- import React from 'react';
2
- import { GlobalNavItems, MenuLevelItem, MenuStates } from '../types/globalNavProps';
1
+ import type { Dispatch, ReactNode, SetStateAction } from 'react';
2
+ import type { GlobalNavItems, MenuLevelItem, MenuStates, MenuTooltipItems, MobileMenuLevel } from '../types/globalNavProps';
3
3
  export interface NavContextProps {
4
4
  collapseSize: number;
5
5
  currentUrl: string;
6
- getBackLink: (menuElements: {
7
- [key: string]: MenuLevelItem;
8
- }, i: number) => MenuLevelItem;
6
+ getBackLink: (menuElements: MenuLevelItem[], i: number) => MenuLevelItem;
9
7
  handleNavMenuClick: (id: string | null, level: string) => void;
10
8
  handleToggleClick: () => void;
11
9
  isLoggedIn: boolean;
12
10
  isMobileMenu: boolean;
13
11
  isMobileMenuOpen: boolean;
14
12
  items: GlobalNavItems;
13
+ level1Items: MobileMenuLevel;
14
+ level2Items: MobileMenuLevel;
15
15
  lang: string;
16
- loginComponent?: React.ReactNode | boolean | undefined;
16
+ loginComponent?: ReactNode | boolean | undefined;
17
17
  menuLevel: MenuStates;
18
- minicartComponent?: React.ReactNode | boolean | undefined;
18
+ minicartComponent?: ReactNode | boolean | undefined;
19
19
  navZIndex: number;
20
- nextJSLinkComponent: React.ReactNode | boolean;
20
+ nextJSLinkComponent: ReactNode | boolean;
21
21
  resetMenuEvents: () => void;
22
- searchComponent?: React.ReactNode | boolean | undefined;
23
- tooltipItems: {
24
- minicart: boolean;
25
- login: boolean;
26
- search: boolean;
27
- };
22
+ searchComponent?: ReactNode | boolean | undefined;
23
+ setTooltipItems: Dispatch<SetStateAction<MenuTooltipItems>>;
24
+ showLoginTooltip: boolean;
25
+ showMinicart: boolean;
26
+ tooltipItems: MenuTooltipItems;
28
27
  }
29
- declare const NavContext: React.Context<NavContextProps>;
28
+ declare const NavContext: import("react").Context<NavContextProps>;
30
29
  export default NavContext;
@@ -4,11 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
-
11
- const NavContext = React__default["default"].createContext({
7
+ const NavContext = React.createContext({
12
8
  collapseSize: 767,
13
9
  currentUrl: '',
14
10
  getBackLink: () => ({ id: '', pages: [], titles: {}, urls: {} }),
@@ -19,6 +15,8 @@ const NavContext = React__default["default"].createContext({
19
15
  isMobileMenuOpen: false,
20
16
  items: {},
21
17
  lang: 'fi',
18
+ level1Items: { level1: { id: '', pages: [], titles: {}, urls: {} } },
19
+ level2Items: { level2: { id: '', pages: [], titles: {}, urls: {} } },
22
20
  loginComponent: false,
23
21
  menuLevel: {
24
22
  level1: null,
@@ -35,6 +33,9 @@ const NavContext = React__default["default"].createContext({
35
33
  nextJSLinkComponent: false,
36
34
  resetMenuEvents: () => { },
37
35
  searchComponent: false,
36
+ setTooltipItems: () => { },
37
+ showLoginTooltip: false,
38
+ showMinicart: true,
38
39
  tooltipItems: {
39
40
  minicart: false,
40
41
  login: false,
@@ -152,7 +152,7 @@ export declare const MenuItem: import("styled-components").StyledComponent<"li",
152
152
  h1: string;
153
153
  h2: string;
154
154
  };
155
- media: Record<string | number, (l: TemplateStringsArray, ...p: any[]) => string>;
155
+ media: Record<string | number, (l: TemplateStringsArray, ...p: (string | number)[]) => string>;
156
156
  radius: {
157
157
  default: string;
158
158
  s: string;
@@ -317,7 +317,7 @@ export declare const MenuLink: import("styled-components").StyledComponent<"a",
317
317
  h1: string;
318
318
  h2: string;
319
319
  };
320
- media: Record<string | number, (l: TemplateStringsArray, ...p: any[]) => string>;
320
+ media: Record<string | number, (l: TemplateStringsArray, ...p: (string | number)[]) => string>;
321
321
  radius: {
322
322
  default: string;
323
323
  s: string;
@@ -482,7 +482,7 @@ export declare const MenuLinkWithChildren: import("styled-components").StyledCom
482
482
  h1: string;
483
483
  h2: string;
484
484
  };
485
- media: Record<string | number, (l: TemplateStringsArray, ...p: any[]) => string>;
485
+ media: Record<string | number, (l: TemplateStringsArray, ...p: (string | number)[]) => string>;
486
486
  radius: {
487
487
  default: string;
488
488
  s: string;
@@ -648,7 +648,7 @@ export declare const MenuList: import("styled-components").StyledComponent<"ul",
648
648
  h1: string;
649
649
  h2: string;
650
650
  };
651
- media: Record<string | number, (l: TemplateStringsArray, ...p: any[]) => string>;
651
+ media: Record<string | number, (l: TemplateStringsArray, ...p: (string | number)[]) => string>;
652
652
  radius: {
653
653
  default: string;
654
654
  s: string;
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  import React from 'react';
2
3
  import type { Props as ReactModalProps } from 'react-modal';
3
4
  interface Props {
@@ -16,7 +17,7 @@ interface Props {
16
17
  /**
17
18
  * Content of the component
18
19
  */
19
- children?: React.ReactNode;
20
+ children?: ReactNode;
20
21
  /**
21
22
  * Allows to hide application from assistive screenreaders and other assistive technologies while the modal is open
22
23
  *
@@ -1,3 +1,4 @@
1
+ import type { MouseEvent, ReactNode } from 'react';
1
2
  import React from 'react';
2
3
  type NotificationType = 'info' | 'success' | 'warning' | 'error';
3
4
  interface Props {
@@ -15,7 +16,7 @@ interface Props {
15
16
  /**
16
17
  * Content of the component
17
18
  */
18
- children?: React.ReactNode;
19
+ children?: ReactNode;
19
20
  /**
20
21
  * Allows to show and hide close button
21
22
  *
@@ -25,7 +26,7 @@ interface Props {
25
26
  /**
26
27
  * On close button click callback
27
28
  */
28
- onClickCloseButton?: (e: React.MouseEvent<HTMLElement>) => void;
29
+ onClickCloseButton?: (e: MouseEvent<HTMLElement>) => void;
29
30
  /**
30
31
  * Allows to dismiss the notification programmatically
31
32
  *
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  import React from 'react';
2
3
  interface Props {
3
4
  /**
@@ -7,7 +8,7 @@ interface Props {
7
8
  /**
8
9
  * Content of the component
9
10
  */
10
- children?: React.ReactNode;
11
+ children?: ReactNode;
11
12
  /**
12
13
  * Allows to change CSS property `position`
13
14
  *
@@ -1,3 +1,4 @@
1
+ import type { ChangeEvent, ReactNode } from 'react';
1
2
  import React from 'react';
2
3
  type PillType = 'none' | 'checkbox' | 'radio';
3
4
  type Position = 'auto' | 'left' | 'right' | 'middle';
@@ -29,7 +30,7 @@ interface Props {
29
30
  /**
30
31
  * On checkbox/radiobutton change callback
31
32
  */
32
- onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
33
+ onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
33
34
  /**
34
35
  * Allows to set position of component relative to other content and adds appropriate margins
35
36
  *
@@ -62,7 +63,7 @@ interface Props {
62
63
  /**
63
64
  * Content of the component
64
65
  */
65
- children?: React.ReactNode;
66
+ children?: ReactNode;
66
67
  /**
67
68
  * Allows to pass testid string for testing purposes
68
69
  */