@dnanpm/styleguide 4.0.9 → 4.0.10

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 (415) hide show
  1. package/build/cjs/components/Accordion/Accordion.js +66 -54
  2. package/build/cjs/components/AccordionItem/AccordionItem.js +94 -73
  3. package/build/cjs/components/AmountSelector/AmountSelector.js +121 -134
  4. package/build/cjs/components/Box/Box.js +38 -13
  5. package/build/cjs/components/Breadcrumb/Breadcrumb.js +73 -71
  6. package/build/cjs/components/Button/Button.js +131 -127
  7. package/build/cjs/components/ButtonArrow/ButtonArrow.js +47 -49
  8. package/build/cjs/components/ButtonCard/ButtonCard.js +97 -112
  9. package/build/cjs/components/ButtonClose/ButtonClose.js +24 -18
  10. package/build/cjs/components/ButtonIcon/ButtonIcon.js +103 -106
  11. package/build/cjs/components/ButtonPrimary/ButtonPrimary.d.ts +43 -2
  12. package/build/cjs/components/ButtonPrimary/ButtonPrimary.js +7 -35
  13. package/build/cjs/components/ButtonSecondary/ButtonSecondary.d.ts +43 -2
  14. package/build/cjs/components/ButtonSecondary/ButtonSecondary.js +7 -35
  15. package/build/cjs/components/Carousel/Carousel.d.ts +8 -2
  16. package/build/cjs/components/Carousel/Carousel.js +315 -346
  17. package/build/cjs/components/Checkbox/Checkbox.js +49 -108
  18. package/build/cjs/components/Chip/Chip.js +40 -34
  19. package/build/cjs/components/DateTimePicker/DateTimePicker.js +198 -334
  20. package/build/cjs/components/Divider/Divider.js +29 -15
  21. package/build/cjs/components/DnaLogo/DnaLogo.js +87 -51
  22. package/build/cjs/components/Drawer/Drawer.js +172 -167
  23. package/build/cjs/components/EmptyState/EmptyState.js +24 -12
  24. package/build/cjs/components/EnergyLabel/EnergyLabel.js +77 -73
  25. package/build/cjs/components/Expander/Expander.js +43 -38
  26. package/build/cjs/components/Floater/Floater.js +36 -14
  27. package/build/cjs/components/Footer/Components/FooterComponents.d.ts +4 -2
  28. package/build/cjs/components/Footer/Components/FooterComponents.js +305 -346
  29. package/build/cjs/components/Footer/Footer.js +51 -80
  30. package/build/cjs/components/Footer/context/FooterContext.js +9 -9
  31. package/build/cjs/components/Hero/Hero.js +101 -149
  32. package/build/cjs/components/Icon/Icon.js +41 -22
  33. package/build/cjs/components/Icons/Small/hlArrowBackSmall.js +12 -4
  34. package/build/cjs/components/Icons/Small/hlArrowForwardSmall.js +12 -4
  35. package/build/cjs/components/Icons/Small/hlArrowUnderSmall.js +12 -4
  36. package/build/cjs/components/Icons/Small/hlCalendarSmall.js +12 -4
  37. package/build/cjs/components/Icons/Small/hlChevronDownSmall.js +12 -4
  38. package/build/cjs/components/Icons/Small/hlChevronLeftSmall.js +12 -4
  39. package/build/cjs/components/Icons/Small/hlChevronRightSmall.js +12 -4
  40. package/build/cjs/components/Icons/Small/hlChevronUpSmall.js +12 -4
  41. package/build/cjs/components/Icons/Small/hlClockSmall.js +14 -5
  42. package/build/cjs/components/Icons/Small/hlDownloadSmall.js +18 -6
  43. package/build/cjs/components/Icons/Small/hlExternalSmall.js +12 -4
  44. package/build/cjs/components/Icons/Small/hlUploadSmall.js +18 -6
  45. package/build/cjs/components/Icons/Social/facebook.js +13 -4
  46. package/build/cjs/components/Icons/Social/instagram.js +13 -4
  47. package/build/cjs/components/Icons/Social/linkedin.js +13 -4
  48. package/build/cjs/components/Icons/Social/tiktok.js +12 -4
  49. package/build/cjs/components/Icons/Social/twitter.js +13 -4
  50. package/build/cjs/components/Icons/Social/youtube.js +12 -4
  51. package/build/cjs/components/Icons/hl404.js +12 -4
  52. package/build/cjs/components/Icons/hl4gSim.js +12 -4
  53. package/build/cjs/components/Icons/hl5gSim.js +12 -4
  54. package/build/cjs/components/Icons/hlBattery.js +16 -6
  55. package/build/cjs/components/Icons/hlBell.js +12 -4
  56. package/build/cjs/components/Icons/hlCableTVCard.js +12 -4
  57. package/build/cjs/components/Icons/hlCalendar.js +56 -15
  58. package/build/cjs/components/Icons/hlCall.js +12 -4
  59. package/build/cjs/components/Icons/hlCameraBack.js +18 -6
  60. package/build/cjs/components/Icons/hlCameraFront.js +14 -5
  61. package/build/cjs/components/Icons/hlCart.js +16 -6
  62. package/build/cjs/components/Icons/hlCartEmpty.js +16 -6
  63. package/build/cjs/components/Icons/hlChat.js +24 -7
  64. package/build/cjs/components/Icons/hlCheck.js +12 -4
  65. package/build/cjs/components/Icons/hlChevronDown.js +12 -4
  66. package/build/cjs/components/Icons/hlChevronLeft.js +12 -4
  67. package/build/cjs/components/Icons/hlChevronRight.js +12 -4
  68. package/build/cjs/components/Icons/hlChevronUp.js +12 -4
  69. package/build/cjs/components/Icons/hlCompensation.js +12 -4
  70. package/build/cjs/components/Icons/hlCookie.js +12 -4
  71. package/build/cjs/components/Icons/hlCopy.js +14 -5
  72. package/build/cjs/components/Icons/hlCoupon.js +16 -6
  73. package/build/cjs/components/Icons/hlDelivery.js +14 -4
  74. package/build/cjs/components/Icons/hlDigiturva.js +14 -4
  75. package/build/cjs/components/Icons/hlDisplaySize.js +19 -6
  76. package/build/cjs/components/Icons/hlDocument.js +14 -5
  77. package/build/cjs/components/Icons/hlDownload.js +18 -6
  78. package/build/cjs/components/Icons/hlEnvelope.js +12 -4
  79. package/build/cjs/components/Icons/hlError.js +22 -6
  80. package/build/cjs/components/Icons/hlEuro.js +12 -4
  81. package/build/cjs/components/Icons/hlExclamationMark.js +12 -4
  82. package/build/cjs/components/Icons/hlExpand.js +12 -4
  83. package/build/cjs/components/Icons/hlExternal.js +12 -4
  84. package/build/cjs/components/Icons/hlEyeClosed.js +12 -4
  85. package/build/cjs/components/Icons/hlEyeOpen.js +14 -5
  86. package/build/cjs/components/Icons/hlFaceId.js +12 -4
  87. package/build/cjs/components/Icons/hlFastDelivery.js +12 -4
  88. package/build/cjs/components/Icons/hlFingerprint.js +20 -8
  89. package/build/cjs/components/Icons/hlGlobe.js +12 -4
  90. package/build/cjs/components/Icons/hlHeadphones.js +12 -4
  91. package/build/cjs/components/Icons/hlHeadset.js +18 -6
  92. package/build/cjs/components/Icons/hlHeart.js +12 -4
  93. package/build/cjs/components/Icons/hlHome.js +12 -4
  94. package/build/cjs/components/Icons/hlHub.js +14 -5
  95. package/build/cjs/components/Icons/hlImage.js +12 -4
  96. package/build/cjs/components/Icons/hlInfo.js +18 -6
  97. package/build/cjs/components/Icons/hlInstallment.js +14 -5
  98. package/build/cjs/components/Icons/hlIotSim.js +14 -5
  99. package/build/cjs/components/Icons/hlLaptop.js +13 -4
  100. package/build/cjs/components/Icons/hlLink.js +16 -5
  101. package/build/cjs/components/Icons/hlLiveVideo.js +12 -4
  102. package/build/cjs/components/Icons/hlLock.js +18 -6
  103. package/build/cjs/components/Icons/hlMagnifyingGlass.js +14 -5
  104. package/build/cjs/components/Icons/hlMarker.js +14 -5
  105. package/build/cjs/components/Icons/hlMemory.js +14 -5
  106. package/build/cjs/components/Icons/hlMenu.js +12 -4
  107. package/build/cjs/components/Icons/hlMinimize.js +12 -4
  108. package/build/cjs/components/Icons/hlMinus.js +12 -4
  109. package/build/cjs/components/Icons/hlMobileData.js +12 -4
  110. package/build/cjs/components/Icons/hlMobilePayment.js +19 -6
  111. package/build/cjs/components/Icons/hlModem.js +26 -8
  112. package/build/cjs/components/Icons/hlMore.js +22 -6
  113. package/build/cjs/components/Icons/hlOs.js +14 -5
  114. package/build/cjs/components/Icons/hlPackage.js +12 -4
  115. package/build/cjs/components/Icons/hlPaperclip.js +12 -4
  116. package/build/cjs/components/Icons/hlPaytime.js +12 -4
  117. package/build/cjs/components/Icons/hlPen.js +12 -4
  118. package/build/cjs/components/Icons/hlPerson.js +12 -4
  119. package/build/cjs/components/Icons/hlPhone.js +17 -5
  120. package/build/cjs/components/Icons/hlPlaylist.js +13 -4
  121. package/build/cjs/components/Icons/hlPlus.js +14 -5
  122. package/build/cjs/components/Icons/hlPrepaid.js +12 -4
  123. package/build/cjs/components/Icons/hlProcessor.js +14 -5
  124. package/build/cjs/components/Icons/hlServices.js +12 -4
  125. package/build/cjs/components/Icons/hlSettings.js +12 -4
  126. package/build/cjs/components/Icons/hlShield.js +14 -5
  127. package/build/cjs/components/Icons/hlSim.js +14 -5
  128. package/build/cjs/components/Icons/hlSimSimple.js +18 -6
  129. package/build/cjs/components/Icons/hlSmile.js +22 -7
  130. package/build/cjs/components/Icons/hlSpeechBubble.js +14 -5
  131. package/build/cjs/components/Icons/hlSquaretrade.js +13 -4
  132. package/build/cjs/components/Icons/hlStar.js +12 -4
  133. package/build/cjs/components/Icons/hlStarFilled.js +12 -4
  134. package/build/cjs/components/Icons/hlTrash.js +14 -5
  135. package/build/cjs/components/Icons/hlTv.js +12 -4
  136. package/build/cjs/components/Icons/hlUnlock.js +14 -6
  137. package/build/cjs/components/Icons/hlUpload.js +18 -6
  138. package/build/cjs/components/Icons/hlWarning.js +18 -6
  139. package/build/cjs/components/Icons/hlWifi.js +18 -6
  140. package/build/cjs/components/Icons/hlWrench.js +12 -4
  141. package/build/cjs/components/Icons/hlX.js +12 -4
  142. package/build/cjs/components/InfoDialog/InfoDialog.js +31 -46
  143. package/build/cjs/components/Input/Input.js +143 -159
  144. package/build/cjs/components/Label/Label.js +22 -22
  145. package/build/cjs/components/LabelText/LabelText.js +24 -17
  146. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +29 -44
  147. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +167 -153
  148. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +34 -20
  149. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +50 -32
  150. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +17 -5
  151. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -2
  152. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +100 -95
  153. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +6 -2
  154. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -58
  155. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +20 -4
  156. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +187 -159
  157. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -5
  158. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +305 -272
  159. package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +61 -49
  160. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.d.ts +31 -16
  161. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +39 -172
  162. package/build/cjs/components/Modal/Modal.js +127 -145
  163. package/build/cjs/components/Notification/Notification.js +74 -54
  164. package/build/cjs/components/NotificationBadge/NotificationBadge.js +29 -32
  165. package/build/cjs/components/Overlay/Overlay.js +70 -68
  166. package/build/cjs/components/Pill/Pill.js +91 -82
  167. package/build/cjs/components/PillGroup/PillGroup.js +50 -33
  168. package/build/cjs/components/PixelLoader/PixelLoader.js +37 -34
  169. package/build/cjs/components/PriorityNavigation/PriorityNavigation.js +281 -303
  170. package/build/cjs/components/PriorityNavigationItem/PriorityNavigationItem.js +27 -49
  171. package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +140 -109
  172. package/build/cjs/components/RadioButton/RadioButton.js +91 -114
  173. package/build/cjs/components/ReadMore/ReadMore.js +86 -69
  174. package/build/cjs/components/Search/Search.js +52 -64
  175. package/build/cjs/components/Selectbox/Selectbox.js +279 -94
  176. package/build/cjs/components/Skeleton/Skeleton.js +69 -56
  177. package/build/cjs/components/Switch/Switch.js +62 -76
  178. package/build/cjs/components/Tab/Tab.js +55 -53
  179. package/build/cjs/components/Tabs/Tabs.js +93 -71
  180. package/build/cjs/components/Textarea/Textarea.js +76 -73
  181. package/build/cjs/components/Toaster/Toaster.js +59 -44
  182. package/build/cjs/components/Tooltip/Tooltip.js +74 -87
  183. package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +23 -21
  184. package/build/cjs/hooks/useDebounce.js +9 -9
  185. package/build/cjs/hooks/useDocHeight.js +13 -13
  186. package/build/cjs/hooks/useOutsideClick.js +10 -10
  187. package/build/cjs/hooks/useResizeObserver.js +37 -24
  188. package/build/cjs/hooks/useScrollPosition.js +55 -54
  189. package/build/cjs/hooks/useWindowSize.js +20 -20
  190. package/build/cjs/themes/globalStyles.js +4 -4
  191. package/build/cjs/themes/gridTheme.js +1 -1
  192. package/build/cjs/themes/theme.js +12 -12
  193. package/build/cjs/themes/themeComponents/base.js +9 -8
  194. package/build/cjs/themes/themeComponents/breakpoints.js +6 -6
  195. package/build/cjs/themes/themeComponents/color.js +76 -74
  196. package/build/cjs/themes/themeComponents/fontFamily.js +3 -3
  197. package/build/cjs/themes/themeComponents/fontSize.js +31 -15
  198. package/build/cjs/themes/themeComponents/fontWeight.js +16 -16
  199. package/build/cjs/themes/themeComponents/forms.js +3 -2
  200. package/build/cjs/themes/themeComponents/layout.js +27 -27
  201. package/build/cjs/themes/themeComponents/lineHeight.js +32 -16
  202. package/build/cjs/themes/themeComponents/navigation.js +13 -13
  203. package/build/cjs/themes/themeComponents/radius.js +26 -26
  204. package/build/cjs/utils/common.js +15 -19
  205. package/build/cjs/utils/createStyled.d.ts +154 -134
  206. package/build/cjs/utils/createStyled.js +16 -2
  207. package/build/cjs/utils/styledUtils.js +2 -6
  208. package/build/es/components/Accordion/Accordion.js +66 -54
  209. package/build/es/components/AccordionItem/AccordionItem.js +94 -73
  210. package/build/es/components/AmountSelector/AmountSelector.js +121 -134
  211. package/build/es/components/Box/Box.js +38 -13
  212. package/build/es/components/Breadcrumb/Breadcrumb.js +73 -71
  213. package/build/es/components/Button/Button.js +131 -127
  214. package/build/es/components/ButtonArrow/ButtonArrow.js +47 -49
  215. package/build/es/components/ButtonCard/ButtonCard.js +97 -112
  216. package/build/es/components/ButtonClose/ButtonClose.js +24 -18
  217. package/build/es/components/ButtonIcon/ButtonIcon.js +103 -106
  218. package/build/es/components/ButtonPrimary/ButtonPrimary.d.ts +43 -2
  219. package/build/es/components/ButtonPrimary/ButtonPrimary.js +7 -35
  220. package/build/es/components/ButtonSecondary/ButtonSecondary.d.ts +43 -2
  221. package/build/es/components/ButtonSecondary/ButtonSecondary.js +7 -35
  222. package/build/es/components/Carousel/Carousel.d.ts +8 -2
  223. package/build/es/components/Carousel/Carousel.js +315 -346
  224. package/build/es/components/Checkbox/Checkbox.js +49 -108
  225. package/build/es/components/Chip/Chip.js +40 -34
  226. package/build/es/components/DateTimePicker/DateTimePicker.js +198 -334
  227. package/build/es/components/Divider/Divider.js +29 -15
  228. package/build/es/components/DnaLogo/DnaLogo.js +87 -51
  229. package/build/es/components/Drawer/Drawer.js +172 -167
  230. package/build/es/components/EmptyState/EmptyState.js +24 -12
  231. package/build/es/components/EnergyLabel/EnergyLabel.js +77 -73
  232. package/build/es/components/Expander/Expander.js +43 -38
  233. package/build/es/components/Floater/Floater.js +36 -14
  234. package/build/es/components/Footer/Components/FooterComponents.d.ts +4 -2
  235. package/build/es/components/Footer/Components/FooterComponents.js +305 -346
  236. package/build/es/components/Footer/Footer.js +51 -80
  237. package/build/es/components/Footer/context/FooterContext.js +9 -9
  238. package/build/es/components/Hero/Hero.js +101 -149
  239. package/build/es/components/Icon/Icon.js +41 -22
  240. package/build/es/components/Icons/Small/hlArrowBackSmall.js +12 -4
  241. package/build/es/components/Icons/Small/hlArrowForwardSmall.js +12 -4
  242. package/build/es/components/Icons/Small/hlArrowUnderSmall.js +12 -4
  243. package/build/es/components/Icons/Small/hlCalendarSmall.js +12 -4
  244. package/build/es/components/Icons/Small/hlChevronDownSmall.js +12 -4
  245. package/build/es/components/Icons/Small/hlChevronLeftSmall.js +12 -4
  246. package/build/es/components/Icons/Small/hlChevronRightSmall.js +12 -4
  247. package/build/es/components/Icons/Small/hlChevronUpSmall.js +12 -4
  248. package/build/es/components/Icons/Small/hlClockSmall.js +14 -5
  249. package/build/es/components/Icons/Small/hlDownloadSmall.js +18 -6
  250. package/build/es/components/Icons/Small/hlExternalSmall.js +12 -4
  251. package/build/es/components/Icons/Small/hlUploadSmall.js +18 -6
  252. package/build/es/components/Icons/Social/facebook.js +13 -4
  253. package/build/es/components/Icons/Social/instagram.js +13 -4
  254. package/build/es/components/Icons/Social/linkedin.js +13 -4
  255. package/build/es/components/Icons/Social/tiktok.js +12 -4
  256. package/build/es/components/Icons/Social/twitter.js +13 -4
  257. package/build/es/components/Icons/Social/youtube.js +12 -4
  258. package/build/es/components/Icons/hl404.js +12 -4
  259. package/build/es/components/Icons/hl4gSim.js +12 -4
  260. package/build/es/components/Icons/hl5gSim.js +12 -4
  261. package/build/es/components/Icons/hlBattery.js +16 -6
  262. package/build/es/components/Icons/hlBell.js +12 -4
  263. package/build/es/components/Icons/hlCableTVCard.js +12 -4
  264. package/build/es/components/Icons/hlCalendar.js +56 -15
  265. package/build/es/components/Icons/hlCall.js +12 -4
  266. package/build/es/components/Icons/hlCameraBack.js +18 -6
  267. package/build/es/components/Icons/hlCameraFront.js +14 -5
  268. package/build/es/components/Icons/hlCart.js +16 -6
  269. package/build/es/components/Icons/hlCartEmpty.js +16 -6
  270. package/build/es/components/Icons/hlChat.js +24 -7
  271. package/build/es/components/Icons/hlCheck.js +12 -4
  272. package/build/es/components/Icons/hlChevronDown.js +12 -4
  273. package/build/es/components/Icons/hlChevronLeft.js +12 -4
  274. package/build/es/components/Icons/hlChevronRight.js +12 -4
  275. package/build/es/components/Icons/hlChevronUp.js +12 -4
  276. package/build/es/components/Icons/hlCompensation.js +12 -4
  277. package/build/es/components/Icons/hlCookie.js +12 -4
  278. package/build/es/components/Icons/hlCopy.js +14 -5
  279. package/build/es/components/Icons/hlCoupon.js +16 -6
  280. package/build/es/components/Icons/hlDelivery.js +14 -4
  281. package/build/es/components/Icons/hlDigiturva.js +14 -4
  282. package/build/es/components/Icons/hlDisplaySize.js +19 -6
  283. package/build/es/components/Icons/hlDocument.js +14 -5
  284. package/build/es/components/Icons/hlDownload.js +18 -6
  285. package/build/es/components/Icons/hlEnvelope.js +12 -4
  286. package/build/es/components/Icons/hlError.js +22 -6
  287. package/build/es/components/Icons/hlEuro.js +12 -4
  288. package/build/es/components/Icons/hlExclamationMark.js +12 -4
  289. package/build/es/components/Icons/hlExpand.js +12 -4
  290. package/build/es/components/Icons/hlExternal.js +12 -4
  291. package/build/es/components/Icons/hlEyeClosed.js +12 -4
  292. package/build/es/components/Icons/hlEyeOpen.js +14 -5
  293. package/build/es/components/Icons/hlFaceId.js +12 -4
  294. package/build/es/components/Icons/hlFastDelivery.js +12 -4
  295. package/build/es/components/Icons/hlFingerprint.js +20 -8
  296. package/build/es/components/Icons/hlGlobe.js +12 -4
  297. package/build/es/components/Icons/hlHeadphones.js +12 -4
  298. package/build/es/components/Icons/hlHeadset.js +18 -6
  299. package/build/es/components/Icons/hlHeart.js +12 -4
  300. package/build/es/components/Icons/hlHome.js +12 -4
  301. package/build/es/components/Icons/hlHub.js +14 -5
  302. package/build/es/components/Icons/hlImage.js +12 -4
  303. package/build/es/components/Icons/hlInfo.js +18 -6
  304. package/build/es/components/Icons/hlInstallment.js +14 -5
  305. package/build/es/components/Icons/hlIotSim.js +14 -5
  306. package/build/es/components/Icons/hlLaptop.js +13 -4
  307. package/build/es/components/Icons/hlLink.js +16 -5
  308. package/build/es/components/Icons/hlLiveVideo.js +12 -4
  309. package/build/es/components/Icons/hlLock.js +18 -6
  310. package/build/es/components/Icons/hlMagnifyingGlass.js +14 -5
  311. package/build/es/components/Icons/hlMarker.js +14 -5
  312. package/build/es/components/Icons/hlMemory.js +14 -5
  313. package/build/es/components/Icons/hlMenu.js +12 -4
  314. package/build/es/components/Icons/hlMinimize.js +12 -4
  315. package/build/es/components/Icons/hlMinus.js +12 -4
  316. package/build/es/components/Icons/hlMobileData.js +12 -4
  317. package/build/es/components/Icons/hlMobilePayment.js +19 -6
  318. package/build/es/components/Icons/hlModem.js +26 -8
  319. package/build/es/components/Icons/hlMore.js +22 -6
  320. package/build/es/components/Icons/hlOs.js +14 -5
  321. package/build/es/components/Icons/hlPackage.js +12 -4
  322. package/build/es/components/Icons/hlPaperclip.js +12 -4
  323. package/build/es/components/Icons/hlPaytime.js +12 -4
  324. package/build/es/components/Icons/hlPen.js +12 -4
  325. package/build/es/components/Icons/hlPerson.js +12 -4
  326. package/build/es/components/Icons/hlPhone.js +17 -5
  327. package/build/es/components/Icons/hlPlaylist.js +13 -4
  328. package/build/es/components/Icons/hlPlus.js +14 -5
  329. package/build/es/components/Icons/hlPrepaid.js +12 -4
  330. package/build/es/components/Icons/hlProcessor.js +14 -5
  331. package/build/es/components/Icons/hlServices.js +12 -4
  332. package/build/es/components/Icons/hlSettings.js +12 -4
  333. package/build/es/components/Icons/hlShield.js +14 -5
  334. package/build/es/components/Icons/hlSim.js +14 -5
  335. package/build/es/components/Icons/hlSimSimple.js +18 -6
  336. package/build/es/components/Icons/hlSmile.js +22 -7
  337. package/build/es/components/Icons/hlSpeechBubble.js +14 -5
  338. package/build/es/components/Icons/hlSquaretrade.js +13 -4
  339. package/build/es/components/Icons/hlStar.js +12 -4
  340. package/build/es/components/Icons/hlStarFilled.js +12 -4
  341. package/build/es/components/Icons/hlTrash.js +14 -5
  342. package/build/es/components/Icons/hlTv.js +12 -4
  343. package/build/es/components/Icons/hlUnlock.js +14 -6
  344. package/build/es/components/Icons/hlUpload.js +18 -6
  345. package/build/es/components/Icons/hlWarning.js +18 -6
  346. package/build/es/components/Icons/hlWifi.js +18 -6
  347. package/build/es/components/Icons/hlWrench.js +12 -4
  348. package/build/es/components/Icons/hlX.js +12 -4
  349. package/build/es/components/InfoDialog/InfoDialog.js +31 -46
  350. package/build/es/components/Input/Input.js +143 -159
  351. package/build/es/components/Label/Label.js +22 -22
  352. package/build/es/components/LabelText/LabelText.js +24 -17
  353. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +29 -44
  354. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +167 -153
  355. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +34 -20
  356. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +50 -32
  357. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +17 -5
  358. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -2
  359. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +100 -95
  360. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +6 -2
  361. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -58
  362. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +20 -4
  363. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +187 -159
  364. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -5
  365. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +305 -272
  366. package/build/es/components/MainHeaderNavigation/context/NavContext.js +61 -49
  367. package/build/es/components/MainHeaderNavigation/globalNavStyles.d.ts +31 -16
  368. package/build/es/components/MainHeaderNavigation/globalNavStyles.js +39 -172
  369. package/build/es/components/Modal/Modal.js +127 -145
  370. package/build/es/components/Notification/Notification.js +74 -54
  371. package/build/es/components/NotificationBadge/NotificationBadge.js +29 -32
  372. package/build/es/components/Overlay/Overlay.js +70 -68
  373. package/build/es/components/Pill/Pill.js +91 -82
  374. package/build/es/components/PillGroup/PillGroup.js +50 -33
  375. package/build/es/components/PixelLoader/PixelLoader.js +37 -34
  376. package/build/es/components/PriorityNavigation/PriorityNavigation.js +281 -303
  377. package/build/es/components/PriorityNavigationItem/PriorityNavigationItem.js +27 -49
  378. package/build/es/components/ProgressIndicator/ProgressIndicator.js +140 -109
  379. package/build/es/components/RadioButton/RadioButton.js +91 -114
  380. package/build/es/components/ReadMore/ReadMore.js +86 -69
  381. package/build/es/components/Search/Search.js +52 -64
  382. package/build/es/components/Selectbox/Selectbox.js +279 -94
  383. package/build/es/components/Skeleton/Skeleton.js +69 -56
  384. package/build/es/components/Switch/Switch.js +62 -76
  385. package/build/es/components/Tab/Tab.js +55 -53
  386. package/build/es/components/Tabs/Tabs.js +93 -71
  387. package/build/es/components/Textarea/Textarea.js +76 -73
  388. package/build/es/components/Toaster/Toaster.js +59 -44
  389. package/build/es/components/Tooltip/Tooltip.js +74 -87
  390. package/build/es/hooks/useCloseOutsideOrElementClicked.js +23 -21
  391. package/build/es/hooks/useDebounce.js +9 -9
  392. package/build/es/hooks/useDocHeight.js +13 -13
  393. package/build/es/hooks/useOutsideClick.js +10 -10
  394. package/build/es/hooks/useResizeObserver.js +37 -24
  395. package/build/es/hooks/useScrollPosition.js +55 -54
  396. package/build/es/hooks/useWindowSize.js +20 -20
  397. package/build/es/themes/globalStyles.js +4 -4
  398. package/build/es/themes/gridTheme.js +1 -1
  399. package/build/es/themes/theme.js +12 -12
  400. package/build/es/themes/themeComponents/base.js +9 -8
  401. package/build/es/themes/themeComponents/breakpoints.js +6 -6
  402. package/build/es/themes/themeComponents/color.js +76 -74
  403. package/build/es/themes/themeComponents/fontFamily.js +3 -3
  404. package/build/es/themes/themeComponents/fontSize.js +31 -15
  405. package/build/es/themes/themeComponents/fontWeight.js +16 -16
  406. package/build/es/themes/themeComponents/forms.js +3 -2
  407. package/build/es/themes/themeComponents/layout.js +27 -27
  408. package/build/es/themes/themeComponents/lineHeight.js +32 -16
  409. package/build/es/themes/themeComponents/navigation.js +13 -13
  410. package/build/es/themes/themeComponents/radius.js +26 -26
  411. package/build/es/utils/common.js +15 -19
  412. package/build/es/utils/createStyled.d.ts +154 -134
  413. package/build/es/utils/createStyled.js +16 -2
  414. package/build/es/utils/styledUtils.js +2 -6
  415. package/package.json +15 -13
@@ -9,52 +9,67 @@ import ButtonClose from '../ButtonClose/ButtonClose.js';
9
9
  import Icon from '../Icon/Icon.js';
10
10
 
11
11
  const iconsMap = {
12
- info: Info,
13
- success: Check,
14
- warning: Warning,
15
- error: Error,
12
+ info: Info,
13
+ success: Check,
14
+ warning: Warning,
15
+ error: Error
16
16
  };
17
- const ToasterWrapper = styled.div `
18
- width: 300px;
19
- `;
20
- const StyledBox = styled(Box) `
21
- position: relative;
22
- font-size: ${theme.fontSize.s};
23
- font-weight: ${theme.fontWeight.medium};
24
- line-height: ${theme.lineHeight.default};
25
- border-left: 5px solid ${({ type }) => theme.color.notification[type]};
26
- display: flex;
27
- align-items: center;
28
- padding-right: ${getMultipliedSize(theme.base.baseWidth, 4.5)};
29
- `;
30
- const IconWrapper = styled.div `
31
- display: none;
32
- align-items: center;
33
- width: ${getMultipliedSize(theme.base.baseWidth, 4)};
34
- overflow: hidden;
35
-
36
- ${media.xs `
17
+ const ToasterWrapper = styled.div.withConfig({
18
+ displayName: "Toaster__ToasterWrapper",
19
+ componentId: "sc-1q29lby-0"
20
+ })(["width:300px;"]);
21
+ const StyledBox = styled(Box).withConfig({
22
+ displayName: "Toaster__StyledBox",
23
+ componentId: "sc-1q29lby-1"
24
+ })(["position:relative;font-size:", ";font-weight:", ";line-height:", ";border-left:5px solid ", ";display:flex;align-items:center;padding-right:", ";"], theme.fontSize.s, theme.fontWeight.medium, theme.lineHeight.default, ({
25
+ type
26
+ }) => theme.color.notification[type], getMultipliedSize(theme.base.baseWidth, 4.5));
27
+ const IconWrapper = styled.div.withConfig({
28
+ displayName: "Toaster__IconWrapper",
29
+ componentId: "sc-1q29lby-2"
30
+ })(["display:none;align-items:center;width:", ";overflow:hidden;", ""], getMultipliedSize(theme.base.baseWidth, 4), media.xs`
37
31
  display: flex;
38
- `}
39
- `;
40
- const ContentWrapper = styled.div `
41
- flex: 1;
42
- `;
43
- const ButtonCloseStyled = styled(ButtonClose) `
44
- display: flex;
45
- top: auto;
46
- `;
47
- const Toaster = (_a) => {
48
- var { type = 'info', 'data-testid': dataTestId, closeLabel } = _a, props = __rest(_a, ["type", 'data-testid', "closeLabel"]);
49
- if (props.dismissed)
50
- return null;
51
- return (React__default.createElement(ToasterWrapper, { className: props.className, "data-testid": dataTestId, role: "alert", "aria-live": "assertive", "aria-atomic": "true" },
52
- React__default.createElement(StyledBox, { type: type, padding: getMultipliedSize(theme.base.baseWidth, 1), elevation: "extraHigh" },
53
- React__default.createElement(IconWrapper, null,
54
- React__default.createElement(Icon, { icon: iconsMap[type], size: "2rem", color: theme.color.notification[type], "aria-hidden": true, "data-testid": "toaster-icon" })),
55
- React__default.createElement(ContentWrapper, null, props.children),
56
- React__default.createElement(ButtonCloseStyled, { "aria-label": closeLabel, onClick: props.onClickCloseButton },
57
- React__default.createElement(Icon, { icon: Close, color: theme.color.text.black, "aria-hidden": true })))));
32
+ `);
33
+ const ContentWrapper = styled.div.withConfig({
34
+ displayName: "Toaster__ContentWrapper",
35
+ componentId: "sc-1q29lby-3"
36
+ })(["flex:1;"]);
37
+ const ButtonCloseStyled = styled(ButtonClose).withConfig({
38
+ displayName: "Toaster__ButtonCloseStyled",
39
+ componentId: "sc-1q29lby-4"
40
+ })(["display:flex;top:auto;"]);
41
+ const Toaster = _a => {
42
+ var {
43
+ type = 'info',
44
+ 'data-testid': dataTestId,
45
+ closeLabel
46
+ } = _a,
47
+ props = __rest(_a, ["type", 'data-testid', "closeLabel"]);
48
+ if (props.dismissed) return null;
49
+ return /*#__PURE__*/React__default.createElement(ToasterWrapper, {
50
+ className: props.className,
51
+ "data-testid": dataTestId,
52
+ role: "alert",
53
+ "aria-live": "assertive",
54
+ "aria-atomic": "true"
55
+ }, /*#__PURE__*/React__default.createElement(StyledBox, {
56
+ type: type,
57
+ padding: getMultipliedSize(theme.base.baseWidth, 1),
58
+ elevation: "extraHigh"
59
+ }, /*#__PURE__*/React__default.createElement(IconWrapper, null, /*#__PURE__*/React__default.createElement(Icon, {
60
+ icon: iconsMap[type],
61
+ size: "2rem",
62
+ color: theme.color.notification[type],
63
+ "aria-hidden": true,
64
+ "data-testid": "toaster-icon"
65
+ })), /*#__PURE__*/React__default.createElement(ContentWrapper, null, props.children), /*#__PURE__*/React__default.createElement(ButtonCloseStyled, {
66
+ "aria-label": closeLabel,
67
+ onClick: props.onClickCloseButton
68
+ }, /*#__PURE__*/React__default.createElement(Icon, {
69
+ icon: Close,
70
+ color: theme.color.text.black,
71
+ "aria-hidden": true
72
+ }))));
58
73
  };
59
74
 
60
75
  export { Toaster as default };
@@ -8,101 +8,88 @@ import getElevationShadow from '../../utils/common.js';
8
8
  import { getMultipliedSize } from '../../utils/styledUtils.js';
9
9
  import Icon from '../Icon/Icon.js';
10
10
 
11
- const Helper = styled.button `
12
- display: inline-block;
13
- vertical-align: middle;
14
- background: transparent;
15
- border: none;
16
- padding: 0;
17
- margin: 0;
18
- color: inherit;
19
- font: inherit;
20
- text-align: inherit;
21
- text-decoration: none;
22
- outline: inherit;
23
- pointer-events: auto;
24
- height: 1rem;
25
-
26
- &:focus-visible {
27
- outline: none;
28
- box-shadow:
29
- 0px 0px 0px 2px ${theme.color.focus.light},
30
- 0px 0px 0px 4px ${theme.color.focus.dark};
31
- border-radius: 100%;
32
- }
33
-
34
- ${({ $isClickable }) => $isClickable && `cursor: pointer`};
35
- `;
11
+ const Helper = styled.button.withConfig({
12
+ displayName: "Tooltip__Helper",
13
+ componentId: "sc-1yyn2pp-0"
14
+ })(["display:inline-block;vertical-align:middle;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:inherit;text-decoration:none;outline:inherit;pointer-events:auto;height:1rem;&:focus-visible{outline:none;box-shadow:0px 0px 0px 2px ", ",0px 0px 0px 4px ", ";border-radius:100%;}", ";"], theme.color.focus.light, theme.color.focus.dark, ({
15
+ $isClickable
16
+ }) => $isClickable && `cursor: pointer`);
36
17
  const getArrowOverrides = () => {
37
- const arrowConfig = {
38
- top: ['bottom', '45deg'],
39
- right: ['left', '135deg'],
40
- bottom: ['top', '225deg'],
41
- left: ['right', '315deg'],
42
- };
43
- return Object.entries(arrowConfig)
44
- .map(([placement, value]) => `
18
+ const arrowConfig = {
19
+ top: ['bottom', '45deg'],
20
+ right: ['left', '135deg'],
21
+ bottom: ['top', '225deg'],
22
+ left: ['right', '315deg']
23
+ };
24
+ return Object.entries(arrowConfig).map(([placement, value]) => `
45
25
  &.react-tooltip__place-${placement} {
46
26
  & .react-tooltip-arrow {
47
27
  ${value[0]}: -${getMultipliedSize(theme.base.baseWidth, 0.6)} !important;
48
28
  transform: rotate(${value[1]});
49
29
  }
50
30
  }
51
- `)
52
- .join('');
31
+ `).join('');
53
32
  };
54
- const StyledReactTooltip = styled(Tooltip$1) `
55
- --rt-opacity: 1;
56
-
57
- border: 1px solid ${theme.color.line.L02};
58
- padding: ${getMultipliedSize(theme.base.baseWidth, 1.5)};
59
- text-align: left;
60
- font-size: ${theme.fontSize.default};
61
- line-height: ${theme.lineHeight.default};
62
- width: max-content;
63
- max-width: ${getMultipliedSize(theme.base.baseWidth, 25)};
64
- color: ${theme.color.text.black};
65
- background-color: ${theme.color.background.white.default};
66
- border-radius: ${theme.radius.s};
67
-
68
- ${getElevationShadow({ elevation: 'low' })}
69
-
70
- & .react-tooltip-arrow {
71
- width: ${getMultipliedSize(theme.base.baseWidth, 1.2)};
72
- height: ${getMultipliedSize(theme.base.baseHeight, 1.2)};
73
- border-bottom: 1px solid ${theme.color.line.L02};
74
- border-right: 1px solid ${theme.color.line.L02};
75
- }
76
-
77
- ${getArrowOverrides()}
78
- `;
79
- const Tooltip = (_a) => {
80
- var { 'data-testid': dataTestId, closeWithEsc = true, isClickable = false, isHoverable = false } = _a, props = __rest(_a, ['data-testid', "closeWithEsc", "isClickable", "isHoverable"]);
81
- const handleReactTooltipOpenEvents = {
82
- mouseover: !isClickable,
83
- focus: !isClickable,
84
- mouseenter: !isClickable,
85
- mousedown: !isClickable && !isHoverable,
86
- click: isClickable,
87
- dblclick: isClickable,
88
- };
89
- const handleReactTooltipCloseEvents = {
90
- mouseout: !isClickable && !isHoverable,
91
- blur: !isClickable && !isHoverable,
92
- mouseleave: !isClickable,
93
- mouseup: !isClickable,
94
- click: isClickable,
95
- dblclick: isClickable,
96
- };
97
- const handleReactTooltipGlobalCloseEvents = {
98
- escape: closeWithEsc,
99
- clickOutsideAnchor: true,
100
- scroll: true,
101
- };
102
- return (React__default.createElement(React__default.Fragment, null,
103
- !props.hideTriggerElement && (React__default.createElement(Helper, { "data-tooltip-id": props.id, "$isClickable": isClickable, className: props.className, "data-testid": dataTestId, type: "button", "data-tooltip-delay-hide": 500 },
104
- React__default.createElement(Icon, { icon: Info, size: "1rem", position: props.position, "aria-hidden": true }))),
105
- React__default.createElement(StyledReactTooltip, { id: props.id, place: props.placement, openOnClick: isClickable, clickable: isHoverable, "$isMultiline": props.isMultiline, disableStyleInjection: true, role: isHoverable ? 'dialog' : 'tooltip', openEvents: handleReactTooltipOpenEvents, globalCloseEvents: handleReactTooltipGlobalCloseEvents, closeEvents: handleReactTooltipCloseEvents, "data-testid": dataTestId && `${dataTestId}-content` }, props.children)));
33
+ const StyledReactTooltip = styled(Tooltip$1).withConfig({
34
+ displayName: "Tooltip__StyledReactTooltip",
35
+ componentId: "sc-1yyn2pp-1"
36
+ })(["--rt-opacity:1;border:1px solid ", ";padding:", ";text-align:left;font-size:", ";line-height:", ";width:max-content;max-width:", ";color:", ";background-color:", ";border-radius:", ";", " & .react-tooltip-arrow{width:", ";height:", ";border-bottom:1px solid ", ";border-right:1px solid ", ";}", ""], theme.color.line.L02, getMultipliedSize(theme.base.baseWidth, 1.5), theme.fontSize.default, theme.lineHeight.default, getMultipliedSize(theme.base.baseWidth, 25), theme.color.text.black, theme.color.background.white.default, theme.radius.s, getElevationShadow({
37
+ elevation: 'low'
38
+ }), getMultipliedSize(theme.base.baseWidth, 1.2), getMultipliedSize(theme.base.baseHeight, 1.2), theme.color.line.L02, theme.color.line.L02, getArrowOverrides());
39
+ const Tooltip = _a => {
40
+ var {
41
+ 'data-testid': dataTestId,
42
+ closeWithEsc = true,
43
+ isClickable = false,
44
+ isHoverable = false
45
+ } = _a,
46
+ props = __rest(_a, ['data-testid', "closeWithEsc", "isClickable", "isHoverable"]);
47
+ const handleReactTooltipOpenEvents = {
48
+ mouseover: !isClickable,
49
+ focus: !isClickable,
50
+ mouseenter: !isClickable,
51
+ mousedown: !isClickable && !isHoverable,
52
+ click: isClickable,
53
+ dblclick: isClickable
54
+ };
55
+ const handleReactTooltipCloseEvents = {
56
+ mouseout: !isClickable && !isHoverable,
57
+ blur: !isClickable && !isHoverable,
58
+ mouseleave: !isClickable,
59
+ mouseup: !isClickable,
60
+ click: isClickable,
61
+ dblclick: isClickable
62
+ };
63
+ const handleReactTooltipGlobalCloseEvents = {
64
+ escape: closeWithEsc,
65
+ clickOutsideAnchor: true,
66
+ scroll: true
67
+ };
68
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !props.hideTriggerElement && (/*#__PURE__*/React__default.createElement(Helper, {
69
+ "data-tooltip-id": props.id,
70
+ "$isClickable": isClickable,
71
+ className: props.className,
72
+ "data-testid": dataTestId,
73
+ type: "button",
74
+ "data-tooltip-delay-hide": 500
75
+ }, /*#__PURE__*/React__default.createElement(Icon, {
76
+ icon: Info,
77
+ size: "1rem",
78
+ position: props.position,
79
+ "aria-hidden": true
80
+ }))), /*#__PURE__*/React__default.createElement(StyledReactTooltip, {
81
+ id: props.id,
82
+ place: props.placement,
83
+ openOnClick: isClickable,
84
+ clickable: isHoverable,
85
+ "$isMultiline": props.isMultiline,
86
+ disableStyleInjection: true,
87
+ role: isHoverable ? 'dialog' : 'tooltip',
88
+ openEvents: handleReactTooltipOpenEvents,
89
+ globalCloseEvents: handleReactTooltipGlobalCloseEvents,
90
+ closeEvents: handleReactTooltipCloseEvents,
91
+ "data-testid": dataTestId && `${dataTestId}-content`
92
+ }, props.children));
106
93
  };
107
94
 
108
95
  export { Tooltip as default };
@@ -7,28 +7,30 @@ import { useEffect } from 'react';
7
7
  * @param closeWhenTagClicked - provided array of tag names in lowercase which will also close dropdown. Works if tag or first parent is clicked.
8
8
  * @param callback - callback
9
9
  */
10
- const useCloseOutsideOrElementClicked = ({ ref, closeWhenTagClicked }, callback) => {
11
- const handleClick = (e) => {
12
- const target = e.target;
13
- const parent = target.parentNode;
14
- const isElementInList = closeWhenTagClicked.some(tag => {
15
- var _a, _b, _c;
16
- if (!target.parentNode) {
17
- return tag === ((_a = target.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase());
18
- }
19
- return tag === ((_b = target.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || tag === ((_c = parent.tagName) === null || _c === void 0 ? void 0 : _c.toLowerCase());
20
- });
21
- if ((ref.current && !ref.current.contains(target)) ||
22
- (isElementInList && !target.closest('.no-close'))) {
23
- callback();
24
- }
25
- };
26
- useEffect(() => {
27
- document.addEventListener('click', handleClick);
28
- return () => {
29
- document.removeEventListener('click', handleClick);
30
- };
10
+ const useCloseOutsideOrElementClicked = ({
11
+ ref,
12
+ closeWhenTagClicked
13
+ }, callback) => {
14
+ const handleClick = e => {
15
+ const target = e.target;
16
+ const parent = target.parentNode;
17
+ const isElementInList = closeWhenTagClicked.some(tag => {
18
+ var _a, _b, _c;
19
+ if (!target.parentNode) {
20
+ return tag === ((_a = target.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase());
21
+ }
22
+ return tag === ((_b = target.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || tag === ((_c = parent.tagName) === null || _c === void 0 ? void 0 : _c.toLowerCase());
31
23
  });
24
+ if (ref.current && !ref.current.contains(target) || isElementInList && !target.closest('.no-close')) {
25
+ callback();
26
+ }
27
+ };
28
+ useEffect(() => {
29
+ document.addEventListener('click', handleClick);
30
+ return () => {
31
+ document.removeEventListener('click', handleClick);
32
+ };
33
+ });
32
34
  };
33
35
 
34
36
  export { useCloseOutsideOrElementClicked as default };
@@ -5,15 +5,15 @@ const useDebounce = (
5
5
  // TODO: Eventually define generic type for function arguments if needed
6
6
  // callback: <T extends (...args: Parameters<T>) => void>(...args: T[]) => void,
7
7
  callback, delay = DEFAULT_DELAY) => {
8
- const debounce = useRef();
9
- return useCallback(() => {
10
- if (debounce.current) {
11
- clearTimeout(debounce.current);
12
- }
13
- debounce.current = setTimeout(() => {
14
- callback();
15
- }, delay);
16
- }, [callback, delay]);
8
+ const debounce = useRef();
9
+ return useCallback(() => {
10
+ if (debounce.current) {
11
+ clearTimeout(debounce.current);
12
+ }
13
+ debounce.current = setTimeout(() => {
14
+ callback();
15
+ }, delay);
16
+ }, [callback, delay]);
17
17
  };
18
18
 
19
19
  export { useDebounce as default };
@@ -3,19 +3,19 @@ import useDebounce from './useDebounce.js';
3
3
 
4
4
  const DEBOUNCE_DELAY = 100;
5
5
  const useDocHeight = () => {
6
- const setDocHeight = useCallback(() => {
7
- document.documentElement.style.setProperty('--vh100', `${window.innerHeight}px`);
8
- }, []);
9
- const debounceSetDocHeight = useDebounce(setDocHeight, DEBOUNCE_DELAY);
10
- useEffect(() => {
11
- setDocHeight();
12
- window.addEventListener('resize', debounceSetDocHeight);
13
- window.addEventListener('orientationchange', debounceSetDocHeight);
14
- return () => {
15
- window.removeEventListener('resize', debounceSetDocHeight);
16
- window.removeEventListener('orientationchange', debounceSetDocHeight);
17
- };
18
- }, [debounceSetDocHeight, setDocHeight]);
6
+ const setDocHeight = useCallback(() => {
7
+ document.documentElement.style.setProperty('--vh100', `${window.innerHeight}px`);
8
+ }, []);
9
+ const debounceSetDocHeight = useDebounce(setDocHeight, DEBOUNCE_DELAY);
10
+ useEffect(() => {
11
+ setDocHeight();
12
+ window.addEventListener('resize', debounceSetDocHeight);
13
+ window.addEventListener('orientationchange', debounceSetDocHeight);
14
+ return () => {
15
+ window.removeEventListener('resize', debounceSetDocHeight);
16
+ window.removeEventListener('orientationchange', debounceSetDocHeight);
17
+ };
18
+ }, [debounceSetDocHeight, setDocHeight]);
19
19
  };
20
20
 
21
21
  export { useDocHeight as default };
@@ -7,17 +7,17 @@ import { useEffect } from 'react';
7
7
  * @param {Function} callback - callback
8
8
  */
9
9
  const useOutsideClick = (ref, callback) => {
10
- const handleClick = (e) => {
11
- if (ref.current && !ref.current.contains(e.target)) {
12
- callback();
13
- }
10
+ const handleClick = e => {
11
+ if (ref.current && !ref.current.contains(e.target)) {
12
+ callback();
13
+ }
14
+ };
15
+ useEffect(() => {
16
+ document.addEventListener('click', handleClick);
17
+ return () => {
18
+ document.removeEventListener('click', handleClick);
14
19
  };
15
- useEffect(() => {
16
- document.addEventListener('click', handleClick);
17
- return () => {
18
- document.removeEventListener('click', handleClick);
19
- };
20
- });
20
+ });
21
21
  };
22
22
 
23
23
  export { useOutsideClick as default };
@@ -4,30 +4,43 @@ import { useState, useRef, useCallback, useEffect } from 'react';
4
4
  * Hook to get element dimensions when layout changes
5
5
  */
6
6
  const ResizeObserver = typeof window !== 'undefined' && window.ResizeObserver;
7
- const useResizeObserver = (ref) => {
8
- const [size, setSize] = useState({ width: 0, height: 0 });
9
- const resizeObserver = useRef(null);
10
- const onResize = useCallback(entries => {
11
- const { inlineSize, blockSize } = entries[0].borderBoxSize[0];
12
- setSize({ width: inlineSize, height: blockSize });
13
- }, []);
14
- useEffect(() => {
15
- if ((ref === null || ref === void 0 ? void 0 : ref.current) && ResizeObserver) {
16
- if (resizeObserver.current) {
17
- resizeObserver.current.disconnect();
18
- }
19
- resizeObserver.current = new ResizeObserver(onResize);
20
- if (resizeObserver.current) {
21
- resizeObserver.current.observe(ref.current);
22
- }
23
- }
24
- }, [ref, onResize]);
25
- useEffect(() => () => {
26
- if (resizeObserver.current) {
27
- resizeObserver.current.disconnect();
28
- }
29
- }, []);
30
- return { ref, width: size.width, height: size.height };
7
+ const useResizeObserver = ref => {
8
+ const [size, setSize] = useState({
9
+ width: 0,
10
+ height: 0
11
+ });
12
+ const resizeObserver = useRef(null);
13
+ const onResize = useCallback(entries => {
14
+ const {
15
+ inlineSize,
16
+ blockSize
17
+ } = entries[0].borderBoxSize[0];
18
+ setSize({
19
+ width: inlineSize,
20
+ height: blockSize
21
+ });
22
+ }, []);
23
+ useEffect(() => {
24
+ if ((ref === null || ref === void 0 ? void 0 : ref.current) && ResizeObserver) {
25
+ if (resizeObserver.current) {
26
+ resizeObserver.current.disconnect();
27
+ }
28
+ resizeObserver.current = new ResizeObserver(onResize);
29
+ if (resizeObserver.current) {
30
+ resizeObserver.current.observe(ref.current);
31
+ }
32
+ }
33
+ }, [ref, onResize]);
34
+ useEffect(() => () => {
35
+ if (resizeObserver.current) {
36
+ resizeObserver.current.disconnect();
37
+ }
38
+ }, []);
39
+ return {
40
+ ref,
41
+ width: size.width,
42
+ height: size.height
43
+ };
31
44
  };
32
45
 
33
46
  export { useResizeObserver as default };
@@ -1,66 +1,67 @@
1
1
  import { useRef, useEffect } from 'react';
2
2
 
3
3
  const isBrowser = typeof window !== 'undefined';
4
- const getScrollPosition = (ref) => {
5
- const { element } = ref;
6
- const { useWindow } = ref;
4
+ const getScrollPosition = ref => {
5
+ const {
6
+ element
7
+ } = ref;
8
+ const {
9
+ useWindow
10
+ } = ref;
11
+ if (!isBrowser) {
12
+ return {
13
+ x: 0,
14
+ y: 0
15
+ };
16
+ }
17
+ const target = element ? element.current : document.body;
18
+ const position = target.getBoundingClientRect();
19
+ return useWindow ? {
20
+ x: window.scrollX,
21
+ y: window.scrollY
22
+ } : {
23
+ x: position.left,
24
+ y: position.top
25
+ };
26
+ };
27
+ const useScrollPosition = (effect, element, useWindow, wait) => {
28
+ const position = useRef(getScrollPosition({
29
+ useWindow
30
+ }));
31
+ const throttleTimeout = useRef(null);
32
+ const callBack = () => {
33
+ const currPos = getScrollPosition({
34
+ element,
35
+ useWindow
36
+ });
37
+ effect({
38
+ prevPos: position.current,
39
+ currPos
40
+ });
41
+ position.current = currPos;
42
+ throttleTimeout.current = null;
43
+ };
44
+ useEffect(() => {
7
45
  if (!isBrowser) {
8
- return {
9
- x: 0,
10
- y: 0,
11
- };
46
+ return undefined;
12
47
  }
13
- const target = element ? element.current : document.body;
14
- const position = target.getBoundingClientRect();
15
- return useWindow
16
- ? {
17
- x: window.scrollX,
18
- y: window.scrollY,
48
+ const handleScroll = () => {
49
+ if (wait) {
50
+ if (throttleTimeout.current === null) {
51
+ throttleTimeout.current = setTimeout(callBack, wait);
19
52
  }
20
- : {
21
- x: position.left,
22
- y: position.top,
23
- };
24
- };
25
- const useScrollPosition = (effect, element, useWindow, wait) => {
26
- const position = useRef(getScrollPosition({
27
- useWindow,
28
- }));
29
- const throttleTimeout = useRef(null);
30
- const callBack = () => {
31
- const currPos = getScrollPosition({
32
- element,
33
- useWindow,
34
- });
35
- effect({
36
- prevPos: position.current,
37
- currPos,
38
- });
39
- position.current = currPos;
40
- throttleTimeout.current = null;
53
+ } else {
54
+ callBack();
55
+ }
41
56
  };
42
- useEffect(() => {
43
- if (!isBrowser) {
44
- return undefined;
45
- }
46
- const handleScroll = () => {
47
- if (wait) {
48
- if (throttleTimeout.current === null) {
49
- throttleTimeout.current = setTimeout(callBack, wait);
50
- }
51
- }
52
- else {
53
- callBack();
54
- }
55
- };
56
- window.addEventListener('scroll', handleScroll);
57
- return () => window.removeEventListener('scroll', handleScroll);
58
- });
57
+ window.addEventListener('scroll', handleScroll);
58
+ return () => window.removeEventListener('scroll', handleScroll);
59
+ });
59
60
  };
60
61
  useScrollPosition.defaultProps = {
61
- element: false,
62
- useWindow: false,
63
- wait: null,
62
+ element: false,
63
+ useWindow: false,
64
+ wait: null
64
65
  };
65
66
 
66
67
  export { useScrollPosition as default };