@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
@@ -10,91 +10,77 @@ const borderRadius = 1.875; // 30px
10
10
  const borderSize = 0.125; // 2px
11
11
  const railWidth = 3; // 48px
12
12
  const railHeight = height + borderSize * 2; // 30px
13
- const Container = styled.div `
14
- display: inline-flex;
15
- min-height: ${railHeight}rem;
16
- position: relative;
17
- cursor: pointer;
18
- user-select: none;
19
- `;
20
- const Button = styled.div `
21
- height: ${height}rem;
22
- transition: transform 0.3s;
23
- position: absolute;
24
- content: ' ';
25
- width: ${height}rem;
26
- border-radius: 50%;
27
- ${({ $isChecked }) => `
13
+ const Container = styled.div.withConfig({
14
+ displayName: "Switch__Container",
15
+ componentId: "sc-1d008yl-0"
16
+ })(["display:inline-flex;min-height:", "rem;position:relative;cursor:pointer;user-select:none;"], railHeight);
17
+ const Button = styled.div.withConfig({
18
+ displayName: "Switch__Button",
19
+ componentId: "sc-1d008yl-1"
20
+ })(["height:", "rem;transition:transform 0.3s;position:absolute;content:' ';width:", "rem;border-radius:50%;", ";"], height, height, ({
21
+ $isChecked
22
+ }) => `
28
23
  transform: translate3d(${$isChecked ? railWidth - height : 0}rem, 0, 0);
29
24
  background-color: ${$isChecked ? theme.color.default.pink : theme.color.line.L01};
30
25
  border: ${borderSize}rem solid ${theme.color.default.white};
31
26
  z-index: 2;
32
27
  left: ${$isChecked ? -borderSize * 2 : 0}rem;
33
- `};
34
- `;
35
- const Checkbox = styled.input `
36
- opacity: 0;
37
- position: absolute;
38
- top: 0;
39
- left: 0;
40
-
41
- &:disabled {
42
- cursor: not-allowed;
43
- }
44
- &:disabled + label {
45
- cursor: not-allowed;
46
- color: ${theme.color.line.L01}${theme.color.transparency.T40};
47
- }
48
- &:disabled + label > div {
49
- cursor: not-allowed;
50
- border-color: ${({ checked }) => checked ? theme.color.default.pink : theme.color.line.L01}${theme.color.transparency
51
- .T40};
52
- }
53
- &:disabled + label div div {
54
- pointer-events: none;
55
- background-color: ${({ checked }) => checked ? theme.color.default.pink : theme.color.line.L01}${theme.color.transparency
56
- .T40};
57
- }
58
-
59
- &:focus-visible + label > div {
60
- outline: none;
61
- box-shadow: 0px 0px 0px 2px ${theme.color.focus.dark};
62
- }
63
- `;
64
- const LabelWrapper = styled(LabelText) `
65
- position: relative;
66
- cursor: pointer;
67
- padding-top: ${getMultipliedSize(theme.base.baseHeight, 0.4)};
68
- padding-left: ${getMultipliedSize(theme.base.baseWidth, 6)};
69
- user-select: none;
70
- `;
71
- const Rail = styled.div `
72
- width: ${railWidth}rem;
73
- position: absolute;
74
- top: 0;
75
- left: 0;
76
- border-radius: ${borderRadius}rem;
77
- overflow: hidden;
78
- ${({ $isChecked }) => `
28
+ `);
29
+ const Checkbox = styled.input.withConfig({
30
+ displayName: "Switch__Checkbox",
31
+ componentId: "sc-1d008yl-2"
32
+ })(["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.color.line.L01, theme.color.transparency.T40, ({
33
+ checked
34
+ }) => checked ? theme.color.default.pink : theme.color.line.L01, theme.color.transparency.T40, ({
35
+ checked
36
+ }) => checked ? theme.color.default.pink : theme.color.line.L01, theme.color.transparency.T40, theme.color.focus.dark);
37
+ const LabelWrapper = styled(LabelText).withConfig({
38
+ displayName: "Switch__LabelWrapper",
39
+ componentId: "sc-1d008yl-3"
40
+ })(["position:relative;cursor:pointer;padding-top:", ";padding-left:", ";user-select:none;"], getMultipliedSize(theme.base.baseHeight, 0.4), getMultipliedSize(theme.base.baseWidth, 6));
41
+ const Rail = styled.div.withConfig({
42
+ displayName: "Switch__Rail",
43
+ componentId: "sc-1d008yl-4"
44
+ })(["width:", "rem;position:absolute;top:0;left:0;border-radius:", "rem;overflow:hidden;", ";"], railWidth, borderRadius, ({
45
+ $isChecked
46
+ }) => `
79
47
  height: ${railHeight}rem;
80
48
  border: ${borderSize}rem solid ${$isChecked ? theme.color.default.pink : theme.color.line.L01};
81
49
  background-color: ${theme.color.background.white.default};
82
50
  z-index: 0;
83
- `};
84
- `;
85
- const Switch = (_a) => {
86
- var { onChange, 'data-testid': dataTestId, ariaLabel } = _a, props = __rest(_a, ["onChange", 'data-testid', "ariaLabel"]);
87
- const handleChange = () => {
88
- if (onChange && !props.disabled) {
89
- onChange(!props.isChecked);
90
- }
91
- };
92
- return (React.createElement(Container, { className: props.className, "data-testid": dataTestId },
93
- React.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) }),
94
- React.createElement(LabelWrapper, { htmlFor: props.id },
95
- React.createElement(Rail, { "$isChecked": props.isChecked },
96
- React.createElement(Button, { "$isChecked": props.isChecked })),
97
- props.label && props.label)));
51
+ `);
52
+ const Switch = _a => {
53
+ var {
54
+ onChange,
55
+ 'data-testid': dataTestId,
56
+ ariaLabel
57
+ } = _a,
58
+ props = __rest(_a, ["onChange", 'data-testid', "ariaLabel"]);
59
+ const handleChange = () => {
60
+ if (onChange && !props.disabled) {
61
+ onChange(!props.isChecked);
62
+ }
63
+ };
64
+ return /*#__PURE__*/React.createElement(Container, {
65
+ className: props.className,
66
+ "data-testid": dataTestId
67
+ }, /*#__PURE__*/React.createElement(Checkbox, {
68
+ id: props.id,
69
+ name: props.name,
70
+ checked: Boolean(props.isChecked),
71
+ "aria-label": ariaLabel,
72
+ disabled: props.disabled,
73
+ onChange: handleChange,
74
+ role: "switch",
75
+ type: "checkbox",
76
+ "data-checked": Boolean(props.isChecked)
77
+ }), /*#__PURE__*/React.createElement(LabelWrapper, {
78
+ htmlFor: props.id
79
+ }, /*#__PURE__*/React.createElement(Rail, {
80
+ "$isChecked": props.isChecked
81
+ }, /*#__PURE__*/React.createElement(Button, {
82
+ "$isChecked": props.isChecked
83
+ })), props.label && props.label));
98
84
  };
99
85
 
100
86
  export { Switch as default };
@@ -5,65 +5,67 @@ import theme from '../../themes/theme.js';
5
5
  import { getMultipliedSize } from '../../utils/styledUtils.js';
6
6
 
7
7
  // TODO: Change to button HTML element as a part of https://jira.dna.fi/browse/STYLE-622
8
- const TabLabel = styled.li `
9
- display: inline-block;
10
- list-style: none;
11
- font-size: ${theme.fontSize.default};
12
- line-height: ${theme.lineHeight.default};
13
- font-weight: ${({ $isActive }) => ($isActive ? theme.fontWeight.bold : theme.fontWeight.book)};
14
- background-color: ${({ $isActive }) => $isActive ? theme.color.background.white.default : theme.color.background.sand.E01};
15
- border-radius: ${theme.radius.default} ${theme.radius.default} 0 0;
16
- border: 1px solid ${theme.color.line.L03};
17
- border-bottom: 0 none;
18
- padding: 0.625rem 1.25rem;
19
- cursor: pointer;
20
-
21
- &:focus {
22
- border: 1px solid ${theme.color.focus.light};
23
- box-shadow: 0px 0px 0px 2px ${theme.color.focus.dark};
24
- z-index: 1;
25
- outline: none;
26
- }
27
- `;
28
- const TabStyle = styled.li `
29
- display: inline-block;
30
- list-style: none;
31
- cursor: pointer;
32
- padding: ${getMultipliedSize(theme.base.baseHeight, 0.8)}
33
- ${getMultipliedSize(theme.base.baseHeight, 1.6)};
34
- color: ${theme.color.text.black};
35
- font-size: ${theme.fontSize.default};
36
- line-height: ${theme.lineHeight.default};
37
- font-weight: ${theme.fontWeight.book};
38
-
39
- ${({ $isActive }) => $isActive &&
40
- `
8
+ const TabLabel = styled.li.withConfig({
9
+ displayName: "Tab__TabLabel",
10
+ componentId: "sc-qpo4i1-0"
11
+ })(["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.fontSize.default, theme.lineHeight.default, ({
12
+ $isActive
13
+ }) => $isActive ? theme.fontWeight.bold : theme.fontWeight.book, ({
14
+ $isActive
15
+ }) => $isActive ? theme.color.background.white.default : theme.color.background.sand.E01, theme.radius.default, theme.radius.default, theme.color.line.L03, theme.color.focus.light, theme.color.focus.dark);
16
+ const TabStyle = styled.li.withConfig({
17
+ displayName: "Tab__TabStyle",
18
+ componentId: "sc-qpo4i1-1"
19
+ })(["display:inline-block;list-style:none;cursor:pointer;padding:", " ", ";color:", ";font-size:", ";line-height:", ";font-weight:", ";", " ", " ", ""], getMultipliedSize(theme.base.baseHeight, 0.8), getMultipliedSize(theme.base.baseHeight, 1.6), theme.color.text.black, theme.fontSize.default, theme.lineHeight.default, theme.fontWeight.book, ({
20
+ $isActive
21
+ }) => $isActive && `
41
22
  color: ${theme.color.text.pink};
42
23
  background-color: ${theme.color.background.sand.E01};
43
- `}
44
-
45
- ${({ $type }) => $type === 'underlined' &&
46
- `
24
+ `, ({
25
+ $type
26
+ }) => $type === 'underlined' && `
47
27
  padding: ${getMultipliedSize(theme.base.baseHeight, 1.6)} 0;
48
- `}
49
-
50
- ${({ $isActive, $type }) => $isActive &&
51
- $type === 'underlined' &&
52
- `
28
+ `, ({
29
+ $isActive,
30
+ $type
31
+ }) => $isActive && $type === 'underlined' && `
53
32
  border-bottom: 2px solid ${theme.color.default.pink};
54
33
  background-color: transparent;
55
- `}
56
- `;
34
+ `);
57
35
  /** @visibleName Tab */
58
- const Tab = (_a) => {
59
- var { type = 'box', 'data-testid': dataTestId } = _a, props = __rest(_a, ["type", 'data-testid']);
60
- const onClickHandler = (e) => {
61
- if (props.onClick) {
62
- props.onClick(props.label, e);
63
- }
64
- };
65
- const { isActive } = props;
66
- return type === 'box' || type === 'panel' ? (React__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.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));
36
+ const Tab = _a => {
37
+ var {
38
+ type = 'box',
39
+ 'data-testid': dataTestId
40
+ } = _a,
41
+ props = __rest(_a, ["type", 'data-testid']);
42
+ const onClickHandler = e => {
43
+ if (props.onClick) {
44
+ props.onClick(props.label, e);
45
+ }
46
+ };
47
+ const {
48
+ isActive
49
+ } = props;
50
+ return type === 'box' || type === 'panel' ? (/*#__PURE__*/React__default.createElement(TabLabel, {
51
+ role: "tab",
52
+ "data-testid": dataTestId,
53
+ id: props.id,
54
+ "$type": type,
55
+ "aria-selected": isActive,
56
+ "$isActive": isActive,
57
+ onClick: onClickHandler,
58
+ tabIndex: isActive ? 0 : -1
59
+ }, props.label)) : (/*#__PURE__*/React__default.createElement(TabStyle, {
60
+ role: "tab",
61
+ "data-testid": dataTestId,
62
+ id: props.id,
63
+ "$type": type,
64
+ "aria-selected": isActive,
65
+ "$isActive": isActive,
66
+ onClick: onClickHandler,
67
+ tabIndex: isActive ? 0 : -1
68
+ }, props.label));
67
69
  };
68
70
 
69
71
  export { Tab as default };
@@ -5,24 +5,24 @@ import theme from '../../themes/theme.js';
5
5
  import Box from '../Box/Box.js';
6
6
  import Tab from '../Tab/Tab.js';
7
7
 
8
- const Tablist = styled.ul `
9
- display: flex;
10
- flex-flow: row wrap;
11
- padding: 0;
12
-
13
- ${({ $isFullWidth }) => $isFullWidth &&
14
- `
8
+ const Tablist = styled.ul.withConfig({
9
+ displayName: "Tabs__Tablist",
10
+ componentId: "sc-6zhbqz-0"
11
+ })(["display:flex;flex-flow:row wrap;padding:0;", " ", ""], ({
12
+ $isFullWidth
13
+ }) => $isFullWidth && `
15
14
  align-items: stretch;
16
15
 
17
16
  & li {
18
17
  flex: 1 1 0%;
19
18
  text-align: center;
20
19
  }
21
- `}
22
-
23
- ${({ $type, $isNarrowUnderlined }) => {
24
- if ($type === 'box' || $type === 'panel') {
25
- return `
20
+ `, ({
21
+ $type,
22
+ $isNarrowUnderlined
23
+ }) => {
24
+ if ($type === 'box' || $type === 'panel') {
25
+ return `
26
26
  margin: 0;
27
27
 
28
28
  & > li {
@@ -40,78 +40,100 @@ const Tablist = styled.ul `
40
40
  border-top-right-radius: ${theme.radius.default};
41
41
  }
42
42
  `;
43
- }
44
- if ($type === 'underlined') {
45
- return `
43
+ }
44
+ if ($type === 'underlined') {
45
+ return `
46
46
  gap: ${$isNarrowUnderlined ? '1.25rem' : '2.5rem'};
47
47
  border-bottom: 1px solid ${theme.color.line.L02};
48
48
  `;
49
- }
50
- return '';
51
- }}
52
- `;
53
- const ContentContainer = styled.div `
54
- ${({ $type, $isFullWidth }) => {
55
- if ($type === 'box') {
56
- return `
49
+ }
50
+ return '';
51
+ });
52
+ const ContentContainer = styled.div.withConfig({
53
+ displayName: "Tabs__ContentContainer",
54
+ componentId: "sc-6zhbqz-1"
55
+ })(["", ""], ({
56
+ $type,
57
+ $isFullWidth
58
+ }) => {
59
+ if ($type === 'box') {
60
+ return `
57
61
  border-top-left-radius: 0;
58
62
  ${$isFullWidth ? 'border-top-right-radius: 0;' : ''}
59
63
  `;
60
- }
61
- if ($type === 'panel') {
62
- return `
64
+ }
65
+ if ($type === 'panel') {
66
+ return `
63
67
  border-top: 1px solid ${theme.color.line.L03};
64
68
  `;
65
- }
66
- if ($type === 'underlined') {
67
- return `
69
+ }
70
+ if ($type === 'underlined') {
71
+ return `
68
72
  margin-top: ${theme.grid.gutter};
69
73
  `;
70
- }
71
- return '';
72
- }}
73
- `;
74
+ }
75
+ return '';
76
+ });
74
77
  /** @visibleName Tabs */
75
- const Tabs = (_a) => {
76
- var { type = 'box', 'data-testid': dataTestId } = _a, props = __rest(_a, ["type", 'data-testid']);
77
- const [activeTab, setActiveTab] = useState(props.defaultTab);
78
- const tabs = Children.map(props.children, child => isValidElement(child) && child.type === Tab ? child : null);
79
- const onClickTabItem = (tab, e) => {
80
- setActiveTab(tab);
81
- if (tab !== activeTab) {
82
- if (props.onClick && e) {
83
- props.onClick(e);
84
- }
85
- }
86
- };
87
- const onKeyDown = (e) => {
88
- const tabElements = Array.from(e.currentTarget.querySelectorAll('[role="tab"]'));
89
- const currentIndex = tabElements.indexOf(document.activeElement);
90
- if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
91
- e.preventDefault();
92
- const direction = e.key === 'ArrowRight' ? 1 : -1;
93
- const nextIndex = (currentIndex + direction + tabElements.length) % tabElements.length;
94
- const nextTab = tabElements[nextIndex];
95
- nextTab.focus();
96
- nextTab.click();
97
- }
98
- };
99
- if (!tabs) {
100
- return null;
78
+ const Tabs = _a => {
79
+ var {
80
+ type = 'box',
81
+ 'data-testid': dataTestId
82
+ } = _a,
83
+ props = __rest(_a, ["type", 'data-testid']);
84
+ const [activeTab, setActiveTab] = useState(props.defaultTab);
85
+ const tabs = Children.map(props.children, child => /*#__PURE__*/isValidElement(child) && child.type === Tab ? child : null);
86
+ const onClickTabItem = (tab, e) => {
87
+ setActiveTab(tab);
88
+ if (tab !== activeTab) {
89
+ if (props.onClick && e) {
90
+ props.onClick(e);
91
+ }
101
92
  }
102
- const outerActiveTab = tabs.find(child => child.props.isActive);
103
- if (!activeTab) {
104
- setActiveTab((outerActiveTab === null || outerActiveTab === void 0 ? void 0 : outerActiveTab.props.label) || tabs[0].props.label);
93
+ };
94
+ const onKeyDown = e => {
95
+ const tabElements = Array.from(e.currentTarget.querySelectorAll('[role="tab"]'));
96
+ const currentIndex = tabElements.indexOf(document.activeElement);
97
+ if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
98
+ e.preventDefault();
99
+ const direction = e.key === 'ArrowRight' ? 1 : -1;
100
+ const nextIndex = (currentIndex + direction + tabElements.length) % tabElements.length;
101
+ const nextTab = tabElements[nextIndex];
102
+ nextTab.focus();
103
+ nextTab.click();
105
104
  }
106
- return (React__default.createElement("div", { className: props.className, "data-testid": dataTestId },
107
- React__default.createElement(Tablist, { role: "tablist", "$type": type, "$isFullWidth": props.isFullWidth, "$isNarrowUnderlined": props.isNarrowUnderlined, onKeyDown: onKeyDown }, Children.map(props.children, tab => isValidElement(tab) &&
108
- tab.type === Tab && (React__default.createElement(Tab, { id: tab.props.id, key: tab.props.label, label: tab.props.label, type: type, isActive: tab.props.isActive
109
- ? tab.props.isActive
110
- : activeTab === tab.props.label, onClick: onClickTabItem, className: tab.props.className, "data-testid": tab.props['data-testid'] })))),
111
- React__default.createElement(ContentContainer, { role: "tabpanel", "$type": type, "$isFullWidth": props.isFullWidth, as: type === 'box' ? Box : undefined }, Children.map(props.children, tab => isValidElement(tab) &&
112
- tab.type === Tab &&
113
- (tab.props.isActive || tab.props.label === activeTab) &&
114
- tab.props.children))));
105
+ };
106
+ if (!tabs) {
107
+ return null;
108
+ }
109
+ const outerActiveTab = tabs.find(child => child.props.isActive);
110
+ if (!activeTab) {
111
+ setActiveTab((outerActiveTab === null || outerActiveTab === void 0 ? void 0 : outerActiveTab.props.label) || tabs[0].props.label);
112
+ }
113
+ return /*#__PURE__*/React__default.createElement("div", {
114
+ className: props.className,
115
+ "data-testid": dataTestId
116
+ }, /*#__PURE__*/React__default.createElement(Tablist, {
117
+ role: "tablist",
118
+ "$type": type,
119
+ "$isFullWidth": props.isFullWidth,
120
+ "$isNarrowUnderlined": props.isNarrowUnderlined,
121
+ onKeyDown: onKeyDown
122
+ }, Children.map(props.children, tab => /*#__PURE__*/isValidElement(tab) && tab.type === Tab && (/*#__PURE__*/React__default.createElement(Tab, {
123
+ id: tab.props.id,
124
+ key: tab.props.label,
125
+ label: tab.props.label,
126
+ type: type,
127
+ isActive: tab.props.isActive ? tab.props.isActive : activeTab === tab.props.label,
128
+ onClick: onClickTabItem,
129
+ className: tab.props.className,
130
+ "data-testid": tab.props['data-testid']
131
+ })))), /*#__PURE__*/React__default.createElement(ContentContainer, {
132
+ role: "tabpanel",
133
+ "$type": type,
134
+ "$isFullWidth": props.isFullWidth,
135
+ as: type === 'box' ? Box : undefined
136
+ }, Children.map(props.children, tab => /*#__PURE__*/isValidElement(tab) && tab.type === Tab && (tab.props.isActive || tab.props.label === activeTab) && tab.props.children)));
115
137
  };
116
138
 
117
139
  export { Tabs as default };
@@ -5,82 +5,85 @@ import theme from '../../themes/theme.js';
5
5
  import { getMultipliedSize } from '../../utils/styledUtils.js';
6
6
  import LabelText from '../LabelText/LabelText.js';
7
7
 
8
- const FieldContainer = styled.div `
9
- color: ${theme.color.text.black};
10
- margin-bottom: ${getMultipliedSize(theme.base.baseWidth, 1)};
11
- `;
12
- const StyledTextarea = styled.textarea `
13
- display: block;
14
- font-family: ${theme.fontFamily.default};
15
- font-size: ${theme.fontSize.default};
16
- line-height: ${theme.lineHeight.default};
17
- width: 100%;
18
- padding: ${getMultipliedSize(theme.base.baseWidth, 1)};
19
- border-radius: ${theme.radius.s};
20
- border: 1px solid ${theme.color.line.L01};
21
-
22
- &::-ms-clear,
23
- &::-ms-reveal {
24
- display: none;
25
- }
26
-
27
- &:disabled,
28
- &[disabled] {
29
- background-color: ${theme.color.background.sand.E01};
8
+ const FieldContainer = styled.div.withConfig({
9
+ displayName: "Textarea__FieldContainer",
10
+ componentId: "sc-1qkt1od-0"
11
+ })(["color:", ";margin-bottom:", ";"], theme.color.text.black, getMultipliedSize(theme.base.baseWidth, 1));
12
+ const StyledTextarea = styled.textarea.withConfig({
13
+ displayName: "Textarea__StyledTextarea",
14
+ componentId: "sc-1qkt1od-1"
15
+ })(["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.fontFamily.default, theme.fontSize.default, theme.lineHeight.default, getMultipliedSize(theme.base.baseWidth, 1), theme.radius.s, theme.color.line.L01, theme.color.background.sand.E01, theme.color.focus.light, theme.color.focus.dark, theme.color.text.black, theme.color.transparency.T40);
16
+ const Message = styled.div.withConfig({
17
+ displayName: "Textarea__Message",
18
+ componentId: "sc-1qkt1od-2"
19
+ })(["font-size:", ";font-weight:", ";line-height:", ";color:", ";margin-top:", ";"], theme.fontSize.s, theme.fontWeight.book, theme.lineHeight.s, theme.color.text.gray, getMultipliedSize(theme.base.baseHeight, 0.5));
20
+ const ErrorMessage = styled(Message).withConfig({
21
+ displayName: "Textarea__ErrorMessage",
22
+ componentId: "sc-1qkt1od-3"
23
+ })(["font-weight:", ";color:", ";"], theme.fontWeight.medium, theme.color.notification.error);
24
+ const Textarea = _a => {
25
+ var {
26
+ height = 3,
27
+ 'data-testid': dataTestId,
28
+ ariaLabel
29
+ } = _a,
30
+ props = __rest(_a, ["height", 'data-testid', "ariaLabel"]);
31
+ const inputRef = useRef(null);
32
+ const isErrorStatus = props.status === 'error';
33
+ const handleOnBlur = e => {
34
+ if (props.onBlur) {
35
+ props.onBlur(e.target.value, e);
30
36
  }
31
-
32
- &:focus {
33
- border: 2px solid ${theme.color.focus.light};
34
- outline: 2px solid ${theme.color.focus.dark};
37
+ };
38
+ const handleChange = e => {
39
+ if (props.onChange) {
40
+ props.onChange(e.target.value, e);
35
41
  }
36
-
37
- &:invalid {
38
- box-shadow: none;
39
- }
40
-
41
- &::placeholder {
42
- color: ${theme.color.text.black}${theme.color.transparency.T40};
42
+ };
43
+ const onClick = e => {
44
+ e.preventDefault();
45
+ if (inputRef && inputRef.current) {
46
+ inputRef.current.focus();
43
47
  }
44
- `;
45
- const Message = styled.div `
46
- font-size: ${theme.fontSize.s};
47
- font-weight: ${theme.fontWeight.book};
48
- line-height: ${theme.lineHeight.s};
49
- color: ${theme.color.text.gray};
50
- margin-top: ${getMultipliedSize(theme.base.baseHeight, 0.5)};
51
- `;
52
- const ErrorMessage = styled(Message) `
53
- font-weight: ${theme.fontWeight.medium};
54
- color: ${theme.color.notification.error};
55
- `;
56
- const Textarea = (_a) => {
57
- var { height = 3, 'data-testid': dataTestId, ariaLabel } = _a, props = __rest(_a, ["height", 'data-testid', "ariaLabel"]);
58
- const inputRef = useRef(null);
59
- const isErrorStatus = props.status === 'error';
60
- const handleOnBlur = (e) => {
61
- if (props.onBlur) {
62
- props.onBlur(e.target.value, e);
63
- }
64
- };
65
- const handleChange = (e) => {
66
- if (props.onChange) {
67
- props.onChange(e.target.value, e);
68
- }
69
- };
70
- const onClick = (e) => {
71
- e.preventDefault();
72
- if (inputRef && inputRef.current) {
73
- inputRef.current.focus();
74
- }
75
- };
76
- const errorId = isErrorStatus && props.errorMessage ? `${props.id}-error` : undefined;
77
- const commentId = props.commentMessage ? `${props.id}-comment` : undefined;
78
- const describedBy = [errorId, commentId].filter(Boolean).join(' ') || undefined;
79
- return (React__default.createElement(FieldContainer, { className: props.className },
80
- props.label && (React__default.createElement(LabelText, { htmlFor: props.id, "data-testid": dataTestId && `${dataTestId}-label`, status: isErrorStatus ? 'error' : undefined, isMandatory: props.required }, props.label)),
81
- React__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 }),
82
- props.commentMessage && (React__default.createElement(Message, { id: commentId, "data-testid": dataTestId && `${dataTestId}-comment` }, props.commentMessage)),
83
- isErrorStatus && props.errorMessage && (React__default.createElement(ErrorMessage, { id: errorId, role: "alert", "data-testid": dataTestId && `${dataTestId}-error` }, props.errorMessage))));
48
+ };
49
+ const errorId = isErrorStatus && props.errorMessage ? `${props.id}-error` : undefined;
50
+ const commentId = props.commentMessage ? `${props.id}-comment` : undefined;
51
+ const describedBy = [errorId, commentId].filter(Boolean).join(' ') || undefined;
52
+ return /*#__PURE__*/React__default.createElement(FieldContainer, {
53
+ className: props.className
54
+ }, props.label && (/*#__PURE__*/React__default.createElement(LabelText, {
55
+ htmlFor: props.id,
56
+ "data-testid": dataTestId && `${dataTestId}-label`,
57
+ status: isErrorStatus ? 'error' : undefined,
58
+ isMandatory: props.required
59
+ }, props.label)), /*#__PURE__*/React__default.createElement(StyledTextarea, {
60
+ id: props.id,
61
+ name: props.name,
62
+ ref: inputRef,
63
+ value: props.value,
64
+ rows: height,
65
+ placeholder: props.placeholder,
66
+ tabIndex: props.tabIndex,
67
+ onChange: handleChange,
68
+ onBlur: handleOnBlur,
69
+ onFocus: props.onFocus,
70
+ onClick: onClick,
71
+ onKeyDown: props.onKeyDown,
72
+ onKeyPress: props.onKeyPress,
73
+ required: props.required,
74
+ disabled: props.disabled,
75
+ "aria-label": !props.label ? ariaLabel : undefined,
76
+ "aria-invalid": isErrorStatus,
77
+ "aria-describedby": describedBy,
78
+ "data-testid": dataTestId
79
+ }), props.commentMessage && (/*#__PURE__*/React__default.createElement(Message, {
80
+ id: commentId,
81
+ "data-testid": dataTestId && `${dataTestId}-comment`
82
+ }, props.commentMessage)), isErrorStatus && props.errorMessage && (/*#__PURE__*/React__default.createElement(ErrorMessage, {
83
+ id: errorId,
84
+ role: "alert",
85
+ "data-testid": dataTestId && `${dataTestId}-error`
86
+ }, props.errorMessage)));
84
87
  };
85
88
 
86
89
  export { Textarea as default };