@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
@@ -0,0 +1,207 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useOutsideClick = require('../../../hooks/useOutsideClick.js');
7
+ var styled = require('../../../themes/styled.js');
8
+ var theme = require('../../../themes/theme.js');
9
+ var navigation = require('../../../themes/themeComponents/navigation.js');
10
+ var styledUtils = require('../../../utils/styledUtils.js');
11
+ var Icon = require('../../Icon/Icon.js');
12
+ require('tslib');
13
+ var hlChevronRight = require('../../Icons/hlChevronRight.js');
14
+ var NavContext = require('../context/NavContext.js');
15
+ var globalNavStyles = require('../globalNavStyles.js');
16
+ var LinkModifier = require('./LinkModifier.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
+
22
+ const fadeIn = styled.keyframes `
23
+ 0% {
24
+ opacity: 0;
25
+ transform: translateY(-5px);
26
+ }
27
+ 100% {
28
+ opacity: 1;
29
+ transform: translateY(0px);
30
+ }
31
+ `;
32
+ const fadeInAnimation = styled.css `
33
+ animation: ${fadeIn} 0.3s ease-in-out;
34
+ `;
35
+ const noAnimation = styled.css `
36
+ animation: none;
37
+ `;
38
+ const MegaMenuContent = styled["default"].ul `
39
+ display: grid;
40
+ grid-template-columns: 25% 25% 25% 25%;
41
+ padding-left: 0;
42
+ `;
43
+ const CategoryTitle = styled["default"].span `
44
+ display: flex;
45
+ font-size: ${theme["default"].fontSize.default};
46
+ line-height: ${theme["default"].lineHeight.default};
47
+ font-weight: ${theme["default"].fontWeight.bold};
48
+ padding: 0 ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 2)}
49
+ ${styledUtils.getMultipliedSize(theme["default"].base.baseWidth, 1)};
50
+ ${styledUtils.media.xl `
51
+ font-size: ${theme["default"].fontSize.xl};
52
+ `}
53
+ `;
54
+ const CategoryBlock = styled["default"].li `
55
+ display: block;
56
+ padding: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 2)} 0;
57
+ border-right: 1px solid ${theme["default"].color.line.L03};
58
+
59
+ a {
60
+ font-size: ${theme["default"].fontSize.s};
61
+ line-height: ${theme["default"].lineHeight.s};
62
+ padding: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 0.5)}
63
+ ${styledUtils.getMultipliedSize(theme["default"].base.baseWidth, 3)};
64
+ &:hover,
65
+ &:focus {
66
+ background-color: ${theme["default"].color.background.sand.E01};
67
+ }
68
+ ${styledUtils.media.xl `
69
+ font-size: ${theme["default"].fontSize.default};
70
+ line-height: ${theme["default"].lineHeight.default};
71
+ `}
72
+ }
73
+ `;
74
+ const CategoryCollectionBlock = styled["default"](CategoryBlock) `
75
+ background-color: ${theme["default"].color.background.sand.E01};
76
+ `;
77
+ const SubMenuItem = styled["default"].li `
78
+ > a {
79
+ color: ${p => (p.isHighlighted ? theme["default"].color.text.pink : theme["default"].color.text.black)};
80
+ font-weight: ${p => (p.isHighlighted ? theme["default"].fontWeight.bold : theme["default"].fontWeight.book)};
81
+ }
82
+ }
83
+ `;
84
+ const DesktopMenuList = styled["default"](globalNavStyles.MenuList) `
85
+ @media (min-width: ${p => p.collapseSize + 1}px) {
86
+ flex-direction: row;
87
+ gap: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 1.5)};
88
+ }
89
+ ul {
90
+ li {
91
+ a {
92
+ display: flex;
93
+ align-items: center;
94
+ }
95
+ }
96
+ }
97
+ > li {
98
+ > a,
99
+ > button {
100
+ white-space: nowrap;
101
+ text-decoration: none;
102
+ }
103
+ }
104
+ `;
105
+ const DesktopMenuItem = styled["default"](globalNavStyles.MenuItem) `
106
+ > a,
107
+ > button {
108
+ width: auto;
109
+ display: flex;
110
+ gap: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 0.5)};
111
+ align-items: center;
112
+ padding: 0 ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 0.5)};
113
+ height: 100%;
114
+ font-weight: ${theme["default"].fontWeight.medium};
115
+
116
+ > span:first-child {
117
+ position: relative;
118
+ &:after {
119
+ position: absolute;
120
+ content: '';
121
+ width: 100%;
122
+ bottom: -22px;
123
+ left: 0;
124
+ border-bottom: 2px solid
125
+ ${p => (p.isActive ? theme["default"].color.default.pink : 'transparent')};
126
+ }
127
+ }
128
+ }
129
+ `;
130
+ // MEGAMENU 1st level
131
+ const SubMenuList = styled["default"].div `
132
+ position: absolute;
133
+ top: ${navigation.navMaxHeight};
134
+ left: 0;
135
+ right: 0;
136
+ display: ${({ menuStates, navItemId }) => (menuStates === null || menuStates === void 0 ? void 0 : menuStates.level1) === navItemId ? 'block' : 'none'};
137
+ z-index: ${({ navZIndex }) => navZIndex + 1};
138
+ ${({ menuStates }) => menuStates.level1 && menuStates.animate2 && !menuStates.level2
139
+ ? fadeInAnimation
140
+ : noAnimation};
141
+ background-color: ${theme["default"].color.background.white.default};
142
+ max-height: calc(100vh - ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 3)} - ${navigation.headerMaxHeight});
143
+ border-bottom: 1px solid ${theme["default"].color.line.L03};
144
+ overflow: auto;
145
+ ul {
146
+ padding: 0;
147
+ list-style: none;
148
+ }
149
+ `;
150
+ const SubMenuLevel1 = ({ menuItem }) => {
151
+ const { categoryCollectionText, collapseSize, currentUrl, lang, menuLevel, navZIndex } = React.useContext(NavContext["default"]);
152
+ const level1HasElements = !!menuItem.pages.length;
153
+ const pagesWithSubItems = menuItem.pages.filter(element => element.pages.length > 0);
154
+ // Helper function to render a sub menu item
155
+ const renderSubMenuItem = (element, index, currUrl) => (React__default["default"].createElement(SubMenuItem, { key: element.id, isHighlighted: LinkModifier.isSelected(currUrl, element.urls[lang], true), "data-testid": `desktop-nav-item-level-2-${index + 1}` },
156
+ React__default["default"].createElement(LinkModifier["default"], { menuItem: element, tabIndex: false })));
157
+ if (!level1HasElements) {
158
+ return null;
159
+ }
160
+ return (React__default["default"].createElement(SubMenuList, { "aria-hidden": false, menuStates: menuLevel, navItemId: menuItem.id, navZIndex: navZIndex },
161
+ React__default["default"].createElement(MegaMenuContent, null,
162
+ pagesWithSubItems.slice(0, 5).map(element => (React__default["default"].createElement(CategoryBlock, { key: element.id },
163
+ React__default["default"].createElement(CategoryTitle, null, element.titles[lang]),
164
+ React__default["default"].createElement("ul", { "data-testid": "desktop-nav-menu-ul-level-2" }, element.pages.map((subElement, index) => renderSubMenuItem(subElement, index, currentUrl)))))),
165
+ pagesWithSubItems.length > 5 && (React__default["default"].createElement(CategoryCollectionBlock, null,
166
+ React__default["default"].createElement(CategoryTitle, null, categoryCollectionText),
167
+ React__default["default"].createElement("ul", { "data-testid": "desktop-nav-menu-ul-level-2" }, pagesWithSubItems
168
+ .slice(5)
169
+ .map((element, index) => renderSubMenuItem(element, index, currentUrl))))),
170
+ React__default["default"].createElement(globalNavStyles.FeaturedBlock, { collapseSize: collapseSize, "data-testid": "desktop-nav-menu-level-2-featured" }, menuItem.pages.map(element => element.pages.length ? null : (React__default["default"].createElement(LinkModifier["default"], { key: element.id, showIcon: true, menuItem: element, tabIndex: false })))))));
171
+ };
172
+ const MenuItemWithChildren = ({ menuItem, currentLevel }) => {
173
+ const { lang, handleNavMenuClick, currentUrl, menuLevel } = React.useContext(NavContext["default"]);
174
+ const menuClickMain = (element) => () => {
175
+ handleNavMenuClick(element.id, 'level1');
176
+ };
177
+ return (React__default["default"].createElement(DesktopMenuItem, { isActive: LinkModifier.isSelected(currentUrl, menuItem.urls[lang]), "data-testid": `desktop-nav-item-level-1-${currentLevel + 1}`, role: "presentation" },
178
+ React__default["default"].createElement(globalNavStyles.MenuLinkWithChildren, { isOpen: menuLevel.level1 === menuItem.id, onClick: menuClickMain(menuItem), role: "menuitem", "aria-haspopup": "true", "data-testid": "menu-button-with-children" },
179
+ React__default["default"].createElement("span", null, menuItem.titles[lang]),
180
+ React__default["default"].createElement(Icon["default"], { icon: hlChevronRight["default"], size: "1rem" })),
181
+ React__default["default"].createElement(SubMenuLevel1, { menuItem: menuItem })));
182
+ };
183
+ const DesktopMenu = () => {
184
+ var _a;
185
+ const { items, lang, resetMenuEvents, menuLevel, currentUrl, collapseSize } = React.useContext(NavContext["default"]);
186
+ const mainNavigation = ((_a = items === null || items === void 0 ? void 0 : items.mainNavigation) === null || _a === void 0 ? void 0 : _a.pages) || [];
187
+ const ref = React.useRef(null);
188
+ useOutsideClick["default"](ref, () => {
189
+ if (menuLevel.level1 || menuLevel.level2) {
190
+ resetMenuEvents();
191
+ }
192
+ });
193
+ if (!mainNavigation.length) {
194
+ return null;
195
+ }
196
+ return (React__default["default"].createElement(DesktopMenuList, { role: "menu", "aria-hidden": false, ref: ref, "data-testid": "desktop-nav-menu-ul", collapseSize: collapseSize }, mainNavigation.map((navElement, index) => {
197
+ var _a;
198
+ const displaySubMenu = !navElement.pageIsLinkInDesktopNavigation && !!((_a = navElement.pages) === null || _a === void 0 ? void 0 : _a.length);
199
+ if (displaySubMenu) {
200
+ return (React__default["default"].createElement(MenuItemWithChildren, { menuItem: navElement, key: navElement.id, currentLevel: index }));
201
+ }
202
+ return (React__default["default"].createElement(DesktopMenuItem, { key: navElement.id, role: "presentation", "data-testid": `desktop-nav-item-level-1-${index + 1}`, isActive: LinkModifier.isSelected(currentUrl, navElement.urls[lang]) },
203
+ React__default["default"].createElement(LinkModifier["default"], { menuItem: navElement, tabIndex: false })));
204
+ })));
205
+ };
206
+
207
+ exports["default"] = DesktopMenu;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { LanguageSelectorProps } from '../types/globalNavProps';
3
+ declare const LanguageSelector: ({ currentLanguage, languagesObject, languageSelectorLabel, }: LanguageSelectorProps) => React.JSX.Element | null;
4
+ export default LanguageSelector;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var styled = require('../../../themes/styled.js');
7
+ var theme = require('../../../themes/theme.js');
8
+ var styledUtils = require('../../../utils/styledUtils.js');
9
+ var Icon = require('../../Icon/Icon.js');
10
+ require('tslib');
11
+ var hlGlobe = require('../../Icons/hlGlobe.js');
12
+ var NavContext = require('../context/NavContext.js');
13
+ var globalNavStyles = require('../globalNavStyles.js');
14
+ var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
15
+ var navigation = require('../../../themes/themeComponents/navigation.js');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+
21
+ const MenuItem = styled["default"](globalNavStyles.MenuLink) `
22
+ font-weight: ${theme["default"].fontWeight.medium};
23
+ margin: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 1)} auto;
24
+ text-align: center;
25
+ `;
26
+ const LangComponent = ({ currentLanguage, languagesObject }) => (React__default["default"].createElement(React__default["default"].Fragment, null, Object.entries(languagesObject)
27
+ .filter(([key]) => key.toLowerCase() !== currentLanguage.toLowerCase())
28
+ .map(([key, value]) => (React__default["default"].createElement(MenuItem, { key: `language-${key}`, href: value }, key.toUpperCase())))));
29
+ const LanguageSelector = ({ currentLanguage, languagesObject, languageSelectorLabel, }) => {
30
+ const { isMobileMenu, navZIndex } = React.useContext(NavContext["default"]);
31
+ const LngComponent = React.useCallback(() => (React__default["default"].createElement(LangComponent, { languageSelectorLabel: languageSelectorLabel, currentLanguage: currentLanguage, languagesObject: languagesObject })), [currentLanguage, languagesObject, languageSelectorLabel]);
32
+ if (Object.keys(languagesObject).length < 2) {
33
+ return null;
34
+ }
35
+ return (React__default["default"].createElement(MainNavTooltipMenu["default"], { ariaLabel: languageSelectorLabel, closeWhenTagClicked: ['a'], contentComponent: LngComponent, contentWidth: "5rem", globalStateString: "lang", tooltipRight: isMobileMenu ? '13.8rem' : '11.8rem', zIndex: navZIndex + 1 },
36
+ React__default["default"].createElement(Icon["default"], { icon: hlGlobe["default"], size: navigation.navIconSize }),
37
+ React__default["default"].createElement("span", { "data-testid": "header-lang-label" }, currentLanguage.toUpperCase())));
38
+ };
39
+
40
+ exports["default"] = LanguageSelector;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { MenuLevelItem } from '../types/globalNavProps';
3
+ interface LinkModifierProps {
4
+ menuItem: MenuLevelItem;
5
+ tabIndex: boolean;
6
+ showIcon?: boolean;
7
+ }
8
+ export declare const isSelected: (currentUrl: string, linkUrl: string, exactMatch?: boolean) => boolean;
9
+ declare const LinkModifier: ({ menuItem, tabIndex, showIcon }: LinkModifierProps) => React.JSX.Element;
10
+ export default LinkModifier;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var NavContext = require('../context/NavContext.js');
7
+ var globalNavStyles = require('../globalNavStyles.js');
8
+ var Icon = require('../../Icon/Icon.js');
9
+ require('tslib');
10
+ var hlArrowForwardSmall = require('../../Icons/Small/hlArrowForwardSmall.js');
11
+ var hlExternal = require('../../Icons/hlExternal.js');
12
+ var theme = require('../../../themes/theme.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+
18
+ const isSelected = (currentUrl, linkUrl, exactMatch = false) => {
19
+ if (currentUrl && linkUrl) {
20
+ let url = linkUrl;
21
+ if (url.includes('http')) {
22
+ url = url.replace(/^.*\/\/[^/]+/, '');
23
+ }
24
+ return exactMatch ? url === currentUrl : currentUrl.includes(url);
25
+ }
26
+ return false;
27
+ };
28
+ const isMenuItemLinkAbsolute = (menuItemLink) => menuItemLink.includes('http');
29
+ const LinkModifier = ({ menuItem, tabIndex, showIcon }) => {
30
+ const { lang, nextJSLinkComponent, resetMenuEvents } = React.useContext(NavContext["default"]);
31
+ const menuItemLink = menuItem.urls[lang] || '';
32
+ const isExternalLink = menuItem.target === '_blank';
33
+ const MenuLinkComponent = (React__default["default"].createElement(globalNavStyles.MenuLink, { href: menuItemLink, id: menuItem.id, onClick: resetMenuEvents, role: "menuitem", tabIndex: tabIndex ? -1 : undefined, target: isExternalLink ? '_blank' : '_self' },
34
+ showIcon && (React__default["default"].createElement(Icon["default"], { icon: isExternalLink ? hlExternal["default"] : hlArrowForwardSmall["default"], size: "1rem", color: theme["default"].color.default.pink })),
35
+ React__default["default"].createElement("span", null, menuItem.titles[lang])));
36
+ if (nextJSLinkComponent && !isMenuItemLinkAbsolute(menuItemLink)) {
37
+ const NextJSLinkComponent = nextJSLinkComponent;
38
+ return (React__default["default"].createElement(NextJSLinkComponent, { linkUrl: menuItemLink }, MenuLinkComponent));
39
+ }
40
+ return MenuLinkComponent;
41
+ };
42
+
43
+ exports["default"] = LinkModifier;
44
+ exports.isSelected = isSelected;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface LoginTooltipProp {
3
+ isLogged?: boolean;
4
+ loginLabel?: string;
5
+ }
6
+ declare const LoginTooltip: ({ isLogged, loginLabel }: LoginTooltipProp) => React.JSX.Element;
7
+ export default LoginTooltip;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var Icon = require('../../Icon/Icon.js');
7
+ require('tslib');
8
+ var hlPerson = require('../../Icons/hlPerson.js');
9
+ var NavContext = require('../context/NavContext.js');
10
+ var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
11
+ var navigation = require('../../../themes/themeComponents/navigation.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+
17
+ const LoginTooltip = ({ isLogged, loginLabel }) => {
18
+ const { navZIndex, isMobileMenu, loginComponent: LoginComponent } = React.useContext(NavContext["default"]);
19
+ return (React__default["default"].createElement(MainNavTooltipMenu["default"], { ariaLabel: loginLabel, closeWhenTagClicked: ['a', 'button'], contentComponent: LoginComponent, globalStateString: "login", tooltipRight: isMobileMenu ? '3rem' : '1rem', zIndex: navZIndex + 1 }, !isLogged ? (loginLabel) : (React__default["default"].createElement(React__default["default"].Fragment, null,
20
+ React__default["default"].createElement(Icon["default"], { icon: hlPerson["default"], size: navigation.navIconSize }),
21
+ React__default["default"].createElement("span", { "data-testid": "header-login-label" }, loginLabel)))));
22
+ };
23
+
24
+ exports["default"] = LoginTooltip;
@@ -0,0 +1,193 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ export interface MainNavTooltipMenuProps {
4
+ /** Aria-label for screen readers in mobile */
5
+ ariaLabel?: string;
6
+ /** Tooltip menu content */
7
+ children?: ReactNode;
8
+ /** Overlap other elements */
9
+ zIndex?: number;
10
+ /** Tooltip position from right. Default: 1.25rem */
11
+ tooltipRight?: string;
12
+ /** Mandatory Component provided as login content */
13
+ contentComponent?: ReactNode | boolean;
14
+ /** Array of tags (lowercase) that will close menu if they are inside the dropdown tooltip menu. default []. THIS CAN BE OVERRIDEN WITH data-no-close="true" in element */
15
+ closeWhenTagClicked?: string[];
16
+ /** Width of the opened menu content. default 20rem. */
17
+ contentWidth?: string;
18
+ /** This will define the global state object string. mandatory */
19
+ globalStateString: string;
20
+ /** Adjust menu margin so that it will not overflow if fullWidth. optional. default false. */
21
+ fullWidthDesktop?: boolean;
22
+ /** Adjust menu to be full width after this number. default xs (480). */
23
+ fullWidthBreakpoint?: number;
24
+ }
25
+ export declare const IconContainer: import("styled-components").StyledComponent<"div", {
26
+ base: {
27
+ baseHeight: {
28
+ value: number;
29
+ unit: string;
30
+ };
31
+ baseWidth: {
32
+ value: number;
33
+ unit: string;
34
+ };
35
+ };
36
+ breakpoints: import("../../../themes/themeComponents/breakpoints").ViewBreakpoints;
37
+ color: {
38
+ default: {
39
+ pink: string;
40
+ plum: string;
41
+ white: string;
42
+ black: string;
43
+ };
44
+ accent: {
45
+ lemon: string;
46
+ sky: string;
47
+ orange: string;
48
+ };
49
+ hover: {
50
+ pink: string;
51
+ };
52
+ text: {
53
+ gray: string;
54
+ pink: string;
55
+ plum: string;
56
+ white: string;
57
+ black: string;
58
+ };
59
+ line: {
60
+ L01: string;
61
+ L02: string;
62
+ L03: string;
63
+ L04: string;
64
+ };
65
+ notification: {
66
+ info: string;
67
+ success: string;
68
+ warning: string;
69
+ error: string;
70
+ };
71
+ background: {
72
+ sand: {
73
+ default: string;
74
+ E01: string;
75
+ E02: string;
76
+ };
77
+ pink: {
78
+ default: string;
79
+ E01: string;
80
+ E02: string;
81
+ };
82
+ plum: {
83
+ default: string;
84
+ E01: string;
85
+ E02: string;
86
+ };
87
+ lemon: {
88
+ default: string;
89
+ E01: string;
90
+ E02: string;
91
+ };
92
+ sky: {
93
+ default: string;
94
+ E01: string;
95
+ E02: string;
96
+ };
97
+ orange: {
98
+ default: string;
99
+ E01: string;
100
+ E02: string;
101
+ };
102
+ white: {
103
+ default: string;
104
+ };
105
+ };
106
+ /** This will define the global state object string. mandatory */
107
+ focus: {
108
+ dark: string;
109
+ light: string;
110
+ };
111
+ transparency: {
112
+ T0: string;
113
+ T10: string;
114
+ T20: string;
115
+ T30: string;
116
+ T40: string;
117
+ T50: string;
118
+ T60: string;
119
+ T70: string;
120
+ T80: string;
121
+ T90: string;
122
+ T100: string;
123
+ };
124
+ };
125
+ fontFamily: {
126
+ default: string;
127
+ heading: string;
128
+ numerals: string;
129
+ };
130
+ fontSize: {
131
+ default: string;
132
+ xl: string;
133
+ l: string;
134
+ s: string;
135
+ xs: string;
136
+ h1XL: string;
137
+ h1L: string;
138
+ h1M: string;
139
+ h1S: string;
140
+ h2M: string;
141
+ h2S: string;
142
+ h3: string;
143
+ h4: string;
144
+ h5: string;
145
+ h1: string;
146
+ h2: string;
147
+ };
148
+ fontWeight: {
149
+ book: number;
150
+ medium: number;
151
+ bold: number;
152
+ black: number;
153
+ };
154
+ form: {
155
+ smallSelectWidth: string;
156
+ smallSelectHeight: string;
157
+ };
158
+ grid: {
159
+ gutter: string;
160
+ };
161
+ lineHeight: {
162
+ default: string;
163
+ xl: string;
164
+ s: string;
165
+ xs: string;
166
+ xxs: string;
167
+ auto: string;
168
+ h1XL: string;
169
+ h1L: string;
170
+ h1M: string;
171
+ h1S: string;
172
+ h2M: string;
173
+ h2S: string;
174
+ h3: string;
175
+ h4: string;
176
+ h5: string;
177
+ h1: string;
178
+ h2: string;
179
+ };
180
+ media: Record<string | number, (l: TemplateStringsArray, ...p: (string | number)[]) => string>;
181
+ radius: {
182
+ default: string;
183
+ s: string;
184
+ xs: string;
185
+ circle: string;
186
+ pill: string;
187
+ };
188
+ }, {
189
+ isActive?: boolean | undefined;
190
+ collapseSize: number;
191
+ }, never>;
192
+ declare const MainNavTooltipMenu: ({ ariaLabel, children, closeWhenTagClicked, contentComponent, contentWidth, fullWidthBreakpoint, fullWidthDesktop, globalStateString, tooltipRight, zIndex, }: MainNavTooltipMenuProps) => React.JSX.Element;
193
+ export default MainNavTooltipMenu;
@@ -0,0 +1,120 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useCloseOutsideOrElementClicked = require('../../../hooks/useCloseOutsideOrElementClicked.js');
7
+ var useDocHeight = require('../../../hooks/useDocHeight.js');
8
+ var styled = require('../../../themes/styled.js');
9
+ var theme = require('../../../themes/theme.js');
10
+ var navigation = require('../../../themes/themeComponents/navigation.js');
11
+ var styledUtils = require('../../../utils/styledUtils.js');
12
+ var Box = require('../../Box/Box.js');
13
+ var NavContext = require('../context/NavContext.js');
14
+ var MainNavTooltipMenuExportedStyles = require('./MainNavTooltipMenuExportedStyles.js');
15
+ var ButtonPrimary = require('../../Button/ButtonPrimary.js');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+
21
+ const IconContainer = styled["default"].div `
22
+ margin: 0;
23
+ display: flex;
24
+ flex-direction: column;
25
+ justify-content: center;
26
+ align-items: center;
27
+ min-width: ${navigation.IconContainerMinWidth};
28
+ transition: color 0.2s ease-in-out;
29
+
30
+ > span.dnasg-icon > svg {
31
+ display: block;
32
+ height: ${navigation.navIconSize};
33
+ width: ${navigation.navIconSize};
34
+ }
35
+ > span.dnasg-icon > svg,
36
+ > span.dnasg-icon + span {
37
+ color: ${p => (p.isActive ? theme["default"].color.text.pink : 'inherit')};
38
+ }
39
+
40
+ @media (min-width: ${p => p.collapseSize + 1}px) {
41
+ min-width: ${styledUtils.getMultipliedSize(theme["default"].base.baseWidth, 6)};
42
+ > span.dnasg-icon + span {
43
+ display: block;
44
+ }
45
+ }
46
+ `;
47
+ const Tooltip = styled["default"].div `
48
+ min-height: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 5)};
49
+ max-height: calc(var(--vh100, 100vh) - ${navigation.navMaxHeight});
50
+ width: 100%;
51
+ position: absolute;
52
+ right: 0;
53
+ top: ${navigation.navMaxHeight};
54
+ z-index: ${p => p.zIndex};
55
+ display: flex;
56
+ flex-direction: row;
57
+
58
+ @media (min-width: ${p => p.fullWidthBreakpoint}px) {
59
+ width: ${p => p.contentWidth};
60
+ right: ${p => (p.fullWidthDesktop ? 0 : p.tooltipRight)};
61
+ }
62
+ `;
63
+ const TooltipBox = styled["default"](Box["default"]) `
64
+ border-top-left-radius: 0 !important;
65
+ border-top-right-radius: 0 !important;
66
+ min-height: inherit;
67
+ max-height: inherit;
68
+ `;
69
+ const Caret = styled["default"].div `
70
+ position: absolute;
71
+ z-index: ${p => p.zIndex + 1};
72
+ top: ${navigation.navMaxHeight};
73
+ transform: translate3d(50%, -50%, 0) rotate(-45deg);
74
+ width: ${styledUtils.getMultipliedSize(theme["default"].base.baseWidth, 1.2)};
75
+ height: ${styledUtils.getMultipliedSize(theme["default"].base.baseWidth, 1.2)};
76
+ background-color: ${theme["default"].color.default.white};
77
+ border: 1px solid ${theme["default"].color.line.L03};
78
+ border-width: 1px 1px 0 0;
79
+ margin-left: -${styledUtils.getMultipliedSize(theme["default"].base.baseWidth, 1)};
80
+
81
+ @media (min-width: ${p => p.collapseSize + 1}px) {
82
+ max-height: calc(var(--vh100, 100vh) - ${navigation.navMaxHeight});
83
+ }
84
+ `;
85
+ const MainNavTooltipMenu = ({ ariaLabel, children, closeWhenTagClicked = [], contentComponent, contentWidth = '20rem', fullWidthBreakpoint = theme["default"].breakpoints.xs, fullWidthDesktop = false, globalStateString, tooltipRight = '-1rem', zIndex = 1, }) => {
86
+ const { collapseSize, isMobileMenu, isLoggedIn, resetMenuEvents, setTooltipItems, showLoginTooltip, showMinicart, tooltipItems, } = React.useContext(NavContext["default"]);
87
+ const ref = React.useRef(null);
88
+ const globalStateKey = globalStateString;
89
+ const isLoginItemAndLoggedIn = globalStateKey === 'login' && isLoggedIn;
90
+ const ContentComponent = contentComponent;
91
+ useDocHeight["default"]();
92
+ React.useEffect(() => {
93
+ setTooltipItems({
94
+ minicart: showMinicart,
95
+ login: showLoginTooltip,
96
+ search: false,
97
+ });
98
+ }, [showMinicart, showLoginTooltip, setTooltipItems]);
99
+ const toggleState = () => {
100
+ resetMenuEvents();
101
+ setTimeout(() => {
102
+ setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: !tooltipItems[globalStateKey] })));
103
+ });
104
+ };
105
+ useCloseOutsideOrElementClicked["default"]({ ref, closeWhenTagClicked }, () => {
106
+ if (tooltipItems[globalStateKey]) {
107
+ setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: false })));
108
+ }
109
+ });
110
+ return (React__default["default"].createElement(IconContainer, { "data-testid": `header-${globalStateKey}-container`, collapseSize: collapseSize, ref: ref },
111
+ globalStateKey === 'login' && !isLoggedIn ? (React__default["default"].createElement(ButtonPrimary["default"], { onClick: ContentComponent ? toggleState : undefined, small: true }, children)) : (React__default["default"].createElement(MainNavTooltipMenuExportedStyles["default"], { "aria-label": ariaLabel, isLoggedIn: isLoginItemAndLoggedIn, collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateKey] || isLoginItemAndLoggedIn, onClick: ContentComponent ? toggleState : undefined }, children)),
112
+ tooltipItems[globalStateKey] && ContentComponent && (React__default["default"].createElement(React__default["default"].Fragment, null,
113
+ React__default["default"].createElement(Caret, { zIndex: zIndex, collapseSize: collapseSize }),
114
+ React__default["default"].createElement(Tooltip, { zIndex: zIndex, tooltipRight: tooltipRight, contentWidth: contentWidth, collapseSize: collapseSize, fullWidthDesktop: fullWidthDesktop, fullWidthBreakpoint: fullWidthBreakpoint },
115
+ React__default["default"].createElement(TooltipBox, { elevation: "high", padding: "0", width: "100%" },
116
+ React__default["default"].createElement(ContentComponent, { mobileView: isMobileMenu })))))));
117
+ };
118
+
119
+ exports.IconContainer = IconContainer;
120
+ exports["default"] = MainNavTooltipMenu;