@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
@@ -22,353 +22,217 @@ var ReactDatePicker__default = /*#__PURE__*/_interopDefaultCompat(ReactDatePicke
22
22
  * Contains only used and functionality wise necessary properties
23
23
  */
24
24
  const localeData = {
25
- // https://github.com/date-fns/date-fns/blob/main/src/locale/fi/index.ts
26
- 'fi-FI': {
27
- code: 'fi',
28
- formatLong: {
29
- date: () => 'eeee d. MMMM y',
30
- time: () => 'HH.mm',
31
- },
32
- localize: {
33
- day: (i) => ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'][i],
34
- month: (i) => [
35
- 'Tammikuu',
36
- 'Helmikuu',
37
- 'Maaliskuu',
38
- 'Huhtikuu',
39
- 'Toukokuu',
40
- 'Kesäkuu',
41
- 'Heinäkuu',
42
- 'Elokuu',
43
- 'Syyskuu',
44
- 'Lokakuu',
45
- 'Marraskuu',
46
- 'Joulukuu',
47
- ][i],
48
- timeCaption: 'Aika',
49
- },
50
- options: {
51
- weekStartsOn: 1,
52
- firstWeekContainsDate: 4,
53
- },
25
+ // https://github.com/date-fns/date-fns/blob/main/src/locale/fi/index.ts
26
+ 'fi-FI': {
27
+ code: 'fi',
28
+ formatLong: {
29
+ date: () => 'eeee d. MMMM y',
30
+ time: () => 'HH.mm'
54
31
  },
55
- // Use react-datepicker default language
56
- 'en-GB': undefined,
57
- };
58
- const sentenceCase = (string) => `${string[0].toUpperCase()}${string.slice(1)}`;
59
- const parseFIDateString = (dateString) => {
60
- const parts = dateString.split(/\D+/);
61
- if (!parts || parts.length < 3) {
62
- return null;
32
+ localize: {
33
+ day: i => ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'][i],
34
+ month: i => ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu'][i],
35
+ timeCaption: 'Aika'
36
+ },
37
+ options: {
38
+ weekStartsOn: 1,
39
+ firstWeekContainsDate: 4
63
40
  }
64
- const [day, month, year] = parts.map(Number);
65
- const date = new Date(year, month - 1, day);
66
- return !Number.isNaN(date.getTime()) ? date : null;
41
+ },
42
+ // Use react-datepicker default language
43
+ 'en-GB': undefined
44
+ };
45
+ const sentenceCase = string => `${string[0].toUpperCase()}${string.slice(1)}`;
46
+ const parseFIDateString = dateString => {
47
+ const parts = dateString.split(/\D+/);
48
+ if (!parts || parts.length < 3) {
49
+ return null;
50
+ }
51
+ const [day, month, year] = parts.map(Number);
52
+ const date = new Date(year, month - 1, day);
53
+ return !Number.isNaN(date.getTime()) ? date : null;
67
54
  };
68
55
  // TODO: change `& .react-datepicker` value back to `1` after z-index of Footer removed
69
- const Wrapper = styledComponents.styled.div `
70
- position: relative;
71
-
72
- & .react-datepicker {
73
- position: absolute;
74
- display: flex;
75
- font-size: ${theme.default.fontSize.xs};
76
- border-radius: ${theme.default.radius.default};
77
- border: 1px solid ${theme.default.color.line.L03};
78
- background-color: ${theme.default.color.background.white.default};
79
- z-index: 2;
80
-
81
- .react-datepicker__aria-live {
82
- display: none;
83
- }
56
+ const Wrapper = styledComponents.styled.div.withConfig({
57
+ displayName: "DateTimePicker__Wrapper",
58
+ componentId: "sc-1qaz26g-0"
59
+ })(["position:relative;& .react-datepicker{position:absolute;display:flex;font-size:", ";border-radius:", ";border:1px solid ", ";background-color:", ";z-index:2;.react-datepicker__aria-live{display:none;}}& .react-datepicker__month-container + .react-datepicker__time-container{border-left:1px solid ", ";}& .react-datepicker__header{display:flex;flex-direction:column;gap:", ";color:", ";padding:", " ", " ", ";background-color:", ";.react-datepicker-time__header{font-size:", ";line-height:", ";font-weight:", ";text-align:center;}}& .react-datepicker__month,.react-datepicker__time-list{display:grid;border-top:1px solid ", ";gap:", ";color:", ";padding:", " ", " ", ";.react-datepicker__day--outside-month{visibility:hidden;}}& .react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}& .react-datepicker__day-names{background-color:", ";padding:", " 0;}& .react-datepicker__day-names,& .react-datepicker__week{display:flex;gap:", ";justify-content:center;.react-datepicker__day-name,.react-datepicker__day{text-align:center;font-weight:", ";line-height:", ";width:", ";height:", ";}.react-datepicker__day{cursor:pointer;font-weight:", ";border:1px solid transparent;border-radius:", ";&.react-datepicker__day--today{color:", ";font-weight:", ";}&.react-datepicker__day--disabled{color:", ";font-weight:", ";&:hover{cursor:default;color:", ";font-weight:", ";background-color:transparent;border:1px solid transparent;}}&.react-datepicker__day--in-selecting-range{color:", ";font-weight:", ";background-color:", ";}&.react-datepicker__day--selected{color:", ";font-weight:", ";background-color:", ";}&:hover{color:", ";font-weight:", ";background-color:", ";border:1px solid ", ";}&.react-datepicker__day--selecting-range-start{color:", ";background-color:", ";&.react-datepicker__day--selecting-range-end{color:", ";background-color:", ";}}&.react-datepicker__day--selecting-range-end{color:", ";background-color:", ";&:hover{border:1px solid ", ";}}}}& .react-datepicker__time{width:", ";.react-datepicker__time-list{padding-left:0;padding-right:0;list-style:none;margin:0;gap:0;overflow-y:scroll;height:", ";.react-datepicker__time-list-item{cursor:pointer;text-align:center;font-weight:", ";line-height:", ";height:", ";&.react-datepicker__time-list-item--selected{color:", ";font-weight:", ";background-color:", ";}&:hover{color:", ";font-weight:", ";background-color:", ";}}}}"], theme.default.fontSize.xs, theme.default.radius.default, theme.default.color.line.L03, theme.default.color.background.white.default, theme.default.color.line.L03, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1), theme.default.color.text.black, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1), styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1), styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5), theme.default.color.background.sand.E01, theme.default.fontSize.default, theme.default.lineHeight.default, theme.default.fontWeight.bold, theme.default.color.line.L03, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5), theme.default.color.text.gray, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5), styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1), styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1), theme.default.color.background.sand.E01, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5), styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.8), theme.default.fontWeight.book, theme.default.lineHeight.default, styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2.4), styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2.4), theme.default.fontWeight.book, theme.default.radius.s, theme.default.color.text.pink, theme.default.fontWeight.bold, theme.default.color.text.gray + theme.default.color.transparency.T40, theme.default.fontWeight.book, theme.default.color.text.gray + theme.default.color.transparency.T40, theme.default.fontWeight.book, theme.default.color.text.white, theme.default.fontWeight.bold, theme.default.color.background.pink.default, theme.default.color.text.white, theme.default.fontWeight.bold, theme.default.color.background.pink.default, theme.default.color.text.gray, theme.default.fontWeight.bold, theme.default.color.background.sand.E01, theme.default.color.line.L03, theme.default.color.text.white, theme.default.color.background.pink.default, theme.default.color.text.white, theme.default.color.background.pink.default, theme.default.color.text.black, theme.default.color.background.pink.E02, theme.default.color.background.pink.E02, styledUtils.getMultipliedSize(theme.default.base.baseWidth, 15), styledUtils.getMultipliedSize(theme.default.base.baseHeight, 19), theme.default.fontWeight.book, theme.default.lineHeight.h2S, styledUtils.getMultipliedSize(theme.default.base.baseHeight, 3.2), theme.default.color.text.white, theme.default.fontWeight.bold, theme.default.color.background.pink.default, theme.default.color.text.gray, theme.default.fontWeight.bold, theme.default.color.background.sand.E01);
60
+ const MonthSelector = styledComponents.styled.div.withConfig({
61
+ displayName: "DateTimePicker__MonthSelector",
62
+ componentId: "sc-1qaz26g-1"
63
+ })(["display:flex;align-items:center;justify-content:space-between;span.dnasg-icon > svg{fill:", ";}"], theme.default.color.text.gray);
64
+ const CurrentMonth = styledComponents.styled.div.withConfig({
65
+ displayName: "DateTimePicker__CurrentMonth",
66
+ componentId: "sc-1qaz26g-2"
67
+ })(["font-size:", ";line-height:", ";font-weight:", ";"], theme.default.fontSize.default, theme.default.lineHeight.default, theme.default.fontWeight.bold);
68
+ /**
69
+ * TODO: Replace the VisuallyHiddenStatus styled component with the global class name.
70
+ * Ticket: https://jira.dna.fi/browse/STYLE-916
71
+ */
72
+ const VisuallyHiddenStatus = styledComponents.styled.div.withConfig({
73
+ displayName: "DateTimePicker__VisuallyHiddenStatus",
74
+ componentId: "sc-1qaz26g-3"
75
+ })(["position:absolute;left:-9999px;"]);
76
+ const DateTimePickerCustomHeader = ({
77
+ date,
78
+ decreaseMonth,
79
+ increaseMonth,
80
+ locale,
81
+ ariaLabelPreviousMonth,
82
+ ariaLabelNextMonth
83
+ }) => (/*#__PURE__*/React__default.default.createElement(MonthSelector, null, /*#__PURE__*/React__default.default.createElement(ButtonIcon.default, {
84
+ icon: icons.ChevronLeft,
85
+ onClick: decreaseMonth,
86
+ ariaLabel: ariaLabelPreviousMonth
87
+ }), /*#__PURE__*/React__default.default.createElement(CurrentMonth, null, sentenceCase(date.toLocaleString(locale, {
88
+ month: 'long',
89
+ year: 'numeric'
90
+ }))), /*#__PURE__*/React__default.default.createElement(ButtonIcon.default, {
91
+ icon: icons.ChevronRight,
92
+ onClick: increaseMonth,
93
+ ariaLabel: ariaLabelNextMonth
94
+ })));
95
+ /** @visibleName DateTime Picker */
96
+ const DateTimePicker = _a => {
97
+ var _b, _c, _d;
98
+ var {
99
+ date: startDate,
100
+ locale = 'fi-FI',
101
+ isDatePicker = true,
102
+ isTimePicker = false,
103
+ timeInterval = 30,
104
+ 'data-testid': dataTestId
105
+ } = _a,
106
+ props = tslib.__rest(_a, ["date", "locale", "isDatePicker", "isTimePicker", "timeInterval", 'data-testid']);
107
+ const [showReactDatePicker, setShowReactDatePicker] = React.useState(false);
108
+ const [manualInputValue, setManualInputValue] = React.useState(null);
109
+ const isRange = props.endDate !== undefined;
110
+ const callOnChange = (date, event) => {
111
+ props.onChange(date, event);
112
+ };
113
+ const handleOnInputFocus = () => {
114
+ setShowReactDatePicker(true);
115
+ };
116
+ const handleOnInputChange = (_, e) => {
117
+ if (props.isEditable) {
118
+ setManualInputValue(e.target.value);
119
+ return;
84
120
  }
85
-
86
- & .react-datepicker__month-container + .react-datepicker__time-container {
87
- border-left: 1px solid ${theme.default.color.line.L03};
121
+ if (props.onInputChange) {
122
+ props.onInputChange(e);
88
123
  }
89
-
90
- & .react-datepicker__header {
91
- display: flex;
92
- flex-direction: column;
93
- gap: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
94
- color: ${theme.default.color.text.black};
95
- padding: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)}
96
- ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)}
97
- ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)};
98
- background-color: ${theme.default.color.background.sand.E01};
99
-
100
- .react-datepicker-time__header {
101
- font-size: ${theme.default.fontSize.default};
102
- line-height: ${theme.default.lineHeight.default};
103
- font-weight: ${theme.default.fontWeight.bold};
104
- text-align: center;
105
- }
124
+ };
125
+ const handleOnKeyDown = e => {
126
+ const isNavigationKey = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(e.key);
127
+ if (isNavigationKey && showReactDatePicker) {
128
+ return;
106
129
  }
107
-
108
- & .react-datepicker__month,
109
- .react-datepicker__time-list {
110
- display: grid;
111
- border-top: 1px solid ${theme.default.color.line.L03};
112
- gap: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)};
113
- color: ${theme.default.color.text.gray};
114
- padding: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)}
115
- ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)}
116
- ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
117
-
118
- .react-datepicker__day--outside-month {
119
- visibility: hidden;
120
- }
130
+ if (e.key === 'Escape') {
131
+ setShowReactDatePicker(false);
121
132
  }
122
-
123
- & .react-datepicker__sr-only {
124
- position: absolute;
125
- width: 1px;
126
- height: 1px;
127
- padding: 0;
128
- overflow: hidden;
129
- clip: rect(0, 0, 0, 0);
130
- white-space: nowrap;
131
- border: 0;
133
+ if (e.key === 'Enter' && showReactDatePicker) {
134
+ setShowReactDatePicker(false);
132
135
  }
133
-
134
- & .react-datepicker__day-names {
135
- background-color: ${theme.default.color.background.sand.E01};
136
- padding: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)} 0;
136
+ if (!props.isEditable && ['Backspace', 'Delete', 'Clear'].includes(e.key)) {
137
+ callOnChange(null, e);
137
138
  }
138
-
139
- & .react-datepicker__day-names,
140
- & .react-datepicker__week {
141
- display: flex;
142
- gap: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.8)};
143
- justify-content: center;
144
-
145
- .react-datepicker__day-name,
146
- .react-datepicker__day {
147
- text-align: center;
148
- font-weight: ${theme.default.fontWeight.book};
149
- line-height: ${theme.default.lineHeight.default};
150
- width: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2.4)};
151
- height: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2.4)};
152
- }
153
-
154
- .react-datepicker__day {
155
- cursor: pointer;
156
- font-weight: ${theme.default.fontWeight.book};
157
- border: 1px solid transparent;
158
- border-radius: ${theme.default.radius.s};
159
-
160
- &.react-datepicker__day--today {
161
- color: ${theme.default.color.text.pink};
162
- font-weight: ${theme.default.fontWeight.bold};
163
- }
164
- &.react-datepicker__day--disabled {
165
- color: ${theme.default.color.text.gray + theme.default.color.transparency.T40};
166
- font-weight: ${theme.default.fontWeight.book};
167
- &:hover {
168
- cursor: default;
169
- color: ${theme.default.color.text.gray + theme.default.color.transparency.T40};
170
- font-weight: ${theme.default.fontWeight.book};
171
- background-color: transparent;
172
- border: 1px solid transparent;
173
- }
174
- }
175
- &.react-datepicker__day--in-selecting-range {
176
- color: ${theme.default.color.text.white};
177
- font-weight: ${theme.default.fontWeight.bold};
178
- background-color: ${theme.default.color.background.pink.default};
179
- }
180
-
181
- &.react-datepicker__day--selected {
182
- color: ${theme.default.color.text.white};
183
- font-weight: ${theme.default.fontWeight.bold};
184
- background-color: ${theme.default.color.background.pink.default};
185
- }
186
-
187
- &:hover {
188
- color: ${theme.default.color.text.gray};
189
- font-weight: ${theme.default.fontWeight.bold};
190
- background-color: ${theme.default.color.background.sand.E01};
191
- border: 1px solid ${theme.default.color.line.L03};
192
- }
193
-
194
- &.react-datepicker__day--selecting-range-start {
195
- color: ${theme.default.color.text.white};
196
- background-color: ${theme.default.color.background.pink.default};
197
-
198
- &.react-datepicker__day--selecting-range-end {
199
- color: ${theme.default.color.text.white};
200
- background-color: ${theme.default.color.background.pink.default};
201
- }
202
- }
203
-
204
- &.react-datepicker__day--selecting-range-end {
205
- color: ${theme.default.color.text.black};
206
- background-color: ${theme.default.color.background.pink.E02};
207
-
208
- &:hover {
209
- border: 1px solid ${theme.default.color.background.pink.E02};
210
- }
211
- }
212
- }
139
+ };
140
+ const handleClearable = e => {
141
+ callOnChange(null, e);
142
+ };
143
+ const handleOnReactDatePickerChange = (date, event) => {
144
+ var _a, _b;
145
+ let shouldKeepOpen = false;
146
+ if (isRange) {
147
+ const [start, end] = Array.isArray(date) && date.length === 2 ? date : [null, null];
148
+ shouldKeepOpen = !(start && end);
149
+ } else if (isDatePicker && isTimePicker && date instanceof Date && ((_a = date.getHours) === null || _a === void 0 ? void 0 : _a.call(date)) === 0 && ((_b = date.getMinutes) === null || _b === void 0 ? void 0 : _b.call(date)) === 0) {
150
+ shouldKeepOpen = true;
213
151
  }
214
-
215
- & .react-datepicker__time {
216
- width: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 15)};
217
-
218
- .react-datepicker__time-list {
219
- padding-left: 0;
220
- padding-right: 0;
221
- list-style: none;
222
- margin: 0;
223
- gap: 0;
224
- overflow-y: scroll;
225
- height: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 19)};
226
-
227
- .react-datepicker__time-list-item {
228
- cursor: pointer;
229
- text-align: center;
230
- font-weight: ${theme.default.fontWeight.book};
231
- line-height: ${theme.default.lineHeight.h2S};
232
- height: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 3.2)};
233
-
234
- &.react-datepicker__time-list-item--selected {
235
- color: ${theme.default.color.text.white};
236
- font-weight: ${theme.default.fontWeight.bold};
237
- background-color: ${theme.default.color.background.pink.default};
238
- }
239
-
240
- &:hover {
241
- color: ${theme.default.color.text.gray};
242
- font-weight: ${theme.default.fontWeight.bold};
243
- background-color: ${theme.default.color.background.sand.E01};
244
- }
245
- }
246
- }
152
+ if (!shouldKeepOpen) {
153
+ setShowReactDatePicker(false);
247
154
  }
248
- `;
249
- const MonthSelector = styledComponents.styled.div `
250
- display: flex;
251
- align-items: center;
252
- justify-content: space-between;
253
-
254
- span.dnasg-icon > svg {
255
- fill: ${theme.default.color.text.gray};
155
+ setManualInputValue(null);
156
+ callOnChange(date, event);
157
+ };
158
+ const handleOnReactDatePickerClickOutside = () => {
159
+ setShowReactDatePicker(false);
160
+ };
161
+ const formatInputValue = [startDate, props.endDate].filter(Boolean).map(date => date === null || date === void 0 ? void 0 : date.toLocaleString(locale, Object.assign(Object.assign({}, isDatePicker && {
162
+ dateStyle: 'medium'
163
+ }), props.endDate === undefined && isTimePicker && {
164
+ timeStyle: 'short'
165
+ }))).join(' - ');
166
+ const getDateTimePickerCustomHeader = args => DateTimePickerCustomHeader(Object.assign(Object.assign({}, args), {
167
+ locale,
168
+ ariaLabelPreviousMonth: props.ariaLabelPreviousMonth,
169
+ ariaLabelNextMonth: props.ariaLabelNextMonth
170
+ }));
171
+ return /*#__PURE__*/React__default.default.createElement(Wrapper, {
172
+ id: props.id,
173
+ className: props.className,
174
+ "data-testid": dataTestId
175
+ }, /*#__PURE__*/React__default.default.createElement(Input.default, {
176
+ id: `datetimepicker-input-${props.id}`,
177
+ name: `datetimepicker-input-${props.id}`,
178
+ label: props.label,
179
+ placeholder: props.placeholder,
180
+ value: manualInputValue !== null && manualInputValue !== void 0 ? manualInputValue : formatInputValue,
181
+ onFocus: handleOnInputFocus,
182
+ onChange: handleOnInputChange,
183
+ onKeyDown: handleOnKeyDown,
184
+ onClearableButtonClick: props.isClearable ? handleClearable : undefined,
185
+ className: "react-datepicker-ignore-onclickoutside",
186
+ "data-testid": dataTestId && `${dataTestId}-datetimepicker-input`,
187
+ disabled: props.isDisabled,
188
+ required: props.isRequired,
189
+ readonlyUnstyled: !props.isEditable,
190
+ status: props.isInError ? 'error' : undefined,
191
+ errorMessage: props.errorMessage,
192
+ ariaLabel: props.ariaLabelInput,
193
+ onBlur: (_val, e) => {
194
+ if (!props.isEditable || !e.target.value) {
195
+ return;
196
+ }
197
+ const date = locale === 'fi-FI' ? parseFIDateString(e.target.value) : new Date(e.target.value);
198
+ if (date && !Number.isNaN(date.getTime())) {
199
+ callOnChange(date, e);
200
+ }
256
201
  }
257
- `;
258
- const CurrentMonth = styledComponents.styled.div `
259
- font-size: ${theme.default.fontSize.default};
260
- line-height: ${theme.default.lineHeight.default};
261
- font-weight: ${theme.default.fontWeight.bold};
262
- `;
263
- /**
264
- * TODO: Replace the VisuallyHiddenStatus styled component with the global class name.
265
- * Ticket: https://jira.dna.fi/browse/STYLE-916
266
- */
267
- const VisuallyHiddenStatus = styledComponents.styled.div `
268
- position: absolute;
269
- left: -9999px;
270
- `;
271
- const DateTimePickerCustomHeader = ({ date, decreaseMonth, increaseMonth, locale, ariaLabelPreviousMonth, ariaLabelNextMonth, }) => (React__default.default.createElement(MonthSelector, null,
272
- React__default.default.createElement(ButtonIcon.default, { icon: icons.ChevronLeft, onClick: decreaseMonth, ariaLabel: ariaLabelPreviousMonth }),
273
- React__default.default.createElement(CurrentMonth, null, sentenceCase(date.toLocaleString(locale, {
274
- month: 'long',
275
- year: 'numeric',
276
- }))),
277
- React__default.default.createElement(ButtonIcon.default, { icon: icons.ChevronRight, onClick: increaseMonth, ariaLabel: ariaLabelNextMonth })));
278
- /** @visibleName DateTime Picker */
279
- const DateTimePicker = (_a) => {
280
- var _b, _c, _d;
281
- var { date: startDate, locale = 'fi-FI', isDatePicker = true, isTimePicker = false, timeInterval = 30, 'data-testid': dataTestId } = _a, props = tslib.__rest(_a, ["date", "locale", "isDatePicker", "isTimePicker", "timeInterval", 'data-testid']);
282
- const [showReactDatePicker, setShowReactDatePicker] = React.useState(false);
283
- const [manualInputValue, setManualInputValue] = React.useState(null);
284
- const isRange = props.endDate !== undefined;
285
- const callOnChange = (date, event) => {
286
- props.onChange(date, event);
287
- };
288
- const handleOnInputFocus = () => {
289
- setShowReactDatePicker(true);
290
- };
291
- const handleOnInputChange = (_, e) => {
292
- if (props.isEditable) {
293
- setManualInputValue(e.target.value);
294
- return;
295
- }
296
- if (props.onInputChange) {
297
- props.onInputChange(e);
298
- }
299
- };
300
- const handleOnKeyDown = (e) => {
301
- const isNavigationKey = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(e.key);
302
- if (isNavigationKey && showReactDatePicker) {
303
- return;
304
- }
305
- if (e.key === 'Escape') {
306
- setShowReactDatePicker(false);
307
- }
308
- if (e.key === 'Enter' && showReactDatePicker) {
309
- setShowReactDatePicker(false);
310
- }
311
- if (!props.isEditable && ['Backspace', 'Delete', 'Clear'].includes(e.key)) {
312
- callOnChange(null, e);
313
- }
314
- };
315
- const handleClearable = (e) => {
316
- callOnChange(null, e);
317
- };
318
- const handleOnReactDatePickerChange = (date, event) => {
319
- var _a, _b;
320
- let shouldKeepOpen = false;
321
- if (isRange) {
322
- const [start, end] = Array.isArray(date) && date.length === 2 ? date : [null, null];
323
- shouldKeepOpen = !(start && end);
324
- }
325
- else if (isDatePicker &&
326
- isTimePicker &&
327
- date instanceof Date &&
328
- ((_a = date.getHours) === null || _a === void 0 ? void 0 : _a.call(date)) === 0 &&
329
- ((_b = date.getMinutes) === null || _b === void 0 ? void 0 : _b.call(date)) === 0) {
330
- shouldKeepOpen = true;
331
- }
332
- if (!shouldKeepOpen) {
333
- setShowReactDatePicker(false);
334
- }
335
- setManualInputValue(null);
336
- callOnChange(date, event);
337
- };
338
- const handleOnReactDatePickerClickOutside = () => {
339
- setShowReactDatePicker(false);
340
- };
341
- const formatInputValue = [startDate, props.endDate]
342
- .filter(Boolean)
343
- .map(date => date === null || date === void 0 ? void 0 : date.toLocaleString(locale, Object.assign(Object.assign({}, (isDatePicker && {
344
- dateStyle: 'medium',
345
- })), (props.endDate === undefined &&
346
- isTimePicker && {
347
- timeStyle: 'short',
348
- }))))
349
- .join(' - ');
350
- const getDateTimePickerCustomHeader = (args) => DateTimePickerCustomHeader(Object.assign(Object.assign({}, args), { locale, ariaLabelPreviousMonth: props.ariaLabelPreviousMonth, ariaLabelNextMonth: props.ariaLabelNextMonth }));
351
- return (React__default.default.createElement(Wrapper, { id: props.id, className: props.className, "data-testid": dataTestId },
352
- React__default.default.createElement(Input.default, { id: `datetimepicker-input-${props.id}`, name: `datetimepicker-input-${props.id}`, label: props.label, placeholder: props.placeholder, value: manualInputValue !== null && manualInputValue !== void 0 ? manualInputValue : formatInputValue, onFocus: handleOnInputFocus, onChange: handleOnInputChange, onKeyDown: handleOnKeyDown, onClearableButtonClick: props.isClearable ? handleClearable : undefined, className: "react-datepicker-ignore-onclickoutside", "data-testid": dataTestId && `${dataTestId}-datetimepicker-input`, disabled: props.isDisabled, required: props.isRequired, readonlyUnstyled: !props.isEditable, status: props.isInError ? 'error' : undefined, errorMessage: props.errorMessage, ariaLabel: props.ariaLabelInput, onBlur: (_val, e) => {
353
- if (!props.isEditable || !e.target.value) {
354
- return;
355
- }
356
- const date = locale === 'fi-FI'
357
- ? parseFIDateString(e.target.value)
358
- : new Date(e.target.value);
359
- if (date && !Number.isNaN(date.getTime())) {
360
- callOnChange(date, e);
361
- }
362
- } }),
363
- React__default.default.createElement(VisuallyHiddenStatus, { role: "status", "aria-live": "polite" }, startDate instanceof Date && !Number.isNaN(startDate.getTime())
364
- ? (_b = props.ariaLiveAnnouncement) === null || _b === void 0 ? void 0 : _b.replace('{{date}}', startDate.toLocaleDateString(locale))
365
- : ''),
366
- showReactDatePicker &&
367
- (isRange ? (React__default.default.createElement(ReactDatePicker__default.default, { selectsRange: true, endDate: props.endDate, inline: true, selected: startDate, startDate: startDate, maxDate: props.maxDate, minDate: props.minDate, onChange: handleOnReactDatePickerChange, timeCaption: (_c = localeData[locale]) === null || _c === void 0 ? void 0 : _c.localize.timeCaption, timeIntervals: timeInterval, onClickOutside: handleOnReactDatePickerClickOutside, locale: localeData[locale], dateFormat: [isDatePicker && 'P', isTimePicker && 'p']
368
- .filter(Boolean)
369
- .join(''), renderCustomHeader: getDateTimePickerCustomHeader })) : (React__default.default.createElement(ReactDatePicker__default.default, { showTimeSelect: isTimePicker, showTimeSelectOnly: !isDatePicker && isTimePicker, inline: true, selected: startDate, startDate: startDate, maxDate: props.maxDate, minDate: props.minDate, onChange: handleOnReactDatePickerChange, timeCaption: (_d = localeData[locale]) === null || _d === void 0 ? void 0 : _d.localize.timeCaption, timeIntervals: timeInterval, onClickOutside: handleOnReactDatePickerClickOutside, locale: localeData[locale], dateFormat: [isDatePicker && 'P', isTimePicker && 'p']
370
- .filter(Boolean)
371
- .join(''), renderCustomHeader: getDateTimePickerCustomHeader })))));
202
+ }), /*#__PURE__*/React__default.default.createElement(VisuallyHiddenStatus, {
203
+ role: "status",
204
+ "aria-live": "polite"
205
+ }, startDate instanceof Date && !Number.isNaN(startDate.getTime()) ? (_b = props.ariaLiveAnnouncement) === null || _b === void 0 ? void 0 : _b.replace('{{date}}', startDate.toLocaleDateString(locale)) : ''), showReactDatePicker && (isRange ? (/*#__PURE__*/React__default.default.createElement(ReactDatePicker__default.default, {
206
+ selectsRange: true,
207
+ endDate: props.endDate,
208
+ inline: true,
209
+ selected: startDate,
210
+ startDate: startDate,
211
+ maxDate: props.maxDate,
212
+ minDate: props.minDate,
213
+ onChange: handleOnReactDatePickerChange,
214
+ timeCaption: (_c = localeData[locale]) === null || _c === void 0 ? void 0 : _c.localize.timeCaption,
215
+ timeIntervals: timeInterval,
216
+ onClickOutside: handleOnReactDatePickerClickOutside,
217
+ locale: localeData[locale],
218
+ dateFormat: [isDatePicker && 'P', isTimePicker && 'p'].filter(Boolean).join(''),
219
+ renderCustomHeader: getDateTimePickerCustomHeader
220
+ })) : (/*#__PURE__*/React__default.default.createElement(ReactDatePicker__default.default, {
221
+ showTimeSelect: isTimePicker,
222
+ showTimeSelectOnly: !isDatePicker && isTimePicker,
223
+ inline: true,
224
+ selected: startDate,
225
+ startDate: startDate,
226
+ maxDate: props.maxDate,
227
+ minDate: props.minDate,
228
+ onChange: handleOnReactDatePickerChange,
229
+ timeCaption: (_d = localeData[locale]) === null || _d === void 0 ? void 0 : _d.localize.timeCaption,
230
+ timeIntervals: timeInterval,
231
+ onClickOutside: handleOnReactDatePickerClickOutside,
232
+ locale: localeData[locale],
233
+ dateFormat: [isDatePicker && 'P', isTimePicker && 'p'].filter(Boolean).join(''),
234
+ renderCustomHeader: getDateTimePickerCustomHeader
235
+ }))));
372
236
  };
373
237
 
374
238
  exports.default = DateTimePicker;
@@ -12,21 +12,35 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
14
 
15
- const DividerWrapper = styledComponents.styled.div `
16
- display: flex;
17
- justify-content: center;
18
- align-items: center;
19
- width: 100%;
20
- margin: ${({ $margin }) => $margin || `${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)} 0`};
21
- ${({ $padding }) => $padding && `padding: ${$padding}`};
22
- border-style: solid;
23
- border-color: ${theme.default.color.line.L03};
24
- border-width: 1px ${({ children }) => !children && '0 0 0'};
25
- `;
26
- const Divider = (_a) => {
27
- var { 'data-testid': dataTestId } = _a, props = tslib.__rest(_a, ['data-testid']);
28
- const isFocusableSeparator = Boolean(props.children);
29
- return (React__default.default.createElement(DividerWrapper, { id: props.id, "$margin": props.margin, "$padding": props.padding, className: props.className, "data-testid": dataTestId, as: isFocusableSeparator ? 'div' : 'hr', role: isFocusableSeparator ? 'separator' : undefined, "aria-orientation": "horizontal", "aria-label": props.ariaLabelFocusableSeparator, "aria-hidden": !isFocusableSeparator, tabIndex: isFocusableSeparator ? 0 : -1 }, props.children));
15
+ const DividerWrapper = styledComponents.styled.div.withConfig({
16
+ displayName: "Divider__DividerWrapper",
17
+ componentId: "sc-1exe9ao-0"
18
+ })(["display:flex;justify-content:center;align-items:center;width:100%;margin:", ";", ";border-style:solid;border-color:", ";border-width:1px ", ";"], ({
19
+ $margin
20
+ }) => $margin || `${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)} 0`, ({
21
+ $padding
22
+ }) => $padding && `padding: ${$padding}`, theme.default.color.line.L03, ({
23
+ children
24
+ }) => !children && '0 0 0');
25
+ const Divider = _a => {
26
+ var {
27
+ 'data-testid': dataTestId
28
+ } = _a,
29
+ props = tslib.__rest(_a, ['data-testid']);
30
+ const isFocusableSeparator = Boolean(props.children);
31
+ return /*#__PURE__*/React__default.default.createElement(DividerWrapper, {
32
+ id: props.id,
33
+ "$margin": props.margin,
34
+ "$padding": props.padding,
35
+ className: props.className,
36
+ "data-testid": dataTestId,
37
+ as: isFocusableSeparator ? 'div' : 'hr',
38
+ role: isFocusableSeparator ? 'separator' : undefined,
39
+ "aria-orientation": "horizontal",
40
+ "aria-label": props.ariaLabelFocusableSeparator,
41
+ "aria-hidden": !isFocusableSeparator,
42
+ tabIndex: isFocusableSeparator ? 0 : -1
43
+ }, props.children);
30
44
  };
31
45
 
32
46
  exports.default = Divider;