@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.
- package/build/cjs/_virtual/_virtual_inject.js +5 -0
- package/build/cjs/assets/fonts/fonts.css.js +3 -1
- package/build/cjs/components/Accordion/Accordion.js +66 -54
- package/build/cjs/components/AccordionItem/AccordionItem.js +94 -73
- package/build/cjs/components/AmountSelector/AmountSelector.js +121 -134
- package/build/cjs/components/Box/Box.js +38 -13
- package/build/cjs/components/Breadcrumb/Breadcrumb.js +73 -71
- package/build/cjs/components/Button/Button.d.ts +1 -1
- package/build/cjs/components/Button/Button.js +131 -127
- package/build/cjs/components/ButtonArrow/ButtonArrow.js +47 -49
- package/build/cjs/components/ButtonCard/ButtonCard.d.ts +2 -2
- package/build/cjs/components/ButtonCard/ButtonCard.js +97 -112
- package/build/cjs/components/ButtonClose/ButtonClose.d.ts +1 -1
- package/build/cjs/components/ButtonClose/ButtonClose.js +25 -14
- package/build/cjs/components/ButtonIcon/ButtonIcon.d.ts +44 -3
- package/build/cjs/components/ButtonIcon/ButtonIcon.js +105 -67
- package/build/cjs/components/ButtonPrimary/ButtonPrimary.d.ts +43 -2
- package/build/cjs/components/ButtonPrimary/ButtonPrimary.js +7 -35
- package/build/cjs/components/ButtonSecondary/ButtonSecondary.d.ts +43 -2
- package/build/cjs/components/ButtonSecondary/ButtonSecondary.js +7 -35
- package/build/cjs/components/Carousel/Carousel.d.ts +8 -2
- package/build/cjs/components/Carousel/Carousel.js +315 -346
- package/build/cjs/components/Checkbox/Checkbox.js +49 -108
- package/build/cjs/components/Chip/Chip.js +40 -34
- package/build/cjs/components/DateTimePicker/DateTimePicker.js +198 -334
- package/build/cjs/components/Divider/Divider.js +29 -15
- package/build/cjs/components/DnaLogo/DnaLogo.js +87 -51
- package/build/cjs/components/Drawer/Drawer.js +172 -167
- package/build/cjs/components/EmptyState/EmptyState.js +24 -12
- package/build/cjs/components/EnergyLabel/EnergyLabel.js +77 -73
- package/build/cjs/components/Expander/Expander.js +43 -38
- package/build/cjs/components/Floater/Floater.js +36 -14
- package/build/cjs/components/Footer/Components/FooterComponents.d.ts +4 -2
- package/build/cjs/components/Footer/Components/FooterComponents.js +305 -346
- package/build/cjs/components/Footer/Footer.js +51 -80
- package/build/cjs/components/Footer/context/FooterContext.js +9 -9
- package/build/cjs/components/Hero/Hero.js +101 -149
- package/build/cjs/components/Icon/Icon.js +41 -22
- package/build/cjs/components/Icons/Small/hlArrowBackSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlArrowForwardSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlArrowUnderSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlCalendarSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlChevronDownSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlChevronLeftSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlChevronRightSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlChevronUpSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlClockSmall.js +14 -5
- package/build/cjs/components/Icons/Small/hlDownloadSmall.js +18 -6
- package/build/cjs/components/Icons/Small/hlExternalSmall.js +12 -4
- package/build/cjs/components/Icons/Small/hlUploadSmall.js +18 -6
- package/build/cjs/components/Icons/Social/facebook.js +13 -4
- package/build/cjs/components/Icons/Social/instagram.js +13 -4
- package/build/cjs/components/Icons/Social/linkedin.js +13 -4
- package/build/cjs/components/Icons/Social/tiktok.js +12 -4
- package/build/cjs/components/Icons/Social/twitter.js +13 -4
- package/build/cjs/components/Icons/Social/youtube.js +12 -4
- package/build/cjs/components/Icons/hl404.js +12 -4
- package/build/cjs/components/Icons/hl4gSim.js +12 -4
- package/build/cjs/components/Icons/hl5gSim.js +12 -4
- package/build/cjs/components/Icons/hlBattery.js +16 -6
- package/build/cjs/components/Icons/hlBell.js +12 -4
- package/build/cjs/components/Icons/hlCableTVCard.js +12 -4
- package/build/cjs/components/Icons/hlCalendar.js +56 -15
- package/build/cjs/components/Icons/hlCall.js +12 -4
- package/build/cjs/components/Icons/hlCameraBack.js +18 -6
- package/build/cjs/components/Icons/hlCameraFront.js +14 -5
- package/build/cjs/components/Icons/hlCart.js +16 -6
- package/build/cjs/components/Icons/hlCartEmpty.js +16 -6
- package/build/cjs/components/Icons/hlChat.js +24 -7
- package/build/cjs/components/Icons/hlCheck.js +12 -4
- package/build/cjs/components/Icons/hlChevronDown.js +12 -4
- package/build/cjs/components/Icons/hlChevronLeft.js +12 -4
- package/build/cjs/components/Icons/hlChevronRight.js +12 -4
- package/build/cjs/components/Icons/hlChevronUp.js +12 -4
- package/build/cjs/components/Icons/hlCompensation.js +12 -4
- package/build/cjs/components/Icons/hlCookie.js +12 -4
- package/build/cjs/components/Icons/hlCopy.js +14 -5
- package/build/cjs/components/Icons/hlCoupon.js +16 -6
- package/build/cjs/components/Icons/hlDelivery.js +14 -4
- package/build/cjs/components/Icons/hlDigiturva.js +14 -4
- package/build/cjs/components/Icons/hlDisplaySize.js +19 -6
- package/build/cjs/components/Icons/hlDocument.js +14 -5
- package/build/cjs/components/Icons/hlDownload.js +18 -6
- package/build/cjs/components/Icons/hlEnvelope.js +12 -4
- package/build/cjs/components/Icons/hlError.js +22 -6
- package/build/cjs/components/Icons/hlEuro.js +12 -4
- package/build/cjs/components/Icons/hlExclamationMark.js +12 -4
- package/build/cjs/components/Icons/hlExpand.js +12 -4
- package/build/cjs/components/Icons/hlExternal.js +12 -4
- package/build/cjs/components/Icons/hlEyeClosed.js +12 -4
- package/build/cjs/components/Icons/hlEyeOpen.js +14 -5
- package/build/cjs/components/Icons/hlFaceId.js +12 -4
- package/build/cjs/components/Icons/hlFastDelivery.js +12 -4
- package/build/cjs/components/Icons/hlFingerprint.js +20 -8
- package/build/cjs/components/Icons/hlGlobe.js +12 -4
- package/build/cjs/components/Icons/hlHeadphones.js +12 -4
- package/build/cjs/components/Icons/hlHeadset.js +18 -6
- package/build/cjs/components/Icons/hlHeart.js +12 -4
- package/build/cjs/components/Icons/hlHome.js +12 -4
- package/build/cjs/components/Icons/hlHub.js +14 -5
- package/build/cjs/components/Icons/hlImage.js +12 -4
- package/build/cjs/components/Icons/hlInfo.js +18 -6
- package/build/cjs/components/Icons/hlInstallment.js +14 -5
- package/build/cjs/components/Icons/hlIotSim.js +14 -5
- package/build/cjs/components/Icons/hlLaptop.js +13 -4
- package/build/cjs/components/Icons/hlLink.js +16 -5
- package/build/cjs/components/Icons/hlLiveVideo.js +12 -4
- package/build/cjs/components/Icons/hlLock.js +18 -6
- package/build/cjs/components/Icons/hlMagnifyingGlass.js +14 -5
- package/build/cjs/components/Icons/hlMarker.js +14 -5
- package/build/cjs/components/Icons/hlMemory.js +14 -5
- package/build/cjs/components/Icons/hlMenu.js +12 -4
- package/build/cjs/components/Icons/hlMinimize.js +12 -4
- package/build/cjs/components/Icons/hlMinus.js +12 -4
- package/build/cjs/components/Icons/hlMobileData.js +12 -4
- package/build/cjs/components/Icons/hlMobilePayment.js +19 -6
- package/build/cjs/components/Icons/hlModem.js +26 -8
- package/build/cjs/components/Icons/hlMore.js +22 -6
- package/build/cjs/components/Icons/hlOs.js +14 -5
- package/build/cjs/components/Icons/hlPackage.js +12 -4
- package/build/cjs/components/Icons/hlPaperclip.js +12 -4
- package/build/cjs/components/Icons/hlPaytime.js +12 -4
- package/build/cjs/components/Icons/hlPen.js +12 -4
- package/build/cjs/components/Icons/hlPerson.js +12 -4
- package/build/cjs/components/Icons/hlPhone.js +17 -5
- package/build/cjs/components/Icons/hlPlaylist.js +13 -4
- package/build/cjs/components/Icons/hlPlus.js +14 -5
- package/build/cjs/components/Icons/hlPrepaid.js +12 -4
- package/build/cjs/components/Icons/hlProcessor.js +14 -5
- package/build/cjs/components/Icons/hlServices.js +12 -4
- package/build/cjs/components/Icons/hlSettings.js +12 -4
- package/build/cjs/components/Icons/hlShield.js +14 -5
- package/build/cjs/components/Icons/hlSim.js +14 -5
- package/build/cjs/components/Icons/hlSimSimple.js +18 -6
- package/build/cjs/components/Icons/hlSmile.js +22 -7
- package/build/cjs/components/Icons/hlSpeechBubble.js +14 -5
- package/build/cjs/components/Icons/hlSquaretrade.js +13 -4
- package/build/cjs/components/Icons/hlStar.js +12 -4
- package/build/cjs/components/Icons/hlStarFilled.js +12 -4
- package/build/cjs/components/Icons/hlTrash.js +14 -5
- package/build/cjs/components/Icons/hlTv.js +12 -4
- package/build/cjs/components/Icons/hlUnlock.js +14 -6
- package/build/cjs/components/Icons/hlUpload.js +18 -6
- package/build/cjs/components/Icons/hlWarning.js +18 -6
- package/build/cjs/components/Icons/hlWifi.js +18 -6
- package/build/cjs/components/Icons/hlWrench.js +12 -4
- package/build/cjs/components/Icons/hlX.js +12 -4
- package/build/cjs/components/InfoDialog/InfoDialog.js +31 -46
- package/build/cjs/components/Input/Input.js +143 -159
- package/build/cjs/components/Label/Label.js +22 -22
- package/build/cjs/components/LabelText/LabelText.js +24 -17
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +29 -44
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +167 -153
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +34 -20
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +50 -32
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +17 -5
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -2
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +100 -95
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +6 -2
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -58
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +20 -4
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +187 -159
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -5
- package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +305 -272
- package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +61 -49
- package/build/cjs/components/MainHeaderNavigation/globalNavStyles.d.ts +31 -16
- package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +39 -172
- package/build/cjs/components/Modal/Modal.js +127 -145
- package/build/cjs/components/Notification/Notification.js +74 -54
- package/build/cjs/components/NotificationBadge/NotificationBadge.js +29 -32
- package/build/cjs/components/Overlay/Overlay.js +70 -68
- package/build/cjs/components/Pill/Pill.js +91 -82
- package/build/cjs/components/PillGroup/PillGroup.js +50 -33
- package/build/cjs/components/PixelLoader/PixelLoader.js +37 -34
- package/build/cjs/components/PriorityNavigation/PriorityNavigation.js +281 -303
- package/build/cjs/components/PriorityNavigationItem/PriorityNavigationItem.js +27 -49
- package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +140 -109
- package/build/cjs/components/RadioButton/RadioButton.js +91 -114
- package/build/cjs/components/ReadMore/ReadMore.js +86 -69
- package/build/cjs/components/Search/Search.js +52 -64
- package/build/cjs/components/Selectbox/Selectbox.js +279 -94
- package/build/cjs/components/Skeleton/Skeleton.js +69 -56
- package/build/cjs/components/Switch/Switch.js +62 -76
- package/build/cjs/components/Tab/Tab.js +55 -53
- package/build/cjs/components/Tabs/Tabs.js +93 -71
- package/build/cjs/components/Textarea/Textarea.js +76 -73
- package/build/cjs/components/Toaster/Toaster.js +59 -44
- package/build/cjs/components/Tooltip/Tooltip.js +74 -87
- package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +23 -21
- package/build/cjs/hooks/useDebounce.js +9 -9
- package/build/cjs/hooks/useDocHeight.js +13 -13
- package/build/cjs/hooks/useOutsideClick.js +10 -10
- package/build/cjs/hooks/useResizeObserver.js +37 -24
- package/build/cjs/hooks/useScrollPosition.js +55 -54
- package/build/cjs/hooks/useWindowSize.js +20 -20
- package/build/cjs/themes/globalStyles.js +4 -4
- package/build/cjs/themes/gridTheme.js +1 -1
- package/build/cjs/themes/theme.js +12 -12
- package/build/cjs/themes/themeComponents/base.js +9 -8
- package/build/cjs/themes/themeComponents/breakpoints.js +6 -6
- package/build/cjs/themes/themeComponents/color.js +76 -74
- package/build/cjs/themes/themeComponents/fontFamily.js +3 -3
- package/build/cjs/themes/themeComponents/fontSize.js +31 -15
- package/build/cjs/themes/themeComponents/fontWeight.js +16 -16
- package/build/cjs/themes/themeComponents/forms.js +3 -2
- package/build/cjs/themes/themeComponents/layout.js +27 -27
- package/build/cjs/themes/themeComponents/lineHeight.js +32 -16
- package/build/cjs/themes/themeComponents/navigation.js +13 -13
- package/build/cjs/themes/themeComponents/radius.js +26 -26
- package/build/cjs/utils/common.js +15 -19
- package/build/cjs/utils/createStyled.d.ts +154 -134
- package/build/cjs/utils/createStyled.js +16 -2
- package/build/cjs/utils/styledUtils.js +2 -6
- package/build/es/_virtual/_virtual_inject.js +3 -0
- package/build/es/assets/fonts/fonts.css.js +3 -1
- package/build/es/components/Accordion/Accordion.js +66 -54
- package/build/es/components/AccordionItem/AccordionItem.js +94 -73
- package/build/es/components/AmountSelector/AmountSelector.js +121 -134
- package/build/es/components/Box/Box.js +38 -13
- package/build/es/components/Breadcrumb/Breadcrumb.js +73 -71
- package/build/es/components/Button/Button.d.ts +1 -1
- package/build/es/components/Button/Button.js +131 -127
- package/build/es/components/ButtonArrow/ButtonArrow.js +47 -49
- package/build/es/components/ButtonCard/ButtonCard.d.ts +2 -2
- package/build/es/components/ButtonCard/ButtonCard.js +97 -112
- package/build/es/components/ButtonClose/ButtonClose.d.ts +1 -1
- package/build/es/components/ButtonClose/ButtonClose.js +25 -14
- package/build/es/components/ButtonIcon/ButtonIcon.d.ts +44 -3
- package/build/es/components/ButtonIcon/ButtonIcon.js +105 -67
- package/build/es/components/ButtonPrimary/ButtonPrimary.d.ts +43 -2
- package/build/es/components/ButtonPrimary/ButtonPrimary.js +7 -35
- package/build/es/components/ButtonSecondary/ButtonSecondary.d.ts +43 -2
- package/build/es/components/ButtonSecondary/ButtonSecondary.js +7 -35
- package/build/es/components/Carousel/Carousel.d.ts +8 -2
- package/build/es/components/Carousel/Carousel.js +315 -346
- package/build/es/components/Checkbox/Checkbox.js +49 -108
- package/build/es/components/Chip/Chip.js +40 -34
- package/build/es/components/DateTimePicker/DateTimePicker.js +198 -334
- package/build/es/components/Divider/Divider.js +29 -15
- package/build/es/components/DnaLogo/DnaLogo.js +87 -51
- package/build/es/components/Drawer/Drawer.js +172 -167
- package/build/es/components/EmptyState/EmptyState.js +24 -12
- package/build/es/components/EnergyLabel/EnergyLabel.js +77 -73
- package/build/es/components/Expander/Expander.js +43 -38
- package/build/es/components/Floater/Floater.js +36 -14
- package/build/es/components/Footer/Components/FooterComponents.d.ts +4 -2
- package/build/es/components/Footer/Components/FooterComponents.js +305 -346
- package/build/es/components/Footer/Footer.js +51 -80
- package/build/es/components/Footer/context/FooterContext.js +9 -9
- package/build/es/components/Hero/Hero.js +101 -149
- package/build/es/components/Icon/Icon.js +41 -22
- package/build/es/components/Icons/Small/hlArrowBackSmall.js +12 -4
- package/build/es/components/Icons/Small/hlArrowForwardSmall.js +12 -4
- package/build/es/components/Icons/Small/hlArrowUnderSmall.js +12 -4
- package/build/es/components/Icons/Small/hlCalendarSmall.js +12 -4
- package/build/es/components/Icons/Small/hlChevronDownSmall.js +12 -4
- package/build/es/components/Icons/Small/hlChevronLeftSmall.js +12 -4
- package/build/es/components/Icons/Small/hlChevronRightSmall.js +12 -4
- package/build/es/components/Icons/Small/hlChevronUpSmall.js +12 -4
- package/build/es/components/Icons/Small/hlClockSmall.js +14 -5
- package/build/es/components/Icons/Small/hlDownloadSmall.js +18 -6
- package/build/es/components/Icons/Small/hlExternalSmall.js +12 -4
- package/build/es/components/Icons/Small/hlUploadSmall.js +18 -6
- package/build/es/components/Icons/Social/facebook.js +13 -4
- package/build/es/components/Icons/Social/instagram.js +13 -4
- package/build/es/components/Icons/Social/linkedin.js +13 -4
- package/build/es/components/Icons/Social/tiktok.js +12 -4
- package/build/es/components/Icons/Social/twitter.js +13 -4
- package/build/es/components/Icons/Social/youtube.js +12 -4
- package/build/es/components/Icons/hl404.js +12 -4
- package/build/es/components/Icons/hl4gSim.js +12 -4
- package/build/es/components/Icons/hl5gSim.js +12 -4
- package/build/es/components/Icons/hlBattery.js +16 -6
- package/build/es/components/Icons/hlBell.js +12 -4
- package/build/es/components/Icons/hlCableTVCard.js +12 -4
- package/build/es/components/Icons/hlCalendar.js +56 -15
- package/build/es/components/Icons/hlCall.js +12 -4
- package/build/es/components/Icons/hlCameraBack.js +18 -6
- package/build/es/components/Icons/hlCameraFront.js +14 -5
- package/build/es/components/Icons/hlCart.js +16 -6
- package/build/es/components/Icons/hlCartEmpty.js +16 -6
- package/build/es/components/Icons/hlChat.js +24 -7
- package/build/es/components/Icons/hlCheck.js +12 -4
- package/build/es/components/Icons/hlChevronDown.js +12 -4
- package/build/es/components/Icons/hlChevronLeft.js +12 -4
- package/build/es/components/Icons/hlChevronRight.js +12 -4
- package/build/es/components/Icons/hlChevronUp.js +12 -4
- package/build/es/components/Icons/hlCompensation.js +12 -4
- package/build/es/components/Icons/hlCookie.js +12 -4
- package/build/es/components/Icons/hlCopy.js +14 -5
- package/build/es/components/Icons/hlCoupon.js +16 -6
- package/build/es/components/Icons/hlDelivery.js +14 -4
- package/build/es/components/Icons/hlDigiturva.js +14 -4
- package/build/es/components/Icons/hlDisplaySize.js +19 -6
- package/build/es/components/Icons/hlDocument.js +14 -5
- package/build/es/components/Icons/hlDownload.js +18 -6
- package/build/es/components/Icons/hlEnvelope.js +12 -4
- package/build/es/components/Icons/hlError.js +22 -6
- package/build/es/components/Icons/hlEuro.js +12 -4
- package/build/es/components/Icons/hlExclamationMark.js +12 -4
- package/build/es/components/Icons/hlExpand.js +12 -4
- package/build/es/components/Icons/hlExternal.js +12 -4
- package/build/es/components/Icons/hlEyeClosed.js +12 -4
- package/build/es/components/Icons/hlEyeOpen.js +14 -5
- package/build/es/components/Icons/hlFaceId.js +12 -4
- package/build/es/components/Icons/hlFastDelivery.js +12 -4
- package/build/es/components/Icons/hlFingerprint.js +20 -8
- package/build/es/components/Icons/hlGlobe.js +12 -4
- package/build/es/components/Icons/hlHeadphones.js +12 -4
- package/build/es/components/Icons/hlHeadset.js +18 -6
- package/build/es/components/Icons/hlHeart.js +12 -4
- package/build/es/components/Icons/hlHome.js +12 -4
- package/build/es/components/Icons/hlHub.js +14 -5
- package/build/es/components/Icons/hlImage.js +12 -4
- package/build/es/components/Icons/hlInfo.js +18 -6
- package/build/es/components/Icons/hlInstallment.js +14 -5
- package/build/es/components/Icons/hlIotSim.js +14 -5
- package/build/es/components/Icons/hlLaptop.js +13 -4
- package/build/es/components/Icons/hlLink.js +16 -5
- package/build/es/components/Icons/hlLiveVideo.js +12 -4
- package/build/es/components/Icons/hlLock.js +18 -6
- package/build/es/components/Icons/hlMagnifyingGlass.js +14 -5
- package/build/es/components/Icons/hlMarker.js +14 -5
- package/build/es/components/Icons/hlMemory.js +14 -5
- package/build/es/components/Icons/hlMenu.js +12 -4
- package/build/es/components/Icons/hlMinimize.js +12 -4
- package/build/es/components/Icons/hlMinus.js +12 -4
- package/build/es/components/Icons/hlMobileData.js +12 -4
- package/build/es/components/Icons/hlMobilePayment.js +19 -6
- package/build/es/components/Icons/hlModem.js +26 -8
- package/build/es/components/Icons/hlMore.js +22 -6
- package/build/es/components/Icons/hlOs.js +14 -5
- package/build/es/components/Icons/hlPackage.js +12 -4
- package/build/es/components/Icons/hlPaperclip.js +12 -4
- package/build/es/components/Icons/hlPaytime.js +12 -4
- package/build/es/components/Icons/hlPen.js +12 -4
- package/build/es/components/Icons/hlPerson.js +12 -4
- package/build/es/components/Icons/hlPhone.js +17 -5
- package/build/es/components/Icons/hlPlaylist.js +13 -4
- package/build/es/components/Icons/hlPlus.js +14 -5
- package/build/es/components/Icons/hlPrepaid.js +12 -4
- package/build/es/components/Icons/hlProcessor.js +14 -5
- package/build/es/components/Icons/hlServices.js +12 -4
- package/build/es/components/Icons/hlSettings.js +12 -4
- package/build/es/components/Icons/hlShield.js +14 -5
- package/build/es/components/Icons/hlSim.js +14 -5
- package/build/es/components/Icons/hlSimSimple.js +18 -6
- package/build/es/components/Icons/hlSmile.js +22 -7
- package/build/es/components/Icons/hlSpeechBubble.js +14 -5
- package/build/es/components/Icons/hlSquaretrade.js +13 -4
- package/build/es/components/Icons/hlStar.js +12 -4
- package/build/es/components/Icons/hlStarFilled.js +12 -4
- package/build/es/components/Icons/hlTrash.js +14 -5
- package/build/es/components/Icons/hlTv.js +12 -4
- package/build/es/components/Icons/hlUnlock.js +14 -6
- package/build/es/components/Icons/hlUpload.js +18 -6
- package/build/es/components/Icons/hlWarning.js +18 -6
- package/build/es/components/Icons/hlWifi.js +18 -6
- package/build/es/components/Icons/hlWrench.js +12 -4
- package/build/es/components/Icons/hlX.js +12 -4
- package/build/es/components/InfoDialog/InfoDialog.js +31 -46
- package/build/es/components/Input/Input.js +143 -159
- package/build/es/components/Label/Label.js +22 -22
- package/build/es/components/LabelText/LabelText.js +24 -17
- package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +29 -44
- package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +167 -153
- package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +34 -20
- package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +50 -32
- package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +17 -5
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +5 -2
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +100 -95
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +6 -2
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -58
- package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +20 -4
- package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +187 -159
- package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.js +16 -5
- package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +305 -272
- package/build/es/components/MainHeaderNavigation/context/NavContext.js +61 -49
- package/build/es/components/MainHeaderNavigation/globalNavStyles.d.ts +31 -16
- package/build/es/components/MainHeaderNavigation/globalNavStyles.js +39 -172
- package/build/es/components/Modal/Modal.js +127 -145
- package/build/es/components/Notification/Notification.js +74 -54
- package/build/es/components/NotificationBadge/NotificationBadge.js +29 -32
- package/build/es/components/Overlay/Overlay.js +70 -68
- package/build/es/components/Pill/Pill.js +91 -82
- package/build/es/components/PillGroup/PillGroup.js +50 -33
- package/build/es/components/PixelLoader/PixelLoader.js +37 -34
- package/build/es/components/PriorityNavigation/PriorityNavigation.js +281 -303
- package/build/es/components/PriorityNavigationItem/PriorityNavigationItem.js +27 -49
- package/build/es/components/ProgressIndicator/ProgressIndicator.js +140 -109
- package/build/es/components/RadioButton/RadioButton.js +91 -114
- package/build/es/components/ReadMore/ReadMore.js +86 -69
- package/build/es/components/Search/Search.js +52 -64
- package/build/es/components/Selectbox/Selectbox.js +279 -94
- package/build/es/components/Skeleton/Skeleton.js +69 -56
- package/build/es/components/Switch/Switch.js +62 -76
- package/build/es/components/Tab/Tab.js +55 -53
- package/build/es/components/Tabs/Tabs.js +93 -71
- package/build/es/components/Textarea/Textarea.js +76 -73
- package/build/es/components/Toaster/Toaster.js +59 -44
- package/build/es/components/Tooltip/Tooltip.js +74 -87
- package/build/es/hooks/useCloseOutsideOrElementClicked.js +23 -21
- package/build/es/hooks/useDebounce.js +9 -9
- package/build/es/hooks/useDocHeight.js +13 -13
- package/build/es/hooks/useOutsideClick.js +10 -10
- package/build/es/hooks/useResizeObserver.js +37 -24
- package/build/es/hooks/useScrollPosition.js +55 -54
- package/build/es/hooks/useWindowSize.js +20 -20
- package/build/es/themes/globalStyles.js +4 -4
- package/build/es/themes/gridTheme.js +1 -1
- package/build/es/themes/theme.js +12 -12
- package/build/es/themes/themeComponents/base.js +9 -8
- package/build/es/themes/themeComponents/breakpoints.js +6 -6
- package/build/es/themes/themeComponents/color.js +76 -74
- package/build/es/themes/themeComponents/fontFamily.js +3 -3
- package/build/es/themes/themeComponents/fontSize.js +31 -15
- package/build/es/themes/themeComponents/fontWeight.js +16 -16
- package/build/es/themes/themeComponents/forms.js +3 -2
- package/build/es/themes/themeComponents/layout.js +27 -27
- package/build/es/themes/themeComponents/lineHeight.js +32 -16
- package/build/es/themes/themeComponents/navigation.js +13 -13
- package/build/es/themes/themeComponents/radius.js +26 -26
- package/build/es/utils/common.js +15 -19
- package/build/es/utils/createStyled.d.ts +154 -134
- package/build/es/utils/createStyled.js +16 -2
- package/build/es/utils/styledUtils.js +2 -6
- package/package.json +19 -17
|
@@ -10,154 +10,136 @@ import ButtonClose from '../ButtonClose/ButtonClose.js';
|
|
|
10
10
|
import getElevationShadow from '../../utils/common.js';
|
|
11
11
|
|
|
12
12
|
const sizeMap = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
mobile: '375px',
|
|
14
|
+
small: '480px',
|
|
15
|
+
medium: '768px',
|
|
16
|
+
large: '960px',
|
|
17
|
+
wide: '1535px'
|
|
18
18
|
};
|
|
19
|
-
const GlobalStyle = createGlobalStyle
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
padding: 0;
|
|
78
|
-
border: none;
|
|
79
|
-
overflow-y: auto;
|
|
80
|
-
|
|
81
|
-
@media (max-width: ${sizeMap.mobile}) {
|
|
82
|
-
border-radius: 0;
|
|
83
|
-
}
|
|
84
|
-
`;
|
|
85
|
-
const StyledContent = styled.div `
|
|
86
|
-
&:focus {
|
|
87
|
-
outline: none;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
@media (min-width: ${sizeMap.small}) {
|
|
91
|
-
border-radius: ${theme.radius.default};
|
|
92
|
-
}
|
|
93
|
-
`;
|
|
94
|
-
const ContentWrapper = styled.div `
|
|
95
|
-
padding-top: ${getMultipliedSize(theme.base.baseWidth, 1)};
|
|
96
|
-
padding-left: ${getMultipliedSize(theme.base.baseWidth, 2)};
|
|
97
|
-
padding-bottom: ${getMultipliedSize(theme.base.baseWidth, 2)};
|
|
98
|
-
padding-right: ${getMultipliedSize(theme.base.baseWidth, 2)};
|
|
99
|
-
`;
|
|
100
|
-
const Header = styled.div `
|
|
101
|
-
padding: ${getMultipliedSize(theme.base.baseWidth, 2)};
|
|
102
|
-
background-color: ${({ $variant }) => $variant === 'dark'
|
|
103
|
-
? theme.color.background.plum.E02
|
|
104
|
-
: theme.color.background.white.default};
|
|
105
|
-
width: 100%;
|
|
106
|
-
|
|
107
|
-
h2,
|
|
108
|
-
p {
|
|
109
|
-
margin: 0;
|
|
110
|
-
}
|
|
111
|
-
`;
|
|
112
|
-
const Title = styled.h2 `
|
|
113
|
-
font-size: ${theme.fontSize.h2M};
|
|
114
|
-
line-height: ${theme.lineHeight.h2M};
|
|
115
|
-
color: ${({ $variant }) => $variant === 'light' ? theme.color.default.black : theme.color.default.white};
|
|
116
|
-
|
|
117
|
-
@media (max-width: ${sizeMap.small}) {
|
|
118
|
-
font-size: ${theme.fontSize.h2S};
|
|
119
|
-
line-height: ${theme.lineHeight.h2S};
|
|
120
|
-
}
|
|
121
|
-
`;
|
|
122
|
-
const CloseButton = styled(ButtonClose) `
|
|
123
|
-
margin: 0;
|
|
124
|
-
padding: 0.5rem;
|
|
125
|
-
border-radius: 0 ${theme.radius.default} 0 ${theme.radius.default};
|
|
126
|
-
background-color: ${({ $variant }) => $variant === 'light'
|
|
127
|
-
? theme.color.background.sand.E01
|
|
128
|
-
: theme.color.background.plum.default};
|
|
129
|
-
@media (max-width: ${sizeMap.mobile}) {
|
|
130
|
-
border-radius: 0 0 0 ${theme.radius.default};
|
|
131
|
-
}
|
|
132
|
-
`;
|
|
133
|
-
const Footer = styled.div `
|
|
134
|
-
position: sticky;
|
|
135
|
-
bottom: 0;
|
|
136
|
-
width: 100%;
|
|
137
|
-
margin-top: auto;
|
|
138
|
-
padding: ${getMultipliedSize(theme.base.baseWidth, 2)};
|
|
139
|
-
background-color: ${theme.color.background.white.default};
|
|
140
|
-
`;
|
|
141
|
-
const ModalOverlay = ({ ref, onClick, onMouseDown, className }, contentElement) => (React__default.createElement(StyledOverlay, { ref: ref, onClick: onClick, onMouseDown: onMouseDown, className: className }, contentElement));
|
|
19
|
+
const GlobalStyle = createGlobalStyle(["body.ReactModal__Body--open{overflow:hidden;}"]);
|
|
20
|
+
const StyledReactModal = styled(ReactModal).withConfig({
|
|
21
|
+
displayName: "Modal__StyledReactModal",
|
|
22
|
+
componentId: "sc-hk3kl0-0"
|
|
23
|
+
})(["position:relative;max-width:100vw;width:100vw;max-height:100vh;height:100vh;overflow-y:auto;", " @media (min-width:", "){max-width:", ";max-height:90%;margin:0 ", ";}@media (min-width:", "){width:90vw;max-height:60%;}@media (min-width:", "){max-width:100%;width:960px;}"], getElevationShadow({
|
|
24
|
+
elevation: 'extraHigh'
|
|
25
|
+
}), sizeMap.mobile, ({
|
|
26
|
+
size
|
|
27
|
+
}) => sizeMap[size], getMultipliedSize(theme.base.baseWidth, 1), sizeMap.small, sizeMap.wide);
|
|
28
|
+
const StyledOverlay = styled.div.withConfig({
|
|
29
|
+
displayName: "Modal__StyledOverlay",
|
|
30
|
+
componentId: "sc-hk3kl0-1"
|
|
31
|
+
})(["display:flex;justify-content:center;align-items:center;position:fixed;top:0;bottom:0;left:0;right:0;z-index:9999;background-color:", "", ";animation:fadeIn 0.2s ease-in-out;@keyframes fadeIn{0%{background-color:", "", ";}100%{background-color:", "", ";}}"], theme.color.background.plum.default, theme.color.transparency.T40, theme.color.background.plum.default, theme.color.transparency.T0, theme.color.background.plum.default, theme.color.transparency.T40);
|
|
32
|
+
const StyledBox = styled(Box).withConfig({
|
|
33
|
+
displayName: "Modal__StyledBox",
|
|
34
|
+
componentId: "sc-hk3kl0-2"
|
|
35
|
+
})(["display:flex;flex-direction:column;height:100%;padding:0;border:none;overflow-y:auto;@media (max-width:", "){border-radius:0;}"], sizeMap.mobile);
|
|
36
|
+
const StyledContent = styled.div.withConfig({
|
|
37
|
+
displayName: "Modal__StyledContent",
|
|
38
|
+
componentId: "sc-hk3kl0-3"
|
|
39
|
+
})(["&:focus{outline:none;}@media (min-width:", "){border-radius:", ";}"], sizeMap.small, theme.radius.default);
|
|
40
|
+
const ContentWrapper = styled.div.withConfig({
|
|
41
|
+
displayName: "Modal__ContentWrapper",
|
|
42
|
+
componentId: "sc-hk3kl0-4"
|
|
43
|
+
})(["padding-top:", ";padding-left:", ";padding-bottom:", ";padding-right:", ";"], getMultipliedSize(theme.base.baseWidth, 1), getMultipliedSize(theme.base.baseWidth, 2), getMultipliedSize(theme.base.baseWidth, 2), getMultipliedSize(theme.base.baseWidth, 2));
|
|
44
|
+
const Header = styled.div.withConfig({
|
|
45
|
+
displayName: "Modal__Header",
|
|
46
|
+
componentId: "sc-hk3kl0-5"
|
|
47
|
+
})(["padding:", ";background-color:", ";width:100%;h2,p{margin:0;}"], getMultipliedSize(theme.base.baseWidth, 2), ({
|
|
48
|
+
$variant
|
|
49
|
+
}) => $variant === 'dark' ? theme.color.background.plum.E02 : theme.color.background.white.default);
|
|
50
|
+
const Title = styled.h2.withConfig({
|
|
51
|
+
displayName: "Modal__Title",
|
|
52
|
+
componentId: "sc-hk3kl0-6"
|
|
53
|
+
})(["font-size:", ";line-height:", ";color:", ";@media (max-width:", "){font-size:", ";line-height:", ";}"], theme.fontSize.h2M, theme.lineHeight.h2M, ({
|
|
54
|
+
$variant
|
|
55
|
+
}) => $variant === 'light' ? theme.color.default.black : theme.color.default.white, sizeMap.small, theme.fontSize.h2S, theme.lineHeight.h2S);
|
|
56
|
+
const CloseButton = styled(ButtonClose).withConfig({
|
|
57
|
+
displayName: "Modal__CloseButton",
|
|
58
|
+
componentId: "sc-hk3kl0-7"
|
|
59
|
+
})(["margin:0;padding:0.5rem;border-radius:0 ", " 0 ", ";background-color:", ";@media (max-width:", "){border-radius:0 0 0 ", ";}"], theme.radius.default, theme.radius.default, ({
|
|
60
|
+
$variant
|
|
61
|
+
}) => $variant === 'light' ? theme.color.background.sand.E01 : theme.color.background.plum.default, sizeMap.mobile, theme.radius.default);
|
|
62
|
+
const Footer = styled.div.withConfig({
|
|
63
|
+
displayName: "Modal__Footer",
|
|
64
|
+
componentId: "sc-hk3kl0-8"
|
|
65
|
+
})(["position:sticky;bottom:0;width:100%;margin-top:auto;padding:", ";background-color:", ";"], getMultipliedSize(theme.base.baseWidth, 2), theme.color.background.white.default);
|
|
66
|
+
const ModalOverlay = ({
|
|
67
|
+
ref,
|
|
68
|
+
onClick,
|
|
69
|
+
onMouseDown,
|
|
70
|
+
className
|
|
71
|
+
}, contentElement) => (/*#__PURE__*/React__default.createElement(StyledOverlay, {
|
|
72
|
+
ref: ref,
|
|
73
|
+
onClick: onClick,
|
|
74
|
+
onMouseDown: onMouseDown,
|
|
75
|
+
className: className
|
|
76
|
+
}, contentElement));
|
|
142
77
|
const ModalContent = (_a, children) => {
|
|
143
|
-
|
|
144
|
-
|
|
78
|
+
var {
|
|
79
|
+
ref,
|
|
80
|
+
tabIndex,
|
|
81
|
+
role,
|
|
82
|
+
onKeyDown,
|
|
83
|
+
onMouseDown,
|
|
84
|
+
onMouseUp,
|
|
85
|
+
onClick,
|
|
86
|
+
className
|
|
87
|
+
} = _a,
|
|
88
|
+
contentProps = __rest(_a, ["ref", "tabIndex", "role", "onKeyDown", "onMouseDown", "onMouseUp", "onClick", "className"]);
|
|
89
|
+
return /*#__PURE__*/React__default.createElement(StyledContent, {
|
|
90
|
+
ref: ref,
|
|
91
|
+
tabIndex: tabIndex,
|
|
92
|
+
role: role,
|
|
93
|
+
onKeyDown: onKeyDown,
|
|
94
|
+
onMouseDown: onMouseDown,
|
|
95
|
+
onMouseUp: onMouseUp,
|
|
96
|
+
onClick: onClick,
|
|
97
|
+
"aria-label": contentProps['aria-label'],
|
|
98
|
+
"aria-modal": contentProps['aria-modal'],
|
|
99
|
+
className: className
|
|
100
|
+
}, children);
|
|
145
101
|
};
|
|
146
|
-
const Modal =
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
102
|
+
const Modal = _a => {
|
|
103
|
+
var {
|
|
104
|
+
appElement = '#__next',
|
|
105
|
+
size = 'medium',
|
|
106
|
+
variant = 'light',
|
|
107
|
+
closeButton = true,
|
|
108
|
+
isClosable = true,
|
|
109
|
+
'data-testid': dataTestId
|
|
110
|
+
} = _a,
|
|
111
|
+
props = __rest(_a, ["appElement", "size", "variant", "closeButton", "isClosable", 'data-testid']);
|
|
112
|
+
ReactModal.setAppElement(appElement);
|
|
113
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(StyledReactModal, {
|
|
114
|
+
id: props.id,
|
|
115
|
+
size: size,
|
|
116
|
+
isOpen: props.isOpen,
|
|
117
|
+
overlayElement: ModalOverlay,
|
|
118
|
+
contentElement: ModalContent,
|
|
119
|
+
onRequestClose: props.onRequestClose,
|
|
120
|
+
portalClassName: props.className,
|
|
121
|
+
contentLabel: props.contentLabel,
|
|
122
|
+
shouldCloseOnEsc: isClosable,
|
|
123
|
+
shouldCloseOnOverlayClick: isClosable
|
|
124
|
+
}, /*#__PURE__*/React__default.createElement(StyledBox, {
|
|
125
|
+
elevation: "extraHigh",
|
|
126
|
+
"data-testid": dataTestId
|
|
127
|
+
}, closeButton && isClosable && (/*#__PURE__*/React__default.createElement(CloseButton, {
|
|
128
|
+
onClick: props.onRequestClose,
|
|
129
|
+
"aria-label": props.closeLabel,
|
|
130
|
+
"data-testid": dataTestId && `${dataTestId}-close-button`,
|
|
131
|
+
"$variant": variant
|
|
132
|
+
}, /*#__PURE__*/React__default.createElement(Close, {
|
|
133
|
+
color: variant === 'light' ? theme.color.default.plum : theme.color.default.white
|
|
134
|
+
}))), props.title && (/*#__PURE__*/React__default.createElement(Header, {
|
|
135
|
+
"$variant": variant,
|
|
136
|
+
"data-testid": dataTestId && `${dataTestId}-header`
|
|
137
|
+
}, /*#__PURE__*/React__default.createElement(Title, {
|
|
138
|
+
"$size": size,
|
|
139
|
+
"$variant": variant
|
|
140
|
+
}, props.title))), /*#__PURE__*/React__default.createElement(ContentWrapper, null, props.children), props.footer && (/*#__PURE__*/React__default.createElement(Footer, {
|
|
141
|
+
"data-testid": dataTestId && `${dataTestId}-footer`
|
|
142
|
+
}, props.footer)))), /*#__PURE__*/React__default.createElement(GlobalStyle, null));
|
|
161
143
|
};
|
|
162
144
|
|
|
163
145
|
export { Modal as default };
|
|
@@ -6,61 +6,81 @@ import ButtonClose from '../ButtonClose/ButtonClose.js';
|
|
|
6
6
|
import Icon from '../Icon/Icon.js';
|
|
7
7
|
|
|
8
8
|
const iconsMap = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
info: Info,
|
|
10
|
+
success: Check,
|
|
11
|
+
warning: Warning,
|
|
12
|
+
error: Error
|
|
13
13
|
};
|
|
14
|
-
const sharedStyles = css
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
14
|
+
const sharedStyles = css(["display:flex;gap:1rem;line-height:", ";color:", ";background-color:", ";border-radius:", ";border:2px solid ", ";"], theme.lineHeight.default, theme.color.text.black, theme.color.background.white.default, theme.radius.s, ({
|
|
15
|
+
$type
|
|
16
|
+
}) => theme.color.notification[$type]);
|
|
17
|
+
const NotificationWrapper = styled.div.withConfig({
|
|
18
|
+
displayName: "Notification__NotificationWrapper",
|
|
19
|
+
componentId: "sc-1fzdznv-0"
|
|
20
|
+
})(["", " border-color:", ";"], sharedStyles, ({
|
|
21
|
+
$type
|
|
22
|
+
}) => theme.color.notification[$type]);
|
|
23
|
+
const StaticWrapper = styled.div.withConfig({
|
|
24
|
+
displayName: "Notification__StaticWrapper",
|
|
25
|
+
componentId: "sc-1fzdznv-1"
|
|
26
|
+
})(["", " border-color:", ";"], sharedStyles, ({
|
|
27
|
+
$type
|
|
28
|
+
}) => theme.color.notification[$type]);
|
|
29
|
+
const IconWrapper = styled.div.withConfig({
|
|
30
|
+
displayName: "Notification__IconWrapper",
|
|
31
|
+
componentId: "sc-1fzdznv-2"
|
|
32
|
+
})(["display:flex;align-items:center;padding:0.5rem;background-color:", ";"], ({
|
|
33
|
+
$type
|
|
34
|
+
}) => theme.color.notification[$type]);
|
|
35
|
+
const ContentWrapper = styled.div.withConfig({
|
|
36
|
+
displayName: "Notification__ContentWrapper",
|
|
37
|
+
componentId: "sc-1fzdznv-3"
|
|
38
|
+
})(["margin:auto 0;padding:0.5rem 0;width:100%;"]);
|
|
39
|
+
const ButtonCloseStyled = styled(ButtonClose).withConfig({
|
|
40
|
+
displayName: "Notification__ButtonCloseStyled",
|
|
41
|
+
componentId: "sc-1fzdznv-4"
|
|
42
|
+
})(["position:static;margin:auto 0.5rem;&:focus-visible{outline:none;box-shadow:0px 0px 0px 2px ", ",0px 0px 0px 4px ", ";}"], theme.color.focus.light, theme.color.focus.dark);
|
|
43
|
+
const Notification = ({
|
|
44
|
+
type = 'info',
|
|
45
|
+
'data-testid': dataTestId,
|
|
46
|
+
isStatic = false,
|
|
47
|
+
className,
|
|
48
|
+
children,
|
|
49
|
+
closeButton = false,
|
|
50
|
+
closeButtonLabel,
|
|
51
|
+
onClickCloseButton,
|
|
52
|
+
dismissed = false,
|
|
53
|
+
ariaLabel
|
|
54
|
+
}) => {
|
|
55
|
+
if (dismissed) return null;
|
|
56
|
+
const IconToUse = iconsMap[type];
|
|
57
|
+
const renderContent = () => (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IconWrapper, {
|
|
58
|
+
"$type": type
|
|
59
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
60
|
+
icon: IconToUse,
|
|
61
|
+
size: "2rem",
|
|
62
|
+
color: theme.color.default.white,
|
|
63
|
+
"aria-hidden": true
|
|
64
|
+
})), /*#__PURE__*/React__default.createElement(ContentWrapper, null, children), closeButton && (/*#__PURE__*/React__default.createElement(ButtonCloseStyled, {
|
|
65
|
+
onClick: onClickCloseButton,
|
|
66
|
+
"aria-label": closeButtonLabel
|
|
67
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
68
|
+
icon: Close,
|
|
69
|
+
color: "currentColor",
|
|
70
|
+
"aria-hidden": true
|
|
71
|
+
})))));
|
|
72
|
+
return isStatic ? (/*#__PURE__*/React__default.createElement(StaticWrapper, {
|
|
73
|
+
"$type": type,
|
|
74
|
+
className: className,
|
|
75
|
+
"data-testid": dataTestId,
|
|
76
|
+
"aria-label": ariaLabel,
|
|
77
|
+
role: "region"
|
|
78
|
+
}, renderContent())) : (/*#__PURE__*/React__default.createElement(NotificationWrapper, {
|
|
79
|
+
"$type": type,
|
|
80
|
+
className: className,
|
|
81
|
+
"data-testid": dataTestId,
|
|
82
|
+
role: "alert"
|
|
83
|
+
}, renderContent()));
|
|
64
84
|
};
|
|
65
85
|
|
|
66
86
|
export { Notification as default };
|
|
@@ -3,43 +3,40 @@ import React__default from 'react';
|
|
|
3
3
|
import { styled } from 'styled-components';
|
|
4
4
|
import theme from '../../themes/theme.js';
|
|
5
5
|
|
|
6
|
-
const NotificationBadgeElement = styled.div
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
height: 1rem;
|
|
17
|
-
color: ${theme.color.text.white};
|
|
18
|
-
background-color: ${theme.color.notification.error};
|
|
19
|
-
border-radius: ${theme.radius.circle};
|
|
20
|
-
`;
|
|
6
|
+
const NotificationBadgeElement = styled.div.withConfig({
|
|
7
|
+
displayName: "NotificationBadge__NotificationBadgeElement",
|
|
8
|
+
componentId: "sc-rd2upr-0"
|
|
9
|
+
})(["display:flex;justify-content:center;align-items:center;font-size:", ";font-weight:", ";position:", ";top:", ";right:", ";width:1rem;height:1rem;color:", ";background-color:", ";border-radius:", ";"], theme.fontSize.xs, theme.fontWeight.bold, ({
|
|
10
|
+
$position
|
|
11
|
+
}) => $position || 'absolute', ({
|
|
12
|
+
$top
|
|
13
|
+
}) => $top || '0', ({
|
|
14
|
+
$right
|
|
15
|
+
}) => $right || '0', theme.color.text.white, theme.color.notification.error, theme.radius.circle);
|
|
21
16
|
/**
|
|
22
17
|
* TODO: Replace the VisuallyHidden styled component with the global class name.
|
|
23
18
|
* Ticket: https://jira.dna.fi/browse/STYLE-916
|
|
24
19
|
*/
|
|
25
|
-
const VisuallyHidden = styled.span
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
padding: 0;
|
|
30
|
-
margin: -1px;
|
|
31
|
-
overflow: hidden;
|
|
32
|
-
clip: rect(0 0 0 0);
|
|
33
|
-
clip-path: inset(50%);
|
|
34
|
-
white-space: nowrap;
|
|
35
|
-
border: 0;
|
|
36
|
-
`;
|
|
20
|
+
const VisuallyHidden = styled.span.withConfig({
|
|
21
|
+
displayName: "NotificationBadge__VisuallyHidden",
|
|
22
|
+
componentId: "sc-rd2upr-1"
|
|
23
|
+
})(["position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;"]);
|
|
37
24
|
/** @visibleName Notification Badge */
|
|
38
|
-
const NotificationBadge =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
25
|
+
const NotificationBadge = _a => {
|
|
26
|
+
var {
|
|
27
|
+
'data-testid': dataTestId,
|
|
28
|
+
visuallyHiddenText
|
|
29
|
+
} = _a,
|
|
30
|
+
props = __rest(_a, ['data-testid', "visuallyHiddenText"]);
|
|
31
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, visuallyHiddenText && /*#__PURE__*/React__default.createElement(VisuallyHidden, null, visuallyHiddenText), /*#__PURE__*/React__default.createElement(NotificationBadgeElement, {
|
|
32
|
+
id: props.id,
|
|
33
|
+
"$position": props.position,
|
|
34
|
+
"$top": props.top,
|
|
35
|
+
"$right": props.right,
|
|
36
|
+
className: props.className,
|
|
37
|
+
"data-testid": dataTestId,
|
|
38
|
+
"aria-hidden": "true"
|
|
39
|
+
}, props.children));
|
|
43
40
|
};
|
|
44
41
|
|
|
45
42
|
export { NotificationBadge as default };
|
|
@@ -4,76 +4,78 @@ import { createPortal } from 'react-dom';
|
|
|
4
4
|
import { styled } from 'styled-components';
|
|
5
5
|
import theme from '../../themes/theme.js';
|
|
6
6
|
|
|
7
|
-
const Element = styled.div
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
left: 0;
|
|
12
|
-
right: 0;
|
|
13
|
-
background-color: ${theme.color.background.plum.default}${theme.color.transparency.T40};
|
|
14
|
-
animation: fadeIn 0.2s ease-in-out;
|
|
15
|
-
|
|
16
|
-
@keyframes fadeIn {
|
|
17
|
-
0% {
|
|
18
|
-
background-color: ${theme.color.background.plum.default}${theme.color.transparency.T0};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
100% {
|
|
22
|
-
background-color: ${theme.color.background.plum.default}${theme.color.transparency.T40};
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
`;
|
|
7
|
+
const Element = styled.div.withConfig({
|
|
8
|
+
displayName: "Overlay__Element",
|
|
9
|
+
componentId: "sc-vgn95v-0"
|
|
10
|
+
})(["position:fixed;top:0;bottom:0;left:0;right:0;background-color:", "", ";animation:fadeIn 0.2s ease-in-out;@keyframes fadeIn{0%{background-color:", "", ";}100%{background-color:", "", ";}}"], theme.color.background.plum.default, theme.color.transparency.T40, theme.color.background.plum.default, theme.color.transparency.T0, theme.color.background.plum.default, theme.color.transparency.T40);
|
|
26
11
|
/** @visibleName Overlay */
|
|
27
|
-
const Overlay =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
12
|
+
const Overlay = _a => {
|
|
13
|
+
var {
|
|
14
|
+
portalContainer: portalContainerSelector = 'body',
|
|
15
|
+
appElement: appElementSelector = '#__next',
|
|
16
|
+
preventBodyScroll = true,
|
|
17
|
+
'data-testid': dataTestId,
|
|
18
|
+
as = 'section',
|
|
19
|
+
role,
|
|
20
|
+
isFocusTrapped = true
|
|
21
|
+
} = _a,
|
|
22
|
+
props = __rest(_a, ["portalContainer", "appElement", "preventBodyScroll", 'data-testid', "as", "role", "isFocusTrapped"]);
|
|
23
|
+
const contentRef = useRef(null);
|
|
24
|
+
const portalContainer = portalContainerSelector ? document.querySelector(portalContainerSelector) : null;
|
|
25
|
+
const appElement = document.querySelector(appElementSelector);
|
|
26
|
+
const overlayElement = /*#__PURE__*/React__default.createElement(Element, {
|
|
27
|
+
id: props.id,
|
|
28
|
+
onClick: props.onClick,
|
|
29
|
+
className: props.className,
|
|
30
|
+
"data-testid": dataTestId,
|
|
31
|
+
onKeyDown: props.onKeyDown,
|
|
32
|
+
"aria-label": props.ariaLabel,
|
|
33
|
+
as: as,
|
|
34
|
+
role: as === 'div' ? role : undefined
|
|
35
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
36
|
+
ref: contentRef,
|
|
37
|
+
tabIndex: -1,
|
|
38
|
+
"data-testid": dataTestId ? `${dataTestId}-content` : ''
|
|
39
|
+
}, props.children));
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (preventBodyScroll) {
|
|
42
|
+
document.body.style.setProperty('overflow', 'hidden');
|
|
43
|
+
document.body.style.setProperty('position', 'relative');
|
|
44
|
+
document.body.style.setProperty('top', '0');
|
|
45
|
+
document.body.style.setProperty('left', '0');
|
|
46
|
+
return () => {
|
|
47
|
+
document.body.style.removeProperty('overflow');
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}, [preventBodyScroll]);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
var _a;
|
|
54
|
+
if (appElement) {
|
|
55
|
+
const focusTrapStart = document.createElement('div');
|
|
56
|
+
focusTrapStart.setAttribute('tabindex', isFocusTrapped ? '0' : '-1');
|
|
57
|
+
focusTrapStart.addEventListener('focus', () => {
|
|
58
|
+
var _a;
|
|
59
|
+
(_a = contentRef === null || contentRef === void 0 ? void 0 : contentRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
60
|
+
});
|
|
61
|
+
const focusTrapEnd = focusTrapStart.cloneNode();
|
|
62
|
+
focusTrapEnd.addEventListener('focus', () => {
|
|
49
63
|
var _a;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
appElement.setAttribute('inert', 'true');
|
|
66
|
-
return () => {
|
|
67
|
-
document.body.removeChild(focusTrapStart);
|
|
68
|
-
document.body.removeChild(focusTrapEnd);
|
|
69
|
-
appElement.removeAttribute('inert');
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
return undefined;
|
|
73
|
-
}, [appElement, contentRef, isFocusTrapped]);
|
|
74
|
-
return portalContainerSelector === false
|
|
75
|
-
? overlayElement
|
|
76
|
-
: createPortal(overlayElement, portalContainer !== null && portalContainer !== void 0 ? portalContainer : document.body);
|
|
64
|
+
(_a = contentRef === null || contentRef === void 0 ? void 0 : contentRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
65
|
+
});
|
|
66
|
+
(_a = contentRef === null || contentRef === void 0 ? void 0 : contentRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
67
|
+
document.body.prepend(focusTrapStart);
|
|
68
|
+
document.body.append(focusTrapEnd);
|
|
69
|
+
appElement.setAttribute('inert', 'true');
|
|
70
|
+
return () => {
|
|
71
|
+
document.body.removeChild(focusTrapStart);
|
|
72
|
+
document.body.removeChild(focusTrapEnd);
|
|
73
|
+
appElement.removeAttribute('inert');
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return undefined;
|
|
77
|
+
}, [appElement, contentRef, isFocusTrapped]);
|
|
78
|
+
return portalContainerSelector === false ? overlayElement : /*#__PURE__*/createPortal(overlayElement, portalContainer !== null && portalContainer !== void 0 ? portalContainer : document.body);
|
|
77
79
|
};
|
|
78
80
|
|
|
79
81
|
export { Overlay as default };
|