@dnanpm/styleguide 4.0.8 → 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 (427) hide show
  1. package/build/cjs/_virtual/_virtual_inject.js +5 -0
  2. package/build/cjs/assets/fonts/fonts.css.js +3 -1
  3. package/build/cjs/components/Accordion/Accordion.js +66 -54
  4. package/build/cjs/components/AccordionItem/AccordionItem.js +94 -73
  5. package/build/cjs/components/AmountSelector/AmountSelector.js +121 -134
  6. package/build/cjs/components/Box/Box.js +38 -13
  7. package/build/cjs/components/Breadcrumb/Breadcrumb.js +73 -71
  8. package/build/cjs/components/Button/Button.d.ts +1 -1
  9. package/build/cjs/components/Button/Button.js +131 -127
  10. package/build/cjs/components/ButtonArrow/ButtonArrow.js +47 -49
  11. package/build/cjs/components/ButtonCard/ButtonCard.d.ts +2 -2
  12. package/build/cjs/components/ButtonCard/ButtonCard.js +97 -112
  13. package/build/cjs/components/ButtonClose/ButtonClose.d.ts +1 -1
  14. package/build/cjs/components/ButtonClose/ButtonClose.js +25 -14
  15. package/build/cjs/components/ButtonIcon/ButtonIcon.d.ts +44 -3
  16. package/build/cjs/components/ButtonIcon/ButtonIcon.js +105 -67
  17. package/build/cjs/components/ButtonPrimary/ButtonPrimary.d.ts +43 -2
  18. package/build/cjs/components/ButtonPrimary/ButtonPrimary.js +7 -35
  19. package/build/cjs/components/ButtonSecondary/ButtonSecondary.d.ts +43 -2
  20. package/build/cjs/components/ButtonSecondary/ButtonSecondary.js +7 -35
  21. package/build/cjs/components/Carousel/Carousel.d.ts +8 -2
  22. package/build/cjs/components/Carousel/Carousel.js +315 -346
  23. package/build/cjs/components/Checkbox/Checkbox.js +49 -108
  24. package/build/cjs/components/Chip/Chip.js +40 -34
  25. package/build/cjs/components/DateTimePicker/DateTimePicker.js +198 -334
  26. package/build/cjs/components/Divider/Divider.js +29 -15
  27. package/build/cjs/components/DnaLogo/DnaLogo.js +87 -51
  28. package/build/cjs/components/Drawer/Drawer.js +172 -167
  29. package/build/cjs/components/EmptyState/EmptyState.js +24 -12
  30. package/build/cjs/components/EnergyLabel/EnergyLabel.js +77 -73
  31. package/build/cjs/components/Expander/Expander.js +43 -38
  32. package/build/cjs/components/Floater/Floater.js +36 -14
  33. package/build/cjs/components/Footer/Components/FooterComponents.d.ts +4 -2
  34. package/build/cjs/components/Footer/Components/FooterComponents.js +305 -346
  35. package/build/cjs/components/Footer/Footer.js +51 -80
  36. package/build/cjs/components/Footer/context/FooterContext.js +9 -9
  37. package/build/cjs/components/Hero/Hero.js +101 -149
  38. package/build/cjs/components/Icon/Icon.js +41 -22
  39. package/build/cjs/components/Icons/Small/hlArrowBackSmall.js +12 -4
  40. package/build/cjs/components/Icons/Small/hlArrowForwardSmall.js +12 -4
  41. package/build/cjs/components/Icons/Small/hlArrowUnderSmall.js +12 -4
  42. package/build/cjs/components/Icons/Small/hlCalendarSmall.js +12 -4
  43. package/build/cjs/components/Icons/Small/hlChevronDownSmall.js +12 -4
  44. package/build/cjs/components/Icons/Small/hlChevronLeftSmall.js +12 -4
  45. package/build/cjs/components/Icons/Small/hlChevronRightSmall.js +12 -4
  46. package/build/cjs/components/Icons/Small/hlChevronUpSmall.js +12 -4
  47. package/build/cjs/components/Icons/Small/hlClockSmall.js +14 -5
  48. package/build/cjs/components/Icons/Small/hlDownloadSmall.js +18 -6
  49. package/build/cjs/components/Icons/Small/hlExternalSmall.js +12 -4
  50. package/build/cjs/components/Icons/Small/hlUploadSmall.js +18 -6
  51. package/build/cjs/components/Icons/Social/facebook.js +13 -4
  52. package/build/cjs/components/Icons/Social/instagram.js +13 -4
  53. package/build/cjs/components/Icons/Social/linkedin.js +13 -4
  54. package/build/cjs/components/Icons/Social/tiktok.js +12 -4
  55. package/build/cjs/components/Icons/Social/twitter.js +13 -4
  56. package/build/cjs/components/Icons/Social/youtube.js +12 -4
  57. package/build/cjs/components/Icons/hl404.js +12 -4
  58. package/build/cjs/components/Icons/hl4gSim.js +12 -4
  59. package/build/cjs/components/Icons/hl5gSim.js +12 -4
  60. package/build/cjs/components/Icons/hlBattery.js +16 -6
  61. package/build/cjs/components/Icons/hlBell.js +12 -4
  62. package/build/cjs/components/Icons/hlCableTVCard.js +12 -4
  63. package/build/cjs/components/Icons/hlCalendar.js +56 -15
  64. package/build/cjs/components/Icons/hlCall.js +12 -4
  65. package/build/cjs/components/Icons/hlCameraBack.js +18 -6
  66. package/build/cjs/components/Icons/hlCameraFront.js +14 -5
  67. package/build/cjs/components/Icons/hlCart.js +16 -6
  68. package/build/cjs/components/Icons/hlCartEmpty.js +16 -6
  69. package/build/cjs/components/Icons/hlChat.js +24 -7
  70. package/build/cjs/components/Icons/hlCheck.js +12 -4
  71. package/build/cjs/components/Icons/hlChevronDown.js +12 -4
  72. package/build/cjs/components/Icons/hlChevronLeft.js +12 -4
  73. package/build/cjs/components/Icons/hlChevronRight.js +12 -4
  74. package/build/cjs/components/Icons/hlChevronUp.js +12 -4
  75. package/build/cjs/components/Icons/hlCompensation.js +12 -4
  76. package/build/cjs/components/Icons/hlCookie.js +12 -4
  77. package/build/cjs/components/Icons/hlCopy.js +14 -5
  78. package/build/cjs/components/Icons/hlCoupon.js +16 -6
  79. package/build/cjs/components/Icons/hlDelivery.js +14 -4
  80. package/build/cjs/components/Icons/hlDigiturva.js +14 -4
  81. package/build/cjs/components/Icons/hlDisplaySize.js +19 -6
  82. package/build/cjs/components/Icons/hlDocument.js +14 -5
  83. package/build/cjs/components/Icons/hlDownload.js +18 -6
  84. package/build/cjs/components/Icons/hlEnvelope.js +12 -4
  85. package/build/cjs/components/Icons/hlError.js +22 -6
  86. package/build/cjs/components/Icons/hlEuro.js +12 -4
  87. package/build/cjs/components/Icons/hlExclamationMark.js +12 -4
  88. package/build/cjs/components/Icons/hlExpand.js +12 -4
  89. package/build/cjs/components/Icons/hlExternal.js +12 -4
  90. package/build/cjs/components/Icons/hlEyeClosed.js +12 -4
  91. package/build/cjs/components/Icons/hlEyeOpen.js +14 -5
  92. package/build/cjs/components/Icons/hlFaceId.js +12 -4
  93. package/build/cjs/components/Icons/hlFastDelivery.js +12 -4
  94. package/build/cjs/components/Icons/hlFingerprint.js +20 -8
  95. package/build/cjs/components/Icons/hlGlobe.js +12 -4
  96. package/build/cjs/components/Icons/hlHeadphones.js +12 -4
  97. package/build/cjs/components/Icons/hlHeadset.js +18 -6
  98. package/build/cjs/components/Icons/hlHeart.js +12 -4
  99. package/build/cjs/components/Icons/hlHome.js +12 -4
  100. package/build/cjs/components/Icons/hlHub.js +14 -5
  101. package/build/cjs/components/Icons/hlImage.js +12 -4
  102. package/build/cjs/components/Icons/hlInfo.js +18 -6
  103. package/build/cjs/components/Icons/hlInstallment.js +14 -5
  104. package/build/cjs/components/Icons/hlIotSim.js +14 -5
  105. package/build/cjs/components/Icons/hlLaptop.js +13 -4
  106. package/build/cjs/components/Icons/hlLink.js +16 -5
  107. package/build/cjs/components/Icons/hlLiveVideo.js +12 -4
  108. package/build/cjs/components/Icons/hlLock.js +18 -6
  109. package/build/cjs/components/Icons/hlMagnifyingGlass.js +14 -5
  110. package/build/cjs/components/Icons/hlMarker.js +14 -5
  111. package/build/cjs/components/Icons/hlMemory.js +14 -5
  112. package/build/cjs/components/Icons/hlMenu.js +12 -4
  113. package/build/cjs/components/Icons/hlMinimize.js +12 -4
  114. package/build/cjs/components/Icons/hlMinus.js +12 -4
  115. package/build/cjs/components/Icons/hlMobileData.js +12 -4
  116. package/build/cjs/components/Icons/hlMobilePayment.js +19 -6
  117. package/build/cjs/components/Icons/hlModem.js +26 -8
  118. package/build/cjs/components/Icons/hlMore.js +22 -6
  119. package/build/cjs/components/Icons/hlOs.js +14 -5
  120. package/build/cjs/components/Icons/hlPackage.js +12 -4
  121. package/build/cjs/components/Icons/hlPaperclip.js +12 -4
  122. package/build/cjs/components/Icons/hlPaytime.js +12 -4
  123. package/build/cjs/components/Icons/hlPen.js +12 -4
  124. package/build/cjs/components/Icons/hlPerson.js +12 -4
  125. package/build/cjs/components/Icons/hlPhone.js +17 -5
  126. package/build/cjs/components/Icons/hlPlaylist.js +13 -4
  127. package/build/cjs/components/Icons/hlPlus.js +14 -5
  128. package/build/cjs/components/Icons/hlPrepaid.js +12 -4
  129. package/build/cjs/components/Icons/hlProcessor.js +14 -5
  130. package/build/cjs/components/Icons/hlServices.js +12 -4
  131. package/build/cjs/components/Icons/hlSettings.js +12 -4
  132. package/build/cjs/components/Icons/hlShield.js +14 -5
  133. package/build/cjs/components/Icons/hlSim.js +14 -5
  134. package/build/cjs/components/Icons/hlSimSimple.js +18 -6
  135. package/build/cjs/components/Icons/hlSmile.js +22 -7
  136. package/build/cjs/components/Icons/hlSpeechBubble.js +14 -5
  137. package/build/cjs/components/Icons/hlSquaretrade.js +13 -4
  138. package/build/cjs/components/Icons/hlStar.js +12 -4
  139. package/build/cjs/components/Icons/hlStarFilled.js +12 -4
  140. package/build/cjs/components/Icons/hlTrash.js +14 -5
  141. package/build/cjs/components/Icons/hlTv.js +12 -4
  142. package/build/cjs/components/Icons/hlUnlock.js +14 -6
  143. package/build/cjs/components/Icons/hlUpload.js +18 -6
  144. package/build/cjs/components/Icons/hlWarning.js +18 -6
  145. package/build/cjs/components/Icons/hlWifi.js +18 -6
  146. package/build/cjs/components/Icons/hlWrench.js +12 -4
  147. package/build/cjs/components/Icons/hlX.js +12 -4
  148. package/build/cjs/components/InfoDialog/InfoDialog.js +31 -46
  149. package/build/cjs/components/Input/Input.js +143 -159
  150. package/build/cjs/components/Label/Label.js +22 -22
  151. package/build/cjs/components/LabelText/LabelText.js +24 -17
  152. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +29 -44
  153. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +167 -153
  154. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +34 -20
  155. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +50 -32
  156. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +17 -5
  157. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -2
  158. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +100 -95
  159. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +6 -2
  160. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -58
  161. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +20 -4
  162. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +187 -159
  163. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -5
  164. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +305 -272
  165. package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +61 -49
  166. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.d.ts +31 -16
  167. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +39 -172
  168. package/build/cjs/components/Modal/Modal.js +127 -145
  169. package/build/cjs/components/Notification/Notification.js +74 -54
  170. package/build/cjs/components/NotificationBadge/NotificationBadge.js +29 -32
  171. package/build/cjs/components/Overlay/Overlay.js +70 -68
  172. package/build/cjs/components/Pill/Pill.js +91 -82
  173. package/build/cjs/components/PillGroup/PillGroup.js +50 -33
  174. package/build/cjs/components/PixelLoader/PixelLoader.js +37 -34
  175. package/build/cjs/components/PriorityNavigation/PriorityNavigation.js +281 -303
  176. package/build/cjs/components/PriorityNavigationItem/PriorityNavigationItem.js +27 -49
  177. package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +140 -109
  178. package/build/cjs/components/RadioButton/RadioButton.js +91 -114
  179. package/build/cjs/components/ReadMore/ReadMore.js +86 -69
  180. package/build/cjs/components/Search/Search.js +52 -64
  181. package/build/cjs/components/Selectbox/Selectbox.js +279 -94
  182. package/build/cjs/components/Skeleton/Skeleton.js +69 -56
  183. package/build/cjs/components/Switch/Switch.js +62 -76
  184. package/build/cjs/components/Tab/Tab.js +55 -53
  185. package/build/cjs/components/Tabs/Tabs.js +93 -71
  186. package/build/cjs/components/Textarea/Textarea.js +76 -73
  187. package/build/cjs/components/Toaster/Toaster.js +59 -44
  188. package/build/cjs/components/Tooltip/Tooltip.js +74 -87
  189. package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +23 -21
  190. package/build/cjs/hooks/useDebounce.js +9 -9
  191. package/build/cjs/hooks/useDocHeight.js +13 -13
  192. package/build/cjs/hooks/useOutsideClick.js +10 -10
  193. package/build/cjs/hooks/useResizeObserver.js +37 -24
  194. package/build/cjs/hooks/useScrollPosition.js +55 -54
  195. package/build/cjs/hooks/useWindowSize.js +20 -20
  196. package/build/cjs/themes/globalStyles.js +4 -4
  197. package/build/cjs/themes/gridTheme.js +1 -1
  198. package/build/cjs/themes/theme.js +12 -12
  199. package/build/cjs/themes/themeComponents/base.js +9 -8
  200. package/build/cjs/themes/themeComponents/breakpoints.js +6 -6
  201. package/build/cjs/themes/themeComponents/color.js +76 -74
  202. package/build/cjs/themes/themeComponents/fontFamily.js +3 -3
  203. package/build/cjs/themes/themeComponents/fontSize.js +31 -15
  204. package/build/cjs/themes/themeComponents/fontWeight.js +16 -16
  205. package/build/cjs/themes/themeComponents/forms.js +3 -2
  206. package/build/cjs/themes/themeComponents/layout.js +27 -27
  207. package/build/cjs/themes/themeComponents/lineHeight.js +32 -16
  208. package/build/cjs/themes/themeComponents/navigation.js +13 -13
  209. package/build/cjs/themes/themeComponents/radius.js +26 -26
  210. package/build/cjs/utils/common.js +15 -19
  211. package/build/cjs/utils/createStyled.d.ts +154 -134
  212. package/build/cjs/utils/createStyled.js +16 -2
  213. package/build/cjs/utils/styledUtils.js +2 -6
  214. package/build/es/_virtual/_virtual_inject.js +3 -0
  215. package/build/es/assets/fonts/fonts.css.js +3 -1
  216. package/build/es/components/Accordion/Accordion.js +66 -54
  217. package/build/es/components/AccordionItem/AccordionItem.js +94 -73
  218. package/build/es/components/AmountSelector/AmountSelector.js +121 -134
  219. package/build/es/components/Box/Box.js +38 -13
  220. package/build/es/components/Breadcrumb/Breadcrumb.js +73 -71
  221. package/build/es/components/Button/Button.d.ts +1 -1
  222. package/build/es/components/Button/Button.js +131 -127
  223. package/build/es/components/ButtonArrow/ButtonArrow.js +47 -49
  224. package/build/es/components/ButtonCard/ButtonCard.d.ts +2 -2
  225. package/build/es/components/ButtonCard/ButtonCard.js +97 -112
  226. package/build/es/components/ButtonClose/ButtonClose.d.ts +1 -1
  227. package/build/es/components/ButtonClose/ButtonClose.js +25 -14
  228. package/build/es/components/ButtonIcon/ButtonIcon.d.ts +44 -3
  229. package/build/es/components/ButtonIcon/ButtonIcon.js +105 -67
  230. package/build/es/components/ButtonPrimary/ButtonPrimary.d.ts +43 -2
  231. package/build/es/components/ButtonPrimary/ButtonPrimary.js +7 -35
  232. package/build/es/components/ButtonSecondary/ButtonSecondary.d.ts +43 -2
  233. package/build/es/components/ButtonSecondary/ButtonSecondary.js +7 -35
  234. package/build/es/components/Carousel/Carousel.d.ts +8 -2
  235. package/build/es/components/Carousel/Carousel.js +315 -346
  236. package/build/es/components/Checkbox/Checkbox.js +49 -108
  237. package/build/es/components/Chip/Chip.js +40 -34
  238. package/build/es/components/DateTimePicker/DateTimePicker.js +198 -334
  239. package/build/es/components/Divider/Divider.js +29 -15
  240. package/build/es/components/DnaLogo/DnaLogo.js +87 -51
  241. package/build/es/components/Drawer/Drawer.js +172 -167
  242. package/build/es/components/EmptyState/EmptyState.js +24 -12
  243. package/build/es/components/EnergyLabel/EnergyLabel.js +77 -73
  244. package/build/es/components/Expander/Expander.js +43 -38
  245. package/build/es/components/Floater/Floater.js +36 -14
  246. package/build/es/components/Footer/Components/FooterComponents.d.ts +4 -2
  247. package/build/es/components/Footer/Components/FooterComponents.js +305 -346
  248. package/build/es/components/Footer/Footer.js +51 -80
  249. package/build/es/components/Footer/context/FooterContext.js +9 -9
  250. package/build/es/components/Hero/Hero.js +101 -149
  251. package/build/es/components/Icon/Icon.js +41 -22
  252. package/build/es/components/Icons/Small/hlArrowBackSmall.js +12 -4
  253. package/build/es/components/Icons/Small/hlArrowForwardSmall.js +12 -4
  254. package/build/es/components/Icons/Small/hlArrowUnderSmall.js +12 -4
  255. package/build/es/components/Icons/Small/hlCalendarSmall.js +12 -4
  256. package/build/es/components/Icons/Small/hlChevronDownSmall.js +12 -4
  257. package/build/es/components/Icons/Small/hlChevronLeftSmall.js +12 -4
  258. package/build/es/components/Icons/Small/hlChevronRightSmall.js +12 -4
  259. package/build/es/components/Icons/Small/hlChevronUpSmall.js +12 -4
  260. package/build/es/components/Icons/Small/hlClockSmall.js +14 -5
  261. package/build/es/components/Icons/Small/hlDownloadSmall.js +18 -6
  262. package/build/es/components/Icons/Small/hlExternalSmall.js +12 -4
  263. package/build/es/components/Icons/Small/hlUploadSmall.js +18 -6
  264. package/build/es/components/Icons/Social/facebook.js +13 -4
  265. package/build/es/components/Icons/Social/instagram.js +13 -4
  266. package/build/es/components/Icons/Social/linkedin.js +13 -4
  267. package/build/es/components/Icons/Social/tiktok.js +12 -4
  268. package/build/es/components/Icons/Social/twitter.js +13 -4
  269. package/build/es/components/Icons/Social/youtube.js +12 -4
  270. package/build/es/components/Icons/hl404.js +12 -4
  271. package/build/es/components/Icons/hl4gSim.js +12 -4
  272. package/build/es/components/Icons/hl5gSim.js +12 -4
  273. package/build/es/components/Icons/hlBattery.js +16 -6
  274. package/build/es/components/Icons/hlBell.js +12 -4
  275. package/build/es/components/Icons/hlCableTVCard.js +12 -4
  276. package/build/es/components/Icons/hlCalendar.js +56 -15
  277. package/build/es/components/Icons/hlCall.js +12 -4
  278. package/build/es/components/Icons/hlCameraBack.js +18 -6
  279. package/build/es/components/Icons/hlCameraFront.js +14 -5
  280. package/build/es/components/Icons/hlCart.js +16 -6
  281. package/build/es/components/Icons/hlCartEmpty.js +16 -6
  282. package/build/es/components/Icons/hlChat.js +24 -7
  283. package/build/es/components/Icons/hlCheck.js +12 -4
  284. package/build/es/components/Icons/hlChevronDown.js +12 -4
  285. package/build/es/components/Icons/hlChevronLeft.js +12 -4
  286. package/build/es/components/Icons/hlChevronRight.js +12 -4
  287. package/build/es/components/Icons/hlChevronUp.js +12 -4
  288. package/build/es/components/Icons/hlCompensation.js +12 -4
  289. package/build/es/components/Icons/hlCookie.js +12 -4
  290. package/build/es/components/Icons/hlCopy.js +14 -5
  291. package/build/es/components/Icons/hlCoupon.js +16 -6
  292. package/build/es/components/Icons/hlDelivery.js +14 -4
  293. package/build/es/components/Icons/hlDigiturva.js +14 -4
  294. package/build/es/components/Icons/hlDisplaySize.js +19 -6
  295. package/build/es/components/Icons/hlDocument.js +14 -5
  296. package/build/es/components/Icons/hlDownload.js +18 -6
  297. package/build/es/components/Icons/hlEnvelope.js +12 -4
  298. package/build/es/components/Icons/hlError.js +22 -6
  299. package/build/es/components/Icons/hlEuro.js +12 -4
  300. package/build/es/components/Icons/hlExclamationMark.js +12 -4
  301. package/build/es/components/Icons/hlExpand.js +12 -4
  302. package/build/es/components/Icons/hlExternal.js +12 -4
  303. package/build/es/components/Icons/hlEyeClosed.js +12 -4
  304. package/build/es/components/Icons/hlEyeOpen.js +14 -5
  305. package/build/es/components/Icons/hlFaceId.js +12 -4
  306. package/build/es/components/Icons/hlFastDelivery.js +12 -4
  307. package/build/es/components/Icons/hlFingerprint.js +20 -8
  308. package/build/es/components/Icons/hlGlobe.js +12 -4
  309. package/build/es/components/Icons/hlHeadphones.js +12 -4
  310. package/build/es/components/Icons/hlHeadset.js +18 -6
  311. package/build/es/components/Icons/hlHeart.js +12 -4
  312. package/build/es/components/Icons/hlHome.js +12 -4
  313. package/build/es/components/Icons/hlHub.js +14 -5
  314. package/build/es/components/Icons/hlImage.js +12 -4
  315. package/build/es/components/Icons/hlInfo.js +18 -6
  316. package/build/es/components/Icons/hlInstallment.js +14 -5
  317. package/build/es/components/Icons/hlIotSim.js +14 -5
  318. package/build/es/components/Icons/hlLaptop.js +13 -4
  319. package/build/es/components/Icons/hlLink.js +16 -5
  320. package/build/es/components/Icons/hlLiveVideo.js +12 -4
  321. package/build/es/components/Icons/hlLock.js +18 -6
  322. package/build/es/components/Icons/hlMagnifyingGlass.js +14 -5
  323. package/build/es/components/Icons/hlMarker.js +14 -5
  324. package/build/es/components/Icons/hlMemory.js +14 -5
  325. package/build/es/components/Icons/hlMenu.js +12 -4
  326. package/build/es/components/Icons/hlMinimize.js +12 -4
  327. package/build/es/components/Icons/hlMinus.js +12 -4
  328. package/build/es/components/Icons/hlMobileData.js +12 -4
  329. package/build/es/components/Icons/hlMobilePayment.js +19 -6
  330. package/build/es/components/Icons/hlModem.js +26 -8
  331. package/build/es/components/Icons/hlMore.js +22 -6
  332. package/build/es/components/Icons/hlOs.js +14 -5
  333. package/build/es/components/Icons/hlPackage.js +12 -4
  334. package/build/es/components/Icons/hlPaperclip.js +12 -4
  335. package/build/es/components/Icons/hlPaytime.js +12 -4
  336. package/build/es/components/Icons/hlPen.js +12 -4
  337. package/build/es/components/Icons/hlPerson.js +12 -4
  338. package/build/es/components/Icons/hlPhone.js +17 -5
  339. package/build/es/components/Icons/hlPlaylist.js +13 -4
  340. package/build/es/components/Icons/hlPlus.js +14 -5
  341. package/build/es/components/Icons/hlPrepaid.js +12 -4
  342. package/build/es/components/Icons/hlProcessor.js +14 -5
  343. package/build/es/components/Icons/hlServices.js +12 -4
  344. package/build/es/components/Icons/hlSettings.js +12 -4
  345. package/build/es/components/Icons/hlShield.js +14 -5
  346. package/build/es/components/Icons/hlSim.js +14 -5
  347. package/build/es/components/Icons/hlSimSimple.js +18 -6
  348. package/build/es/components/Icons/hlSmile.js +22 -7
  349. package/build/es/components/Icons/hlSpeechBubble.js +14 -5
  350. package/build/es/components/Icons/hlSquaretrade.js +13 -4
  351. package/build/es/components/Icons/hlStar.js +12 -4
  352. package/build/es/components/Icons/hlStarFilled.js +12 -4
  353. package/build/es/components/Icons/hlTrash.js +14 -5
  354. package/build/es/components/Icons/hlTv.js +12 -4
  355. package/build/es/components/Icons/hlUnlock.js +14 -6
  356. package/build/es/components/Icons/hlUpload.js +18 -6
  357. package/build/es/components/Icons/hlWarning.js +18 -6
  358. package/build/es/components/Icons/hlWifi.js +18 -6
  359. package/build/es/components/Icons/hlWrench.js +12 -4
  360. package/build/es/components/Icons/hlX.js +12 -4
  361. package/build/es/components/InfoDialog/InfoDialog.js +31 -46
  362. package/build/es/components/Input/Input.js +143 -159
  363. package/build/es/components/Label/Label.js +22 -22
  364. package/build/es/components/LabelText/LabelText.js +24 -17
  365. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +29 -44
  366. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +167 -153
  367. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +34 -20
  368. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +50 -32
  369. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +17 -5
  370. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -2
  371. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +100 -95
  372. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +6 -2
  373. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -58
  374. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +20 -4
  375. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +187 -159
  376. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -5
  377. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +305 -272
  378. package/build/es/components/MainHeaderNavigation/context/NavContext.js +61 -49
  379. package/build/es/components/MainHeaderNavigation/globalNavStyles.d.ts +31 -16
  380. package/build/es/components/MainHeaderNavigation/globalNavStyles.js +39 -172
  381. package/build/es/components/Modal/Modal.js +127 -145
  382. package/build/es/components/Notification/Notification.js +74 -54
  383. package/build/es/components/NotificationBadge/NotificationBadge.js +29 -32
  384. package/build/es/components/Overlay/Overlay.js +70 -68
  385. package/build/es/components/Pill/Pill.js +91 -82
  386. package/build/es/components/PillGroup/PillGroup.js +50 -33
  387. package/build/es/components/PixelLoader/PixelLoader.js +37 -34
  388. package/build/es/components/PriorityNavigation/PriorityNavigation.js +281 -303
  389. package/build/es/components/PriorityNavigationItem/PriorityNavigationItem.js +27 -49
  390. package/build/es/components/ProgressIndicator/ProgressIndicator.js +140 -109
  391. package/build/es/components/RadioButton/RadioButton.js +91 -114
  392. package/build/es/components/ReadMore/ReadMore.js +86 -69
  393. package/build/es/components/Search/Search.js +52 -64
  394. package/build/es/components/Selectbox/Selectbox.js +279 -94
  395. package/build/es/components/Skeleton/Skeleton.js +69 -56
  396. package/build/es/components/Switch/Switch.js +62 -76
  397. package/build/es/components/Tab/Tab.js +55 -53
  398. package/build/es/components/Tabs/Tabs.js +93 -71
  399. package/build/es/components/Textarea/Textarea.js +76 -73
  400. package/build/es/components/Toaster/Toaster.js +59 -44
  401. package/build/es/components/Tooltip/Tooltip.js +74 -87
  402. package/build/es/hooks/useCloseOutsideOrElementClicked.js +23 -21
  403. package/build/es/hooks/useDebounce.js +9 -9
  404. package/build/es/hooks/useDocHeight.js +13 -13
  405. package/build/es/hooks/useOutsideClick.js +10 -10
  406. package/build/es/hooks/useResizeObserver.js +37 -24
  407. package/build/es/hooks/useScrollPosition.js +55 -54
  408. package/build/es/hooks/useWindowSize.js +20 -20
  409. package/build/es/themes/globalStyles.js +4 -4
  410. package/build/es/themes/gridTheme.js +1 -1
  411. package/build/es/themes/theme.js +12 -12
  412. package/build/es/themes/themeComponents/base.js +9 -8
  413. package/build/es/themes/themeComponents/breakpoints.js +6 -6
  414. package/build/es/themes/themeComponents/color.js +76 -74
  415. package/build/es/themes/themeComponents/fontFamily.js +3 -3
  416. package/build/es/themes/themeComponents/fontSize.js +31 -15
  417. package/build/es/themes/themeComponents/fontWeight.js +16 -16
  418. package/build/es/themes/themeComponents/forms.js +3 -2
  419. package/build/es/themes/themeComponents/layout.js +27 -27
  420. package/build/es/themes/themeComponents/lineHeight.js +32 -16
  421. package/build/es/themes/themeComponents/navigation.js +13 -13
  422. package/build/es/themes/themeComponents/radius.js +26 -26
  423. package/build/es/utils/common.js +15 -19
  424. package/build/es/utils/createStyled.d.ts +154 -134
  425. package/build/es/utils/createStyled.js +16 -2
  426. package/build/es/utils/styledUtils.js +2 -6
  427. package/package.json +19 -17
@@ -34,91 +34,77 @@ const borderRadius = 1.875; // 30px
34
34
  const borderSize = 0.125; // 2px
35
35
  const railWidth = 3; // 48px
36
36
  const railHeight = height + borderSize * 2; // 30px
37
- const Container = styledComponents.styled.div `
38
- display: inline-flex;
39
- min-height: ${railHeight}rem;
40
- position: relative;
41
- cursor: pointer;
42
- user-select: none;
43
- `;
44
- const Button = styledComponents.styled.div `
45
- height: ${height}rem;
46
- transition: transform 0.3s;
47
- position: absolute;
48
- content: ' ';
49
- width: ${height}rem;
50
- border-radius: 50%;
51
- ${({ $isChecked }) => `
37
+ const Container = styledComponents.styled.div.withConfig({
38
+ displayName: "Switch__Container",
39
+ componentId: "sc-1d008yl-0"
40
+ })(["display:inline-flex;min-height:", "rem;position:relative;cursor:pointer;user-select:none;"], railHeight);
41
+ const Button = styledComponents.styled.div.withConfig({
42
+ displayName: "Switch__Button",
43
+ componentId: "sc-1d008yl-1"
44
+ })(["height:", "rem;transition:transform 0.3s;position:absolute;content:' ';width:", "rem;border-radius:50%;", ";"], height, height, ({
45
+ $isChecked
46
+ }) => `
52
47
  transform: translate3d(${$isChecked ? railWidth - height : 0}rem, 0, 0);
53
48
  background-color: ${$isChecked ? theme.default.color.default.pink : theme.default.color.line.L01};
54
49
  border: ${borderSize}rem solid ${theme.default.color.default.white};
55
50
  z-index: 2;
56
51
  left: ${$isChecked ? -borderSize * 2 : 0}rem;
57
- `};
58
- `;
59
- const Checkbox = styledComponents.styled.input `
60
- opacity: 0;
61
- position: absolute;
62
- top: 0;
63
- left: 0;
64
-
65
- &:disabled {
66
- cursor: not-allowed;
67
- }
68
- &:disabled + label {
69
- cursor: not-allowed;
70
- color: ${theme.default.color.line.L01}${theme.default.color.transparency.T40};
71
- }
72
- &:disabled + label > div {
73
- cursor: not-allowed;
74
- border-color: ${({ checked }) => checked ? theme.default.color.default.pink : theme.default.color.line.L01}${theme.default.color.transparency
75
- .T40};
76
- }
77
- &:disabled + label div div {
78
- pointer-events: none;
79
- background-color: ${({ checked }) => checked ? theme.default.color.default.pink : theme.default.color.line.L01}${theme.default.color.transparency
80
- .T40};
81
- }
82
-
83
- &:focus-visible + label > div {
84
- outline: none;
85
- box-shadow: 0px 0px 0px 2px ${theme.default.color.focus.dark};
86
- }
87
- `;
88
- const LabelWrapper = styledComponents.styled(LabelText.default) `
89
- position: relative;
90
- cursor: pointer;
91
- padding-top: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.4)};
92
- padding-left: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 6)};
93
- user-select: none;
94
- `;
95
- const Rail = styledComponents.styled.div `
96
- width: ${railWidth}rem;
97
- position: absolute;
98
- top: 0;
99
- left: 0;
100
- border-radius: ${borderRadius}rem;
101
- overflow: hidden;
102
- ${({ $isChecked }) => `
52
+ `);
53
+ const Checkbox = styledComponents.styled.input.withConfig({
54
+ displayName: "Switch__Checkbox",
55
+ componentId: "sc-1d008yl-2"
56
+ })(["opacity:0;position:absolute;top:0;left:0;&:disabled{cursor:not-allowed;}&:disabled + label{cursor:not-allowed;color:", "", ";}&:disabled + label > div{cursor:not-allowed;border-color:", "", ";}&:disabled + label div div{pointer-events:none;background-color:", "", ";}&:focus-visible + label > div{outline:none;box-shadow:0px 0px 0px 2px ", ";}"], theme.default.color.line.L01, theme.default.color.transparency.T40, ({
57
+ checked
58
+ }) => checked ? theme.default.color.default.pink : theme.default.color.line.L01, theme.default.color.transparency.T40, ({
59
+ checked
60
+ }) => checked ? theme.default.color.default.pink : theme.default.color.line.L01, theme.default.color.transparency.T40, theme.default.color.focus.dark);
61
+ const LabelWrapper = styledComponents.styled(LabelText.default).withConfig({
62
+ displayName: "Switch__LabelWrapper",
63
+ componentId: "sc-1d008yl-3"
64
+ })(["position:relative;cursor:pointer;padding-top:", ";padding-left:", ";user-select:none;"], styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.4), styledUtils.getMultipliedSize(theme.default.base.baseWidth, 6));
65
+ const Rail = styledComponents.styled.div.withConfig({
66
+ displayName: "Switch__Rail",
67
+ componentId: "sc-1d008yl-4"
68
+ })(["width:", "rem;position:absolute;top:0;left:0;border-radius:", "rem;overflow:hidden;", ";"], railWidth, borderRadius, ({
69
+ $isChecked
70
+ }) => `
103
71
  height: ${railHeight}rem;
104
72
  border: ${borderSize}rem solid ${$isChecked ? theme.default.color.default.pink : theme.default.color.line.L01};
105
73
  background-color: ${theme.default.color.background.white.default};
106
74
  z-index: 0;
107
- `};
108
- `;
109
- const Switch = (_a) => {
110
- var { onChange, 'data-testid': dataTestId, ariaLabel } = _a, props = tslib.__rest(_a, ["onChange", 'data-testid', "ariaLabel"]);
111
- const handleChange = () => {
112
- if (onChange && !props.disabled) {
113
- onChange(!props.isChecked);
114
- }
115
- };
116
- return (React__namespace.createElement(Container, { className: props.className, "data-testid": dataTestId },
117
- React__namespace.createElement(Checkbox, { id: props.id, name: props.name, checked: Boolean(props.isChecked), "aria-label": ariaLabel, disabled: props.disabled, onChange: handleChange, role: "switch", type: "checkbox", "data-checked": Boolean(props.isChecked) }),
118
- React__namespace.createElement(LabelWrapper, { htmlFor: props.id },
119
- React__namespace.createElement(Rail, { "$isChecked": props.isChecked },
120
- React__namespace.createElement(Button, { "$isChecked": props.isChecked })),
121
- props.label && props.label)));
75
+ `);
76
+ const Switch = _a => {
77
+ var {
78
+ onChange,
79
+ 'data-testid': dataTestId,
80
+ ariaLabel
81
+ } = _a,
82
+ props = tslib.__rest(_a, ["onChange", 'data-testid', "ariaLabel"]);
83
+ const handleChange = () => {
84
+ if (onChange && !props.disabled) {
85
+ onChange(!props.isChecked);
86
+ }
87
+ };
88
+ return /*#__PURE__*/React__namespace.createElement(Container, {
89
+ className: props.className,
90
+ "data-testid": dataTestId
91
+ }, /*#__PURE__*/React__namespace.createElement(Checkbox, {
92
+ id: props.id,
93
+ name: props.name,
94
+ checked: Boolean(props.isChecked),
95
+ "aria-label": ariaLabel,
96
+ disabled: props.disabled,
97
+ onChange: handleChange,
98
+ role: "switch",
99
+ type: "checkbox",
100
+ "data-checked": Boolean(props.isChecked)
101
+ }), /*#__PURE__*/React__namespace.createElement(LabelWrapper, {
102
+ htmlFor: props.id
103
+ }, /*#__PURE__*/React__namespace.createElement(Rail, {
104
+ "$isChecked": props.isChecked
105
+ }, /*#__PURE__*/React__namespace.createElement(Button, {
106
+ "$isChecked": props.isChecked
107
+ })), props.label && props.label));
122
108
  };
123
109
 
124
110
  exports.default = Switch;
@@ -13,65 +13,67 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
13
13
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
14
 
15
15
  // TODO: Change to button HTML element as a part of https://jira.dna.fi/browse/STYLE-622
16
- const TabLabel = styledComponents.styled.li `
17
- display: inline-block;
18
- list-style: none;
19
- font-size: ${theme.default.fontSize.default};
20
- line-height: ${theme.default.lineHeight.default};
21
- font-weight: ${({ $isActive }) => ($isActive ? theme.default.fontWeight.bold : theme.default.fontWeight.book)};
22
- background-color: ${({ $isActive }) => $isActive ? theme.default.color.background.white.default : theme.default.color.background.sand.E01};
23
- border-radius: ${theme.default.radius.default} ${theme.default.radius.default} 0 0;
24
- border: 1px solid ${theme.default.color.line.L03};
25
- border-bottom: 0 none;
26
- padding: 0.625rem 1.25rem;
27
- cursor: pointer;
28
-
29
- &:focus {
30
- border: 1px solid ${theme.default.color.focus.light};
31
- box-shadow: 0px 0px 0px 2px ${theme.default.color.focus.dark};
32
- z-index: 1;
33
- outline: none;
34
- }
35
- `;
36
- const TabStyle = styledComponents.styled.li `
37
- display: inline-block;
38
- list-style: none;
39
- cursor: pointer;
40
- padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.8)}
41
- ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1.6)};
42
- color: ${theme.default.color.text.black};
43
- font-size: ${theme.default.fontSize.default};
44
- line-height: ${theme.default.lineHeight.default};
45
- font-weight: ${theme.default.fontWeight.book};
46
-
47
- ${({ $isActive }) => $isActive &&
48
- `
16
+ const TabLabel = styledComponents.styled.li.withConfig({
17
+ displayName: "Tab__TabLabel",
18
+ componentId: "sc-qpo4i1-0"
19
+ })(["display:inline-block;list-style:none;font-size:", ";line-height:", ";font-weight:", ";background-color:", ";border-radius:", " ", " 0 0;border:1px solid ", ";border-bottom:0 none;padding:0.625rem 1.25rem;cursor:pointer;&:focus{border:1px solid ", ";box-shadow:0px 0px 0px 2px ", ";z-index:1;outline:none;}"], theme.default.fontSize.default, theme.default.lineHeight.default, ({
20
+ $isActive
21
+ }) => $isActive ? theme.default.fontWeight.bold : theme.default.fontWeight.book, ({
22
+ $isActive
23
+ }) => $isActive ? theme.default.color.background.white.default : theme.default.color.background.sand.E01, theme.default.radius.default, theme.default.radius.default, theme.default.color.line.L03, theme.default.color.focus.light, theme.default.color.focus.dark);
24
+ const TabStyle = styledComponents.styled.li.withConfig({
25
+ displayName: "Tab__TabStyle",
26
+ componentId: "sc-qpo4i1-1"
27
+ })(["display:inline-block;list-style:none;cursor:pointer;padding:", " ", ";color:", ";font-size:", ";line-height:", ";font-weight:", ";", " ", " ", ""], styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.8), styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1.6), theme.default.color.text.black, theme.default.fontSize.default, theme.default.lineHeight.default, theme.default.fontWeight.book, ({
28
+ $isActive
29
+ }) => $isActive && `
49
30
  color: ${theme.default.color.text.pink};
50
31
  background-color: ${theme.default.color.background.sand.E01};
51
- `}
52
-
53
- ${({ $type }) => $type === 'underlined' &&
54
- `
32
+ `, ({
33
+ $type
34
+ }) => $type === 'underlined' && `
55
35
  padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1.6)} 0;
56
- `}
57
-
58
- ${({ $isActive, $type }) => $isActive &&
59
- $type === 'underlined' &&
60
- `
36
+ `, ({
37
+ $isActive,
38
+ $type
39
+ }) => $isActive && $type === 'underlined' && `
61
40
  border-bottom: 2px solid ${theme.default.color.default.pink};
62
41
  background-color: transparent;
63
- `}
64
- `;
42
+ `);
65
43
  /** @visibleName Tab */
66
- const Tab = (_a) => {
67
- var { type = 'box', 'data-testid': dataTestId } = _a, props = tslib.__rest(_a, ["type", 'data-testid']);
68
- const onClickHandler = (e) => {
69
- if (props.onClick) {
70
- props.onClick(props.label, e);
71
- }
72
- };
73
- const { isActive } = props;
74
- return type === 'box' || type === 'panel' ? (React__default.default.createElement(TabLabel, { role: "tab", "data-testid": dataTestId, id: props.id, "$type": type, "aria-selected": isActive, "$isActive": isActive, onClick: onClickHandler, tabIndex: isActive ? 0 : -1 }, props.label)) : (React__default.default.createElement(TabStyle, { role: "tab", "data-testid": dataTestId, id: props.id, "$type": type, "aria-selected": isActive, "$isActive": isActive, onClick: onClickHandler, tabIndex: isActive ? 0 : -1 }, props.label));
44
+ const Tab = _a => {
45
+ var {
46
+ type = 'box',
47
+ 'data-testid': dataTestId
48
+ } = _a,
49
+ props = tslib.__rest(_a, ["type", 'data-testid']);
50
+ const onClickHandler = e => {
51
+ if (props.onClick) {
52
+ props.onClick(props.label, e);
53
+ }
54
+ };
55
+ const {
56
+ isActive
57
+ } = props;
58
+ return type === 'box' || type === 'panel' ? (/*#__PURE__*/React__default.default.createElement(TabLabel, {
59
+ role: "tab",
60
+ "data-testid": dataTestId,
61
+ id: props.id,
62
+ "$type": type,
63
+ "aria-selected": isActive,
64
+ "$isActive": isActive,
65
+ onClick: onClickHandler,
66
+ tabIndex: isActive ? 0 : -1
67
+ }, props.label)) : (/*#__PURE__*/React__default.default.createElement(TabStyle, {
68
+ role: "tab",
69
+ "data-testid": dataTestId,
70
+ id: props.id,
71
+ "$type": type,
72
+ "aria-selected": isActive,
73
+ "$isActive": isActive,
74
+ onClick: onClickHandler,
75
+ tabIndex: isActive ? 0 : -1
76
+ }, props.label));
75
77
  };
76
78
 
77
79
  exports.default = Tab;
@@ -13,24 +13,24 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
13
13
 
14
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
15
 
16
- const Tablist = styledComponents.styled.ul `
17
- display: flex;
18
- flex-flow: row wrap;
19
- padding: 0;
20
-
21
- ${({ $isFullWidth }) => $isFullWidth &&
22
- `
16
+ const Tablist = styledComponents.styled.ul.withConfig({
17
+ displayName: "Tabs__Tablist",
18
+ componentId: "sc-6zhbqz-0"
19
+ })(["display:flex;flex-flow:row wrap;padding:0;", " ", ""], ({
20
+ $isFullWidth
21
+ }) => $isFullWidth && `
23
22
  align-items: stretch;
24
23
 
25
24
  & li {
26
25
  flex: 1 1 0%;
27
26
  text-align: center;
28
27
  }
29
- `}
30
-
31
- ${({ $type, $isNarrowUnderlined }) => {
32
- if ($type === 'box' || $type === 'panel') {
33
- return `
28
+ `, ({
29
+ $type,
30
+ $isNarrowUnderlined
31
+ }) => {
32
+ if ($type === 'box' || $type === 'panel') {
33
+ return `
34
34
  margin: 0;
35
35
 
36
36
  & > li {
@@ -48,78 +48,100 @@ const Tablist = styledComponents.styled.ul `
48
48
  border-top-right-radius: ${theme.default.radius.default};
49
49
  }
50
50
  `;
51
- }
52
- if ($type === 'underlined') {
53
- return `
51
+ }
52
+ if ($type === 'underlined') {
53
+ return `
54
54
  gap: ${$isNarrowUnderlined ? '1.25rem' : '2.5rem'};
55
55
  border-bottom: 1px solid ${theme.default.color.line.L02};
56
56
  `;
57
- }
58
- return '';
59
- }}
60
- `;
61
- const ContentContainer = styledComponents.styled.div `
62
- ${({ $type, $isFullWidth }) => {
63
- if ($type === 'box') {
64
- return `
57
+ }
58
+ return '';
59
+ });
60
+ const ContentContainer = styledComponents.styled.div.withConfig({
61
+ displayName: "Tabs__ContentContainer",
62
+ componentId: "sc-6zhbqz-1"
63
+ })(["", ""], ({
64
+ $type,
65
+ $isFullWidth
66
+ }) => {
67
+ if ($type === 'box') {
68
+ return `
65
69
  border-top-left-radius: 0;
66
70
  ${$isFullWidth ? 'border-top-right-radius: 0;' : ''}
67
71
  `;
68
- }
69
- if ($type === 'panel') {
70
- return `
72
+ }
73
+ if ($type === 'panel') {
74
+ return `
71
75
  border-top: 1px solid ${theme.default.color.line.L03};
72
76
  `;
73
- }
74
- if ($type === 'underlined') {
75
- return `
77
+ }
78
+ if ($type === 'underlined') {
79
+ return `
76
80
  margin-top: ${theme.default.grid.gutter};
77
81
  `;
78
- }
79
- return '';
80
- }}
81
- `;
82
+ }
83
+ return '';
84
+ });
82
85
  /** @visibleName Tabs */
83
- const Tabs = (_a) => {
84
- var { type = 'box', 'data-testid': dataTestId } = _a, props = tslib.__rest(_a, ["type", 'data-testid']);
85
- const [activeTab, setActiveTab] = React.useState(props.defaultTab);
86
- const tabs = React.Children.map(props.children, child => React.isValidElement(child) && child.type === Tab.default ? child : null);
87
- const onClickTabItem = (tab, e) => {
88
- setActiveTab(tab);
89
- if (tab !== activeTab) {
90
- if (props.onClick && e) {
91
- props.onClick(e);
92
- }
93
- }
94
- };
95
- const onKeyDown = (e) => {
96
- const tabElements = Array.from(e.currentTarget.querySelectorAll('[role="tab"]'));
97
- const currentIndex = tabElements.indexOf(document.activeElement);
98
- if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
99
- e.preventDefault();
100
- const direction = e.key === 'ArrowRight' ? 1 : -1;
101
- const nextIndex = (currentIndex + direction + tabElements.length) % tabElements.length;
102
- const nextTab = tabElements[nextIndex];
103
- nextTab.focus();
104
- nextTab.click();
105
- }
106
- };
107
- if (!tabs) {
108
- return null;
86
+ const Tabs = _a => {
87
+ var {
88
+ type = 'box',
89
+ 'data-testid': dataTestId
90
+ } = _a,
91
+ props = tslib.__rest(_a, ["type", 'data-testid']);
92
+ const [activeTab, setActiveTab] = React.useState(props.defaultTab);
93
+ const tabs = React.Children.map(props.children, child => /*#__PURE__*/React.isValidElement(child) && child.type === Tab.default ? child : null);
94
+ const onClickTabItem = (tab, e) => {
95
+ setActiveTab(tab);
96
+ if (tab !== activeTab) {
97
+ if (props.onClick && e) {
98
+ props.onClick(e);
99
+ }
109
100
  }
110
- const outerActiveTab = tabs.find(child => child.props.isActive);
111
- if (!activeTab) {
112
- setActiveTab((outerActiveTab === null || outerActiveTab === void 0 ? void 0 : outerActiveTab.props.label) || tabs[0].props.label);
101
+ };
102
+ const onKeyDown = e => {
103
+ const tabElements = Array.from(e.currentTarget.querySelectorAll('[role="tab"]'));
104
+ const currentIndex = tabElements.indexOf(document.activeElement);
105
+ if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
106
+ e.preventDefault();
107
+ const direction = e.key === 'ArrowRight' ? 1 : -1;
108
+ const nextIndex = (currentIndex + direction + tabElements.length) % tabElements.length;
109
+ const nextTab = tabElements[nextIndex];
110
+ nextTab.focus();
111
+ nextTab.click();
113
112
  }
114
- return (React__default.default.createElement("div", { className: props.className, "data-testid": dataTestId },
115
- React__default.default.createElement(Tablist, { role: "tablist", "$type": type, "$isFullWidth": props.isFullWidth, "$isNarrowUnderlined": props.isNarrowUnderlined, onKeyDown: onKeyDown }, React.Children.map(props.children, tab => React.isValidElement(tab) &&
116
- tab.type === Tab.default && (React__default.default.createElement(Tab.default, { id: tab.props.id, key: tab.props.label, label: tab.props.label, type: type, isActive: tab.props.isActive
117
- ? tab.props.isActive
118
- : activeTab === tab.props.label, onClick: onClickTabItem, className: tab.props.className, "data-testid": tab.props['data-testid'] })))),
119
- React__default.default.createElement(ContentContainer, { role: "tabpanel", "$type": type, "$isFullWidth": props.isFullWidth, as: type === 'box' ? Box.default : undefined }, React.Children.map(props.children, tab => React.isValidElement(tab) &&
120
- tab.type === Tab.default &&
121
- (tab.props.isActive || tab.props.label === activeTab) &&
122
- tab.props.children))));
113
+ };
114
+ if (!tabs) {
115
+ return null;
116
+ }
117
+ const outerActiveTab = tabs.find(child => child.props.isActive);
118
+ if (!activeTab) {
119
+ setActiveTab((outerActiveTab === null || outerActiveTab === void 0 ? void 0 : outerActiveTab.props.label) || tabs[0].props.label);
120
+ }
121
+ return /*#__PURE__*/React__default.default.createElement("div", {
122
+ className: props.className,
123
+ "data-testid": dataTestId
124
+ }, /*#__PURE__*/React__default.default.createElement(Tablist, {
125
+ role: "tablist",
126
+ "$type": type,
127
+ "$isFullWidth": props.isFullWidth,
128
+ "$isNarrowUnderlined": props.isNarrowUnderlined,
129
+ onKeyDown: onKeyDown
130
+ }, React.Children.map(props.children, tab => /*#__PURE__*/React.isValidElement(tab) && tab.type === Tab.default && (/*#__PURE__*/React__default.default.createElement(Tab.default, {
131
+ id: tab.props.id,
132
+ key: tab.props.label,
133
+ label: tab.props.label,
134
+ type: type,
135
+ isActive: tab.props.isActive ? tab.props.isActive : activeTab === tab.props.label,
136
+ onClick: onClickTabItem,
137
+ className: tab.props.className,
138
+ "data-testid": tab.props['data-testid']
139
+ })))), /*#__PURE__*/React__default.default.createElement(ContentContainer, {
140
+ role: "tabpanel",
141
+ "$type": type,
142
+ "$isFullWidth": props.isFullWidth,
143
+ as: type === 'box' ? Box.default : undefined
144
+ }, React.Children.map(props.children, tab => /*#__PURE__*/React.isValidElement(tab) && tab.type === Tab.default && (tab.props.isActive || tab.props.label === activeTab) && tab.props.children)));
123
145
  };
124
146
 
125
147
  exports.default = Tabs;
@@ -13,82 +13,85 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
13
13
 
14
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
15
 
16
- const FieldContainer = styledComponents.styled.div `
17
- color: ${theme.default.color.text.black};
18
- margin-bottom: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
19
- `;
20
- const StyledTextarea = styledComponents.styled.textarea `
21
- display: block;
22
- font-family: ${theme.default.fontFamily.default};
23
- font-size: ${theme.default.fontSize.default};
24
- line-height: ${theme.default.lineHeight.default};
25
- width: 100%;
26
- padding: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
27
- border-radius: ${theme.default.radius.s};
28
- border: 1px solid ${theme.default.color.line.L01};
29
-
30
- &::-ms-clear,
31
- &::-ms-reveal {
32
- display: none;
33
- }
34
-
35
- &:disabled,
36
- &[disabled] {
37
- background-color: ${theme.default.color.background.sand.E01};
16
+ const FieldContainer = styledComponents.styled.div.withConfig({
17
+ displayName: "Textarea__FieldContainer",
18
+ componentId: "sc-1qkt1od-0"
19
+ })(["color:", ";margin-bottom:", ";"], theme.default.color.text.black, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1));
20
+ const StyledTextarea = styledComponents.styled.textarea.withConfig({
21
+ displayName: "Textarea__StyledTextarea",
22
+ componentId: "sc-1qkt1od-1"
23
+ })(["display:block;font-family:", ";font-size:", ";line-height:", ";width:100%;padding:", ";border-radius:", ";border:1px solid ", ";&::-ms-clear,&::-ms-reveal{display:none;}&:disabled,&[disabled]{background-color:", ";}&:focus{border:2px solid ", ";outline:2px solid ", ";}&:invalid{box-shadow:none;}&::placeholder{color:", "", ";}"], theme.default.fontFamily.default, theme.default.fontSize.default, theme.default.lineHeight.default, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1), theme.default.radius.s, theme.default.color.line.L01, theme.default.color.background.sand.E01, theme.default.color.focus.light, theme.default.color.focus.dark, theme.default.color.text.black, theme.default.color.transparency.T40);
24
+ const Message = styledComponents.styled.div.withConfig({
25
+ displayName: "Textarea__Message",
26
+ componentId: "sc-1qkt1od-2"
27
+ })(["font-size:", ";font-weight:", ";line-height:", ";color:", ";margin-top:", ";"], theme.default.fontSize.s, theme.default.fontWeight.book, theme.default.lineHeight.s, theme.default.color.text.gray, styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.5));
28
+ const ErrorMessage = styledComponents.styled(Message).withConfig({
29
+ displayName: "Textarea__ErrorMessage",
30
+ componentId: "sc-1qkt1od-3"
31
+ })(["font-weight:", ";color:", ";"], theme.default.fontWeight.medium, theme.default.color.notification.error);
32
+ const Textarea = _a => {
33
+ var {
34
+ height = 3,
35
+ 'data-testid': dataTestId,
36
+ ariaLabel
37
+ } = _a,
38
+ props = tslib.__rest(_a, ["height", 'data-testid', "ariaLabel"]);
39
+ const inputRef = React.useRef(null);
40
+ const isErrorStatus = props.status === 'error';
41
+ const handleOnBlur = e => {
42
+ if (props.onBlur) {
43
+ props.onBlur(e.target.value, e);
38
44
  }
39
-
40
- &:focus {
41
- border: 2px solid ${theme.default.color.focus.light};
42
- outline: 2px solid ${theme.default.color.focus.dark};
45
+ };
46
+ const handleChange = e => {
47
+ if (props.onChange) {
48
+ props.onChange(e.target.value, e);
43
49
  }
44
-
45
- &:invalid {
46
- box-shadow: none;
47
- }
48
-
49
- &::placeholder {
50
- color: ${theme.default.color.text.black}${theme.default.color.transparency.T40};
50
+ };
51
+ const onClick = e => {
52
+ e.preventDefault();
53
+ if (inputRef && inputRef.current) {
54
+ inputRef.current.focus();
51
55
  }
52
- `;
53
- const Message = styledComponents.styled.div `
54
- font-size: ${theme.default.fontSize.s};
55
- font-weight: ${theme.default.fontWeight.book};
56
- line-height: ${theme.default.lineHeight.s};
57
- color: ${theme.default.color.text.gray};
58
- margin-top: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.5)};
59
- `;
60
- const ErrorMessage = styledComponents.styled(Message) `
61
- font-weight: ${theme.default.fontWeight.medium};
62
- color: ${theme.default.color.notification.error};
63
- `;
64
- const Textarea = (_a) => {
65
- var { height = 3, 'data-testid': dataTestId, ariaLabel } = _a, props = tslib.__rest(_a, ["height", 'data-testid', "ariaLabel"]);
66
- const inputRef = React.useRef(null);
67
- const isErrorStatus = props.status === 'error';
68
- const handleOnBlur = (e) => {
69
- if (props.onBlur) {
70
- props.onBlur(e.target.value, e);
71
- }
72
- };
73
- const handleChange = (e) => {
74
- if (props.onChange) {
75
- props.onChange(e.target.value, e);
76
- }
77
- };
78
- const onClick = (e) => {
79
- e.preventDefault();
80
- if (inputRef && inputRef.current) {
81
- inputRef.current.focus();
82
- }
83
- };
84
- const errorId = isErrorStatus && props.errorMessage ? `${props.id}-error` : undefined;
85
- const commentId = props.commentMessage ? `${props.id}-comment` : undefined;
86
- const describedBy = [errorId, commentId].filter(Boolean).join(' ') || undefined;
87
- return (React__default.default.createElement(FieldContainer, { className: props.className },
88
- props.label && (React__default.default.createElement(LabelText.default, { htmlFor: props.id, "data-testid": dataTestId && `${dataTestId}-label`, status: isErrorStatus ? 'error' : undefined, isMandatory: props.required }, props.label)),
89
- React__default.default.createElement(StyledTextarea, { id: props.id, name: props.name, ref: inputRef, value: props.value, rows: height, placeholder: props.placeholder, tabIndex: props.tabIndex, onChange: handleChange, onBlur: handleOnBlur, onFocus: props.onFocus, onClick: onClick, onKeyDown: props.onKeyDown, onKeyPress: props.onKeyPress, required: props.required, disabled: props.disabled, "aria-label": !props.label ? ariaLabel : undefined, "aria-invalid": isErrorStatus, "aria-describedby": describedBy, "data-testid": dataTestId }),
90
- props.commentMessage && (React__default.default.createElement(Message, { id: commentId, "data-testid": dataTestId && `${dataTestId}-comment` }, props.commentMessage)),
91
- isErrorStatus && props.errorMessage && (React__default.default.createElement(ErrorMessage, { id: errorId, role: "alert", "data-testid": dataTestId && `${dataTestId}-error` }, props.errorMessage))));
56
+ };
57
+ const errorId = isErrorStatus && props.errorMessage ? `${props.id}-error` : undefined;
58
+ const commentId = props.commentMessage ? `${props.id}-comment` : undefined;
59
+ const describedBy = [errorId, commentId].filter(Boolean).join(' ') || undefined;
60
+ return /*#__PURE__*/React__default.default.createElement(FieldContainer, {
61
+ className: props.className
62
+ }, props.label && (/*#__PURE__*/React__default.default.createElement(LabelText.default, {
63
+ htmlFor: props.id,
64
+ "data-testid": dataTestId && `${dataTestId}-label`,
65
+ status: isErrorStatus ? 'error' : undefined,
66
+ isMandatory: props.required
67
+ }, props.label)), /*#__PURE__*/React__default.default.createElement(StyledTextarea, {
68
+ id: props.id,
69
+ name: props.name,
70
+ ref: inputRef,
71
+ value: props.value,
72
+ rows: height,
73
+ placeholder: props.placeholder,
74
+ tabIndex: props.tabIndex,
75
+ onChange: handleChange,
76
+ onBlur: handleOnBlur,
77
+ onFocus: props.onFocus,
78
+ onClick: onClick,
79
+ onKeyDown: props.onKeyDown,
80
+ onKeyPress: props.onKeyPress,
81
+ required: props.required,
82
+ disabled: props.disabled,
83
+ "aria-label": !props.label ? ariaLabel : undefined,
84
+ "aria-invalid": isErrorStatus,
85
+ "aria-describedby": describedBy,
86
+ "data-testid": dataTestId
87
+ }), props.commentMessage && (/*#__PURE__*/React__default.default.createElement(Message, {
88
+ id: commentId,
89
+ "data-testid": dataTestId && `${dataTestId}-comment`
90
+ }, props.commentMessage)), isErrorStatus && props.errorMessage && (/*#__PURE__*/React__default.default.createElement(ErrorMessage, {
91
+ id: errorId,
92
+ role: "alert",
93
+ "data-testid": dataTestId && `${dataTestId}-error`
94
+ }, props.errorMessage)));
92
95
  };
93
96
 
94
97
  exports.default = Textarea;