@dnanpm/styleguide 3.1.0 → 3.3.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 (518) hide show
  1. package/README.md +86 -86
  2. package/build/cjs/{assets/bundle-8de31ca3.css → build/assets/fonts/fonts.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 +5 -7
  7. package/build/cjs/components/AmountSelector/AmountSelector.d.ts +1 -1
  8. package/build/cjs/components/AmountSelector/AmountSelector.js +3 -5
  9. package/build/cjs/components/Box/Box.d.ts +2 -1
  10. package/build/cjs/components/Box/Box.js +1 -1
  11. package/build/cjs/components/Button/Button.d.ts +4 -3
  12. package/build/cjs/components/Button/ButtonArrow.d.ts +6 -5
  13. package/build/cjs/components/Button/ButtonArrow.js +6 -11
  14. package/build/cjs/components/Button/ButtonIcon.d.ts +1 -1
  15. package/build/cjs/components/Button/ButtonIcon.js +2 -2
  16. package/build/cjs/components/Checkbox/Checkbox.js +1 -1
  17. package/build/cjs/components/Chip/Chip.d.ts +3 -2
  18. package/build/cjs/components/DateTimePicker/DateTimePicker.d.ts +102 -0
  19. package/build/cjs/components/DateTimePicker/DateTimePicker.js +281 -0
  20. package/build/cjs/components/Divider/Divider.d.ts +2 -1
  21. package/build/cjs/components/DnaLogo/DnaLogo.d.ts +2 -1
  22. package/build/cjs/components/Drawer/Drawer.d.ts +2 -1
  23. package/build/cjs/components/Drawer/Drawer.js +2 -2
  24. package/build/cjs/components/EmptyState/EmptyState.d.ts +3 -2
  25. package/build/cjs/components/EmptyState/EmptyState.js +2 -2
  26. package/build/cjs/components/Floater/Floater.d.ts +2 -1
  27. package/build/cjs/components/Footer/Components/FooterComponents.d.ts +4 -71
  28. package/build/cjs/components/Footer/Components/FooterComponents.js +139 -211
  29. package/build/cjs/components/Footer/Footer.d.ts +4 -13
  30. package/build/cjs/components/Footer/Footer.js +183 -39
  31. package/build/cjs/components/Footer/context/FooterContext.d.ts +5 -4
  32. package/build/cjs/components/Footer/context/FooterContext.js +1 -5
  33. package/build/cjs/components/Icon/Icon.d.ts +8 -8
  34. package/build/cjs/components/Icon/Icon.js +14 -18
  35. package/build/cjs/components/Icons/Small/hlArrowBackSmall.d.ts +3 -0
  36. package/build/cjs/components/Icons/Small/hlArrowForwardSmall.d.ts +3 -0
  37. package/build/cjs/components/Icons/Small/hlArrowUnderSmall.d.ts +3 -0
  38. package/build/cjs/components/Icons/Small/hlCalendarSmall.d.ts +4 -1
  39. package/build/cjs/components/Icons/Small/hlChevronDownSmall.d.ts +4 -1
  40. package/build/cjs/components/Icons/Small/hlChevronLeftSmall.d.ts +4 -1
  41. package/build/cjs/components/Icons/Small/hlChevronRightSmall.d.ts +4 -1
  42. package/build/cjs/components/Icons/Small/hlChevronUpSmall.d.ts +4 -1
  43. package/build/cjs/components/Icons/Small/hlClockSmall.d.ts +4 -1
  44. package/build/cjs/components/Icons/Small/hlDownloadSmall.d.ts +4 -1
  45. package/build/cjs/components/Icons/Small/hlExternalSmall.d.ts +4 -1
  46. package/build/cjs/components/Icons/Small/hlUploadSmall.d.ts +4 -1
  47. package/build/cjs/components/Icons/Social/facebook.d.ts +4 -1
  48. package/build/cjs/components/Icons/Social/instagram.d.ts +4 -1
  49. package/build/cjs/components/Icons/Social/linkedin.d.ts +4 -1
  50. package/build/cjs/components/Icons/Social/tiktok.d.ts +4 -1
  51. package/build/cjs/components/Icons/Social/twitter.d.ts +4 -1
  52. package/build/cjs/components/Icons/Social/youtube.d.ts +4 -1
  53. package/build/cjs/components/Icons/hl404.d.ts +4 -1
  54. package/build/cjs/components/Icons/hl4gSim.d.ts +4 -1
  55. package/build/cjs/components/Icons/hl5gSim.d.ts +4 -1
  56. package/build/cjs/components/Icons/hlBattery.d.ts +4 -1
  57. package/build/cjs/components/Icons/hlBell.d.ts +4 -1
  58. package/build/cjs/components/Icons/hlCableTVCard.d.ts +3 -0
  59. package/build/cjs/components/Icons/hlCalendar.d.ts +4 -1
  60. package/build/cjs/components/Icons/hlCall.d.ts +4 -1
  61. package/build/cjs/components/Icons/hlCameraBack.d.ts +4 -1
  62. package/build/cjs/components/Icons/hlCameraFront.d.ts +4 -1
  63. package/build/cjs/components/Icons/hlCart.d.ts +4 -1
  64. package/build/cjs/components/Icons/hlCartEmpty.d.ts +4 -1
  65. package/build/cjs/components/Icons/hlChat.d.ts +4 -1
  66. package/build/cjs/components/Icons/hlCheck.d.ts +6 -1
  67. package/build/cjs/components/Icons/hlCheck.js +2 -0
  68. package/build/cjs/components/Icons/hlChevronDown.d.ts +4 -1
  69. package/build/cjs/components/Icons/hlChevronLeft.d.ts +4 -1
  70. package/build/cjs/components/Icons/hlChevronRight.d.ts +4 -1
  71. package/build/cjs/components/Icons/hlChevronUp.d.ts +4 -1
  72. package/build/cjs/components/Icons/hlCompensation.d.ts +4 -1
  73. package/build/cjs/components/Icons/hlCookie.d.ts +4 -1
  74. package/build/cjs/components/Icons/hlCopy.d.ts +4 -1
  75. package/build/cjs/components/Icons/hlCoupon.d.ts +4 -1
  76. package/build/cjs/components/Icons/hlDelivery.d.ts +4 -1
  77. package/build/cjs/components/Icons/hlDigiturva.d.ts +4 -1
  78. package/build/cjs/components/Icons/hlDisplaySize.d.ts +4 -1
  79. package/build/cjs/components/Icons/hlDocument.d.ts +4 -1
  80. package/build/cjs/components/Icons/hlDownload.d.ts +4 -1
  81. package/build/cjs/components/Icons/hlEnvelope.d.ts +4 -1
  82. package/build/cjs/components/Icons/hlError.d.ts +4 -1
  83. package/build/cjs/components/Icons/hlEuro.d.ts +4 -1
  84. package/build/cjs/components/Icons/hlExclamationMark.d.ts +4 -1
  85. package/build/cjs/components/Icons/hlExpand.d.ts +4 -1
  86. package/build/cjs/components/Icons/hlExternal.d.ts +4 -1
  87. package/build/cjs/components/Icons/hlEyeClosed.d.ts +4 -1
  88. package/build/cjs/components/Icons/hlEyeOpen.d.ts +4 -1
  89. package/build/cjs/components/Icons/hlFaceId.d.ts +4 -1
  90. package/build/cjs/components/Icons/hlFastDelivery.d.ts +4 -1
  91. package/build/cjs/components/Icons/hlFingerprint.d.ts +4 -1
  92. package/build/cjs/components/Icons/hlGlobe.d.ts +4 -1
  93. package/build/cjs/components/Icons/hlHeadphones.d.ts +4 -1
  94. package/build/cjs/components/Icons/hlHeadset.d.ts +4 -1
  95. package/build/cjs/components/Icons/hlHeart.d.ts +4 -1
  96. package/build/cjs/components/Icons/hlHome.d.ts +4 -1
  97. package/build/cjs/components/Icons/hlHub.d.ts +3 -0
  98. package/build/cjs/components/Icons/hlImage.d.ts +4 -1
  99. package/build/cjs/components/Icons/hlInfo.d.ts +4 -1
  100. package/build/cjs/components/Icons/hlInstallment.d.ts +4 -1
  101. package/build/cjs/components/Icons/hlIotSim.d.ts +4 -1
  102. package/build/cjs/components/Icons/hlLaptop.d.ts +3 -0
  103. package/build/cjs/components/Icons/hlLink.d.ts +7 -0
  104. package/build/cjs/components/Icons/hlLink.js +19 -0
  105. package/build/cjs/components/Icons/hlLiveVideo.d.ts +3 -0
  106. package/build/cjs/components/Icons/hlLock.d.ts +4 -1
  107. package/build/cjs/components/Icons/hlMagnifyingGlass.d.ts +4 -1
  108. package/build/cjs/components/Icons/hlMarker.d.ts +3 -0
  109. package/build/cjs/components/Icons/hlMemory.d.ts +4 -1
  110. package/build/cjs/components/Icons/hlMenu.d.ts +4 -1
  111. package/build/cjs/components/Icons/hlMinimize.d.ts +4 -1
  112. package/build/cjs/components/Icons/hlMinus.d.ts +4 -1
  113. package/build/cjs/components/Icons/hlMobileData.d.ts +4 -1
  114. package/build/cjs/components/Icons/hlMobilePayment.d.ts +4 -1
  115. package/build/cjs/components/Icons/hlModem.d.ts +4 -1
  116. package/build/cjs/components/Icons/hlMore.d.ts +4 -1
  117. package/build/cjs/components/Icons/hlOs.d.ts +4 -1
  118. package/build/cjs/components/Icons/hlPackage.d.ts +4 -1
  119. package/build/cjs/components/Icons/hlPaperclip.d.ts +4 -1
  120. package/build/cjs/components/Icons/hlPaytime.d.ts +4 -1
  121. package/build/cjs/components/Icons/hlPen.d.ts +4 -1
  122. package/build/cjs/components/Icons/hlPerson.d.ts +4 -1
  123. package/build/cjs/components/Icons/hlPhone.d.ts +4 -1
  124. package/build/cjs/components/Icons/hlPlaylist.d.ts +3 -0
  125. package/build/cjs/components/Icons/hlPlus.d.ts +4 -1
  126. package/build/cjs/components/Icons/hlPrepaid.d.ts +4 -1
  127. package/build/cjs/components/Icons/hlProcessor.d.ts +4 -1
  128. package/build/cjs/components/Icons/hlServices.d.ts +4 -1
  129. package/build/cjs/components/Icons/hlSettings.d.ts +4 -1
  130. package/build/cjs/components/Icons/hlShield.d.ts +4 -1
  131. package/build/cjs/components/Icons/hlSim.d.ts +4 -1
  132. package/build/cjs/components/Icons/hlSimSimple.d.ts +4 -1
  133. package/build/cjs/components/Icons/hlSmile.d.ts +4 -1
  134. package/build/cjs/components/Icons/hlSpeechBubble.d.ts +4 -1
  135. package/build/cjs/components/Icons/hlSquaretrade.d.ts +4 -1
  136. package/build/cjs/components/Icons/hlStar.d.ts +4 -1
  137. package/build/cjs/components/Icons/hlStarFilled.d.ts +4 -1
  138. package/build/cjs/components/Icons/hlTrash.d.ts +4 -1
  139. package/build/cjs/components/Icons/hlTv.d.ts +4 -1
  140. package/build/cjs/components/Icons/hlUnlock.d.ts +4 -1
  141. package/build/cjs/components/Icons/hlUpload.d.ts +4 -1
  142. package/build/cjs/components/Icons/hlWarning.d.ts +4 -1
  143. package/build/cjs/components/Icons/hlWifi.d.ts +4 -1
  144. package/build/cjs/components/Icons/hlWrench.d.ts +3 -0
  145. package/build/cjs/components/Icons/hlX.d.ts +4 -1
  146. package/build/cjs/components/Icons/index.d.ts +1 -0
  147. package/build/cjs/components/Icons/index.js +2 -0
  148. package/build/cjs/components/Input/Input.d.ts +28 -11
  149. package/build/cjs/components/Input/Input.js +58 -36
  150. package/build/cjs/components/Label/Label.d.ts +2 -1
  151. package/build/cjs/components/LabelText/LabelText.d.ts +2 -1
  152. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.d.ts +10 -0
  153. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +62 -0
  154. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.d.ts +3 -0
  155. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +206 -0
  156. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.d.ts +4 -0
  157. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +39 -0
  158. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.d.ts +10 -0
  159. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +42 -0
  160. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.d.ts +7 -0
  161. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +23 -0
  162. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +193 -0
  163. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +121 -0
  164. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +169 -0
  165. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +68 -0
  166. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +7 -0
  167. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +26 -0
  168. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.d.ts +3 -0
  169. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +194 -0
  170. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.d.ts +6 -0
  171. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +23 -0
  172. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +36 -0
  173. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +323 -0
  174. package/build/cjs/components/MainHeaderNavigation/context/MobileMenuContext.d.ts +6 -0
  175. package/build/cjs/components/MainHeaderNavigation/context/MobileMenuContext.js +11 -0
  176. package/build/cjs/components/MainHeaderNavigation/context/NavContext.d.ts +29 -0
  177. package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +56 -0
  178. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.d.ts +1482 -0
  179. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +189 -0
  180. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +2 -2
  181. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +35 -36
  182. package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +2 -2
  183. package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +5 -7
  184. package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +1 -1
  185. package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.js +12 -16
  186. package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.d.ts +1 -1
  187. package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.js +9 -9
  188. package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.js +4 -7
  189. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -4
  190. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +10 -10
  191. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +4 -2
  192. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +2 -2
  193. package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.js +5 -8
  194. package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.d.ts +1 -1
  195. package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.js +24 -22
  196. package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.js +4 -7
  197. package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.d.ts +2 -2
  198. package/build/cjs/components/MainNavigation/MainNavigation.d.ts +5 -5
  199. package/build/cjs/components/MainNavigation/MainNavigation.js +100 -74
  200. package/build/cjs/components/MainNavigation/context/MobileMenuContext.d.ts +3 -3
  201. package/build/cjs/components/MainNavigation/context/MobileMenuContext.js +1 -5
  202. package/build/cjs/components/MainNavigation/context/NavContext.d.ts +14 -15
  203. package/build/cjs/components/MainNavigation/context/NavContext.js +6 -5
  204. package/build/cjs/components/MainNavigation/globalNavStyles.d.ts +4 -4
  205. package/build/cjs/components/Modal/Modal.d.ts +2 -1
  206. package/build/cjs/components/Modal/Modal.js +2 -2
  207. package/build/cjs/components/Notification/Notification.d.ts +3 -2
  208. package/build/cjs/components/Notification/Notification.js +6 -10
  209. package/build/cjs/components/NotificationBadge/NotificationBadge.d.ts +2 -1
  210. package/build/cjs/components/Pill/Pill.d.ts +4 -3
  211. package/build/cjs/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  212. package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +2 -3
  213. package/build/cjs/components/RadioButton/RadioButton.d.ts +2 -1
  214. package/build/cjs/components/ReadMore/ReadMore.d.ts +4 -4
  215. package/build/cjs/components/ReadMore/ReadMore.js +2 -4
  216. package/build/cjs/components/Search/Search.d.ts +7 -6
  217. package/build/cjs/components/Search/Search.js +3 -4
  218. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -2
  219. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +25 -33
  220. package/build/cjs/components/Selectbox/Selectbox.js +10 -15
  221. package/build/cjs/components/Selectbox/__tests__/Selectbox.spec.d.ts +1 -0
  222. package/build/cjs/components/Tabs/Tab.d.ts +5 -3
  223. package/build/cjs/components/Tabs/Tab.js +1 -1
  224. package/build/cjs/components/Tabs/Tabs.d.ts +18 -19
  225. package/build/cjs/components/Tabs/Tabs.js +3 -3
  226. package/build/cjs/components/Textarea/Textarea.d.ts +6 -5
  227. package/build/cjs/components/Toaster/Toaster.d.ts +3 -2
  228. package/build/cjs/components/Toaster/Toaster.js +7 -11
  229. package/build/cjs/components/Tooltip/Tooltip.d.ts +2 -1
  230. package/build/cjs/components/Tooltip/Tooltip.js +3 -3
  231. package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +2 -2
  232. package/build/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -1
  233. package/build/cjs/components/TooltipMenu/TooltipMenu.js +2 -3
  234. package/build/cjs/components/index.d.ts +3 -1
  235. package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +3 -2
  236. package/build/cjs/hooks/useDebounce.d.ts +2 -0
  237. package/build/cjs/hooks/useDebounce.js +23 -0
  238. package/build/cjs/hooks/useDocHeight.d.ts +2 -1
  239. package/build/cjs/hooks/useDocHeight.js +5 -25
  240. package/build/cjs/hooks/useResizeObserver.d.ts +6 -0
  241. package/build/cjs/hooks/{useElementDimensions.js → useResizeObserver.js} +5 -5
  242. package/build/cjs/hooks/useScrollPosition.d.ts +2 -3
  243. package/build/cjs/hooks/useScrollPosition.js +8 -14
  244. package/build/cjs/index.js +6 -0
  245. package/build/cjs/themes/globalStyles.d.ts +3 -3
  246. package/build/cjs/themes/styled.d.ts +7 -7
  247. package/build/cjs/themes/theme.d.ts +1 -1
  248. package/build/cjs/themes/themeComponents/navigation.d.ts +8 -0
  249. package/build/cjs/themes/themeComponents/navigation.js +14 -1
  250. package/build/cjs/utils/common.d.ts +2 -1
  251. package/build/cjs/utils/common.js +1 -1
  252. package/build/cjs/utils/createStyled.d.ts +163 -2
  253. package/build/cjs/utils/createStyled.js +2 -2
  254. package/build/cjs/utils/styledUtils.d.ts +1 -1
  255. package/build/es/{assets/bundle-8de31ca3.css → build/assets/fonts/fonts.css} +129 -129
  256. package/build/es/components/Accordion/Accordion.d.ts +2 -1
  257. package/build/es/components/Accordion/Accordion.js +5 -5
  258. package/build/es/components/AccordionItem/AccordionItem.d.ts +4 -3
  259. package/build/es/components/AccordionItem/AccordionItem.js +4 -6
  260. package/build/es/components/AmountSelector/AmountSelector.d.ts +1 -1
  261. package/build/es/components/AmountSelector/AmountSelector.js +3 -5
  262. package/build/es/components/Box/Box.d.ts +2 -1
  263. package/build/es/components/Box/Box.js +1 -1
  264. package/build/es/components/Button/Button.d.ts +4 -3
  265. package/build/es/components/Button/ButtonArrow.d.ts +6 -5
  266. package/build/es/components/Button/ButtonArrow.js +7 -12
  267. package/build/es/components/Button/ButtonIcon.d.ts +1 -1
  268. package/build/es/components/Button/ButtonIcon.js +2 -2
  269. package/build/es/components/Checkbox/Checkbox.js +1 -1
  270. package/build/es/components/Chip/Chip.d.ts +3 -2
  271. package/build/es/components/DateTimePicker/DateTimePicker.d.ts +102 -0
  272. package/build/es/components/DateTimePicker/DateTimePicker.js +271 -0
  273. package/build/es/components/Divider/Divider.d.ts +2 -1
  274. package/build/es/components/DnaLogo/DnaLogo.d.ts +2 -1
  275. package/build/es/components/Drawer/Drawer.d.ts +2 -1
  276. package/build/es/components/Drawer/Drawer.js +2 -2
  277. package/build/es/components/EmptyState/EmptyState.d.ts +3 -2
  278. package/build/es/components/EmptyState/EmptyState.js +2 -2
  279. package/build/es/components/Floater/Floater.d.ts +2 -1
  280. package/build/es/components/Footer/Components/FooterComponents.d.ts +4 -71
  281. package/build/es/components/Footer/Components/FooterComponents.js +139 -209
  282. package/build/es/components/Footer/Footer.d.ts +4 -13
  283. package/build/es/components/Footer/Footer.js +185 -41
  284. package/build/es/components/Footer/context/FooterContext.d.ts +5 -4
  285. package/build/es/components/Footer/context/FooterContext.js +2 -2
  286. package/build/es/components/Icon/Icon.d.ts +8 -8
  287. package/build/es/components/Icon/Icon.js +14 -18
  288. package/build/es/components/Icons/Small/hlArrowBackSmall.d.ts +3 -0
  289. package/build/es/components/Icons/Small/hlArrowForwardSmall.d.ts +3 -0
  290. package/build/es/components/Icons/Small/hlArrowUnderSmall.d.ts +3 -0
  291. package/build/es/components/Icons/Small/hlCalendarSmall.d.ts +4 -1
  292. package/build/es/components/Icons/Small/hlChevronDownSmall.d.ts +4 -1
  293. package/build/es/components/Icons/Small/hlChevronLeftSmall.d.ts +4 -1
  294. package/build/es/components/Icons/Small/hlChevronRightSmall.d.ts +4 -1
  295. package/build/es/components/Icons/Small/hlChevronUpSmall.d.ts +4 -1
  296. package/build/es/components/Icons/Small/hlClockSmall.d.ts +4 -1
  297. package/build/es/components/Icons/Small/hlDownloadSmall.d.ts +4 -1
  298. package/build/es/components/Icons/Small/hlExternalSmall.d.ts +4 -1
  299. package/build/es/components/Icons/Small/hlUploadSmall.d.ts +4 -1
  300. package/build/es/components/Icons/Social/facebook.d.ts +4 -1
  301. package/build/es/components/Icons/Social/instagram.d.ts +4 -1
  302. package/build/es/components/Icons/Social/linkedin.d.ts +4 -1
  303. package/build/es/components/Icons/Social/tiktok.d.ts +4 -1
  304. package/build/es/components/Icons/Social/twitter.d.ts +4 -1
  305. package/build/es/components/Icons/Social/youtube.d.ts +4 -1
  306. package/build/es/components/Icons/hl404.d.ts +4 -1
  307. package/build/es/components/Icons/hl4gSim.d.ts +4 -1
  308. package/build/es/components/Icons/hl5gSim.d.ts +4 -1
  309. package/build/es/components/Icons/hlBattery.d.ts +4 -1
  310. package/build/es/components/Icons/hlBell.d.ts +4 -1
  311. package/build/es/components/Icons/hlCableTVCard.d.ts +3 -0
  312. package/build/es/components/Icons/hlCalendar.d.ts +4 -1
  313. package/build/es/components/Icons/hlCall.d.ts +4 -1
  314. package/build/es/components/Icons/hlCameraBack.d.ts +4 -1
  315. package/build/es/components/Icons/hlCameraFront.d.ts +4 -1
  316. package/build/es/components/Icons/hlCart.d.ts +4 -1
  317. package/build/es/components/Icons/hlCartEmpty.d.ts +4 -1
  318. package/build/es/components/Icons/hlChat.d.ts +4 -1
  319. package/build/es/components/Icons/hlCheck.d.ts +6 -1
  320. package/build/es/components/Icons/hlCheck.js +2 -0
  321. package/build/es/components/Icons/hlChevronDown.d.ts +4 -1
  322. package/build/es/components/Icons/hlChevronLeft.d.ts +4 -1
  323. package/build/es/components/Icons/hlChevronRight.d.ts +4 -1
  324. package/build/es/components/Icons/hlChevronUp.d.ts +4 -1
  325. package/build/es/components/Icons/hlCompensation.d.ts +4 -1
  326. package/build/es/components/Icons/hlCookie.d.ts +4 -1
  327. package/build/es/components/Icons/hlCopy.d.ts +4 -1
  328. package/build/es/components/Icons/hlCoupon.d.ts +4 -1
  329. package/build/es/components/Icons/hlDelivery.d.ts +4 -1
  330. package/build/es/components/Icons/hlDigiturva.d.ts +4 -1
  331. package/build/es/components/Icons/hlDisplaySize.d.ts +4 -1
  332. package/build/es/components/Icons/hlDocument.d.ts +4 -1
  333. package/build/es/components/Icons/hlDownload.d.ts +4 -1
  334. package/build/es/components/Icons/hlEnvelope.d.ts +4 -1
  335. package/build/es/components/Icons/hlError.d.ts +4 -1
  336. package/build/es/components/Icons/hlEuro.d.ts +4 -1
  337. package/build/es/components/Icons/hlExclamationMark.d.ts +4 -1
  338. package/build/es/components/Icons/hlExpand.d.ts +4 -1
  339. package/build/es/components/Icons/hlExternal.d.ts +4 -1
  340. package/build/es/components/Icons/hlEyeClosed.d.ts +4 -1
  341. package/build/es/components/Icons/hlEyeOpen.d.ts +4 -1
  342. package/build/es/components/Icons/hlFaceId.d.ts +4 -1
  343. package/build/es/components/Icons/hlFastDelivery.d.ts +4 -1
  344. package/build/es/components/Icons/hlFingerprint.d.ts +4 -1
  345. package/build/es/components/Icons/hlGlobe.d.ts +4 -1
  346. package/build/es/components/Icons/hlHeadphones.d.ts +4 -1
  347. package/build/es/components/Icons/hlHeadset.d.ts +4 -1
  348. package/build/es/components/Icons/hlHeart.d.ts +4 -1
  349. package/build/es/components/Icons/hlHome.d.ts +4 -1
  350. package/build/es/components/Icons/hlHub.d.ts +3 -0
  351. package/build/es/components/Icons/hlImage.d.ts +4 -1
  352. package/build/es/components/Icons/hlInfo.d.ts +4 -1
  353. package/build/es/components/Icons/hlInstallment.d.ts +4 -1
  354. package/build/es/components/Icons/hlIotSim.d.ts +4 -1
  355. package/build/es/components/Icons/hlLaptop.d.ts +3 -0
  356. package/build/es/components/Icons/hlLink.d.ts +7 -0
  357. package/build/es/components/Icons/hlLink.js +11 -0
  358. package/build/es/components/Icons/hlLiveVideo.d.ts +3 -0
  359. package/build/es/components/Icons/hlLock.d.ts +4 -1
  360. package/build/es/components/Icons/hlMagnifyingGlass.d.ts +4 -1
  361. package/build/es/components/Icons/hlMarker.d.ts +3 -0
  362. package/build/es/components/Icons/hlMemory.d.ts +4 -1
  363. package/build/es/components/Icons/hlMenu.d.ts +4 -1
  364. package/build/es/components/Icons/hlMinimize.d.ts +4 -1
  365. package/build/es/components/Icons/hlMinus.d.ts +4 -1
  366. package/build/es/components/Icons/hlMobileData.d.ts +4 -1
  367. package/build/es/components/Icons/hlMobilePayment.d.ts +4 -1
  368. package/build/es/components/Icons/hlModem.d.ts +4 -1
  369. package/build/es/components/Icons/hlMore.d.ts +4 -1
  370. package/build/es/components/Icons/hlOs.d.ts +4 -1
  371. package/build/es/components/Icons/hlPackage.d.ts +4 -1
  372. package/build/es/components/Icons/hlPaperclip.d.ts +4 -1
  373. package/build/es/components/Icons/hlPaytime.d.ts +4 -1
  374. package/build/es/components/Icons/hlPen.d.ts +4 -1
  375. package/build/es/components/Icons/hlPerson.d.ts +4 -1
  376. package/build/es/components/Icons/hlPhone.d.ts +4 -1
  377. package/build/es/components/Icons/hlPlaylist.d.ts +3 -0
  378. package/build/es/components/Icons/hlPlus.d.ts +4 -1
  379. package/build/es/components/Icons/hlPrepaid.d.ts +4 -1
  380. package/build/es/components/Icons/hlProcessor.d.ts +4 -1
  381. package/build/es/components/Icons/hlServices.d.ts +4 -1
  382. package/build/es/components/Icons/hlSettings.d.ts +4 -1
  383. package/build/es/components/Icons/hlShield.d.ts +4 -1
  384. package/build/es/components/Icons/hlSim.d.ts +4 -1
  385. package/build/es/components/Icons/hlSimSimple.d.ts +4 -1
  386. package/build/es/components/Icons/hlSmile.d.ts +4 -1
  387. package/build/es/components/Icons/hlSpeechBubble.d.ts +4 -1
  388. package/build/es/components/Icons/hlSquaretrade.d.ts +4 -1
  389. package/build/es/components/Icons/hlStar.d.ts +4 -1
  390. package/build/es/components/Icons/hlStarFilled.d.ts +4 -1
  391. package/build/es/components/Icons/hlTrash.d.ts +4 -1
  392. package/build/es/components/Icons/hlTv.d.ts +4 -1
  393. package/build/es/components/Icons/hlUnlock.d.ts +4 -1
  394. package/build/es/components/Icons/hlUpload.d.ts +4 -1
  395. package/build/es/components/Icons/hlWarning.d.ts +4 -1
  396. package/build/es/components/Icons/hlWifi.d.ts +4 -1
  397. package/build/es/components/Icons/hlWrench.d.ts +3 -0
  398. package/build/es/components/Icons/hlX.d.ts +4 -1
  399. package/build/es/components/Icons/index.d.ts +1 -0
  400. package/build/es/components/Icons/index.js +1 -0
  401. package/build/es/components/Input/Input.d.ts +28 -11
  402. package/build/es/components/Input/Input.js +58 -36
  403. package/build/es/components/Label/Label.d.ts +2 -1
  404. package/build/es/components/LabelText/LabelText.d.ts +2 -1
  405. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.d.ts +10 -0
  406. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +54 -0
  407. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.d.ts +3 -0
  408. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +198 -0
  409. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.d.ts +4 -0
  410. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +31 -0
  411. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.d.ts +10 -0
  412. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +33 -0
  413. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.d.ts +7 -0
  414. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +15 -0
  415. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +193 -0
  416. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +112 -0
  417. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +169 -0
  418. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +63 -0
  419. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +7 -0
  420. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +18 -0
  421. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.d.ts +3 -0
  422. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +186 -0
  423. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.d.ts +6 -0
  424. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.js +15 -0
  425. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +36 -0
  426. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +315 -0
  427. package/build/es/components/MainHeaderNavigation/context/MobileMenuContext.d.ts +6 -0
  428. package/build/es/components/MainHeaderNavigation/context/MobileMenuContext.js +7 -0
  429. package/build/es/components/MainHeaderNavigation/context/NavContext.d.ts +29 -0
  430. package/build/es/components/MainHeaderNavigation/context/NavContext.js +52 -0
  431. package/build/es/components/MainHeaderNavigation/globalNavStyles.d.ts +1482 -0
  432. package/build/es/components/MainHeaderNavigation/globalNavStyles.js +177 -0
  433. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +2 -2
  434. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.js +35 -36
  435. package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +2 -2
  436. package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +5 -7
  437. package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +1 -1
  438. package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.js +13 -17
  439. package/build/es/components/MainNavigation/ChildComponents/LinkModifier.d.ts +1 -1
  440. package/build/es/components/MainNavigation/ChildComponents/LinkModifier.js +9 -9
  441. package/build/es/components/MainNavigation/ChildComponents/LoginTooltip.js +5 -8
  442. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -4
  443. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +11 -11
  444. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +4 -2
  445. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +2 -3
  446. package/build/es/components/MainNavigation/ChildComponents/MinicartTooltip.js +6 -9
  447. package/build/es/components/MainNavigation/ChildComponents/MobileMenu.d.ts +1 -1
  448. package/build/es/components/MainNavigation/ChildComponents/MobileMenu.js +25 -23
  449. package/build/es/components/MainNavigation/ChildComponents/PageSearch.js +5 -8
  450. package/build/es/components/MainNavigation/ChildComponents/Ribbon.d.ts +2 -2
  451. package/build/es/components/MainNavigation/MainNavigation.d.ts +5 -5
  452. package/build/es/components/MainNavigation/MainNavigation.js +101 -75
  453. package/build/es/components/MainNavigation/context/MobileMenuContext.d.ts +3 -3
  454. package/build/es/components/MainNavigation/context/MobileMenuContext.js +2 -2
  455. package/build/es/components/MainNavigation/context/NavContext.d.ts +14 -15
  456. package/build/es/components/MainNavigation/context/NavContext.js +7 -2
  457. package/build/es/components/MainNavigation/globalNavStyles.d.ts +4 -4
  458. package/build/es/components/Modal/Modal.d.ts +2 -1
  459. package/build/es/components/Modal/Modal.js +2 -2
  460. package/build/es/components/Notification/Notification.d.ts +3 -2
  461. package/build/es/components/Notification/Notification.js +6 -10
  462. package/build/es/components/NotificationBadge/NotificationBadge.d.ts +2 -1
  463. package/build/es/components/Pill/Pill.d.ts +4 -3
  464. package/build/es/components/ProgressIndicator/ProgressIndicator.d.ts +2 -1
  465. package/build/es/components/ProgressIndicator/ProgressIndicator.js +2 -3
  466. package/build/es/components/RadioButton/RadioButton.d.ts +2 -1
  467. package/build/es/components/ReadMore/ReadMore.d.ts +4 -4
  468. package/build/es/components/ReadMore/ReadMore.js +2 -4
  469. package/build/es/components/Search/Search.d.ts +7 -6
  470. package/build/es/components/Search/Search.js +4 -5
  471. package/build/es/components/SecondaryNavigation/SecondaryNavigation.d.ts +19 -2
  472. package/build/es/components/SecondaryNavigation/SecondaryNavigation.js +25 -33
  473. package/build/es/components/Selectbox/Selectbox.js +10 -15
  474. package/build/es/components/Selectbox/__tests__/Selectbox.spec.d.ts +1 -0
  475. package/build/es/components/Tabs/Tab.d.ts +5 -3
  476. package/build/es/components/Tabs/Tab.js +2 -2
  477. package/build/es/components/Tabs/Tabs.d.ts +18 -19
  478. package/build/es/components/Tabs/Tabs.js +4 -4
  479. package/build/es/components/Textarea/Textarea.d.ts +6 -5
  480. package/build/es/components/Toaster/Toaster.d.ts +3 -2
  481. package/build/es/components/Toaster/Toaster.js +7 -11
  482. package/build/es/components/Tooltip/Tooltip.d.ts +2 -1
  483. package/build/es/components/Tooltip/Tooltip.js +3 -3
  484. package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +2 -2
  485. package/build/es/components/TooltipMenu/TooltipMenu.d.ts +2 -1
  486. package/build/es/components/TooltipMenu/TooltipMenu.js +2 -3
  487. package/build/es/components/index.d.ts +3 -1
  488. package/build/es/hooks/useCloseOutsideOrElementClicked.js +3 -2
  489. package/build/es/hooks/useDebounce.d.ts +2 -0
  490. package/build/es/hooks/useDebounce.js +19 -0
  491. package/build/es/hooks/useDocHeight.d.ts +2 -1
  492. package/build/es/hooks/useDocHeight.js +6 -6
  493. package/build/es/hooks/useResizeObserver.d.ts +6 -0
  494. package/build/es/hooks/{useElementDimensions.js → useResizeObserver.js} +5 -5
  495. package/build/es/hooks/useScrollPosition.d.ts +2 -3
  496. package/build/es/hooks/useScrollPosition.js +9 -11
  497. package/build/es/index.js +3 -0
  498. package/build/es/themes/globalStyles.d.ts +3 -3
  499. package/build/es/themes/styled.d.ts +7 -7
  500. package/build/es/themes/theme.d.ts +1 -1
  501. package/build/es/themes/themeComponents/navigation.d.ts +8 -0
  502. package/build/es/themes/themeComponents/navigation.js +10 -2
  503. package/build/es/utils/common.d.ts +2 -1
  504. package/build/es/utils/common.js +1 -1
  505. package/build/es/utils/createStyled.d.ts +163 -2
  506. package/build/es/utils/createStyled.js +2 -2
  507. package/build/es/utils/styledUtils.d.ts +1 -1
  508. package/package.json +24 -11
  509. package/build/cjs/hooks/modifyBodyClass.d.ts +0 -1
  510. package/build/cjs/hooks/modifyBodyClass.js +0 -20
  511. package/build/cjs/hooks/useDebounceFunc.d.ts +0 -1
  512. package/build/cjs/hooks/useDebounceFunc.js +0 -39
  513. package/build/cjs/hooks/useElementDimensions.d.ts +0 -5
  514. package/build/es/hooks/modifyBodyClass.d.ts +0 -1
  515. package/build/es/hooks/modifyBodyClass.js +0 -16
  516. package/build/es/hooks/useDebounceFunc.d.ts +0 -1
  517. package/build/es/hooks/useDebounceFunc.js +0 -15
  518. package/build/es/hooks/useElementDimensions.d.ts +0 -5
@@ -0,0 +1,198 @@
1
+ import { ChevronRight } from '@dnanpm/icons';
2
+ import React__default, { useContext, useRef } from 'react';
3
+ import useOutsideClick from '../../../hooks/useOutsideClick.js';
4
+ import styled, { keyframes, css } from '../../../themes/styled.js';
5
+ import theme from '../../../themes/theme.js';
6
+ import { navMaxHeight, headerMaxHeight } from '../../../themes/themeComponents/navigation.js';
7
+ import { getMultipliedSize, media } from '../../../utils/styledUtils.js';
8
+ import Icon from '../../Icon/Icon.js';
9
+ import NavContext from '../context/NavContext.js';
10
+ import { MenuList, MenuItem, MenuLinkWithChildren, FeaturedBlock } from '../globalNavStyles.js';
11
+ import LinkModifier, { isSelected } from './LinkModifier.js';
12
+
13
+ const fadeIn = keyframes `
14
+ 0% {
15
+ opacity: 0;
16
+ transform: translateY(-5px);
17
+ }
18
+ 100% {
19
+ opacity: 1;
20
+ transform: translateY(0px);
21
+ }
22
+ `;
23
+ const fadeInAnimation = css `
24
+ animation: ${fadeIn} 0.3s ease-in-out;
25
+ `;
26
+ const noAnimation = css `
27
+ animation: none;
28
+ `;
29
+ const MegaMenuContent = styled.ul `
30
+ display: grid;
31
+ grid-template-columns: 25% 25% 25% 25%;
32
+ padding-left: 0;
33
+ `;
34
+ const CategoryTitle = styled.span `
35
+ display: flex;
36
+ font-size: ${theme.fontSize.default};
37
+ line-height: ${theme.lineHeight.default};
38
+ font-weight: ${theme.fontWeight.bold};
39
+ padding: 0 ${getMultipliedSize(theme.base.baseHeight, 2)}
40
+ ${getMultipliedSize(theme.base.baseWidth, 1)};
41
+ ${media.xl `
42
+ font-size: ${theme.fontSize.xl};
43
+ `}
44
+ `;
45
+ const CategoryBlock = styled.li `
46
+ display: block;
47
+ padding: ${getMultipliedSize(theme.base.baseHeight, 2)} 0;
48
+ border-right: 1px solid ${theme.color.line.L03};
49
+
50
+ a {
51
+ font-size: ${theme.fontSize.s};
52
+ line-height: ${theme.lineHeight.s};
53
+ padding: ${getMultipliedSize(theme.base.baseHeight, 0.5)}
54
+ ${getMultipliedSize(theme.base.baseWidth, 3)};
55
+ &:hover,
56
+ &:focus {
57
+ background-color: ${theme.color.background.sand.E01};
58
+ }
59
+ ${media.xl `
60
+ font-size: ${theme.fontSize.default};
61
+ line-height: ${theme.lineHeight.default};
62
+ `}
63
+ }
64
+ `;
65
+ const CategoryCollectionBlock = styled(CategoryBlock) `
66
+ background-color: ${theme.color.background.sand.E01};
67
+ `;
68
+ const SubMenuItem = styled.li `
69
+ > a {
70
+ color: ${p => (p.isHighlighted ? theme.color.text.pink : theme.color.text.black)};
71
+ font-weight: ${p => (p.isHighlighted ? theme.fontWeight.bold : theme.fontWeight.book)};
72
+ }
73
+ }
74
+ `;
75
+ const DesktopMenuList = styled(MenuList) `
76
+ @media (min-width: ${p => p.collapseSize + 1}px) {
77
+ flex-direction: row;
78
+ gap: ${getMultipliedSize(theme.base.baseHeight, 1.5)};
79
+ }
80
+ ul {
81
+ li {
82
+ a {
83
+ display: flex;
84
+ align-items: center;
85
+ }
86
+ }
87
+ }
88
+ > li {
89
+ > a,
90
+ > button {
91
+ white-space: nowrap;
92
+ text-decoration: none;
93
+ }
94
+ }
95
+ `;
96
+ const DesktopMenuItem = styled(MenuItem) `
97
+ > a,
98
+ > button {
99
+ width: auto;
100
+ display: flex;
101
+ gap: ${getMultipliedSize(theme.base.baseHeight, 0.5)};
102
+ align-items: center;
103
+ padding: 0 ${getMultipliedSize(theme.base.baseHeight, 0.5)};
104
+ height: 100%;
105
+ font-weight: ${theme.fontWeight.medium};
106
+
107
+ > span:first-child {
108
+ position: relative;
109
+ &:after {
110
+ position: absolute;
111
+ content: '';
112
+ width: 100%;
113
+ bottom: -22px;
114
+ left: 0;
115
+ border-bottom: 2px solid
116
+ ${p => (p.isActive ? theme.color.default.pink : 'transparent')};
117
+ }
118
+ }
119
+ }
120
+ `;
121
+ // MEGAMENU 1st level
122
+ const SubMenuList = styled.div `
123
+ position: absolute;
124
+ top: ${navMaxHeight};
125
+ left: 0;
126
+ right: 0;
127
+ display: ${({ menuStates, navItemId }) => (menuStates === null || menuStates === void 0 ? void 0 : menuStates.level1) === navItemId ? 'block' : 'none'};
128
+ z-index: ${({ navZIndex }) => navZIndex + 1};
129
+ ${({ menuStates }) => menuStates.level1 && menuStates.animate2 && !menuStates.level2
130
+ ? fadeInAnimation
131
+ : noAnimation};
132
+ background-color: ${theme.color.background.white.default};
133
+ max-height: calc(100vh - ${getMultipliedSize(theme.base.baseHeight, 3)} - ${headerMaxHeight});
134
+ border-bottom: 1px solid ${theme.color.line.L03};
135
+ overflow: auto;
136
+ ul {
137
+ padding: 0;
138
+ list-style: none;
139
+ }
140
+ `;
141
+ const SubMenuLevel1 = ({ menuItem }) => {
142
+ const { categoryCollectionText, collapseSize, currentUrl, lang, menuLevel, navZIndex } = useContext(NavContext);
143
+ const level1HasElements = !!menuItem.pages.length;
144
+ const pagesWithSubItems = menuItem.pages.filter(element => element.pages.length > 0);
145
+ // Helper function to render a sub menu item
146
+ const renderSubMenuItem = (element, index, currUrl) => (React__default.createElement(SubMenuItem, { key: element.id, isHighlighted: isSelected(currUrl, element.urls[lang], true), "data-testid": `desktop-nav-item-level-2-${index + 1}` },
147
+ React__default.createElement(LinkModifier, { menuItem: element, tabIndex: false })));
148
+ if (!level1HasElements) {
149
+ return null;
150
+ }
151
+ return (React__default.createElement(SubMenuList, { "aria-hidden": false, menuStates: menuLevel, navItemId: menuItem.id, navZIndex: navZIndex },
152
+ React__default.createElement(MegaMenuContent, null,
153
+ pagesWithSubItems.slice(0, 5).map(element => (React__default.createElement(CategoryBlock, { key: element.id },
154
+ React__default.createElement(CategoryTitle, null, element.titles[lang]),
155
+ React__default.createElement("ul", { "data-testid": "desktop-nav-menu-ul-level-2" }, element.pages.map((subElement, index) => renderSubMenuItem(subElement, index, currentUrl)))))),
156
+ pagesWithSubItems.length > 5 && (React__default.createElement(CategoryCollectionBlock, null,
157
+ React__default.createElement(CategoryTitle, null, categoryCollectionText),
158
+ React__default.createElement("ul", { "data-testid": "desktop-nav-menu-ul-level-2" }, pagesWithSubItems
159
+ .slice(5)
160
+ .map((element, index) => renderSubMenuItem(element, index, currentUrl))))),
161
+ React__default.createElement(FeaturedBlock, { collapseSize: collapseSize, "data-testid": "desktop-nav-menu-level-2-featured" }, menuItem.pages.map(element => element.pages.length ? null : (React__default.createElement(LinkModifier, { key: element.id, showIcon: true, menuItem: element, tabIndex: false })))))));
162
+ };
163
+ const MenuItemWithChildren = ({ menuItem, currentLevel }) => {
164
+ const { lang, handleNavMenuClick, currentUrl, menuLevel } = useContext(NavContext);
165
+ const menuClickMain = (element) => () => {
166
+ handleNavMenuClick(element.id, 'level1');
167
+ };
168
+ return (React__default.createElement(DesktopMenuItem, { isActive: isSelected(currentUrl, menuItem.urls[lang]), "data-testid": `desktop-nav-item-level-1-${currentLevel + 1}`, role: "presentation" },
169
+ React__default.createElement(MenuLinkWithChildren, { isOpen: menuLevel.level1 === menuItem.id, onClick: menuClickMain(menuItem), role: "menuitem", "aria-haspopup": "true", "data-testid": "menu-button-with-children" },
170
+ React__default.createElement("span", null, menuItem.titles[lang]),
171
+ React__default.createElement(Icon, { icon: ChevronRight, size: "1rem" })),
172
+ React__default.createElement(SubMenuLevel1, { menuItem: menuItem })));
173
+ };
174
+ const DesktopMenu = () => {
175
+ var _a;
176
+ const { items, lang, resetMenuEvents, menuLevel, currentUrl, collapseSize } = useContext(NavContext);
177
+ const mainNavigation = ((_a = items === null || items === void 0 ? void 0 : items.mainNavigation) === null || _a === void 0 ? void 0 : _a.pages) || [];
178
+ const ref = useRef(null);
179
+ useOutsideClick(ref, () => {
180
+ if (menuLevel.level1 || menuLevel.level2) {
181
+ resetMenuEvents();
182
+ }
183
+ });
184
+ if (!mainNavigation.length) {
185
+ return null;
186
+ }
187
+ return (React__default.createElement(DesktopMenuList, { role: "menu", "aria-hidden": false, ref: ref, "data-testid": "desktop-nav-menu-ul", collapseSize: collapseSize }, mainNavigation.map((navElement, index) => {
188
+ var _a;
189
+ const displaySubMenu = !navElement.pageIsLinkInDesktopNavigation && !!((_a = navElement.pages) === null || _a === void 0 ? void 0 : _a.length);
190
+ if (displaySubMenu) {
191
+ return (React__default.createElement(MenuItemWithChildren, { menuItem: navElement, key: navElement.id, currentLevel: index }));
192
+ }
193
+ return (React__default.createElement(DesktopMenuItem, { key: navElement.id, role: "presentation", "data-testid": `desktop-nav-item-level-1-${index + 1}`, isActive: isSelected(currentUrl, navElement.urls[lang]) },
194
+ React__default.createElement(LinkModifier, { menuItem: navElement, tabIndex: false })));
195
+ })));
196
+ };
197
+
198
+ export { DesktopMenu as default };
@@ -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,31 @@
1
+ import { Globe } from '@dnanpm/icons';
2
+ import React__default, { useContext, useCallback } from 'react';
3
+ import styled from '../../../themes/styled.js';
4
+ import theme from '../../../themes/theme.js';
5
+ import { navIconSize } from '../../../themes/themeComponents/navigation.js';
6
+ import { getMultipliedSize } from '../../../utils/styledUtils.js';
7
+ import Icon from '../../Icon/Icon.js';
8
+ import NavContext from '../context/NavContext.js';
9
+ import { MenuLink } from '../globalNavStyles.js';
10
+ import MainNavTooltipMenu from './MainNavTooltipMenu.js';
11
+
12
+ const MenuItem = styled(MenuLink) `
13
+ font-weight: ${theme.fontWeight.medium};
14
+ margin: ${getMultipliedSize(theme.base.baseHeight, 1)} auto;
15
+ text-align: center;
16
+ `;
17
+ const LangComponent = ({ currentLanguage, languagesObject }) => (React__default.createElement(React__default.Fragment, null, Object.entries(languagesObject)
18
+ .filter(([key]) => key.toLowerCase() !== currentLanguage.toLowerCase())
19
+ .map(([key, value]) => (React__default.createElement(MenuItem, { key: `language-${key}`, href: value }, key.toUpperCase())))));
20
+ const LanguageSelector = ({ currentLanguage, languagesObject, languageSelectorLabel, }) => {
21
+ const { isMobileMenu, navZIndex } = useContext(NavContext);
22
+ const LngComponent = useCallback(() => (React__default.createElement(LangComponent, { languageSelectorLabel: languageSelectorLabel, currentLanguage: currentLanguage, languagesObject: languagesObject })), [currentLanguage, languagesObject, languageSelectorLabel]);
23
+ if (Object.keys(languagesObject).length < 2) {
24
+ return null;
25
+ }
26
+ return (React__default.createElement(MainNavTooltipMenu, { ariaLabel: languageSelectorLabel, closeWhenTagClicked: ['a'], contentComponent: LngComponent, contentWidth: "5rem", globalStateString: "lang", tooltipRight: isMobileMenu ? '13.8rem' : '11.8rem', zIndex: navZIndex + 1 },
27
+ React__default.createElement(Icon, { icon: Globe, size: navIconSize }),
28
+ React__default.createElement("span", { "data-testid": "header-lang-label" }, currentLanguage.toUpperCase())));
29
+ };
30
+
31
+ export { LanguageSelector as default };
@@ -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,33 @@
1
+ import { Open, ArrowRight } from '@dnanpm/icons';
2
+ import React__default, { useContext } from 'react';
3
+ import theme from '../../../themes/theme.js';
4
+ import Icon from '../../Icon/Icon.js';
5
+ import NavContext from '../context/NavContext.js';
6
+ import { MenuLink } from '../globalNavStyles.js';
7
+
8
+ const isSelected = (currentUrl, linkUrl, exactMatch = false) => {
9
+ if (currentUrl && linkUrl) {
10
+ let url = linkUrl;
11
+ if (url.includes('http')) {
12
+ url = url.replace(/^.*\/\/[^/]+/, '');
13
+ }
14
+ return exactMatch ? url === currentUrl : currentUrl.includes(url);
15
+ }
16
+ return false;
17
+ };
18
+ const isMenuItemLinkAbsolute = (menuItemLink) => menuItemLink.includes('http');
19
+ const LinkModifier = ({ menuItem, tabIndex, showIcon }) => {
20
+ const { lang, nextJSLinkComponent, resetMenuEvents } = useContext(NavContext);
21
+ const menuItemLink = menuItem.urls[lang] || '';
22
+ const isExternalLink = menuItem.target === '_blank';
23
+ const MenuLinkComponent = (React__default.createElement(MenuLink, { href: menuItemLink, id: menuItem.id, onClick: resetMenuEvents, role: "menuitem", tabIndex: tabIndex ? -1 : undefined, target: isExternalLink ? '_blank' : '_self' },
24
+ showIcon && (React__default.createElement(Icon, { icon: isExternalLink ? Open : ArrowRight, size: "1rem", color: theme.color.default.pink })),
25
+ React__default.createElement("span", null, menuItem.titles[lang])));
26
+ if (nextJSLinkComponent && !isMenuItemLinkAbsolute(menuItemLink)) {
27
+ const NextJSLinkComponent = nextJSLinkComponent;
28
+ return (React__default.createElement(NextJSLinkComponent, { linkUrl: menuItemLink }, MenuLinkComponent));
29
+ }
30
+ return MenuLinkComponent;
31
+ };
32
+
33
+ export { LinkModifier as default, 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,15 @@
1
+ import { User } from '@dnanpm/icons';
2
+ import React__default, { useContext } from 'react';
3
+ import { navIconSize } from '../../../themes/themeComponents/navigation.js';
4
+ import Icon from '../../Icon/Icon.js';
5
+ import NavContext from '../context/NavContext.js';
6
+ import MainNavTooltipMenu from './MainNavTooltipMenu.js';
7
+
8
+ const LoginTooltip = ({ isLogged, loginLabel }) => {
9
+ const { navZIndex, isMobileMenu, loginComponent: LoginComponent } = useContext(NavContext);
10
+ return (React__default.createElement(MainNavTooltipMenu, { ariaLabel: loginLabel, closeWhenTagClicked: ['a', 'button'], contentComponent: LoginComponent, globalStateString: "login", tooltipRight: isMobileMenu ? '3rem' : '1rem', zIndex: navZIndex + 1 }, !isLogged ? (loginLabel) : (React__default.createElement(React__default.Fragment, null,
11
+ React__default.createElement(Icon, { icon: User, size: navIconSize }),
12
+ React__default.createElement("span", { "data-testid": "header-login-label" }, loginLabel)))));
13
+ };
14
+
15
+ export { LoginTooltip as default };
@@ -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,112 @@
1
+ import React__default, { useContext, useRef, useEffect } from 'react';
2
+ import useCloseOutsideOrElementClicked from '../../../hooks/useCloseOutsideOrElementClicked.js';
3
+ import useDocHeight from '../../../hooks/useDocHeight.js';
4
+ import styled from '../../../themes/styled.js';
5
+ import theme from '../../../themes/theme.js';
6
+ import { IconContainerMinWidth, navIconSize, navMaxHeight } from '../../../themes/themeComponents/navigation.js';
7
+ import { getMultipliedSize } from '../../../utils/styledUtils.js';
8
+ import Box from '../../Box/Box.js';
9
+ import NavContext from '../context/NavContext.js';
10
+ import TooltipWrapper from './MainNavTooltipMenuExportedStyles.js';
11
+ import ButtonPrimary from '../../Button/ButtonPrimary.js';
12
+
13
+ const IconContainer = styled.div `
14
+ margin: 0;
15
+ display: flex;
16
+ flex-direction: column;
17
+ justify-content: center;
18
+ align-items: center;
19
+ min-width: ${IconContainerMinWidth};
20
+ transition: color 0.2s ease-in-out;
21
+
22
+ > span.dnasg-icon > svg {
23
+ display: block;
24
+ height: ${navIconSize};
25
+ width: ${navIconSize};
26
+ }
27
+ > span.dnasg-icon > svg,
28
+ > span.dnasg-icon + span {
29
+ color: ${p => (p.isActive ? theme.color.text.pink : 'inherit')};
30
+ }
31
+
32
+ @media (min-width: ${p => p.collapseSize + 1}px) {
33
+ min-width: ${getMultipliedSize(theme.base.baseWidth, 6)};
34
+ > span.dnasg-icon + span {
35
+ display: block;
36
+ }
37
+ }
38
+ `;
39
+ const Tooltip = styled.div `
40
+ min-height: ${getMultipliedSize(theme.base.baseHeight, 5)};
41
+ // Ensure that the tooltip's content is always visible within the viewport. So, the max-height is the viewport height minus the header's height + some margin.
42
+ max-height: calc(var(--vh100, 100vh) - ${getMultipliedSize(theme.base.baseHeight, 12)});
43
+ width: 100%;
44
+ position: absolute;
45
+ right: 0;
46
+ top: ${navMaxHeight};
47
+ z-index: ${p => p.zIndex};
48
+ display: flex;
49
+ flex-direction: row;
50
+
51
+ @media (min-width: ${p => p.fullWidthBreakpoint}px) {
52
+ width: ${p => p.contentWidth};
53
+ right: ${p => (p.fullWidthDesktop ? 0 : p.tooltipRight)};
54
+ }
55
+ `;
56
+ const TooltipBox = styled(Box) `
57
+ border-top-left-radius: 0 !important;
58
+ border-top-right-radius: 0 !important;
59
+ min-height: inherit;
60
+ max-height: inherit;
61
+ `;
62
+ const Caret = styled.div `
63
+ position: absolute;
64
+ z-index: ${p => p.zIndex + 1};
65
+ top: ${navMaxHeight};
66
+ transform: translate3d(50%, -50%, 0) rotate(-45deg);
67
+ width: ${getMultipliedSize(theme.base.baseWidth, 1.2)};
68
+ height: ${getMultipliedSize(theme.base.baseWidth, 1.2)};
69
+ background-color: ${theme.color.default.white};
70
+ border: 1px solid ${theme.color.line.L03};
71
+ border-width: 1px 1px 0 0;
72
+ margin-left: -${getMultipliedSize(theme.base.baseWidth, 1)};
73
+
74
+ @media (min-width: ${p => p.collapseSize + 1}px) {
75
+ max-height: calc(var(--vh100, 100vh) - ${navMaxHeight});
76
+ }
77
+ `;
78
+ const MainNavTooltipMenu = ({ ariaLabel, children, closeWhenTagClicked = [], contentComponent, contentWidth = '20rem', fullWidthBreakpoint = theme.breakpoints.xs, fullWidthDesktop = false, globalStateString, tooltipRight = '-1rem', zIndex = 1, }) => {
79
+ const { collapseSize, isMobileMenu, isLoggedIn, resetMenuEvents, setTooltipItems, showLoginTooltip, showMinicart, tooltipItems, } = useContext(NavContext);
80
+ const ref = useRef(null);
81
+ const globalStateKey = globalStateString;
82
+ const isLoginItemAndLoggedIn = globalStateKey === 'login' && isLoggedIn;
83
+ const ContentComponent = contentComponent;
84
+ useDocHeight();
85
+ useEffect(() => {
86
+ setTooltipItems({
87
+ minicart: showMinicart,
88
+ login: showLoginTooltip,
89
+ search: false,
90
+ });
91
+ }, [showMinicart, showLoginTooltip, setTooltipItems]);
92
+ const toggleState = () => {
93
+ resetMenuEvents();
94
+ setTimeout(() => {
95
+ setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: !tooltipItems[globalStateKey] })));
96
+ });
97
+ };
98
+ useCloseOutsideOrElementClicked({ ref, closeWhenTagClicked }, () => {
99
+ if (tooltipItems[globalStateKey]) {
100
+ setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: false })));
101
+ }
102
+ });
103
+ return (React__default.createElement(IconContainer, { "data-testid": `header-${globalStateKey}-container`, collapseSize: collapseSize, ref: ref },
104
+ globalStateKey === 'login' && !isLoggedIn ? (React__default.createElement(ButtonPrimary, { onClick: ContentComponent ? toggleState : undefined, small: true }, children)) : (React__default.createElement(TooltipWrapper, { "aria-label": ariaLabel, isLoggedIn: isLoginItemAndLoggedIn, collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateKey] || isLoginItemAndLoggedIn, onClick: ContentComponent ? toggleState : undefined }, children)),
105
+ tooltipItems[globalStateKey] && ContentComponent && (React__default.createElement(React__default.Fragment, null,
106
+ React__default.createElement(Caret, { zIndex: zIndex, collapseSize: collapseSize }),
107
+ React__default.createElement(Tooltip, { zIndex: zIndex, tooltipRight: tooltipRight, contentWidth: contentWidth, collapseSize: collapseSize, fullWidthDesktop: fullWidthDesktop, fullWidthBreakpoint: fullWidthBreakpoint },
108
+ React__default.createElement(TooltipBox, { elevation: "high", padding: "0", width: "100%" },
109
+ React__default.createElement(ContentComponent, { mobileView: isMobileMenu })))))));
110
+ };
111
+
112
+ export { IconContainer, MainNavTooltipMenu as default };