@skodaflow/web-library 8.1.0 → 8.3.0
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/cjs/components/advancedTable/agGrid.js +1 -1
- package/cjs/components/advancedTable/agGrid.js.map +1 -1
- package/cjs/components/advancedTable/agGridSkodaTheme.js +1 -1
- package/cjs/components/advancedTable/agGridSkodaTheme.js.map +1 -1
- package/cjs/components/banner/Banner.js +1 -1
- package/cjs/components/banner/Banner.js.map +1 -1
- package/cjs/components/bottomSheet/BottomSheet.js +1 -1
- package/cjs/components/bottomSheet/BottomSheet.js.map +1 -1
- package/cjs/components/bypassBlock/BypassBlock.js +1 -1
- package/cjs/components/bypassBlock/BypassBlock.js.map +1 -1
- package/cjs/components/carousel/Autoplay.d.ts +7 -2
- package/cjs/components/carousel/Autoplay.js +1 -1
- package/cjs/components/carousel/Autoplay.js.map +1 -1
- package/cjs/components/carousel/Carousel.js +1 -1
- package/cjs/components/carousel/Carousel.js.map +1 -1
- package/cjs/components/carousel/Navigation.js +1 -1
- package/cjs/components/carousel/Navigation.js.map +1 -1
- package/cjs/components/carousel/Pagination.d.ts +6 -6
- package/cjs/components/carousel/Pagination.js +1 -1
- package/cjs/components/carousel/Pagination.js.map +1 -1
- package/cjs/components/carousel/Slide.js +1 -1
- package/cjs/components/carousel/Slide.js.map +1 -1
- package/cjs/components/carousel/hooks.js +1 -1
- package/cjs/components/carousel/hooks.js.map +1 -1
- package/cjs/components/errorContent/ErrorContent.js +1 -1
- package/cjs/components/errorContent/ErrorContent.js.map +1 -1
- package/cjs/components/flag/FlowFlag.js +1 -1
- package/cjs/components/flag/FlowFlag.js.map +1 -1
- package/cjs/components/footer/Footer.js +1 -1
- package/cjs/components/footer/Footer.js.map +1 -1
- package/cjs/components/footer/FooterAccordion.js +1 -1
- package/cjs/components/footer/FooterAccordion.js.map +1 -1
- package/cjs/components/footer/FooterLink.js +1 -1
- package/cjs/components/footer/FooterLink.js.map +1 -1
- package/cjs/components/footer/FooterMenu.js +1 -1
- package/cjs/components/footer/FooterMenu.js.map +1 -1
- package/cjs/components/footer/FooterSectionContact.js +1 -1
- package/cjs/components/footer/FooterSectionContact.js.map +1 -1
- package/cjs/components/footer/FooterSectionLinks.js +1 -1
- package/cjs/components/footer/FooterSectionLinks.js.map +1 -1
- package/cjs/components/footer/FooterSectionMenu.js +1 -1
- package/cjs/components/footer/FooterSectionMenu.js.map +1 -1
- package/cjs/components/formMessage/FormMessage.js +1 -1
- package/cjs/components/formMessage/FormMessage.js.map +1 -1
- package/cjs/components/header/Header.js +1 -1
- package/cjs/components/header/Header.js.map +1 -1
- package/cjs/components/header/HeaderButton.js +1 -1
- package/cjs/components/header/HeaderButton.js.map +1 -1
- package/cjs/components/header/HeaderLanguageSelect.d.ts +6 -6
- package/cjs/components/header/HeaderLanguageSelect.js +1 -1
- package/cjs/components/header/HeaderLanguageSelect.js.map +1 -1
- package/cjs/components/header/HeaderLogo.d.ts +2 -2
- package/cjs/components/header/HeaderLogo.js +1 -1
- package/cjs/components/header/HeaderLogo.js.map +1 -1
- package/cjs/components/header/HeaderNavigationHero.js +1 -1
- package/cjs/components/header/HeaderNavigationHero.js.map +1 -1
- package/cjs/components/header/HeaderNavigationLink.js +1 -1
- package/cjs/components/header/HeaderNavigationLink.js.map +1 -1
- package/cjs/components/header/HeaderNavigationMenu.js +1 -1
- package/cjs/components/header/HeaderNavigationMenu.js.map +1 -1
- package/cjs/components/hotspotCard/HotspotCard.js +1 -1
- package/cjs/components/hotspotCard/HotspotCard.js.map +1 -1
- package/cjs/components/icon/filled/CarChargingFilledIcon.d.ts +6 -0
- package/cjs/components/icon/filled/CarChargingFilledIcon.js +2 -0
- package/cjs/components/icon/filled/CarChargingFilledIcon.js.map +1 -0
- package/cjs/components/icon/filled/EmissionLabelFilledIcon.d.ts +6 -0
- package/cjs/components/icon/filled/EmissionLabelFilledIcon.js +2 -0
- package/cjs/components/icon/filled/EmissionLabelFilledIcon.js.map +1 -0
- package/cjs/components/icon/filled/PictureErrorFilledIcon.d.ts +6 -0
- package/cjs/components/icon/filled/PictureErrorFilledIcon.js +2 -0
- package/cjs/components/icon/filled/PictureErrorFilledIcon.js.map +1 -0
- package/cjs/components/icon/filled/PowerpassFilledIcon.d.ts +6 -0
- package/cjs/components/icon/filled/PowerpassFilledIcon.js +2 -0
- package/cjs/components/icon/filled/PowerpassFilledIcon.js.map +1 -0
- package/cjs/components/icon/filled/index.d.ts +4 -0
- package/cjs/components/icon/icon.definitions.js +1 -1
- package/cjs/components/icon/icon.definitions.js.map +1 -1
- package/cjs/components/icon/stroke/CarChargingIcon.d.ts +6 -0
- package/cjs/components/icon/stroke/CarChargingIcon.js +2 -0
- package/cjs/components/icon/stroke/CarChargingIcon.js.map +1 -0
- package/cjs/components/icon/stroke/EmissionLabelIcon.d.ts +6 -0
- package/cjs/components/icon/stroke/EmissionLabelIcon.js +2 -0
- package/cjs/components/icon/stroke/EmissionLabelIcon.js.map +1 -0
- package/cjs/components/icon/stroke/PictureErrorIcon.d.ts +6 -0
- package/cjs/components/icon/stroke/PictureErrorIcon.js +2 -0
- package/cjs/components/icon/stroke/PictureErrorIcon.js.map +1 -0
- package/cjs/components/icon/stroke/PowerpassIcon.d.ts +6 -0
- package/cjs/components/icon/stroke/PowerpassIcon.js +2 -0
- package/cjs/components/icon/stroke/PowerpassIcon.js.map +1 -0
- package/cjs/components/icon/stroke/SoundwaveIcon.js +1 -1
- package/cjs/components/icon/stroke/SoundwaveIcon.js.map +1 -1
- package/cjs/components/icon/stroke/index.d.ts +4 -0
- package/cjs/components/image/Image.d.ts +5 -1
- package/cjs/components/image/Image.js +1 -1
- package/cjs/components/image/Image.js.map +1 -1
- package/cjs/components/index.d.ts +1 -0
- package/cjs/components/label/Label.js +1 -1
- package/cjs/components/label/Label.js.map +1 -1
- package/cjs/components/logo/Logo.js +1 -1
- package/cjs/components/logo/Logo.js.map +1 -1
- package/cjs/components/notification/Notification.d.ts +2 -2
- package/cjs/components/notification/Notification.js +1 -1
- package/cjs/components/notification/Notification.js.map +1 -1
- package/cjs/components/notification/NotificationCenter.js +1 -1
- package/cjs/components/notification/NotificationCenter.js.map +1 -1
- package/cjs/components/notification/NotificationCenterCategory.js +1 -1
- package/cjs/components/notification/NotificationCenterCategory.js.map +1 -1
- package/cjs/components/notification/NotificationCenterHeaderButton.js +1 -1
- package/cjs/components/notification/NotificationCenterHeaderButton.js.map +1 -1
- package/cjs/components/overlay/Overlay.js +1 -1
- package/cjs/components/overlay/Overlay.js.map +1 -1
- package/cjs/components/pageLayout/PageLayout.js +1 -1
- package/cjs/components/pageLayout/PageLayout.js.map +1 -1
- package/cjs/components/playPauseButton/PlayPauseButton.js +1 -1
- package/cjs/components/playPauseButton/PlayPauseButton.js.map +1 -1
- package/cjs/components/progress/Loader.js +1 -1
- package/cjs/components/progress/Loader.js.map +1 -1
- package/cjs/components/progress/LoadingText.js +1 -1
- package/cjs/components/progress/LoadingText.js.map +1 -1
- package/cjs/components/progress/ProgressState.js +1 -1
- package/cjs/components/progress/ProgressState.js.map +1 -1
- package/cjs/components/progress/Spinner.js +1 -1
- package/cjs/components/progress/Spinner.js.map +1 -1
- package/cjs/components/promptBar/PromptAttachments.d.ts +58 -0
- package/cjs/components/promptBar/PromptAttachments.js +2 -0
- package/cjs/components/promptBar/PromptAttachments.js.map +1 -0
- package/cjs/components/promptBar/PromptBar.d.ts +71 -0
- package/cjs/components/promptBar/PromptBar.js +2 -0
- package/cjs/components/promptBar/PromptBar.js.map +1 -0
- package/cjs/components/promptBar/PromptSubmitIconButton.d.ts +54 -0
- package/cjs/components/promptBar/PromptSubmitIconButton.js +2 -0
- package/cjs/components/promptBar/PromptSubmitIconButton.js.map +1 -0
- package/cjs/components/promptBar/index.d.ts +3 -0
- package/cjs/components/quickLink/QuickLink.d.ts +3 -3
- package/cjs/components/quickLink/QuickLink.js +1 -1
- package/cjs/components/quickLink/QuickLink.js.map +1 -1
- package/cjs/components/search/CollapsableSearch.js +1 -1
- package/cjs/components/search/CollapsableSearch.js.map +1 -1
- package/cjs/components/search/Search.d.ts +9 -1
- package/cjs/components/search/Search.js +1 -1
- package/cjs/components/search/Search.js.map +1 -1
- package/cjs/components/secondaryNavigation/SecondaryNavigation.js +1 -1
- package/cjs/components/secondaryNavigation/SecondaryNavigation.js.map +1 -1
- package/cjs/components/shortcut/Shortcut.js +1 -1
- package/cjs/components/shortcut/Shortcut.js.map +1 -1
- package/cjs/components/skodaThemeProvider/SkodaThemeProvider.js +1 -1
- package/cjs/components/skodaThemeProvider/SkodaThemeProvider.js.map +1 -1
- package/cjs/components/spacing/Spacing.js +1 -1
- package/cjs/components/spacing/Spacing.js.map +1 -1
- package/cjs/components/textAndCta/AppStoreButton.js +1 -1
- package/cjs/components/textAndCta/AppStoreButton.js.map +1 -1
- package/cjs/components/textAndCta/TextAndCta.js +1 -1
- package/cjs/components/textAndCta/TextAndCta.js.map +1 -1
- package/cjs/components/tooltipHeader/TooltipHeader.js +1 -1
- package/cjs/components/tooltipHeader/TooltipHeader.js.map +1 -1
- package/cjs/components/upload/components/uploadList/UploadList.js +1 -1
- package/cjs/components/upload/components/uploadList/UploadList.js.map +1 -1
- package/cjs/components/upload/components/uploadList/UploadListItem.js +1 -1
- package/cjs/components/upload/components/uploadList/UploadListItem.js.map +1 -1
- package/cjs/components/upload/components/uploadPreview/UploadPreview.js +1 -1
- package/cjs/components/upload/components/uploadPreview/UploadPreview.js.map +1 -1
- package/cjs/components/upload/components/uploadPreview/UploadPreviewImage.js +1 -1
- package/cjs/components/upload/components/uploadPreview/UploadPreviewImage.js.map +1 -1
- package/cjs/components/upload/components/uploadWrapper/UploadContent.js +1 -1
- package/cjs/components/upload/components/uploadWrapper/UploadContent.js.map +1 -1
- package/cjs/components/upload/components/uploadWrapper/UploadWrapper.js +1 -1
- package/cjs/components/upload/components/uploadWrapper/UploadWrapper.js.map +1 -1
- package/cjs/components/video/Video.js +1 -1
- package/cjs/components/video/Video.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/materialui/accordion/AccordionSummaryExpandWrapper.js +1 -1
- package/cjs/materialui/accordion/AccordionSummaryExpandWrapper.js.map +1 -1
- package/cjs/materialui/autocomplete/autocomplete.theme.js +1 -1
- package/cjs/materialui/autocomplete/autocomplete.theme.js.map +1 -1
- package/cjs/materialui/card/Card.js +1 -1
- package/cjs/materialui/card/Card.js.map +1 -1
- package/cjs/materialui/card/card.theme.js +1 -1
- package/cjs/materialui/card/card.theme.js.map +1 -1
- package/cjs/materialui/datepicker/datecalendar.theme.d.ts +1178 -1178
- package/cjs/materialui/datepicker/digitalclock.theme.d.ts +1176 -1176
- package/cjs/materialui/datepicker/pickersday.theme.d.ts +1 -1
- package/cjs/materialui/datepicker/pickersday.theme.js +1 -1
- package/cjs/materialui/datepicker/pickersday.theme.js.map +1 -1
- package/cjs/materialui/dialog/DialogTitle.js +1 -1
- package/cjs/materialui/dialog/DialogTitle.js.map +1 -1
- package/cjs/materialui/dialog/dialogTitle.theme.js +1 -1
- package/cjs/materialui/dialog/dialogTitle.theme.js.map +1 -1
- package/cjs/materialui/drawer/DrawerContent.d.ts +39 -0
- package/cjs/materialui/drawer/DrawerContent.js +2 -0
- package/cjs/materialui/drawer/DrawerContent.js.map +1 -0
- package/cjs/materialui/drawer/drawer.theme.js +1 -1
- package/cjs/materialui/drawer/drawer.theme.js.map +1 -1
- package/cjs/materialui/drawer/index.d.ts +2 -0
- package/cjs/materialui/iconButton/iconButton.theme.js +1 -1
- package/cjs/materialui/iconButton/iconButton.theme.js.map +1 -1
- package/cjs/materialui/list/listItemText.theme.js +1 -1
- package/cjs/materialui/list/listItemText.theme.js.map +1 -1
- package/cjs/materialui/slider/SliderContainer.js +1 -1
- package/cjs/materialui/slider/SliderContainer.js.map +1 -1
- package/cjs/materialui/slider/SliderValues.js +1 -1
- package/cjs/materialui/slider/SliderValues.js.map +1 -1
- package/cjs/materialui/stepper/stepConnector.theme.js +1 -1
- package/cjs/materialui/stepper/stepConnector.theme.js.map +1 -1
- package/cjs/materialui/stepper/stepper.theme.js +1 -1
- package/cjs/materialui/stepper/stepper.theme.js.map +1 -1
- package/cjs/materialui/switch/switch.theme.js +1 -1
- package/cjs/materialui/switch/switch.theme.js.map +1 -1
- package/cjs/materialui/table/tablePagination.theme.js +1 -1
- package/cjs/materialui/table/tablePagination.theme.js.map +1 -1
- package/cjs/materialui/tabs/tabs.theme.js +1 -1
- package/cjs/materialui/tabs/tabs.theme.js.map +1 -1
- package/cjs/materialui/textfield/FormHelperText.js +1 -1
- package/cjs/materialui/textfield/FormHelperText.js.map +1 -1
- package/cjs/materialui/textfield/HelperTextContent.js +1 -1
- package/cjs/materialui/textfield/HelperTextContent.js.map +1 -1
- package/cjs/materialui/textfield/filledInput.theme.js +1 -1
- package/cjs/materialui/textfield/filledInput.theme.js.map +1 -1
- package/cjs/materialui/textfield/inputAdornment.theme.js +1 -1
- package/cjs/materialui/textfield/inputAdornment.theme.js.map +1 -1
- package/cjs/materialui/textfield/inputBase.theme.js +1 -1
- package/cjs/materialui/textfield/inputBase.theme.js.map +1 -1
- package/cjs/materialui/textfield/inputLabel.theme.js +1 -1
- package/cjs/materialui/textfield/inputLabel.theme.js.map +1 -1
- package/cjs/materialui/textfield/textField.theme.js +1 -1
- package/cjs/materialui/textfield/textField.theme.js.map +1 -1
- package/cjs/materialui/theme/paletteDark.theme.js +1 -1
- package/cjs/materialui/theme/paletteDark.theme.js.map +1 -1
- package/cjs/materialui/theme/sxConfig.d.ts +2 -0
- package/cjs/materialui/theme/sxConfig.js +2 -0
- package/cjs/materialui/theme/sxConfig.js.map +1 -0
- package/cjs/materialui/theme/theme.extensions.d.ts +19 -0
- package/cjs/materialui/theme/theme.js +1 -1
- package/cjs/materialui/theme/theme.js.map +1 -1
- package/cjs/materialui/themeProvider/baseline.theme.js +1 -1
- package/cjs/materialui/themeProvider/baseline.theme.js.map +1 -1
- package/cjs/materialui/typography/typography.theme.d.ts +4 -0
- package/cjs/materialui/typography/typography.theme.js +1 -1
- package/cjs/materialui/typography/typography.theme.js.map +1 -1
- package/cjs/node_modules/swiper/shared/swiper-core.js +1 -1
- package/cjs/node_modules/swiper/shared/swiper-core.js.map +1 -1
- package/cjs/node_modules/swiper/swiper-react.js.map +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/sxOverride/index.d.ts +1 -0
- package/cjs/utils/sxOverride/sxOverride.d.ts +10 -0
- package/cjs/utils/sxOverride/sxOverride.js +2 -0
- package/cjs/utils/sxOverride/sxOverride.js.map +1 -0
- package/components/advancedTable/agGrid.js +1 -1
- package/components/advancedTable/agGrid.js.map +1 -1
- package/components/advancedTable/agGridSkodaTheme.js +1 -1
- package/components/advancedTable/agGridSkodaTheme.js.map +1 -1
- package/components/banner/Banner.js +1 -1
- package/components/banner/Banner.js.map +1 -1
- package/components/bottomSheet/BottomSheet.js +1 -1
- package/components/bottomSheet/BottomSheet.js.map +1 -1
- package/components/bypassBlock/BypassBlock.js +1 -1
- package/components/bypassBlock/BypassBlock.js.map +1 -1
- package/components/carousel/Autoplay.d.ts +7 -2
- package/components/carousel/Autoplay.js +1 -1
- package/components/carousel/Autoplay.js.map +1 -1
- package/components/carousel/Carousel.js +1 -1
- package/components/carousel/Carousel.js.map +1 -1
- package/components/carousel/Navigation.js +1 -1
- package/components/carousel/Navigation.js.map +1 -1
- package/components/carousel/Pagination.d.ts +6 -6
- package/components/carousel/Pagination.js +1 -1
- package/components/carousel/Pagination.js.map +1 -1
- package/components/carousel/Slide.js +1 -1
- package/components/carousel/Slide.js.map +1 -1
- package/components/carousel/hooks.js +1 -1
- package/components/carousel/hooks.js.map +1 -1
- package/components/errorContent/ErrorContent.js +1 -1
- package/components/errorContent/ErrorContent.js.map +1 -1
- package/components/flag/FlowFlag.js +1 -1
- package/components/flag/FlowFlag.js.map +1 -1
- package/components/footer/Footer.js +1 -1
- package/components/footer/Footer.js.map +1 -1
- package/components/footer/FooterAccordion.js +1 -1
- package/components/footer/FooterAccordion.js.map +1 -1
- package/components/footer/FooterLink.js +1 -1
- package/components/footer/FooterLink.js.map +1 -1
- package/components/footer/FooterMenu.js +1 -1
- package/components/footer/FooterMenu.js.map +1 -1
- package/components/footer/FooterSectionContact.js +1 -1
- package/components/footer/FooterSectionContact.js.map +1 -1
- package/components/footer/FooterSectionLinks.js +1 -1
- package/components/footer/FooterSectionLinks.js.map +1 -1
- package/components/footer/FooterSectionMenu.js +1 -1
- package/components/footer/FooterSectionMenu.js.map +1 -1
- package/components/formMessage/FormMessage.js +1 -1
- package/components/formMessage/FormMessage.js.map +1 -1
- package/components/header/Header.js +1 -1
- package/components/header/Header.js.map +1 -1
- package/components/header/HeaderButton.js +1 -1
- package/components/header/HeaderButton.js.map +1 -1
- package/components/header/HeaderLanguageSelect.d.ts +6 -6
- package/components/header/HeaderLanguageSelect.js +1 -1
- package/components/header/HeaderLanguageSelect.js.map +1 -1
- package/components/header/HeaderLogo.d.ts +2 -2
- package/components/header/HeaderLogo.js +1 -1
- package/components/header/HeaderLogo.js.map +1 -1
- package/components/header/HeaderNavigationHero.js +1 -1
- package/components/header/HeaderNavigationHero.js.map +1 -1
- package/components/header/HeaderNavigationLink.js +1 -1
- package/components/header/HeaderNavigationLink.js.map +1 -1
- package/components/header/HeaderNavigationMenu.js +1 -1
- package/components/header/HeaderNavigationMenu.js.map +1 -1
- package/components/hotspotCard/HotspotCard.js +1 -1
- package/components/hotspotCard/HotspotCard.js.map +1 -1
- package/components/icon/filled/CarChargingFilledIcon.d.ts +6 -0
- package/components/icon/filled/CarChargingFilledIcon.js +2 -0
- package/components/icon/filled/CarChargingFilledIcon.js.map +1 -0
- package/components/icon/filled/EmissionLabelFilledIcon.d.ts +6 -0
- package/components/icon/filled/EmissionLabelFilledIcon.js +2 -0
- package/components/icon/filled/EmissionLabelFilledIcon.js.map +1 -0
- package/components/icon/filled/PictureErrorFilledIcon.d.ts +6 -0
- package/components/icon/filled/PictureErrorFilledIcon.js +2 -0
- package/components/icon/filled/PictureErrorFilledIcon.js.map +1 -0
- package/components/icon/filled/PowerpassFilledIcon.d.ts +6 -0
- package/components/icon/filled/PowerpassFilledIcon.js +2 -0
- package/components/icon/filled/PowerpassFilledIcon.js.map +1 -0
- package/components/icon/filled/index.d.ts +4 -0
- package/components/icon/icon.definitions.js +1 -1
- package/components/icon/icon.definitions.js.map +1 -1
- package/components/icon/stroke/CarChargingIcon.d.ts +6 -0
- package/components/icon/stroke/CarChargingIcon.js +2 -0
- package/components/icon/stroke/CarChargingIcon.js.map +1 -0
- package/components/icon/stroke/EmissionLabelIcon.d.ts +6 -0
- package/components/icon/stroke/EmissionLabelIcon.js +2 -0
- package/components/icon/stroke/EmissionLabelIcon.js.map +1 -0
- package/components/icon/stroke/PictureErrorIcon.d.ts +6 -0
- package/components/icon/stroke/PictureErrorIcon.js +2 -0
- package/components/icon/stroke/PictureErrorIcon.js.map +1 -0
- package/components/icon/stroke/PowerpassIcon.d.ts +6 -0
- package/components/icon/stroke/PowerpassIcon.js +2 -0
- package/components/icon/stroke/PowerpassIcon.js.map +1 -0
- package/components/icon/stroke/SoundwaveIcon.js +1 -1
- package/components/icon/stroke/SoundwaveIcon.js.map +1 -1
- package/components/icon/stroke/index.d.ts +4 -0
- package/components/image/Image.d.ts +5 -1
- package/components/image/Image.js +1 -1
- package/components/image/Image.js.map +1 -1
- package/components/index.d.ts +1 -0
- package/components/label/Label.js +1 -1
- package/components/label/Label.js.map +1 -1
- package/components/logo/Logo.js +1 -1
- package/components/logo/Logo.js.map +1 -1
- package/components/notification/Notification.d.ts +2 -2
- package/components/notification/Notification.js +1 -1
- package/components/notification/Notification.js.map +1 -1
- package/components/notification/NotificationCenter.js +1 -1
- package/components/notification/NotificationCenter.js.map +1 -1
- package/components/notification/NotificationCenterCategory.js +1 -1
- package/components/notification/NotificationCenterCategory.js.map +1 -1
- package/components/notification/NotificationCenterHeaderButton.js +1 -1
- package/components/notification/NotificationCenterHeaderButton.js.map +1 -1
- package/components/overlay/Overlay.js +1 -1
- package/components/overlay/Overlay.js.map +1 -1
- package/components/pageLayout/PageLayout.js +1 -1
- package/components/pageLayout/PageLayout.js.map +1 -1
- package/components/playPauseButton/PlayPauseButton.js +1 -1
- package/components/playPauseButton/PlayPauseButton.js.map +1 -1
- package/components/progress/Loader.js +1 -1
- package/components/progress/Loader.js.map +1 -1
- package/components/progress/LoadingText.js +1 -1
- package/components/progress/LoadingText.js.map +1 -1
- package/components/progress/ProgressState.js +1 -1
- package/components/progress/ProgressState.js.map +1 -1
- package/components/progress/Spinner.js +1 -1
- package/components/progress/Spinner.js.map +1 -1
- package/components/promptBar/PromptAttachments.d.ts +58 -0
- package/components/promptBar/PromptAttachments.js +2 -0
- package/components/promptBar/PromptAttachments.js.map +1 -0
- package/components/promptBar/PromptBar.d.ts +71 -0
- package/components/promptBar/PromptBar.js +2 -0
- package/components/promptBar/PromptBar.js.map +1 -0
- package/components/promptBar/PromptSubmitIconButton.d.ts +54 -0
- package/components/promptBar/PromptSubmitIconButton.js +2 -0
- package/components/promptBar/PromptSubmitIconButton.js.map +1 -0
- package/components/promptBar/index.d.ts +3 -0
- package/components/quickLink/QuickLink.d.ts +3 -3
- package/components/quickLink/QuickLink.js +1 -1
- package/components/quickLink/QuickLink.js.map +1 -1
- package/components/search/CollapsableSearch.js +1 -1
- package/components/search/CollapsableSearch.js.map +1 -1
- package/components/search/Search.d.ts +9 -1
- package/components/search/Search.js +1 -1
- package/components/search/Search.js.map +1 -1
- package/components/secondaryNavigation/SecondaryNavigation.js +1 -1
- package/components/secondaryNavigation/SecondaryNavigation.js.map +1 -1
- package/components/shortcut/Shortcut.js +1 -1
- package/components/shortcut/Shortcut.js.map +1 -1
- package/components/skodaThemeProvider/SkodaThemeProvider.js +1 -1
- package/components/skodaThemeProvider/SkodaThemeProvider.js.map +1 -1
- package/components/spacing/Spacing.js +1 -1
- package/components/spacing/Spacing.js.map +1 -1
- package/components/textAndCta/AppStoreButton.js +1 -1
- package/components/textAndCta/AppStoreButton.js.map +1 -1
- package/components/textAndCta/TextAndCta.js +1 -1
- package/components/textAndCta/TextAndCta.js.map +1 -1
- package/components/tooltipHeader/TooltipHeader.js +1 -1
- package/components/tooltipHeader/TooltipHeader.js.map +1 -1
- package/components/upload/components/uploadList/UploadList.js +1 -1
- package/components/upload/components/uploadList/UploadList.js.map +1 -1
- package/components/upload/components/uploadList/UploadListItem.js +1 -1
- package/components/upload/components/uploadList/UploadListItem.js.map +1 -1
- package/components/upload/components/uploadPreview/UploadPreview.js +1 -1
- package/components/upload/components/uploadPreview/UploadPreview.js.map +1 -1
- package/components/upload/components/uploadPreview/UploadPreviewImage.js +1 -1
- package/components/upload/components/uploadPreview/UploadPreviewImage.js.map +1 -1
- package/components/upload/components/uploadWrapper/UploadContent.js +1 -1
- package/components/upload/components/uploadWrapper/UploadContent.js.map +1 -1
- package/components/upload/components/uploadWrapper/UploadWrapper.js +1 -1
- package/components/upload/components/uploadWrapper/UploadWrapper.js.map +1 -1
- package/components/video/Video.js +1 -1
- package/components/video/Video.js.map +1 -1
- package/index.js +1 -1
- package/materialui/accordion/AccordionSummaryExpandWrapper.js +1 -1
- package/materialui/accordion/AccordionSummaryExpandWrapper.js.map +1 -1
- package/materialui/autocomplete/autocomplete.theme.js +1 -1
- package/materialui/autocomplete/autocomplete.theme.js.map +1 -1
- package/materialui/card/Card.js +1 -1
- package/materialui/card/Card.js.map +1 -1
- package/materialui/card/card.theme.js +1 -1
- package/materialui/card/card.theme.js.map +1 -1
- package/materialui/datepicker/datecalendar.theme.d.ts +1178 -1178
- package/materialui/datepicker/digitalclock.theme.d.ts +1176 -1176
- package/materialui/datepicker/pickersday.theme.d.ts +1 -1
- package/materialui/datepicker/pickersday.theme.js +1 -1
- package/materialui/datepicker/pickersday.theme.js.map +1 -1
- package/materialui/dialog/DialogTitle.js +1 -1
- package/materialui/dialog/DialogTitle.js.map +1 -1
- package/materialui/dialog/dialogTitle.theme.js +1 -1
- package/materialui/dialog/dialogTitle.theme.js.map +1 -1
- package/materialui/drawer/DrawerContent.d.ts +39 -0
- package/materialui/drawer/DrawerContent.js +2 -0
- package/materialui/drawer/DrawerContent.js.map +1 -0
- package/materialui/drawer/drawer.theme.js +1 -1
- package/materialui/drawer/drawer.theme.js.map +1 -1
- package/materialui/drawer/index.d.ts +2 -0
- package/materialui/iconButton/iconButton.theme.js +1 -1
- package/materialui/iconButton/iconButton.theme.js.map +1 -1
- package/materialui/list/listItemText.theme.js +1 -1
- package/materialui/list/listItemText.theme.js.map +1 -1
- package/materialui/slider/SliderContainer.js +1 -1
- package/materialui/slider/SliderContainer.js.map +1 -1
- package/materialui/slider/SliderValues.js +1 -1
- package/materialui/slider/SliderValues.js.map +1 -1
- package/materialui/stepper/stepConnector.theme.js +1 -1
- package/materialui/stepper/stepConnector.theme.js.map +1 -1
- package/materialui/stepper/stepper.theme.js +1 -1
- package/materialui/stepper/stepper.theme.js.map +1 -1
- package/materialui/switch/switch.theme.js +1 -1
- package/materialui/switch/switch.theme.js.map +1 -1
- package/materialui/table/tablePagination.theme.js +1 -1
- package/materialui/table/tablePagination.theme.js.map +1 -1
- package/materialui/tabs/tabs.theme.js +1 -1
- package/materialui/tabs/tabs.theme.js.map +1 -1
- package/materialui/textfield/FormHelperText.js +1 -1
- package/materialui/textfield/FormHelperText.js.map +1 -1
- package/materialui/textfield/HelperTextContent.js +1 -1
- package/materialui/textfield/HelperTextContent.js.map +1 -1
- package/materialui/textfield/filledInput.theme.js +1 -1
- package/materialui/textfield/filledInput.theme.js.map +1 -1
- package/materialui/textfield/inputAdornment.theme.js +1 -1
- package/materialui/textfield/inputAdornment.theme.js.map +1 -1
- package/materialui/textfield/inputBase.theme.js +1 -1
- package/materialui/textfield/inputBase.theme.js.map +1 -1
- package/materialui/textfield/inputLabel.theme.js +1 -1
- package/materialui/textfield/inputLabel.theme.js.map +1 -1
- package/materialui/textfield/textField.theme.js +1 -1
- package/materialui/textfield/textField.theme.js.map +1 -1
- package/materialui/theme/paletteDark.theme.js +1 -1
- package/materialui/theme/paletteDark.theme.js.map +1 -1
- package/materialui/theme/sxConfig.d.ts +2 -0
- package/materialui/theme/sxConfig.js +2 -0
- package/materialui/theme/sxConfig.js.map +1 -0
- package/materialui/theme/theme.extensions.d.ts +19 -0
- package/materialui/theme/theme.js +1 -1
- package/materialui/theme/theme.js.map +1 -1
- package/materialui/themeProvider/baseline.theme.js +1 -1
- package/materialui/themeProvider/baseline.theme.js.map +1 -1
- package/materialui/typography/typography.theme.d.ts +4 -0
- package/materialui/typography/typography.theme.js +1 -1
- package/materialui/typography/typography.theme.js.map +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/sxOverride/index.d.ts +1 -0
- package/utils/sxOverride/sxOverride.d.ts +10 -0
- package/utils/sxOverride/sxOverride.js +2 -0
- package/utils/sxOverride/sxOverride.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FooterSectionLinks.js","sources":["../../../../../src/components/footer/FooterSectionLinks.tsx"],"sourcesContent":["import React, { ElementType, FC, forwardRef } from 'react';\nimport { Box, BoxProps, Button, ButtonProps, Typography, TypographyProps, useTheme } from '@mui/material';\n\nexport interface FooterSectionLinksProps extends BoxProps<ElementType> {\n /**\n * Text wrapped by styled Typography component\n */\n textSlot?: React.ReactNode;\n /**\n * Properties applied to text typography\n */\n textTypographyProps?: TypographyProps<ElementType>;\n /**\n * Alternative to providing button props\n */\n buttonSlot?: React.ReactNode;\n /**\n * Properties applied to button wrapper\n */\n buttonSlotProps?: BoxProps<ElementType>;\n /**\n * Props for button\n */\n buttonProps?: ButtonProps & { label?: React.ReactNode };\n /**\n * Properties applied to link container\n */\n linksWrapperProps?: BoxProps<ElementType>;\n}\n\n/**\n * Section for the secondary links, copyright and optional button\n */\nexport const FooterSectionLinks: FC<FooterSectionLinksProps> = forwardRef(\n (\n {\n sx,\n children,\n className,\n textSlot,\n buttonSlot,\n buttonSlotProps,\n textTypographyProps,\n buttonProps,\n linksWrapperProps,\n ...rest\n },\n ref,\n ) => {\n const { sx: testSx, ...restText } = textTypographyProps ?? {};\n const { sx: linksWrapperSx, ...restLinksWrapper } = linksWrapperProps ?? {};\n const { sx: buttonSlotSx, ...restButtonSlot } = buttonSlotProps ?? {};\n const { label, ...restButton } = buttonProps ?? {};\n const theme = useTheme();\n\n return (\n <Box\n sx={{\n
|
|
1
|
+
{"version":3,"file":"FooterSectionLinks.js","sources":["../../../../../src/components/footer/FooterSectionLinks.tsx"],"sourcesContent":["import React, { ElementType, FC, forwardRef } from 'react';\nimport { Box, BoxProps, Button, ButtonProps, Typography, TypographyProps, useTheme } from '@mui/material';\nimport { sxOverride } from '@/src/utils/sxOverride';\n\nexport interface FooterSectionLinksProps extends BoxProps<ElementType> {\n /**\n * Text wrapped by styled Typography component\n */\n textSlot?: React.ReactNode;\n /**\n * Properties applied to text typography\n */\n textTypographyProps?: TypographyProps<ElementType>;\n /**\n * Alternative to providing button props\n */\n buttonSlot?: React.ReactNode;\n /**\n * Properties applied to button wrapper\n */\n buttonSlotProps?: BoxProps<ElementType>;\n /**\n * Props for button\n */\n buttonProps?: ButtonProps & { label?: React.ReactNode };\n /**\n * Properties applied to link container\n */\n linksWrapperProps?: BoxProps<ElementType>;\n}\n\n/**\n * Section for the secondary links, copyright and optional button\n */\nexport const FooterSectionLinks: FC<FooterSectionLinksProps> = forwardRef(\n (\n {\n sx,\n children,\n className,\n textSlot,\n buttonSlot,\n buttonSlotProps,\n textTypographyProps,\n buttonProps,\n linksWrapperProps,\n ...rest\n },\n ref,\n ) => {\n const { sx: testSx, ...restText } = textTypographyProps ?? {};\n const { sx: linksWrapperSx, ...restLinksWrapper } = linksWrapperProps ?? {};\n const { sx: buttonSlotSx, ...restButtonSlot } = buttonSlotProps ?? {};\n const { label, ...restButton } = buttonProps ?? {};\n const theme = useTheme();\n\n return (\n <Box\n sx={sxOverride(\n {\n display: 'flex',\n alignItems: { xs: 'flex-start', lg: 'center' },\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n gap: 2,\n flexDirection: { xs: 'column', lg: 'row' },\n },\n sx,\n )}\n ref={ref}\n data-testid=\"FooterSectionLinks\"\n className={['FooterSectionLinks-root', className].filter(Boolean).join(' ')}\n {...rest}\n >\n {textSlot && (\n <Typography\n variant=\"disclaimer1\"\n sx={sxOverride(\n {\n my: { xs: 2, lg: 0 },\n color: 'onSurface.os200',\n ...(children && {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n // separator between text and links\n mr: { lg: 2 },\n '&:after': {\n content: { xs: 'none', lg: \"''\" },\n display: 'block',\n height: '14px',\n width: '1px',\n backgroundColor: 'onSurface.os700',\n ml: 4,\n },\n // move after the links on mobile\n order: { xs: 1, lg: 0 },\n }),\n },\n testSx,\n )}\n data-testid=\"FooterSectionLinks.text\"\n {...restText}\n >\n {textSlot}\n </Typography>\n )}\n {children && (\n <Box\n sx={sxOverride(\n {\n display: 'flex',\n alignItems: { xs: 'flex-start', lg: 'center' },\n flexDirection: { xs: 'column', lg: 'row' },\n flexWrap: 'wrap',\n flexGrow: '1',\n gap: { xs: 2, lg: 3 },\n // manipulate style of buttons inside\n '& .MuiButton-root': {\n alignSelf: { xs: 'stretch', lg: 'auto' },\n },\n // manipulates style of links inside\n '& .MuiLink-root': {\n ...theme.typography.disclaimer1,\n p: 0,\n '&, &:hover': {\n textDecoration: 'underline',\n color: 'common.white',\n },\n },\n },\n linksWrapperSx,\n )}\n data-testid=\"FooterSectionLinks.content\"\n {...restLinksWrapper}\n >\n {children}\n </Box>\n )}\n {(buttonSlot || label) && (\n <Box data-testid=\"FooterSectionLinks.button\" sx={sxOverride({ order: 2 }, buttonSlotSx)} {...restButtonSlot}>\n {buttonSlot || (\n <Button variant=\"shortcut\" color=\"inherit\" {...restButton}>\n {label}\n </Button>\n )}\n </Box>\n )}\n </Box>\n );\n },\n);\n"],"names":["FooterSectionLinks","forwardRef","sx","children","className","textSlot","buttonSlot","buttonSlotProps","textTypographyProps","buttonProps","linksWrapperProps","rest","ref","testSx","restText","linksWrapperSx","restLinksWrapper","buttonSlotSx","restButtonSlot","label","restButton","theme","useTheme","_jsxs","Box","sxOverride","display","alignItems","xs","lg","justifyContent","flexWrap","gap","flexDirection","filter","Boolean","join","_jsx","Typography","variant","my","color","mr","content","height","width","backgroundColor","ml","order","flexGrow","alignSelf","typography","disclaimer1","p","textDecoration","Button"],"mappings":"gJAkCO,MAAMA,EAAkDC,EAAAA,WAC7D,EAEIC,KACAC,WACAC,YACAC,WACAC,aACAC,kBACAC,sBACAC,cACAC,uBACGC,GAELC,KAEA,MAAQV,GAAIW,KAAWC,GAAaN,GAAuB,CAAA,GACnDN,GAAIa,KAAmBC,GAAqBN,GAAqB,CAAA,GACjER,GAAIe,KAAiBC,GAAmBX,GAAmB,CAAA,GAC7DY,MAAEA,KAAUC,GAAeX,GAAe,CAAA,EAC1CY,EAAQC,EAAAA,WAEd,OACEC,OAACC,EAAAA,KACCtB,GAAIuB,EAAAA,WACF,CACEC,QAAS,OACTC,WAAY,CAAEC,GAAI,aAAcC,GAAI,UACpCC,eAAgB,gBAChBC,SAAU,OACVC,IAAK,EACLC,cAAe,CAAEL,GAAI,SAAUC,GAAI,QAErC3B,GAEFU,IAAKA,gBACO,qBACZR,UAAW,CAAC,0BAA2BA,GAAW8B,OAAOC,SAASC,KAAK,QACnEzB,EAAIR,SAAA,CAEPE,GACCgC,MAACC,EAAAA,WAAU,CACTC,QAAQ,cACRrC,GAAIuB,EAAAA,WACF,CACEe,GAAI,CAAEZ,GAAI,EAAGC,GAAI,GACjBY,MAAO,qBACHtC,GAAY,CACduB,QAAS,cACTC,WAAY,SACZG,eAAgB,aAEhBY,GAAI,CAAEb,GAAI,GACV,UAAW,CACTc,QAAS,CAAEf,GAAI,OAAQC,GAAI,MAC3BH,QAAS,QACTkB,OAAQ,OACRC,MAAO,MACPC,gBAAiB,kBACjBC,GAAI,GAGNC,MAAO,CAAEpB,GAAI,EAAGC,GAAI,KAGxBhB,GACD,cACW,6BACRC,EAAQX,SAEXE,IAGJF,GACCkC,EAAAA,IAACb,EAAAA,KACCtB,GAAIuB,EAAAA,WACF,CACEC,QAAS,OACTC,WAAY,CAAEC,GAAI,aAAcC,GAAI,UACpCI,cAAe,CAAEL,GAAI,SAAUC,GAAI,OACnCE,SAAU,OACVkB,SAAU,IACVjB,IAAK,CAAEJ,GAAI,EAAGC,GAAI,GAElB,oBAAqB,CACnBqB,UAAW,CAAEtB,GAAI,UAAWC,GAAI,SAGlC,kBAAmB,IACdR,EAAM8B,WAAWC,YACpBC,EAAG,EACH,aAAc,CACZC,eAAgB,YAChBb,MAAO,kBAIb1B,GACD,cACW,gCACRC,EAAgBb,SAEnBA,KAGHG,GAAca,IACdkB,EAAAA,IAACb,MAAG,CAAA,cAAa,4BAA4BtB,GAAIuB,EAAAA,WAAW,CAAEuB,MAAO,GAAK/B,MAAmBC,EAAcf,SACxGG,GACC+B,EAAAA,IAACkB,SAAM,CAAChB,QAAQ,WAAWE,MAAM,aAAcrB,EAAUjB,SACtDgB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("react"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material"),o=require("../../utils/sxOverride/sxOverride.js");const s=t.forwardRef(({sx:t,children:s,className:i,contactSlot:l,contactSlotProps:a,socialSlot:c,socialSlotProps:n,...x},u)=>e.jsx(r.Box,{sx:o.sxOverride({display:"flex",alignItems:{xs:"stretch",lg:"flex-start"},justifyContent:"stretch",flexDirection:{xs:"column",lg:"row"},gap:{xs:0,lg:2},mb:{xs:4,lg:8}},t),ref:u,"data-testid":"FooterSectionMenu",className:["FooterSectionMenu-root",i].filter(Boolean).join(" "),...x,children:s}));exports.FooterSectionMenu=s;
|
|
2
2
|
//# sourceMappingURL=FooterSectionMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FooterSectionMenu.js","sources":["../../../../../src/components/footer/FooterSectionMenu.tsx"],"sourcesContent":["import React, { ElementType, FC, forwardRef } from 'react';\nimport { Box, BoxProps } from '@mui/material';\n\nexport interface FooterSectionMenuProps extends BoxProps<ElementType> {}\n\n/**\n * Section for the multiple FooterMenu\n */\nexport const FooterSectionMenu: FC<FooterSectionMenuProps> = forwardRef(\n ({ sx, children, className, contactSlot, contactSlotProps, socialSlot, socialSlotProps, ...rest }, ref) => {\n return (\n <Box\n sx={{\n
|
|
1
|
+
{"version":3,"file":"FooterSectionMenu.js","sources":["../../../../../src/components/footer/FooterSectionMenu.tsx"],"sourcesContent":["import React, { ElementType, FC, forwardRef } from 'react';\nimport { Box, BoxProps } from '@mui/material';\nimport { sxOverride } from '@/src/utils/sxOverride';\n\nexport interface FooterSectionMenuProps extends BoxProps<ElementType> {}\n\n/**\n * Section for the multiple FooterMenu\n */\nexport const FooterSectionMenu: FC<FooterSectionMenuProps> = forwardRef(\n ({ sx, children, className, contactSlot, contactSlotProps, socialSlot, socialSlotProps, ...rest }, ref) => {\n return (\n <Box\n sx={sxOverride(\n {\n display: 'flex',\n alignItems: { xs: 'stretch', lg: 'flex-start' },\n justifyContent: 'stretch',\n flexDirection: { xs: 'column', lg: 'row' },\n gap: { xs: 0, lg: 2 },\n mb: { xs: 4, lg: 8 },\n },\n sx,\n )}\n ref={ref}\n data-testid=\"FooterSectionMenu\"\n className={['FooterSectionMenu-root', className].filter(Boolean).join(' ')}\n {...rest}\n >\n {children}\n </Box>\n );\n },\n);\n"],"names":["FooterSectionMenu","forwardRef","sx","children","className","contactSlot","contactSlotProps","socialSlot","socialSlotProps","rest","ref","_jsx","Box","sxOverride","display","alignItems","xs","lg","justifyContent","flexDirection","gap","mb","filter","Boolean","join"],"mappings":"gJASO,MAAMA,EAAgDC,EAAAA,WAC3D,EAAGC,KAAIC,WAAUC,YAAWC,cAAaC,mBAAkBC,aAAYC,qBAAoBC,GAAQC,IAE/FC,MAACC,EAAAA,KACCV,GAAIW,EAAAA,WACF,CACEC,QAAS,OACTC,WAAY,CAAEC,GAAI,UAAWC,GAAI,cACjCC,eAAgB,UAChBC,cAAe,CAAEH,GAAI,SAAUC,GAAI,OACnCG,IAAK,CAAEJ,GAAI,EAAGC,GAAI,GAClBI,GAAI,CAAEL,GAAI,EAAGC,GAAI,IAEnBf,GAEFQ,IAAKA,EAAG,cACI,oBACZN,UAAW,CAAC,yBAA0BA,GAAWkB,OAAOC,SAASC,KAAK,QAClEf,EAAIN,SAEPA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("../icon/filled/CircleExclamationFilledIcon.js"),i=require("../icon/filled/CircleInformationFilledIcon.js"),n=require("../icon/filled/WarningFilledIcon.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("../icon/filled/CircleExclamationFilledIcon.js"),i=require("../icon/filled/CircleInformationFilledIcon.js"),n=require("../icon/filled/WarningFilledIcon.js"),s=require("@mui/material"),t=require("react"),l=require("../../utils/sxOverride/sxOverride.js");const o=t.forwardRef(({children:o,variant:a="error",sx:x,iconProps:c,IconComponent:d,typographyProps:f,...u},m)=>{const{sx:p,...g}=c||{},{sx:I,...h}=f||{},[j,v]=t.useMemo(()=>{switch(a){case"error":return["error.main",n.WarningFilledIcon];case"warning":return["warning.main",r.CircleExclamationFilledIcon];default:return["info.main",i.CircleInformationFilledIcon]}},[a]),q=d||v;return e.jsxs(s.Box,{role:"alert","aria-atomic":"true","aria-live":"assertive",sx:l.sxOverride({display:"flex",width:"100%",alignItems:"flex-start",justifyContent:"flex-start",gap:1,textAlign:"left",color:j,pb:1},x),ref:m,...u,children:[e.jsx(q,{sx:l.sxOverride({fontSize:"20px",mx:"2px"},p),...g}),e.jsx(s.Typography,{sx:l.sxOverride({flexGrow:"1",fontSize:{xs:"14px"},lineHeight:{xs:"20px"},fontWeight:{xs:"400"}},I),...h,children:o})]})});exports.FormMessage=o;
|
|
2
2
|
//# sourceMappingURL=FormMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormMessage.js","sources":["../../../../../src/components/formMessage/FormMessage.tsx"],"sourcesContent":["import { CircleExclamationFilledIcon } from '@/src/components/icon/filled/CircleExclamationFilledIcon';\nimport { CircleInformationFilledIcon } from '@/src/components/icon/filled/CircleInformationFilledIcon';\nimport { WarningFilledIcon } from '@/src/components/icon/filled/WarningFilledIcon';\nimport { Box, BoxProps, SvgIconProps, Typography, TypographyProps } from '@mui/material';\nimport React, { ComponentType, ElementType, forwardRef, useMemo } from 'react';\n\nexport interface FormMessageProps extends BoxProps<ElementType> {\n /**\n * Defines which variant of Banner component should be rendered\n * @default error\n */\n variant?: 'info' | 'warning' | 'error';\n /**\n * Properties passed to indicator icon\n */\n iconProps?: SvgIconProps;\n /**\n * Icon node to be used\n */\n IconComponent?: ComponentType<SvgIconProps>;\n /**\n * Properties passed to wrapper of children\n */\n typographyProps?: TypographyProps<ElementType>;\n}\n\n/**\n * Message indicating form error or additional info.\n * Intended to be used in combination with <FormGroup />\n */\nexport const FormMessage: React.FC<FormMessageProps> = forwardRef(\n ({ children, variant = 'error', sx, iconProps, IconComponent, typographyProps, ...rest }, ref) => {\n const { sx: iconSx, ...restIcon } = iconProps || {};\n const { sx: typographySx, ...restTypography } = typographyProps || {};\n\n const [color, IconVariantComponent] = useMemo(() => {\n switch (variant) {\n case 'error':\n return ['error.main', WarningFilledIcon];\n case 'warning':\n return ['warning.main', CircleExclamationFilledIcon];\n case 'info':\n default:\n return ['info.main', CircleInformationFilledIcon];\n }\n }, [variant]);\n const ErrorMessageIcon = IconComponent || IconVariantComponent;\n\n return (\n <Box\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n sx={{\n
|
|
1
|
+
{"version":3,"file":"FormMessage.js","sources":["../../../../../src/components/formMessage/FormMessage.tsx"],"sourcesContent":["import { CircleExclamationFilledIcon } from '@/src/components/icon/filled/CircleExclamationFilledIcon';\nimport { CircleInformationFilledIcon } from '@/src/components/icon/filled/CircleInformationFilledIcon';\nimport { WarningFilledIcon } from '@/src/components/icon/filled/WarningFilledIcon';\nimport { Box, BoxProps, SvgIconProps, Typography, TypographyProps } from '@mui/material';\nimport React, { ComponentType, ElementType, forwardRef, useMemo } from 'react';\nimport { sxOverride } from '@/src/utils/sxOverride';\n\nexport interface FormMessageProps extends BoxProps<ElementType> {\n /**\n * Defines which variant of Banner component should be rendered\n * @default error\n */\n variant?: 'info' | 'warning' | 'error';\n /**\n * Properties passed to indicator icon\n */\n iconProps?: SvgIconProps;\n /**\n * Icon node to be used\n */\n IconComponent?: ComponentType<SvgIconProps>;\n /**\n * Properties passed to wrapper of children\n */\n typographyProps?: TypographyProps<ElementType>;\n}\n\n/**\n * Message indicating form error or additional info.\n * Intended to be used in combination with <FormGroup />\n */\nexport const FormMessage: React.FC<FormMessageProps> = forwardRef(\n ({ children, variant = 'error', sx, iconProps, IconComponent, typographyProps, ...rest }, ref) => {\n const { sx: iconSx, ...restIcon } = iconProps || {};\n const { sx: typographySx, ...restTypography } = typographyProps || {};\n\n const [color, IconVariantComponent] = useMemo(() => {\n switch (variant) {\n case 'error':\n return ['error.main', WarningFilledIcon];\n case 'warning':\n return ['warning.main', CircleExclamationFilledIcon];\n case 'info':\n default:\n return ['info.main', CircleInformationFilledIcon];\n }\n }, [variant]);\n const ErrorMessageIcon = IconComponent || IconVariantComponent;\n\n return (\n <Box\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n sx={sxOverride(\n {\n display: 'flex',\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n gap: 1,\n textAlign: 'left',\n color: color,\n pb: 1,\n },\n sx,\n )}\n ref={ref}\n {...rest}\n >\n <ErrorMessageIcon\n sx={sxOverride(\n {\n fontSize: '20px',\n // align with checkbox/radio (return to 24px width)\n mx: '2px',\n },\n iconSx,\n )}\n {...restIcon}\n />\n <Typography\n sx={sxOverride(\n {\n flexGrow: '1',\n // custom font according to Figma\n fontSize: { xs: '14px' },\n lineHeight: { xs: '20px' },\n fontWeight: { xs: '400' },\n },\n typographySx,\n )}\n {...restTypography}\n >\n {children}\n </Typography>\n </Box>\n );\n },\n);\n"],"names":["FormMessage","forwardRef","children","variant","sx","iconProps","IconComponent","typographyProps","rest","ref","iconSx","restIcon","typographySx","restTypography","color","IconVariantComponent","useMemo","WarningFilledIcon","CircleExclamationFilledIcon","CircleInformationFilledIcon","ErrorMessageIcon","_jsxs","Box","role","sxOverride","display","width","alignItems","justifyContent","gap","textAlign","pb","_jsx","fontSize","mx","Typography","flexGrow","xs","lineHeight","fontWeight"],"mappings":"uTA+BO,MAAMA,EAA0CC,EAAAA,WACrD,EAAGC,WAAUC,UAAU,QAASC,KAAIC,YAAWC,gBAAeC,qBAAoBC,GAAQC,KACxF,MAAQL,GAAIM,KAAWC,GAAaN,GAAa,CAAA,GACzCD,GAAIQ,KAAiBC,GAAmBN,GAAmB,CAAA,GAE5DO,EAAOC,GAAwBC,EAAAA,QAAQ,KAC5C,OAAQb,GACN,IAAK,QACH,MAAO,CAAC,aAAcc,qBACxB,IAAK,UACH,MAAO,CAAC,eAAgBC,+BAE1B,QACE,MAAO,CAAC,YAAaC,iCAExB,CAAChB,IACEiB,EAAmBd,GAAiBS,EAE1C,OACEM,OAACC,EAAAA,IAAG,CACFC,KAAK,QAAO,cACA,mBACF,YACVnB,GAAIoB,EAAAA,WACF,CACEC,QAAS,OACTC,MAAO,OACPC,WAAY,aACZC,eAAgB,aAChBC,IAAK,EACLC,UAAW,OACXhB,MAAOA,EACPiB,GAAI,GAEN3B,GAEFK,IAAKA,KACDD,EAAIN,SAAA,CAER8B,MAACZ,EAAgB,CACfhB,GAAIoB,EAAAA,WACF,CACES,SAAU,OAEVC,GAAI,OAENxB,MAEEC,IAENqB,EAAAA,IAACG,EAAAA,WAAU,CACT/B,GAAIoB,aACF,CACEY,SAAU,IAEVH,SAAU,CAAEI,GAAI,QAChBC,WAAY,CAAED,GAAI,QAClBE,WAAY,CAAEF,GAAI,QAEpBzB,MAEEC,WAEHX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("../../utils/sxOverride/sxOverride.js"),o=require("@mui/material"),s=require("../icon/stroke/MenuIcon.js"),i=require("../icon/stroke/CloseIcon.js"),n=require("../focusring/focusring.js"),a=require("./HeaderButton.js"),l=require("./HeaderLanguageSelect.js"),d=require("./HeaderNavigationLink.js"),u=require("./HeaderNavigationHero.js"),c=require("./HeaderNavigationMenu.js");const x=r.forwardRef(({children:x,logo:p,buttons:g,visibleButtons:h,mobile:b,open:m,setOpen:f,inContainer:v=!1,toolbarProps:j,logoProps:y,contentProps:H,mobileContentProps:k,buttonsProps:B,menuButtonProps:I,menuIcon:q,closeMenuIcon:C,drawerProps:M,...O},P)=>{const S=o.useTheme(),w=o.useMediaQuery(S.breakpoints.down("lg")),N=void 0===b?w:b,{sx:$,...E}=y??{},{sx:F,...L}=H??{},{sx:T,...R}=k??{},{sx:z,...A}=B??{},{sx:D,slotProps:G,...V}=M??{},{paper:Q,backdrop:W,...J}=G??{},{sx:K,...U}=Q??{},{sx:X,...Y}=W??{},[Z,_]=r.useState(!1),ee=m??Z,re=f??_,[te,oe,se]=r.useMemo(()=>{function e(t,o,s){const i=[];return r.Children.forEach(t,(t,n)=>{t?.type===r.Fragment?i.push(...e(t.props.children,o,`${s}-n`)):r.isValidElement(t)&&[a.HeaderButton,l.HeaderLanguageSelect,d.HeaderNavigationLink,u.HeaderNavigationHero,c.HeaderNavigationMenu].includes(t?.type)&&o?i.push(r.cloneElement(t,{extend:!0,key:`${s}-${n}`})):"string"==typeof t?i.push(t):i.push(r.cloneElement(t,{key:`${s}-${n}`}))}),i?.length?i:void 0}const t=e(x,N,"children");if(h){const r=!0===h?void 0:e(h,!1,"visibleButtons"),o=e(g,N,"restButton");return N?[t,r,o]:[t,[...r||[],...o||[]],void 0]}return[t,e(g,!1,"buttons"),void 0]},[x,h,g,N]);return e.jsxs(e.Fragment,{children:[e.jsx(o.AppBar,{ref:P,"data-testid":"Header",...O,children:e.jsxs(o.Toolbar,{disableGutters:!v,...j,children:[p&&e.jsx(o.Box,{"data-testid":"Header.logo",sx:t.sxOverride({color:"dark"===S.palette.mode?"brand.secondary":"brand.tertiary",flexShrink:"0",display:"flex",alignItems:"center",justifyContent:"flex-start","& .MuiLink-root":{display:"block",position:"relative",py:1,...n.getFocusRingStyle(S),"&.Mui-focusVisible":{boxShadow:"none"}},"& .MuiSvgIcon-root":{display:"block"}},$),...E,children:p}),e.jsx(o.Box,{sx:t.sxOverride({minWidth:"0",flexGrow:"1",alignSelf:"stretch",display:"flex",alignItems:"stretch",justifyContent:"flex-start",gap:{lg:2,xl:4},...!N&&p&&{pl:4},mb:"-1px"},F),"data-testid":"Header.nav",...L,children:!N&&te}),(oe||N&&(te||se))&&e.jsxs(o.Box,{sx:t.sxOverride({display:"flex",alignItems:"center",justifyContent:"flex-end",gap:.25,mr:{xs:-1,lg:0}},z),"data-testid":"Header.btns",...A,children:[oe,N&&(te||se)&&e.jsx(a.HeaderButton,{"aria-label":"Toggle menu",extend:!1,onClick:()=>re(e=>!e),...I,children:ee?C||e.jsx(i.CloseIcon,{}):q||e.jsx(s.MenuIcon,{})},"menu")]})]})}),N&&(te||se)&&e.jsxs(o.Drawer,{disablePortal:!0,disableEnforceFocus:!0,disableAutoFocus:!0,anchor:"top",open:ee,onClose:()=>re(!1),sx:t.sxOverride({zIndex:S.zIndex.appBar-10,top:S.mixins.toolbar.minHeight,bottom:"auto",height:`calc(100vh - ${S.mixins.toolbar.minHeight})`,position:"absolute"},D),slotProps:{backdrop:{sx:t.sxOverride({position:"absolute"},X),...Y},paper:{sx:t.sxOverride({position:"absolute",height:"100%",display:"grid",gridTemplateRows:"auto max-content"},K),...U},...J},...V,children:[e.jsx(o.Box,{sx:t.sxOverride({p:2,overflow:"auto"},T),"data-testid":"Header.mobilenav",...R,children:te}),se&&e.jsx(o.Box,{sx:{p:2,pt:0},children:e.jsx(o.Box,{sx:{pt:.75,display:"flex",flexDirection:"column-reverse",alignItems:"stretch",justifyContent:"flex-start",borderTop:1,borderColor:"dark"===S.palette.mode?"onSurface.os700":"surface.secondary"},children:se})})]})]})});exports.Header=x;
|
|
2
2
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["../../../../../src/components/header/Header.tsx"],"sourcesContent":["import React, {\n FC,\n useState,\n forwardRef,\n ReactNode,\n ElementType,\n Children,\n cloneElement,\n useMemo,\n Fragment,\n isValidElement,\n} from 'react';\nimport {\n AppBar,\n AppBarProps,\n BackdropProps,\n Box,\n BoxProps,\n Drawer,\n DrawerProps,\n PaperProps,\n Toolbar,\n ToolbarProps,\n useMediaQuery,\n useTheme,\n} from '@mui/material';\nimport { MenuIcon } from '@/src/components/icon/stroke/MenuIcon';\nimport { CloseIcon } from '@/src/components/icon/stroke/CloseIcon';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { HeaderButton, HeaderButtonProps } from './HeaderButton';\nimport { HeaderLanguageSelect } from './HeaderLanguageSelect';\nimport { HeaderNavigationLink } from './HeaderNavigationLink';\nimport { HeaderNavigationHero } from './HeaderNavigationHero';\nimport { HeaderNavigationMenu } from './HeaderNavigationMenu';\n\nexport interface HeaderProps extends Omit<AppBarProps, 'color'> {\n /**\n * Logo component\n */\n logo?: ReactNode;\n /**\n * Wrap the navigation into container\n * @default false\n */\n inContainer?: boolean;\n /**\n * ActionButtons on the right side\n */\n buttons?: ReactNode;\n /**\n * ActionButtons on the right side that stays visible even on mobile\n */\n visibleButtons?: ReactNode | true;\n /**\n * Controls if mobile version of Header should be shown, this collapses children into mobile menu\n *\n * @default undefined, leads to usage useMediaQuery(theme.breakpoints.down('lg'))\n */\n mobile?: boolean;\n /**\n * Controls open/close state of mobile menu\n */\n open?: boolean;\n /**\n * Function to toggle open state of menu\n */\n setOpen?: (open: boolean) => void;\n /**\n * Properties applied to toolbar container\n */\n toolbarProps?: ToolbarProps<ElementType>;\n /**\n * Properties applied to logo wrapper\n */\n logoProps?: BoxProps<ElementType>;\n /**\n * Properties applied to content wrapper\n */\n contentProps?: BoxProps<ElementType>;\n /**\n * Properties applied to content wrapper in drawer\n */\n mobileContentProps?: BoxProps<ElementType>;\n /**\n * Properties applied to button wrapper\n */\n buttonsProps?: BoxProps<ElementType>;\n /**\n * Properties applied to hamburger menu\n */\n menuButtonProps?: HeaderButtonProps;\n /**\n * Icon of the hamburger menu\n */\n menuIcon?: ReactNode;\n /**\n * Icon of the close hamburger menu\n */\n closeMenuIcon?: ReactNode;\n /**\n * Props applied to mobile drawer\n */\n drawerProps?: DrawerProps;\n}\n\n/**\n * Component to render Header with navigation and action buttons at the top of the page\n */\nexport const Header: FC<HeaderProps> = forwardRef(\n (\n {\n children,\n logo,\n buttons,\n visibleButtons,\n mobile: propMobile,\n open: propOpen,\n setOpen: propSetOpen,\n inContainer = false,\n toolbarProps,\n logoProps,\n contentProps,\n mobileContentProps,\n buttonsProps,\n menuButtonProps,\n menuIcon,\n closeMenuIcon,\n drawerProps,\n ...rest\n },\n ref,\n ) => {\n const theme = useTheme();\n const downLg = useMediaQuery(theme.breakpoints.down('lg'));\n // determine if mobile condition is controlled or default downLg\n const mobile = propMobile === undefined ? downLg : propMobile;\n const { sx: logoSx, ...restLogo } = logoProps ?? {};\n const { sx: contentSx, ...restContent } = contentProps ?? {};\n const { sx: mobileContentSx, ...restMobileContent } = mobileContentProps ?? {};\n const { sx: buttonsSx, ...restButtons } = buttonsProps ?? {};\n const { sx: drawerSx, slotProps: drawerSlotProps, ...restDrawer } = drawerProps ?? {};\n const { paper: drawerPaperProps, backdrop: drawerBackdropProps, ...restDrawerSlotProps } = drawerSlotProps ?? {};\n const { sx: drawerPaperSx, ...restDrawerPaper } = (drawerPaperProps as PaperProps) ?? {};\n const { sx: drawerBackdropSx, ...restDrawerBackdrop } = (drawerBackdropProps as BackdropProps) ?? {};\n const [rawOpen, rawSetOpen] = useState(false);\n const open = propOpen ?? rawOpen;\n const setOpen: React.Dispatch<React.SetStateAction<boolean>> = propSetOpen ?? rawSetOpen;\n\n /**\n * Process child nodes\n */\n const [processedChildren, processedButtons, drawerButtons] = useMemo(() => {\n function flatten(nodes, extend, keyid) {\n const result = [];\n Children.forEach(nodes, (child, idx) => {\n if (child?.type === Fragment) {\n result.push(...flatten(child.props.children, extend, `${keyid}-n`));\n } else if (\n isValidElement(child) &&\n [\n HeaderButton,\n HeaderLanguageSelect,\n HeaderNavigationLink,\n HeaderNavigationHero,\n HeaderNavigationMenu,\n ].includes(child?.type as FC) &&\n extend\n ) {\n result.push(\n cloneElement(child, {\n extend: true,\n key: `${keyid}-${idx}`,\n } as HeaderButtonProps),\n );\n } else {\n if (typeof child === 'string') {\n result.push(child);\n } else {\n result.push(cloneElement(child, { key: `${keyid}-${idx}` }));\n }\n }\n });\n return result?.length ? result : undefined;\n }\n\n const flattenedChildren = flatten(children, mobile, 'children');\n // check if we have visibleButtons property\n if (visibleButtons) {\n const flattenedVisibleButtons =\n visibleButtons === true ? undefined : flatten(visibleButtons, false, 'visibleButtons');\n const flattenedRestButtons = flatten(buttons, mobile, 'restButton');\n // mobile\n if (mobile) {\n // split visible buttons and put buttons in drawer\n return [flattenedChildren, flattenedVisibleButtons, flattenedRestButtons];\n } else {\n // on PC, all buttons are visible\n return [flattenedChildren, [...(flattenedVisibleButtons || []), ...(flattenedRestButtons || [])], undefined];\n }\n } else {\n // in case visibleButtons property is not provided, do not put buttons into drawer at all\n return [flattenedChildren, flatten(buttons, false, 'buttons'), undefined];\n }\n }, [children, visibleButtons, buttons, mobile]);\n\n return (\n <>\n <AppBar ref={ref} data-testid=\"Header\" {...rest}>\n <Toolbar disableGutters={!inContainer} {...toolbarProps}>\n {logo && (\n <Box\n data-testid=\"Header.logo\"\n sx={{\n color: theme.palette.mode === 'dark' ? 'brand.secondary' : 'brand.tertiary',\n flexShrink: '0',\n // restyle wrapper link, same style is applied in HeaderLogo\n '& .MuiLink-root': {\n display: 'block',\n position: 'relative',\n py: 1,\n // add proper focus ring\n ...getFocusRingStyle(theme),\n // remove default link box shadow\n '&.Mui-focusVisible': {\n boxShadow: 'none',\n },\n },\n '& .MuiSvgIcon-root': {\n display: 'block',\n },\n ...logoSx,\n }}\n {...restLogo}\n >\n {logo}\n </Box>\n )}\n <Box\n sx={{\n minWidth: '0',\n flexGrow: '1',\n alignSelf: 'stretch',\n display: 'flex',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n gap: { lg: 2, xl: 4 },\n ...(!mobile &&\n logo && {\n // increase size between logo and nav\n pl: 4,\n }),\n // move directly into border\n mb: '-1px',\n ...contentSx,\n }}\n data-testid=\"Header.nav\"\n {...restContent}\n >\n {!mobile && processedChildren}\n </Box>\n {(processedButtons || (mobile && (processedChildren || drawerButtons))) && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: 0.25,\n mr: { xs: -1, lg: 0 },\n ...buttonsSx,\n }}\n data-testid=\"Header.btns\"\n {...restButtons}\n >\n {processedButtons}\n {mobile && (processedChildren || drawerButtons) && (\n <HeaderButton\n key=\"menu\"\n aria-label=\"Toggle menu\"\n extend={false}\n onClick={() => setOpen((prev: boolean) => !prev)}\n {...menuButtonProps}\n >\n {open ? closeMenuIcon || <CloseIcon /> : menuIcon || <MenuIcon />}\n </HeaderButton>\n )}\n </Box>\n )}\n </Toolbar>\n </AppBar>\n {mobile && (processedChildren || drawerButtons) && (\n <Drawer\n disablePortal\n disableEnforceFocus\n disableAutoFocus\n anchor=\"top\"\n open={open}\n onClose={() => setOpen(false)}\n sx={{\n // bellow Header, above SecondaryNavigation\n zIndex: theme.zIndex.appBar - 10,\n // header offset\n top: theme.mixins.toolbar.minHeight,\n bottom: 'auto',\n height: `calc(100vh - ${theme.mixins.toolbar.minHeight})`,\n // adjust position\n position: 'absolute',\n ...drawerSx,\n }}\n slotProps={{\n backdrop: {\n sx: {\n position: 'absolute',\n ...drawerBackdropSx,\n },\n ...restDrawerBackdrop,\n },\n paper: {\n sx: {\n position: 'absolute',\n height: '100%',\n display: 'grid',\n gridTemplateRows: 'auto max-content',\n ...drawerPaperSx,\n },\n ...restDrawerPaper,\n },\n ...restDrawerSlotProps,\n }}\n {...restDrawer}\n >\n <Box\n sx={{\n p: 2,\n overflow: 'auto',\n ...mobileContentSx,\n }}\n data-testid=\"Header.mobilenav\"\n {...restMobileContent}\n >\n {processedChildren}\n </Box>\n {drawerButtons && (\n <Box sx={{ p: 2, pt: 0 }}>\n <Box\n sx={{\n pt: 0.75,\n display: 'flex',\n flexDirection: 'column-reverse',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n // border from appbar.theme.ts\n borderTop: 1,\n borderColor: theme.palette.mode === 'dark' ? 'onSurface.os700' : 'surface.secondary',\n }}\n >\n {drawerButtons}\n </Box>\n </Box>\n )}\n </Drawer>\n )}\n </>\n );\n },\n);\n"],"names":["Header","forwardRef","children","logo","buttons","visibleButtons","mobile","propMobile","open","propOpen","setOpen","propSetOpen","inContainer","toolbarProps","logoProps","contentProps","mobileContentProps","buttonsProps","menuButtonProps","menuIcon","closeMenuIcon","drawerProps","rest","ref","theme","useTheme","downLg","useMediaQuery","breakpoints","down","undefined","sx","logoSx","restLogo","contentSx","restContent","mobileContentSx","restMobileContent","buttonsSx","restButtons","drawerSx","slotProps","drawerSlotProps","restDrawer","paper","drawerPaperProps","backdrop","drawerBackdropProps","restDrawerSlotProps","drawerPaperSx","restDrawerPaper","drawerBackdropSx","restDrawerBackdrop","rawOpen","rawSetOpen","useState","processedChildren","processedButtons","drawerButtons","useMemo","flatten","nodes","extend","keyid","result","Children","forEach","child","idx","type","Fragment","push","props","isValidElement","HeaderButton","HeaderLanguageSelect","HeaderNavigationLink","HeaderNavigationHero","HeaderNavigationMenu","includes","cloneElement","key","length","flattenedChildren","flattenedVisibleButtons","flattenedRestButtons","_jsxs","_Fragment","_jsx","AppBar","Toolbar","disableGutters","Box","color","palette","mode","flexShrink","display","position","py","getFocusRingStyle","boxShadow","minWidth","flexGrow","alignSelf","alignItems","justifyContent","gap","lg","xl","pl","mb","mr","xs","onClick","prev","CloseIcon","MenuIcon","Drawer","disablePortal","disableEnforceFocus","disableAutoFocus","anchor","onClose","zIndex","appBar","top","mixins","toolbar","minHeight","bottom","height","gridTemplateRows","p","overflow","pt","flexDirection","borderTop","borderColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["../../../../../src/components/header/Header.tsx"],"sourcesContent":["import React, {\n FC,\n useState,\n forwardRef,\n ReactNode,\n ElementType,\n Children,\n cloneElement,\n useMemo,\n Fragment,\n isValidElement,\n} from 'react';\nimport { sxOverride } from '@/src/utils/sxOverride';\nimport {\n AppBar,\n AppBarProps,\n BackdropProps,\n Box,\n BoxProps,\n Drawer,\n DrawerProps,\n PaperProps,\n Toolbar,\n ToolbarProps,\n useMediaQuery,\n useTheme,\n} from '@mui/material';\nimport { MenuIcon } from '@/src/components/icon/stroke/MenuIcon';\nimport { CloseIcon } from '@/src/components/icon/stroke/CloseIcon';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { HeaderButton, HeaderButtonProps } from './HeaderButton';\nimport { HeaderLanguageSelect } from './HeaderLanguageSelect';\nimport { HeaderNavigationLink } from './HeaderNavigationLink';\nimport { HeaderNavigationHero } from './HeaderNavigationHero';\nimport { HeaderNavigationMenu } from './HeaderNavigationMenu';\n\nexport interface HeaderProps extends Omit<AppBarProps, 'color'> {\n /**\n * Logo component\n */\n logo?: ReactNode;\n /**\n * Wrap the navigation into container\n * @default false\n */\n inContainer?: boolean;\n /**\n * ActionButtons on the right side\n */\n buttons?: ReactNode;\n /**\n * ActionButtons on the right side that stays visible even on mobile\n */\n visibleButtons?: ReactNode | true;\n /**\n * Controls if mobile version of Header should be shown, this collapses children into mobile menu\n *\n * @default undefined, leads to usage useMediaQuery(theme.breakpoints.down('lg'))\n */\n mobile?: boolean;\n /**\n * Controls open/close state of mobile menu\n */\n open?: boolean;\n /**\n * Function to toggle open state of menu\n */\n setOpen?: (open: boolean) => void;\n /**\n * Properties applied to toolbar container\n */\n toolbarProps?: ToolbarProps<ElementType>;\n /**\n * Properties applied to logo wrapper\n */\n logoProps?: BoxProps<ElementType>;\n /**\n * Properties applied to content wrapper\n */\n contentProps?: BoxProps<ElementType>;\n /**\n * Properties applied to content wrapper in drawer\n */\n mobileContentProps?: BoxProps<ElementType>;\n /**\n * Properties applied to button wrapper\n */\n buttonsProps?: BoxProps<ElementType>;\n /**\n * Properties applied to hamburger menu\n */\n menuButtonProps?: HeaderButtonProps;\n /**\n * Icon of the hamburger menu\n */\n menuIcon?: ReactNode;\n /**\n * Icon of the close hamburger menu\n */\n closeMenuIcon?: ReactNode;\n /**\n * Props applied to mobile drawer\n */\n drawerProps?: DrawerProps;\n}\n\n/**\n * Component to render Header with navigation and action buttons at the top of the page\n */\nexport const Header: FC<HeaderProps> = forwardRef(\n (\n {\n children,\n logo,\n buttons,\n visibleButtons,\n mobile: propMobile,\n open: propOpen,\n setOpen: propSetOpen,\n inContainer = false,\n toolbarProps,\n logoProps,\n contentProps,\n mobileContentProps,\n buttonsProps,\n menuButtonProps,\n menuIcon,\n closeMenuIcon,\n drawerProps,\n ...rest\n },\n ref,\n ) => {\n const theme = useTheme();\n const downLg = useMediaQuery(theme.breakpoints.down('lg'));\n // determine if mobile condition is controlled or default downLg\n const mobile = propMobile === undefined ? downLg : propMobile;\n const { sx: logoSx, ...restLogo } = logoProps ?? {};\n const { sx: contentSx, ...restContent } = contentProps ?? {};\n const { sx: mobileContentSx, ...restMobileContent } = mobileContentProps ?? {};\n const { sx: buttonsSx, ...restButtons } = buttonsProps ?? {};\n const { sx: drawerSx, slotProps: drawerSlotProps, ...restDrawer } = drawerProps ?? {};\n const { paper: drawerPaperProps, backdrop: drawerBackdropProps, ...restDrawerSlotProps } = drawerSlotProps ?? {};\n const { sx: drawerPaperSx, ...restDrawerPaper } = (drawerPaperProps as PaperProps) ?? {};\n const { sx: drawerBackdropSx, ...restDrawerBackdrop } = (drawerBackdropProps as BackdropProps) ?? {};\n const [rawOpen, rawSetOpen] = useState(false);\n const open = propOpen ?? rawOpen;\n const setOpen: React.Dispatch<React.SetStateAction<boolean>> = propSetOpen ?? rawSetOpen;\n\n /**\n * Process child nodes\n */\n const [processedChildren, processedButtons, drawerButtons] = useMemo(() => {\n function flatten(nodes, extend, keyid) {\n const result = [];\n Children.forEach(nodes, (child, idx) => {\n if (child?.type === Fragment) {\n result.push(...flatten(child.props.children, extend, `${keyid}-n`));\n } else if (\n isValidElement(child) &&\n [\n HeaderButton,\n HeaderLanguageSelect,\n HeaderNavigationLink,\n HeaderNavigationHero,\n HeaderNavigationMenu,\n ].includes(child?.type as FC) &&\n extend\n ) {\n result.push(\n cloneElement(child, {\n extend: true,\n key: `${keyid}-${idx}`,\n } as HeaderButtonProps),\n );\n } else {\n if (typeof child === 'string') {\n result.push(child);\n } else {\n result.push(cloneElement(child, { key: `${keyid}-${idx}` }));\n }\n }\n });\n return result?.length ? result : undefined;\n }\n\n const flattenedChildren = flatten(children, mobile, 'children');\n // check if we have visibleButtons property\n if (visibleButtons) {\n const flattenedVisibleButtons =\n visibleButtons === true ? undefined : flatten(visibleButtons, false, 'visibleButtons');\n const flattenedRestButtons = flatten(buttons, mobile, 'restButton');\n // mobile\n if (mobile) {\n // split visible buttons and put buttons in drawer\n return [flattenedChildren, flattenedVisibleButtons, flattenedRestButtons];\n } else {\n // on PC, all buttons are visible\n return [flattenedChildren, [...(flattenedVisibleButtons || []), ...(flattenedRestButtons || [])], undefined];\n }\n } else {\n // in case visibleButtons property is not provided, do not put buttons into drawer at all\n return [flattenedChildren, flatten(buttons, false, 'buttons'), undefined];\n }\n }, [children, visibleButtons, buttons, mobile]);\n\n return (\n <>\n <AppBar ref={ref} data-testid=\"Header\" {...rest}>\n <Toolbar disableGutters={!inContainer} {...toolbarProps}>\n {logo && (\n <Box\n data-testid=\"Header.logo\"\n sx={sxOverride(\n {\n color: theme.palette.mode === 'dark' ? 'brand.secondary' : 'brand.tertiary',\n flexShrink: '0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n // restyle wrapper link, same style is applied in HeaderLogo\n '& .MuiLink-root': {\n display: 'block',\n position: 'relative',\n py: 1,\n // add proper focus ring\n ...getFocusRingStyle(theme),\n // remove default link box shadow\n '&.Mui-focusVisible': {\n boxShadow: 'none',\n },\n },\n '& .MuiSvgIcon-root': {\n display: 'block',\n },\n },\n logoSx,\n )}\n {...restLogo}\n >\n {logo}\n </Box>\n )}\n <Box\n sx={sxOverride(\n {\n minWidth: '0',\n flexGrow: '1',\n alignSelf: 'stretch',\n display: 'flex',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n gap: { lg: 2, xl: 4 },\n ...(!mobile &&\n logo && {\n // increase size between logo and nav\n pl: 4,\n }),\n // move directly into border\n mb: '-1px',\n },\n contentSx,\n )}\n data-testid=\"Header.nav\"\n {...restContent}\n >\n {!mobile && processedChildren}\n </Box>\n {(processedButtons || (mobile && (processedChildren || drawerButtons))) && (\n <Box\n sx={sxOverride(\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: 0.25,\n mr: { xs: -1, lg: 0 },\n },\n buttonsSx,\n )}\n data-testid=\"Header.btns\"\n {...restButtons}\n >\n {processedButtons}\n {mobile && (processedChildren || drawerButtons) && (\n <HeaderButton\n key=\"menu\"\n aria-label=\"Toggle menu\"\n extend={false}\n onClick={() => setOpen((prev: boolean) => !prev)}\n {...menuButtonProps}\n >\n {open ? closeMenuIcon || <CloseIcon /> : menuIcon || <MenuIcon />}\n </HeaderButton>\n )}\n </Box>\n )}\n </Toolbar>\n </AppBar>\n {mobile && (processedChildren || drawerButtons) && (\n <Drawer\n disablePortal\n disableEnforceFocus\n disableAutoFocus\n anchor=\"top\"\n open={open}\n onClose={() => setOpen(false)}\n sx={sxOverride(\n {\n // bellow Header, above SecondaryNavigation\n zIndex: theme.zIndex.appBar - 10,\n // header offset\n top: theme.mixins.toolbar.minHeight,\n bottom: 'auto',\n height: `calc(100vh - ${theme.mixins.toolbar.minHeight})`,\n // adjust position\n position: 'absolute',\n },\n drawerSx,\n )}\n slotProps={{\n backdrop: {\n sx: sxOverride(\n {\n position: 'absolute',\n },\n drawerBackdropSx,\n ),\n ...restDrawerBackdrop,\n },\n paper: {\n sx: sxOverride(\n {\n position: 'absolute',\n height: '100%',\n display: 'grid',\n gridTemplateRows: 'auto max-content',\n },\n drawerPaperSx,\n ),\n ...restDrawerPaper,\n },\n ...restDrawerSlotProps,\n }}\n {...restDrawer}\n >\n <Box\n sx={sxOverride(\n {\n p: 2,\n overflow: 'auto',\n },\n mobileContentSx,\n )}\n data-testid=\"Header.mobilenav\"\n {...restMobileContent}\n >\n {processedChildren}\n </Box>\n {drawerButtons && (\n <Box sx={{ p: 2, pt: 0 }}>\n <Box\n sx={{\n pt: 0.75,\n display: 'flex',\n flexDirection: 'column-reverse',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n // border from appbar.theme.ts\n borderTop: 1,\n borderColor: theme.palette.mode === 'dark' ? 'onSurface.os700' : 'surface.secondary',\n }}\n >\n {drawerButtons}\n </Box>\n </Box>\n )}\n </Drawer>\n )}\n </>\n );\n },\n);\n"],"names":["Header","forwardRef","children","logo","buttons","visibleButtons","mobile","propMobile","open","propOpen","setOpen","propSetOpen","inContainer","toolbarProps","logoProps","contentProps","mobileContentProps","buttonsProps","menuButtonProps","menuIcon","closeMenuIcon","drawerProps","rest","ref","theme","useTheme","downLg","useMediaQuery","breakpoints","down","undefined","sx","logoSx","restLogo","contentSx","restContent","mobileContentSx","restMobileContent","buttonsSx","restButtons","drawerSx","slotProps","drawerSlotProps","restDrawer","paper","drawerPaperProps","backdrop","drawerBackdropProps","restDrawerSlotProps","drawerPaperSx","restDrawerPaper","drawerBackdropSx","restDrawerBackdrop","rawOpen","rawSetOpen","useState","processedChildren","processedButtons","drawerButtons","useMemo","flatten","nodes","extend","keyid","result","Children","forEach","child","idx","type","Fragment","push","props","isValidElement","HeaderButton","HeaderLanguageSelect","HeaderNavigationLink","HeaderNavigationHero","HeaderNavigationMenu","includes","cloneElement","key","length","flattenedChildren","flattenedVisibleButtons","flattenedRestButtons","_jsxs","_Fragment","_jsx","AppBar","Toolbar","disableGutters","Box","sxOverride","color","palette","mode","flexShrink","display","alignItems","justifyContent","position","py","getFocusRingStyle","boxShadow","minWidth","flexGrow","alignSelf","gap","lg","xl","pl","mb","mr","xs","onClick","prev","CloseIcon","MenuIcon","Drawer","disablePortal","disableEnforceFocus","disableAutoFocus","anchor","onClose","zIndex","appBar","top","mixins","toolbar","minHeight","bottom","height","gridTemplateRows","p","overflow","pt","flexDirection","borderTop","borderColor"],"mappings":"mcA6GO,MAAMA,EAA0BC,EAAAA,WACrC,EAEIC,WACAC,OACAC,UACAC,iBACAC,OAAQC,EACRC,KAAMC,EACNC,QAASC,EACTC,eAAc,EACdC,eACAC,YACAC,eACAC,qBACAC,eACAC,kBACAC,WACAC,gBACAC,iBACGC,GAELC,KAEA,MAAMC,EAAQC,EAAAA,WACRC,EAASC,EAAAA,cAAcH,EAAMI,YAAYC,KAAK,OAE9CvB,OAAwBwB,IAAfvB,EAA2BmB,EAASnB,GAC3CwB,GAAIC,KAAWC,GAAanB,GAAa,CAAA,GACzCiB,GAAIG,KAAcC,GAAgBpB,GAAgB,CAAA,GAClDgB,GAAIK,KAAoBC,GAAsBrB,GAAsB,CAAA,GACpEe,GAAIO,KAAcC,GAAgBtB,GAAgB,CAAA,GAClDc,GAAIS,EAAUC,UAAWC,KAAoBC,GAAetB,GAAe,CAAA,GAC3EuB,MAAOC,EAAkBC,SAAUC,KAAwBC,GAAwBN,GAAmB,CAAA,GACtGX,GAAIkB,KAAkBC,GAAqBL,GAAmC,CAAA,GAC9Ed,GAAIoB,KAAqBC,GAAwBL,GAAyC,CAAA,GAC3FM,EAASC,GAAcC,EAAAA,UAAS,GACjC/C,GAAOC,GAAY4C,EACnB3C,GAAyDC,GAAe2C,GAKvEE,GAAmBC,GAAkBC,IAAiBC,EAAAA,QAAQ,KACnE,SAASC,EAAQC,EAAOC,EAAQC,GAC9B,MAAMC,EAAS,GA6Bf,OA5BAC,EAAAA,SAASC,QAAQL,EAAO,CAACM,EAAOC,KAC1BD,GAAOE,OAASC,WAClBN,EAAOO,QAAQX,EAAQO,EAAMK,MAAMtE,SAAU4D,EAAQ,GAAGC,QAExDU,EAAAA,eAAeN,IACf,CACEO,EAAAA,aACAC,EAAAA,qBACAC,EAAAA,qBACAC,EAAAA,qBACAC,EAAAA,sBACAC,SAASZ,GAAOE,OAClBP,EAEAE,EAAOO,KACLS,EAAAA,aAAab,EAAO,CAClBL,QAAQ,EACRmB,IAAK,GAAGlB,KAASK,OAIA,iBAAVD,EACTH,EAAOO,KAAKJ,GAEZH,EAAOO,KAAKS,eAAab,EAAO,CAAEc,IAAK,GAAGlB,KAASK,SAIlDJ,GAAQkB,OAASlB,OAASlC,CACnC,CAEA,MAAMqD,EAAoBvB,EAAQ1D,EAAUI,EAAQ,YAEpD,GAAID,EAAgB,CAClB,MAAM+E,GACe,IAAnB/E,OAA0ByB,EAAY8B,EAAQvD,GAAgB,EAAO,kBACjEgF,EAAuBzB,EAAQxD,EAASE,EAAQ,cAEtD,OAAIA,EAEK,CAAC6E,EAAmBC,EAAyBC,GAG7C,CAACF,EAAmB,IAAKC,GAA2B,MAASC,GAAwB,SAAMvD,EAEtG,CAEE,MAAO,CAACqD,EAAmBvB,EAAQxD,GAAS,EAAO,gBAAY0B,IAEhE,CAAC5B,EAAUG,EAAgBD,EAASE,IAEvC,OACEgF,EAAAA,KAAAC,EAAAA,SAAA,CAAArF,SAAA,CACEsF,EAAAA,IAACC,EAAAA,QAAOlE,IAAKA,EAAG,cAAc,YAAaD,EAAIpB,SAC7CoF,EAAAA,KAACI,EAAAA,QAAO,CAACC,gBAAiB/E,KAAiBC,EAAYX,SAAA,CACpDC,GACCqF,EAAAA,IAACI,EAAAA,mBACa,cACZ7D,GAAI8D,EAAAA,WACF,CACEC,MAA8B,SAAvBtE,EAAMuE,QAAQC,KAAkB,kBAAoB,iBAC3DC,WAAY,IACZC,QAAS,OACTC,WAAY,SACZC,eAAgB,aAEhB,kBAAmB,CACjBF,QAAS,QACTG,SAAU,WACVC,GAAI,KAEDC,EAAAA,kBAAkB/E,GAErB,qBAAsB,CACpBgF,UAAW,SAGf,qBAAsB,CACpBN,QAAS,UAGblE,MAEEC,WAEH9B,IAGLqF,MAACI,EAAAA,IAAG,CACF7D,GAAI8D,EAAAA,WACF,CACEY,SAAU,IACVC,SAAU,IACVC,UAAW,UACXT,QAAS,OACTC,WAAY,UACZC,eAAgB,aAChBQ,IAAK,CAAEC,GAAI,EAAGC,GAAI,OACbxG,GACHH,GAAQ,CAEN4G,GAAI,GAGRC,GAAI,QAEN9E,GACD,cACW,gBACRC,EAAWjC,UAEbI,GAAUkD,MAEZC,IAAqBnD,IAAWkD,IAAqBE,MACrD4B,EAAAA,KAACM,EAAAA,IAAG,CACF7D,GAAI8D,aACF,CACEK,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBQ,IAAK,IACLK,GAAI,CAAEC,MAAQL,GAAI,IAEpBvE,GACD,cACW,iBACRC,EAAWrC,SAAA,CAEduD,GACAnD,IAAWkD,IAAqBE,KAC/B8B,EAAAA,IAACd,EAAAA,aAAY,CAAA,aAEA,cACXZ,QAAQ,EACRqD,QAAS,IAAMzG,GAAS0G,IAAmBA,MACvClG,EAAehB,SAElBM,GAAOY,GAAiBoE,EAAAA,IAAC6B,EAAAA,UAAS,CAAA,GAAMlG,GAAYqE,EAAAA,IAAC8B,EAAAA,SAAQ,CAAA,IAN1D,gBAafhH,IAAWkD,IAAqBE,KAC/B4B,EAAAA,KAACiC,EAAAA,OAAM,CACLC,eAAa,EACbC,qBAAmB,EACnBC,kBAAgB,EAChBC,OAAO,MACPnH,KAAMA,GACNoH,QAAS,IAAMlH,IAAQ,GACvBqB,GAAI8D,aACF,CAEEgC,OAAQrG,EAAMqG,OAAOC,OAAS,GAE9BC,IAAKvG,EAAMwG,OAAOC,QAAQC,UAC1BC,OAAQ,OACRC,OAAQ,gBAAgB5G,EAAMwG,OAAOC,QAAQC,aAE7C7B,SAAU,YAEZ7D,GAEFC,UAAW,CACTK,SAAU,CACRf,GAAI8D,EAAAA,WACF,CACEQ,SAAU,YAEZlD,MAECC,GAELR,MAAO,CACLb,GAAI8D,EAAAA,WACF,CACEQ,SAAU,WACV+B,OAAQ,OACRlC,QAAS,OACTmC,iBAAkB,oBAEpBpF,MAECC,MAEFF,MAEDL,YAEJ6C,EAAAA,IAACI,OACC7D,GAAI8D,aACF,CACEyC,EAAG,EACHC,SAAU,QAEZnG,GACD,cACW,sBACRC,EAAiBnC,SAEpBsD,KAEFE,IACC8B,MAACI,EAAAA,IAAG,CAAC7D,GAAI,CAAEuG,EAAG,EAAGE,GAAI,GAAGtI,SACtBsF,EAAAA,IAACI,MAAG,CACF7D,GAAI,CACFyG,GAAI,IACJtC,QAAS,OACTuC,cAAe,iBACftC,WAAY,UACZC,eAAgB,aAEhBsC,UAAW,EACXC,YAAoC,SAAvBnH,EAAMuE,QAAQC,KAAkB,kBAAoB,qBAClE9F,SAEAwD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material"),i=require("../focusring/focusring.js"),s=require("../../materialui/button/interactive.js");const
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material"),i=require("../focusring/focusring.js"),s=require("../../materialui/button/interactive.js"),o=require("../../utils/sxOverride/sxOverride.js");const a=t.forwardRef(({children:t,sx:a,label:n,extend:d,tooltipProps:u,badgeProps:l,...c},x)=>{const g=r.useTheme(),{title:f,...p}=u??{};return d?e.jsxs(r.ButtonBase,{sx:o.sxOverride({...g.typography.list,display:"flex",alignItems:"center",justifyContent:"flex-start",gap:1.25,py:1.5,px:1.25,"& .MuiSvgIcon-root":{fontSize:"17px"},"&.Mui-disabled":{color:"disabled.tertiary"},...s.getInteractiveStyle({fontWeight:"300"},{fontWeight:"700"}),...i.getFocusRingStyle(g),"&&:before":{borderRadius:"4px"}},a),ref:x,"data-testid":"HeaderButton",...c,children:[e.jsx(r.Badge,{...l,children:t}),n||f]}):e.jsx(r.Tooltip,{title:n||f,...p,children:e.jsx(r.IconButton,{sx:a,size:"medium",ref:x,"data-testid":"HeaderButton",...c,children:e.jsx(r.Badge,{...l,children:t})})})});exports.HeaderButton=a;
|
|
2
2
|
//# sourceMappingURL=HeaderButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderButton.js","sources":["../../../../../src/components/header/HeaderButton.tsx"],"sourcesContent":["import React, { ElementType, FC, ForwardedRef, forwardRef } from 'react';\nimport {\n IconButton,\n IconButtonProps,\n ButtonBase,\n Tooltip,\n TooltipProps,\n Badge,\n BadgeProps,\n useTheme,\n} from '@mui/material';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { getInteractiveStyle } from '@/src/materialui/button/interactive';\n\nexport interface HeaderButtonProps extends IconButtonProps<ElementType> {\n /**\n * Label for the tooltip or the text button\n */\n label?: TooltipProps['title'];\n /**\n * Change icon button with tooltip into button\n */\n extend?: boolean;\n /**\n * Properties applied to tooltip\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * Properties applied to badge\n */\n badgeProps?: BadgeProps;\n}\n\n/**\n * IconButton for the action links\n */\nexport const HeaderButton: FC<HeaderButtonProps> = forwardRef(\n ({ children, sx, label, extend, tooltipProps, badgeProps, ...rest }, ref) => {\n const theme = useTheme();\n const { title, ...restTooltip } = tooltipProps ?? {};\n\n if (extend) {\n return (\n <ButtonBase\n sx={{\n
|
|
1
|
+
{"version":3,"file":"HeaderButton.js","sources":["../../../../../src/components/header/HeaderButton.tsx"],"sourcesContent":["import React, { ElementType, FC, ForwardedRef, forwardRef } from 'react';\nimport {\n IconButton,\n IconButtonProps,\n ButtonBase,\n Tooltip,\n TooltipProps,\n Badge,\n BadgeProps,\n useTheme,\n} from '@mui/material';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { getInteractiveStyle } from '@/src/materialui/button/interactive';\nimport { sxOverride } from '@/src/utils/sxOverride';\n\nexport interface HeaderButtonProps extends IconButtonProps<ElementType> {\n /**\n * Label for the tooltip or the text button\n */\n label?: TooltipProps['title'];\n /**\n * Change icon button with tooltip into button\n */\n extend?: boolean;\n /**\n * Properties applied to tooltip\n */\n tooltipProps?: Partial<TooltipProps>;\n /**\n * Properties applied to badge\n */\n badgeProps?: BadgeProps;\n}\n\n/**\n * IconButton for the action links\n */\nexport const HeaderButton: FC<HeaderButtonProps> = forwardRef(\n ({ children, sx, label, extend, tooltipProps, badgeProps, ...rest }, ref) => {\n const theme = useTheme();\n const { title, ...restTooltip } = tooltipProps ?? {};\n\n if (extend) {\n return (\n <ButtonBase\n sx={sxOverride(\n {\n ...theme.typography.list,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n gap: 1.25,\n py: 1.5,\n px: 1.25,\n // icon inside\n '& .MuiSvgIcon-root': {\n fontSize: '17px',\n },\n // disabled style\n '&.Mui-disabled': {\n color: 'disabled.tertiary',\n },\n // interactive style\n ...getInteractiveStyle(\n {\n fontWeight: '300',\n },\n {\n fontWeight: '700',\n },\n ),\n // focus ring\n ...getFocusRingStyle(theme),\n '&&:before': {\n borderRadius: '4px',\n },\n },\n sx,\n )}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n data-testid=\"HeaderButton\"\n {...rest}\n >\n <Badge {...badgeProps}>{children}</Badge>\n {label || title}\n </ButtonBase>\n );\n }\n\n return (\n <Tooltip title={label || title} {...restTooltip}>\n <IconButton\n sx={sx}\n size=\"medium\"\n ref={ref as ForwardedRef<HTMLButtonElement>}\n data-testid=\"HeaderButton\"\n {...rest}\n >\n <Badge {...badgeProps}>{children}</Badge>\n </IconButton>\n </Tooltip>\n );\n },\n);\n"],"names":["HeaderButton","forwardRef","children","sx","label","extend","tooltipProps","badgeProps","rest","ref","theme","useTheme","title","restTooltip","_jsxs","ButtonBase","sxOverride","typography","list","display","alignItems","justifyContent","gap","py","px","fontSize","color","getInteractiveStyle","fontWeight","getFocusRingStyle","borderRadius","_jsx","Badge","Tooltip","IconButton","size"],"mappings":"2OAqCO,MAAMA,EAAsCC,EAAAA,WACjD,EAAGC,WAAUC,KAAIC,QAAOC,SAAQC,eAAcC,gBAAeC,GAAQC,KACnE,MAAMC,EAAQC,EAAAA,YACRC,MAAEA,KAAUC,GAAgBP,GAAgB,CAAA,EAElD,OAAID,EAEAS,OAACC,EAAAA,YACCZ,GAAIa,EAAAA,WACF,IACKN,EAAMO,WAAWC,KACpBC,QAAS,OACTC,WAAY,SACZC,eAAgB,aAChBC,IAAK,KACLC,GAAI,IACJC,GAAI,KAEJ,qBAAsB,CACpBC,SAAU,QAGZ,iBAAkB,CAChBC,MAAO,wBAGNC,sBACD,CACEC,WAAY,OAEd,CACEA,WAAY,WAIbC,EAAAA,kBAAkBnB,GACrB,YAAa,CACXoB,aAAc,QAGlB3B,GAEFM,IAAKA,EAAsC,cAC/B,kBACRD,EAAIN,SAAA,CAER6B,EAAAA,IAACC,QAAK,IAAKzB,EAAUL,SAAGA,IACvBE,GAASQ,KAMdmB,EAAAA,IAACE,EAAAA,SAAQrB,MAAOR,GAASQ,KAAWC,WAClCkB,EAAAA,IAACG,EAAAA,YACC/B,GAAIA,EACJgC,KAAK,SACL1B,IAAKA,EAAsC,cAC/B,kBACRD,EAAIN,SAER6B,EAAAA,IAACC,EAAAA,MAAK,IAAKzB,EAAUL,SAAGA"}
|
|
@@ -26,17 +26,17 @@ export interface HeaderLanguageSelectProps extends HeaderButtonProps {
|
|
|
26
26
|
*/
|
|
27
27
|
menuProps?: MenuProps;
|
|
28
28
|
/**
|
|
29
|
-
* Props applied to each MenuItem
|
|
29
|
+
* Props applied to each MenuItem, or a factory receiving the item index and language
|
|
30
30
|
*/
|
|
31
|
-
menuItemProps?: MenuItemProps;
|
|
31
|
+
menuItemProps?: MenuItemProps | ((index: number, language: HeaderLanguageType) => MenuItemProps);
|
|
32
32
|
/**
|
|
33
|
-
* Props applied to Radio inside MenuItem
|
|
33
|
+
* Props applied to Radio inside each MenuItem, or a factory receiving the item index and language
|
|
34
34
|
*/
|
|
35
|
-
radioProps?: RadioProps;
|
|
35
|
+
radioProps?: RadioProps | ((index: number, language: HeaderLanguageType) => RadioProps);
|
|
36
36
|
/**
|
|
37
|
-
* Props applied to ListItemText inside
|
|
37
|
+
* Props applied to ListItemText inside each MenuItem, or a factory receiving the item index and language
|
|
38
38
|
*/
|
|
39
|
-
listItemTextProps?: ListItemTextProps;
|
|
39
|
+
listItemTextProps?: ListItemTextProps | ((index: number, language: HeaderLanguageType) => ListItemTextProps);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* IconButton with menu selector for languages
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("@mui/material"),n=require("./HeaderButton.js"),o=require("../icon/stroke/GlobeIcon.js");const s=t.forwardRef(({children:s,languages:a,onSelect:u,defaultLanguage:c=0,menuProps:i,menuItemProps:l,radioProps:d,listItemTextProps:f,...x},g)=>{const[m,p]=t.useState(null),[j,h]=t.useState(c);return e.jsxs(e.Fragment,{children:[e.jsx(n.HeaderButton,{onClick:e=>p(e.currentTarget),ref:g,"data-testid":"HeaderLanguageSelect",...x,children:s||e.jsx(o.GlobeIcon,{})}),e.jsx(r.Menu,{open:!!m,anchorEl:m,onClose:()=>p(null),...i,children:a?.map((t,n)=>{const o=j===n,s="string"==typeof t?t:t.full,a="function"==typeof l?l(n,t):l,c="function"==typeof d?d(n,t):d,i="function"==typeof f?f(n,t):f;return e.jsxs(r.MenuItem,{selected:o,onClick:()=>{u?.(t,n),h(n)},...a,children:[e.jsx(r.Radio,{checked:o,tabIndex:-1,...c}),e.jsx(r.ListItemText,{...i,children:s})]},s)})})]})});exports.HeaderLanguageSelect=s;
|
|
2
2
|
//# sourceMappingURL=HeaderLanguageSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderLanguageSelect.js","sources":["../../../../../src/components/header/HeaderLanguageSelect.tsx"],"sourcesContent":["import React, { FC, forwardRef, useState } from 'react';\nimport {\n Menu,\n MenuItem,\n Radio,\n ListItemText,\n MenuProps,\n MenuItemProps,\n RadioProps,\n ListItemTextProps,\n} from '@mui/material';\nimport { HeaderButton, HeaderButtonProps } from './HeaderButton';\nimport { GlobeIcon } from '@/src/components/icon/stroke/GlobeIcon';\n\ntype HeaderLanguageType = string | { short?: string; full?: string };\n\nexport interface HeaderLanguageSelectProps extends HeaderButtonProps {\n /**\n * List of languages\n */\n languages?: HeaderLanguageType[];\n /**\n * Index of selected language\n * @default 0\n */\n defaultLanguage?: number;\n /**\n * Function that is triggered on language change\n * @param language - provided language\n * @param index - index of language\n */\n onSelect?: (language: HeaderLanguageType, index: number) => void;\n /**\n * Props applied to menu\n */\n menuProps?: MenuProps;\n /**\n * Props applied to each MenuItem\n */\n menuItemProps?: MenuItemProps;\n /**\n * Props applied to Radio inside MenuItem\n */\n radioProps?: RadioProps;\n /**\n * Props applied to ListItemText inside
|
|
1
|
+
{"version":3,"file":"HeaderLanguageSelect.js","sources":["../../../../../src/components/header/HeaderLanguageSelect.tsx"],"sourcesContent":["import React, { FC, forwardRef, useState } from 'react';\nimport {\n Menu,\n MenuItem,\n Radio,\n ListItemText,\n MenuProps,\n MenuItemProps,\n RadioProps,\n ListItemTextProps,\n} from '@mui/material';\nimport { HeaderButton, HeaderButtonProps } from './HeaderButton';\nimport { GlobeIcon } from '@/src/components/icon/stroke/GlobeIcon';\n\ntype HeaderLanguageType = string | { short?: string; full?: string };\n\nexport interface HeaderLanguageSelectProps extends HeaderButtonProps {\n /**\n * List of languages\n */\n languages?: HeaderLanguageType[];\n /**\n * Index of selected language\n * @default 0\n */\n defaultLanguage?: number;\n /**\n * Function that is triggered on language change\n * @param language - provided language\n * @param index - index of language\n */\n onSelect?: (language: HeaderLanguageType, index: number) => void;\n /**\n * Props applied to menu\n */\n menuProps?: MenuProps;\n /**\n * Props applied to each MenuItem, or a factory receiving the item index and language\n */\n menuItemProps?: MenuItemProps | ((index: number, language: HeaderLanguageType) => MenuItemProps);\n /**\n * Props applied to Radio inside each MenuItem, or a factory receiving the item index and language\n */\n radioProps?: RadioProps | ((index: number, language: HeaderLanguageType) => RadioProps);\n /**\n * Props applied to ListItemText inside each MenuItem, or a factory receiving the item index and language\n */\n listItemTextProps?: ListItemTextProps | ((index: number, language: HeaderLanguageType) => ListItemTextProps);\n}\n\n/**\n * IconButton with menu selector for languages\n */\nexport const HeaderLanguageSelect: FC<HeaderLanguageSelectProps> = forwardRef(\n (\n {\n children,\n languages,\n onSelect,\n defaultLanguage = 0,\n menuProps,\n menuItemProps,\n radioProps,\n listItemTextProps,\n ...rest\n },\n ref,\n ) => {\n const [anchor, setAnchor] = useState(null);\n const [selected, setSelected] = useState(defaultLanguage);\n\n return (\n <>\n <HeaderButton\n onClick={(e) => setAnchor(e.currentTarget)}\n ref={ref}\n data-testid=\"HeaderLanguageSelect\"\n {...rest}\n >\n {children || <GlobeIcon />}\n </HeaderButton>\n <Menu open={!!anchor} anchorEl={anchor} onClose={() => setAnchor(null)} {...menuProps}>\n {languages?.map((lang, idx) => {\n const isSelected = selected === idx;\n const value = typeof lang === 'string' ? lang : lang.full;\n const resolvedMenuItemProps = typeof menuItemProps === 'function' ? menuItemProps(idx, lang) : menuItemProps;\n const resolvedRadioProps = typeof radioProps === 'function' ? radioProps(idx, lang) : radioProps;\n const resolvedListItemTextProps =\n typeof listItemTextProps === 'function' ? listItemTextProps(idx, lang) : listItemTextProps;\n\n return (\n <MenuItem\n key={value}\n selected={isSelected}\n onClick={() => {\n onSelect?.(lang, idx);\n setSelected(idx);\n }}\n {...resolvedMenuItemProps}\n >\n <Radio checked={isSelected} tabIndex={-1} {...resolvedRadioProps} />\n <ListItemText {...resolvedListItemTextProps}>{value}</ListItemText>\n </MenuItem>\n );\n })}\n </Menu>\n </>\n );\n },\n);\n"],"names":["HeaderLanguageSelect","forwardRef","children","languages","onSelect","defaultLanguage","menuProps","menuItemProps","radioProps","listItemTextProps","rest","ref","anchor","setAnchor","useState","selected","setSelected","_jsxs","_Fragment","_jsx","HeaderButton","onClick","e","currentTarget","GlobeIcon","Menu","open","anchorEl","onClose","map","lang","idx","isSelected","value","full","resolvedMenuItemProps","resolvedRadioProps","resolvedListItemTextProps","MenuItem","Radio","checked","tabIndex","ListItemText"],"mappings":"sKAqDO,MAAMA,EAAsDC,EAAAA,WACjE,EAEIC,WACAC,YACAC,WACAC,kBAAkB,EAClBC,YACAC,gBACAC,aACAC,uBACGC,GAELC,KAEA,MAAOC,EAAQC,GAAaC,EAAAA,SAAS,OAC9BC,EAAUC,GAAeF,EAAAA,SAAST,GAEzC,OACEY,EAAAA,KAAAC,WAAA,CAAAhB,SAAA,CACEiB,EAAAA,IAACC,gBACCC,QAAUC,GAAMT,EAAUS,EAAEC,eAC5BZ,IAAKA,gBACO,0BACRD,EAAIR,SAEPA,GAAYiB,EAAAA,IAACK,EAAAA,gBAEhBL,EAAAA,IAACM,EAAAA,KAAI,CAACC,OAAQd,EAAQe,SAAUf,EAAQgB,QAAS,IAAMf,EAAU,SAAWP,WACzEH,GAAW0B,IAAI,CAACC,EAAMC,KACrB,MAAMC,EAAajB,IAAagB,EAC1BE,EAAwB,iBAATH,EAAoBA,EAAOA,EAAKI,KAC/CC,EAAiD,mBAAlB5B,EAA+BA,EAAcwB,EAAKD,GAAQvB,EACzF6B,EAA2C,mBAAf5B,EAA4BA,EAAWuB,EAAKD,GAAQtB,EAChF6B,EACyB,mBAAtB5B,EAAmCA,EAAkBsB,EAAKD,GAAQrB,EAE3E,OACEQ,EAAAA,KAACqB,EAAAA,SAAQ,CAEPvB,SAAUiB,EACVX,QAAS,KACPjB,IAAW0B,EAAMC,GACjBf,EAAYe,OAEVI,EAAqBjC,SAAA,CAEzBiB,EAAAA,IAACoB,EAAAA,MAAK,CAACC,QAASR,EAAYS,UAAU,KAAQL,IAC9CjB,EAAAA,IAACuB,EAAAA,aAAY,IAAKL,EAAyBnC,SAAG+B,MATzCA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
1
|
+
import { FC, ElementType } from 'react';
|
|
2
2
|
import { LinkProps } from '@mui/material';
|
|
3
3
|
import { LogoProps } from '@/src/components/logo/Logo';
|
|
4
|
-
export interface HeaderLogoProps extends LinkProps {
|
|
4
|
+
export interface HeaderLogoProps extends LinkProps<ElementType> {
|
|
5
5
|
/**
|
|
6
6
|
* Properties applied to Logo component
|
|
7
7
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),o=require("@mui/material"),i=require("../logo/Logo.js"),s=require("../focusring/focusring.js");const
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),o=require("@mui/material"),i=require("../logo/Logo.js"),s=require("../focusring/focusring.js"),u=require("../../utils/sxOverride/sxOverride.js");const l=r.forwardRef(({sx:r,children:l,href:n,logoProps:t,...c},a)=>{const x=o.useTheme();return n||c.onClick?e.jsx(o.Link,{sx:u.sxOverride({display:"block",position:"relative",py:1,...s.getFocusRingStyle(x),"&.Mui-focusVisible":{boxShadow:"none"},"& .MuiSvgIcon-root":{display:"block"}},r),href:n||"#",ref:a,"aria-label":"Home",...c,children:l||e.jsx(i.Logo,{...t})}):e.jsx(e.Fragment,{children:l||e.jsx(i.Logo,{sx:r,ref:a,...t})})});exports.HeaderLogo=l;
|
|
2
2
|
//# sourceMappingURL=HeaderLogo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderLogo.js","sources":["../../../../../src/components/header/HeaderLogo.tsx"],"sourcesContent":["import React, { FC, ForwardedRef, forwardRef } from 'react';\nimport { Link, LinkProps, useTheme } from '@mui/material';\nimport { Logo, LogoProps } from '@/src/components/logo/Logo';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\n\nexport interface HeaderLogoProps extends LinkProps {\n /**\n * Properties applied to Logo component\n */\n logoProps?: LogoProps;\n}\n\n/**\n * Logo with link wrapper\n */\nexport const HeaderLogo: FC<HeaderLogoProps> = forwardRef(({ sx, children, href, logoProps, ...rest }, ref) => {\n const theme = useTheme();\n\n if (href || rest.onClick) {\n return (\n <Link\n sx={{\n
|
|
1
|
+
{"version":3,"file":"HeaderLogo.js","sources":["../../../../../src/components/header/HeaderLogo.tsx"],"sourcesContent":["import React, { FC, ForwardedRef, forwardRef, ElementType } from 'react';\nimport { Link, LinkProps, useTheme } from '@mui/material';\nimport { Logo, LogoProps } from '@/src/components/logo/Logo';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { sxOverride } from '@/src/utils/sxOverride';\n\nexport interface HeaderLogoProps extends LinkProps<ElementType> {\n /**\n * Properties applied to Logo component\n */\n logoProps?: LogoProps;\n}\n\n/**\n * Logo with link wrapper\n */\nexport const HeaderLogo: FC<HeaderLogoProps> = forwardRef(({ sx, children, href, logoProps, ...rest }, ref) => {\n const theme = useTheme();\n\n if (href || rest.onClick) {\n return (\n <Link\n sx={sxOverride(\n {\n // same style is applied in Header logo wrapper\n display: 'block',\n position: 'relative',\n py: 1,\n // add proper focus ring\n ...getFocusRingStyle(theme),\n // remove default link box shadow\n '&.Mui-focusVisible': {\n boxShadow: 'none',\n },\n '& .MuiSvgIcon-root': {\n display: 'block',\n },\n },\n sx,\n )}\n href={href || '#'}\n ref={ref as ForwardedRef<HTMLAnchorElement>}\n aria-label=\"Home\"\n {...rest}\n >\n {children || <Logo {...logoProps} />}\n </Link>\n );\n }\n return <>{children || <Logo sx={sx} ref={ref as unknown as ForwardedRef<SVGSVGElement>} {...logoProps} />}</>;\n});\n"],"names":["HeaderLogo","forwardRef","sx","children","href","logoProps","rest","ref","theme","useTheme","onClick","_jsx","Link","sxOverride","display","position","py","getFocusRingStyle","boxShadow","Logo"],"mappings":"0NAgBaA,EAAkCC,EAAAA,WAAW,EAAGC,KAAIC,WAAUC,OAAMC,eAAcC,GAAQC,KACrG,MAAMC,EAAQC,EAAAA,WAEd,OAAIL,GAAQE,EAAKI,QAEbC,MAACC,EAAAA,MACCV,GAAIW,EAAAA,WACF,CAEEC,QAAS,QACTC,SAAU,WACVC,GAAI,KAEDC,EAAAA,kBAAkBT,GAErB,qBAAsB,CACpBU,UAAW,QAEb,qBAAsB,CACpBJ,QAAS,UAGbZ,GAEFE,KAAMA,GAAQ,IACdG,IAAKA,EAAsC,aAChC,UACPD,EAAIH,SAEPA,GAAYQ,EAAAA,IAACQ,EAAAA,KAAI,IAAKd,MAItBM,EAAAA,yBAAGR,GAAYQ,EAAAA,IAACQ,EAAAA,MAAKjB,GAAIA,EAAIK,IAAKA,KAAmDF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),o=require("@mui/material"),t=require("../icon/stroke/ChevronDownIcon.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),o=require("@mui/material"),t=require("../../utils/sxOverride/sxOverride.js"),i=require("../icon/stroke/ChevronDownIcon.js"),s=require("./HeaderNavigationLink.js");const n=r.forwardRef(({children:n,sx:a,label:d,icon:x,extend:c,inContainer:l=!1,disableBackdrop:p=!1,onClick:u,clickAwayListenerProps:v,contentProps:g,wrapperProps:m,containerProps:h,collapseProps:f,portalProps:k,backdropProps:j,...b},C)=>{const w=r.useRef(null),[y,H]=r.useState(!1),P=o.useTheme(),q=o.useMediaQuery(P.breakpoints.down("lg")),O=void 0===c?q:c,{sx:S,...B}=j??{},{sx:I,...z}=m??{},{sx:L,...N}=g??{};return e.jsxs(e.Fragment,{children:[e.jsx(s.HeaderNavigationLink,{active:y,extend:c,icon:x||e.jsx(i.ChevronDownIcon,{sx:{"&&&":{fontSize:void 0===c?{xs:"20px",lg:"14px"}:["20px","14px"][+!c]},color:void 0===c?{xs:"dark"===P.palette.mode?"onSurface.os300":"onSurface.os700",lg:"currentColor"}:["dark"===P.palette.mode?"onSurface.os300":"onSurface.os700","currentColor"][+!c],transform:`rotate(${y?"180":"0"}deg)`,transition:void 0===c?{xs:P.transitions.create("transform",{duration:P.transitions.duration.shortest}),lg:"none"}:[P.transitions.create("transform",{duration:P.transitions.duration.shortest}),"none"][+!c]}}),onClick:e=>{u?.(e),H(e=>!e)},sx:t.sxOverride({justifyContent:void 0===c?{xs:"space-between",lg:"flex-start"}:["space-between","flex-start"][+!c]},a),ref:C??w,"data-testid":"HeaderNavigationHero",...b,children:d}),e.jsx(o.ClickAwayListener,{onClickAway:e=>!(C??w)?.current?.contains(e?.target)&&H(!1),...v,children:e.jsx(o.Box,{sx:t.sxOverride({position:void 0===c?{xs:"static",lg:"absolute"}:["static","absolute"][+!c],zIndex:"10",left:"0",right:"0",top:P.mixins.toolbar.minHeight,maxHeight:`calc(100vh - ${P.mixins.toolbar.minHeight})`,overflow:"auto"},I),...z,children:e.jsx(o.Collapse,{in:y,...f,children:e.jsx(o.Box,{sx:t.sxOverride({backgroundColor:void 0===c?{xs:"unset",lg:"dark"===P.palette.mode?"surface.primary":"background.primary"}:["unset","dark"===P.palette.mode?"surface.primary":"background.primary"][+!c],py:void 0===c?{xs:0,lg:2}:[0,2][+!c],px:void 0===c?{xs:1,lg:2}:[1,2][+!c],...l&&{px:0}},L),...N,children:l?e.jsx(o.Container,{maxWidth:"xl",...h,children:n}):n})})})}),!p&&!O&&e.jsx(o.Portal,{...k,children:e.jsx(o.Backdrop,{open:y,sx:t.sxOverride({zIndex:P.zIndex.appBar-50},S),...B})})]})});exports.HeaderNavigationHero=n;
|
|
2
2
|
//# sourceMappingURL=HeaderNavigationHero.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderNavigationHero.js","sources":["../../../../../src/components/header/HeaderNavigationHero.tsx"],"sourcesContent":["import React, { FC, forwardRef, useState, ElementType, useRef } from 'react';\nimport {\n Collapse,\n Backdrop,\n ClickAwayListener,\n Box,\n BoxProps,\n Portal,\n Container,\n ClickAwayListenerProps,\n ContainerProps,\n PortalProps,\n BackdropProps,\n CollapseProps,\n useMediaQuery,\n Theme,\n useTheme,\n} from '@mui/material';\nimport { ChevronDownIcon } from '@/src/components/icon/stroke/ChevronDownIcon';\nimport { HeaderNavigationLink, HeaderNavigationLinkProps } from './HeaderNavigationLink';\n\nexport interface HeaderNavigationHeroProps extends HeaderNavigationLinkProps {\n /**\n * Wrap the content into container\n * @default false\n */\n inContainer?: boolean;\n /**\n * Controls appearance of backdrop when content opens\n * @default false\n */\n disableBackdrop?: boolean;\n /**\n * Props applied to ClickAwayListener\n */\n clickAwayListenerProps?: Omit<ClickAwayListenerProps, 'children'>;\n /**\n * Props applied to main wrapper of content\n */\n contentProps?: BoxProps<ElementType>;\n /**\n * Props applied to main wrapper before collapsible\n */\n wrapperProps?: BoxProps<ElementType>;\n /**\n * Props applied to Container if inContainer property is provided\n */\n containerProps?: ContainerProps;\n /**\n * Props applied to Collapse component\n */\n collapseProp?: CollapseProps;\n /**\n * Props applied to Portal if disableBackdrop property is not provided\n */\n portalProps?: PortalProps;\n /**\n * Props applied to Backdrop if disableBackdrop property is not provided\n */\n backdropProps?: BackdropProps;\n}\n\n/**\n * HeaderNavigationLink with the integration of the complex hero menu\n */\nexport const HeaderNavigationHero: FC<HeaderNavigationHeroProps> = forwardRef(\n (\n {\n children,\n sx,\n label,\n icon,\n extend,\n inContainer = false,\n disableBackdrop = false,\n onClick,\n clickAwayListenerProps,\n contentProps,\n wrapperProps,\n containerProps,\n collapseProps,\n portalProps,\n backdropProps,\n ...rest\n },\n ref,\n ) => {\n const buttonRef = useRef(null);\n const [open, setOpen] = useState(false);\n const theme = useTheme();\n const downLg = useMediaQuery<Theme>(theme.breakpoints.down('lg'));\n const mobile = extend === undefined ? downLg : extend;\n const { sx: backdropSx, ...restBackdrop } = backdropProps ?? {};\n const { sx: wrapperSx, ...restWrapper } = wrapperProps ?? {};\n const { sx: contentSx, ...restContent } = contentProps ?? {};\n\n return (\n <>\n <HeaderNavigationLink\n active={open}\n extend={extend}\n icon={\n icon || (\n <ChevronDownIcon\n sx={{\n '&&&': {\n fontSize: extend === undefined ? { xs: '20px', lg: '14px' } : ['20px', '14px'][+!extend],\n },\n color:\n extend === undefined\n ? {\n xs: theme.palette.mode === 'dark' ? 'onSurface.os300' : 'onSurface.os700',\n lg: 'currentColor',\n }\n : [theme.palette.mode === 'dark' ? 'onSurface.os300' : 'onSurface.os700', 'currentColor'][\n +!extend\n ],\n transform: `rotate(${open ? '180' : '0'}deg)`,\n transition:\n extend === undefined\n ? {\n xs: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n lg: 'none',\n }\n : [\n theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n 'none',\n ][+!extend],\n }}\n />\n )\n }\n onClick={(e) => {\n onClick?.(e);\n setOpen((prev) => !prev);\n }}\n sx={{\n justifyContent:\n extend === undefined\n ? { xs: 'space-between', lg: 'flex-start' }\n : ['space-between', 'flex-start'][+!extend],\n ...sx,\n }}\n ref={ref ?? buttonRef}\n data-testid=\"HeaderNavigationHero\"\n {...rest}\n >\n {label}\n </HeaderNavigationLink>\n <ClickAwayListener\n onClickAway={(e) =>\n !((ref as React.RefObject<HTMLButtonElement>) ?? buttonRef)?.current?.contains(e?.target as Node) &&\n setOpen(false)\n }\n {...clickAwayListenerProps}\n >\n <Box\n sx={{\n position: extend === undefined ? { xs: 'static', lg: 'absolute' } : ['static', 'absolute'][+!extend],\n zIndex: '10',\n left: '0',\n right: '0',\n top: theme.mixins.toolbar.minHeight,\n maxHeight: `calc(100vh - ${theme.mixins.toolbar.minHeight})`,\n overflow: 'auto',\n ...wrapperSx,\n }}\n {...restWrapper}\n >\n <Collapse in={open} {...collapseProps}>\n <Box\n sx={{\n backgroundColor:\n extend === undefined\n ? {\n xs: 'unset',\n lg: theme.palette.mode === 'dark' ? 'surface.primary' : 'background.primary',\n }\n : ['unset', theme.palette.mode === 'dark' ? 'surface.primary' : 'background.primary'][+!extend],\n py: extend === undefined ? { xs: 0, lg: 2 } : [0, 2][+!extend],\n px: extend === undefined ? { xs: 1, lg: 2 } : [1, 2][+!extend],\n ...(inContainer && {\n px: 0,\n }),\n ...contentSx,\n }}\n {...restContent}\n >\n {inContainer ? (\n <Container maxWidth=\"xl\" {...containerProps}>\n {children}\n </Container>\n ) : (\n children\n )}\n </Box>\n </Collapse>\n </Box>\n </ClickAwayListener>\n {!disableBackdrop && !mobile && (\n <Portal {...portalProps}>\n <Backdrop open={open} sx={{ zIndex: theme.zIndex.appBar - 50, ...backdropSx }} {...restBackdrop} />\n </Portal>\n )}\n </>\n );\n },\n);\n"],"names":["HeaderNavigationHero","forwardRef","children","sx","label","icon","extend","inContainer","disableBackdrop","onClick","clickAwayListenerProps","contentProps","wrapperProps","containerProps","collapseProps","portalProps","backdropProps","rest","ref","buttonRef","useRef","open","setOpen","useState","theme","useTheme","downLg","useMediaQuery","breakpoints","down","mobile","undefined","backdropSx","restBackdrop","wrapperSx","restWrapper","contentSx","restContent","_jsxs","_jsx","HeaderNavigationLink","active","ChevronDownIcon","fontSize","xs","lg","color","palette","mode","transform","transition","transitions","create","duration","shortest","e","prev","justifyContent","ClickAwayListener","onClickAway","current","contains","target","Box","position","zIndex","left","right","top","mixins","toolbar","minHeight","maxHeight","overflow","Collapse","in","backgroundColor","py","px","Container","maxWidth","Portal","Backdrop","appBar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeaderNavigationHero.js","sources":["../../../../../src/components/header/HeaderNavigationHero.tsx"],"sourcesContent":["import React, { FC, forwardRef, useState, ElementType, useRef } from 'react';\nimport {\n Collapse,\n Backdrop,\n ClickAwayListener,\n Box,\n BoxProps,\n Portal,\n Container,\n ClickAwayListenerProps,\n ContainerProps,\n PortalProps,\n BackdropProps,\n CollapseProps,\n useMediaQuery,\n Theme,\n useTheme,\n} from '@mui/material';\nimport { sxOverride } from '@/src/utils/sxOverride';\nimport { ChevronDownIcon } from '@/src/components/icon/stroke/ChevronDownIcon';\nimport { HeaderNavigationLink, HeaderNavigationLinkProps } from './HeaderNavigationLink';\n\nexport interface HeaderNavigationHeroProps extends HeaderNavigationLinkProps {\n /**\n * Wrap the content into container\n * @default false\n */\n inContainer?: boolean;\n /**\n * Controls appearance of backdrop when content opens\n * @default false\n */\n disableBackdrop?: boolean;\n /**\n * Props applied to ClickAwayListener\n */\n clickAwayListenerProps?: Omit<ClickAwayListenerProps, 'children'>;\n /**\n * Props applied to main wrapper of content\n */\n contentProps?: BoxProps<ElementType>;\n /**\n * Props applied to main wrapper before collapsible\n */\n wrapperProps?: BoxProps<ElementType>;\n /**\n * Props applied to Container if inContainer property is provided\n */\n containerProps?: ContainerProps;\n /**\n * Props applied to Collapse component\n */\n collapseProp?: CollapseProps;\n /**\n * Props applied to Portal if disableBackdrop property is not provided\n */\n portalProps?: PortalProps;\n /**\n * Props applied to Backdrop if disableBackdrop property is not provided\n */\n backdropProps?: BackdropProps;\n}\n\n/**\n * HeaderNavigationLink with the integration of the complex hero menu\n */\nexport const HeaderNavigationHero: FC<HeaderNavigationHeroProps> = forwardRef(\n (\n {\n children,\n sx,\n label,\n icon,\n extend,\n inContainer = false,\n disableBackdrop = false,\n onClick,\n clickAwayListenerProps,\n contentProps,\n wrapperProps,\n containerProps,\n collapseProps,\n portalProps,\n backdropProps,\n ...rest\n },\n ref,\n ) => {\n const buttonRef = useRef(null);\n const [open, setOpen] = useState(false);\n const theme = useTheme();\n const downLg = useMediaQuery<Theme>(theme.breakpoints.down('lg'));\n const mobile = extend === undefined ? downLg : extend;\n const { sx: backdropSx, ...restBackdrop } = backdropProps ?? {};\n const { sx: wrapperSx, ...restWrapper } = wrapperProps ?? {};\n const { sx: contentSx, ...restContent } = contentProps ?? {};\n\n return (\n <>\n <HeaderNavigationLink\n active={open}\n extend={extend}\n icon={\n icon || (\n <ChevronDownIcon\n sx={{\n '&&&': {\n fontSize: extend === undefined ? { xs: '20px', lg: '14px' } : ['20px', '14px'][+!extend],\n },\n color:\n extend === undefined\n ? {\n xs: theme.palette.mode === 'dark' ? 'onSurface.os300' : 'onSurface.os700',\n lg: 'currentColor',\n }\n : [theme.palette.mode === 'dark' ? 'onSurface.os300' : 'onSurface.os700', 'currentColor'][\n +!extend\n ],\n transform: `rotate(${open ? '180' : '0'}deg)`,\n transition:\n extend === undefined\n ? {\n xs: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n lg: 'none',\n }\n : [\n theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n 'none',\n ][+!extend],\n }}\n />\n )\n }\n onClick={(e) => {\n onClick?.(e);\n setOpen((prev) => !prev);\n }}\n sx={sxOverride(\n {\n justifyContent:\n extend === undefined\n ? { xs: 'space-between', lg: 'flex-start' }\n : ['space-between', 'flex-start'][+!extend],\n },\n sx,\n )}\n ref={ref ?? buttonRef}\n data-testid=\"HeaderNavigationHero\"\n {...rest}\n >\n {label}\n </HeaderNavigationLink>\n <ClickAwayListener\n onClickAway={(e) =>\n !((ref as React.RefObject<HTMLButtonElement>) ?? buttonRef)?.current?.contains(e?.target as Node) &&\n setOpen(false)\n }\n {...clickAwayListenerProps}\n >\n <Box\n sx={sxOverride(\n {\n position: extend === undefined ? { xs: 'static', lg: 'absolute' } : ['static', 'absolute'][+!extend],\n zIndex: '10',\n left: '0',\n right: '0',\n top: theme.mixins.toolbar.minHeight,\n maxHeight: `calc(100vh - ${theme.mixins.toolbar.minHeight})`,\n overflow: 'auto',\n },\n wrapperSx,\n )}\n {...restWrapper}\n >\n <Collapse in={open} {...collapseProps}>\n <Box\n sx={sxOverride(\n {\n backgroundColor:\n extend === undefined\n ? {\n xs: 'unset',\n lg: theme.palette.mode === 'dark' ? 'surface.primary' : 'background.primary',\n }\n : ['unset', theme.palette.mode === 'dark' ? 'surface.primary' : 'background.primary'][+!extend],\n py: extend === undefined ? { xs: 0, lg: 2 } : [0, 2][+!extend],\n px: extend === undefined ? { xs: 1, lg: 2 } : [1, 2][+!extend],\n ...(inContainer && {\n px: 0,\n }),\n },\n contentSx,\n )}\n {...restContent}\n >\n {inContainer ? (\n <Container maxWidth=\"xl\" {...containerProps}>\n {children}\n </Container>\n ) : (\n children\n )}\n </Box>\n </Collapse>\n </Box>\n </ClickAwayListener>\n {!disableBackdrop && !mobile && (\n <Portal {...portalProps}>\n <Backdrop open={open} sx={sxOverride({ zIndex: theme.zIndex.appBar - 50 }, backdropSx)} {...restBackdrop} />\n </Portal>\n )}\n </>\n );\n },\n);\n"],"names":["HeaderNavigationHero","forwardRef","children","sx","label","icon","extend","inContainer","disableBackdrop","onClick","clickAwayListenerProps","contentProps","wrapperProps","containerProps","collapseProps","portalProps","backdropProps","rest","ref","buttonRef","useRef","open","setOpen","useState","theme","useTheme","downLg","useMediaQuery","breakpoints","down","mobile","undefined","backdropSx","restBackdrop","wrapperSx","restWrapper","contentSx","restContent","_jsxs","_jsx","HeaderNavigationLink","active","ChevronDownIcon","fontSize","xs","lg","color","palette","mode","transform","transition","transitions","create","duration","shortest","e","prev","sxOverride","justifyContent","ClickAwayListener","onClickAway","current","contains","target","Box","position","zIndex","left","right","top","mixins","toolbar","minHeight","maxHeight","overflow","Collapse","in","backgroundColor","py","px","Container","maxWidth","Portal","Backdrop","appBar"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react"),o=require("@mui/material"),r=require("../../utils/sxOverride/sxOverride.js"),a=require("../icon/stroke/ArrowTopRightIcon.js"),i=require("../focusring/focusring.js"),s=require("../../materialui/button/interactive.js"),l=require("../../materialui/typography/typography.theme.js");const n=t.forwardRef(({sx:n,children:d,label:c,icon:p,active:x=!1,external:g=!1,extend:u,labelWrapperProps:v,labelProps:b,selectedLabelProps:y,...f},h)=>{const m=o.useTheme(),{sx:k,...L}=v??{},{sx:w,...N}=b??{},{sx:j,...H}=y??{},F=t.useMemo(()=>g?e.jsx(a.ArrowTopRightIcon,{}):p,[p,g]);return e.jsxs(o.ButtonBase,{sx:r.sxOverride({...m.typography.list,...void 0===u?{[m.breakpoints.down("lg")]:{...l.getTypography("body","rtl"===m.direction,"large")}}:[{"&&":{...l.getTypography("body","rtl"===m.direction,"large")}},{}][+!u],position:"relative",zIndex:"100",display:void 0===u?{xs:"flex",lg:"inline-flex"}:["flex","inline-flex"][+!u],width:void 0===u?{xs:"100%",lg:"auto"}:["100%","auto"][+!u],gap:.5,alignItems:"center",justifyContent:"flex-start",py:void 0===u?{xs:2,lg:1}:[2,1][+!u],px:void 0===u?{xs:1,lg:.5}:[1,.5][+!u],transition:"transform 0.3s ease-out, color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out, opacity 0.3s ease-out","& .MuiSvgIcon-root":{fontSize:"14px"},"&:after":{content:void 0===u?{xs:"none",lg:'""'}:["none",'""'][+!u],position:"absolute",left:"0",right:"0",bottom:"0",height:"1px",backgroundColor:"transparent.transparent",...x&&{height:"2px",backgroundColor:"text.primary"}},"&.Mui-disabled":{color:"disabled.tertiary"},...s.getInteractiveStyle({color:"dark"===m.palette.mode?"onSurface.os300":"onSurface.os700","&&:after":{backgroundColor:"transparent.transparent"},"& .FlowHeaderNavigationLink-label":{opacity:"1"},"& .FlowHeaderNavigationLink-selectedLabel":{opacity:"0"},...x&&{color:"text.primary","&&:after":{backgroundColor:"text.primary"},"& .FlowHeaderNavigationLink-label":{opacity:"0"},"& .FlowHeaderNavigationLink-selectedLabel":{opacity:"1"}}},{color:"text.primary","&&:after":{backgroundColor:"text.primary"},"& .FlowHeaderNavigationLink-label":{opacity:"0"},"& .FlowHeaderNavigationLink-selectedLabel":{opacity:"1"}}),...i.getFocusRingStyle(m),"&&:before":{borderRadius:"4px",top:void 0===u?{xs:"0",lg:"2px"}:["0","2px"][+!u],bottom:void 0===u?{xs:"0",lg:"-2px"}:["0","-2px"][+!u]}},n),ref:h,"data-testid":"HeaderNavigationLink",...f,children:[(d||c)&&e.jsxs(o.Box,{className:"FlowHeaderNavigationLink-labelWrapper",sx:r.sxOverride({display:"inline-flex",alignItems:"center",justifyContent:"center",textAlign:"center",position:"relative"},k),...L,children:[e.jsx(o.Box,{className:"FlowHeaderNavigationLink-label",sx:r.sxOverride({position:"absolute",left:void 0===u?{xs:"0",lg:"auto"}:["0","auto"][+!u]},w),...N,children:d||c}),e.jsx(o.Box,{className:"FlowHeaderNavigationLink-selectedLabel",sx:r.sxOverride({fontWeight:"700",opacity:"0",position:"relative"},j),"aria-hidden":"true",...H,children:d||c})]}),F]})});exports.HeaderNavigationLink=n;
|
|
2
2
|
//# sourceMappingURL=HeaderNavigationLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderNavigationLink.js","sources":["../../../../../src/components/header/HeaderNavigationLink.tsx"],"sourcesContent":["import React, { useMemo, ElementType, FC, forwardRef, ReactNode, ForwardedRef } from 'react';\nimport { ButtonBase, ButtonBaseProps, Box, BoxProps, useTheme } from '@mui/material';\nimport { ArrowTopRightIcon } from '@/src/components/icon/stroke/ArrowTopRightIcon';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { getInteractiveStyle } from '@/src/materialui/button/interactive';\nimport { getTypography } from '@/src/materialui/typography/typography.theme';\n\nexport interface HeaderNavigationLinkProps extends ButtonBaseProps<ElementType> {\n /**\n * Displayed navigation text, can be provided as children as well\n */\n label?: ReactNode;\n /**\n * Marks item currently active\n * @default false\n */\n active?: boolean;\n /**\n * Indicates external link\n * @default false\n */\n external?: boolean;\n /**\n * Expect icon component that will be rendered after the label\n */\n icon?: ReactNode;\n /**\n * Change link into extended mobile version\n */\n extend?: boolean;\n /**\n * Properties applied to wrapper of label\n */\n labelWrapperProps?: BoxProps<ElementType>;\n /**\n * Properties applied to default label\n */\n labelProps?: BoxProps<ElementType>;\n /**\n * Properties applied to selected label\n */\n selectedLabelProps?: BoxProps<ElementType>;\n}\n\n/**\n * Component to render styled button in the header\n */\nexport const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = forwardRef(\n (\n {\n sx,\n children,\n label,\n icon,\n active = false,\n external = false,\n extend,\n labelWrapperProps,\n labelProps,\n selectedLabelProps,\n ...rest\n },\n ref,\n ) => {\n const theme = useTheme();\n const { sx: labelWrapperSx, ...restLabelWrapper } = labelWrapperProps ?? {};\n const { sx: labelSx, ...restLabel } = labelProps ?? {};\n const { sx: selectedLabelSx, ...restSelectedLabel } = selectedLabelProps ?? {};\n const linkIcon = useMemo(() => {\n return external ? <ArrowTopRightIcon /> : icon;\n }, [icon, external]);\n\n return (\n <ButtonBase\n sx={{\n ...theme.typography.list,\n ...(extend === undefined\n ? {\n [theme.breakpoints.down('lg')]: {\n // switch to 'large body' typography according to Figma\n ...getTypography('body', theme.direction === 'rtl', 'large'),\n },\n }\n : [\n {\n '&&': {\n ...getTypography('body', theme.direction === 'rtl', 'large'),\n },\n },\n {},\n ][+!extend]),\n position: 'relative',\n zIndex: '100',\n // icon and text next to each other\n display: extend === undefined ? { xs: 'flex', lg: 'inline-flex' } : ['flex', 'inline-flex'][+!extend],\n width: extend === undefined ? { xs: '100%', lg: 'auto' } : ['100%', 'auto'][+!extend],\n gap: 0.5,\n alignItems: 'center',\n justifyContent: 'flex-start',\n py: extend === undefined ? { xs: 2, lg: 1 } : [2, 1][+!extend],\n px: extend === undefined ? { xs: 1, lg: 0.5 } : [1, 0.5][+!extend],\n transition:\n 'transform 0.3s ease-out, color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out, opacity 0.3s ease-out',\n // size of icon\n '& .MuiSvgIcon-root': {\n fontSize: '14px',\n },\n // bottom border\n '&:after': {\n content: extend === undefined ? { xs: 'none', lg: '\"\"' } : ['none', '\"\"'][+!extend],\n position: 'absolute',\n left: '0',\n right: '0',\n // move directly into border of appbar\n bottom: '0',\n height: '1px',\n backgroundColor: 'transparent.transparent',\n ...(active && {\n height: '2px',\n backgroundColor: 'text.primary',\n }),\n },\n // disabled style\n '&.Mui-disabled': {\n color: 'disabled.tertiary',\n },\n // interactive style\n ...getInteractiveStyle(\n {\n color: theme.palette.mode === 'dark' ? 'onSurface.os300' : 'onSurface.os700',\n '&&:after': {\n backgroundColor: 'transparent.transparent',\n },\n '& .FlowHeaderNavigationLink-label': {\n opacity: '1',\n },\n '& .FlowHeaderNavigationLink-selectedLabel': {\n opacity: '0',\n },\n // active state is same as hover state\n ...(active && {\n color: 'text.primary',\n '&&:after': {\n backgroundColor: 'text.primary',\n },\n '& .FlowHeaderNavigationLink-label': {\n opacity: '0',\n },\n '& .FlowHeaderNavigationLink-selectedLabel': {\n opacity: '1',\n },\n }),\n },\n {\n color: 'text.primary',\n '&&:after': {\n backgroundColor: 'text.primary',\n },\n '& .FlowHeaderNavigationLink-label': {\n opacity: '0',\n },\n '& .FlowHeaderNavigationLink-selectedLabel': {\n opacity: '1',\n },\n },\n ),\n ...getFocusRingStyle(theme),\n // adjust focus ring\n '&&:before': {\n borderRadius: '4px',\n // make sure top border is not cropped\n top: extend === undefined ? { xs: '0', lg: '2px' } : ['0', '2px'][+!extend],\n bottom: extend === undefined ? { xs: '0', lg: '-2px' } : ['0', '-2px'][+!extend],\n },\n ...sx,\n }}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n data-testid=\"HeaderNavigationLink\"\n {...rest}\n >\n {(children || label) && (\n <Box\n className=\"FlowHeaderNavigationLink-labelWrapper\"\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n position: 'relative',\n ...labelWrapperSx,\n }}\n {...restLabelWrapper}\n >\n <Box\n className=\"FlowHeaderNavigationLink-label\"\n sx={{\n position: 'absolute',\n left: extend === undefined ? { xs: '0', lg: 'auto' } : ['0', 'auto'][+!extend],\n ...labelSx,\n }}\n {...restLabel}\n >\n {children || label}\n </Box>\n <Box\n className=\"FlowHeaderNavigationLink-selectedLabel\"\n sx={{\n fontWeight: '700',\n opacity: '0',\n position: 'relative',\n ...selectedLabelSx,\n }}\n aria-hidden=\"true\"\n {...restSelectedLabel}\n >\n {children || label}\n </Box>\n </Box>\n )}\n {linkIcon}\n </ButtonBase>\n );\n },\n);\n"],"names":["HeaderNavigationLink","forwardRef","sx","children","label","icon","active","external","extend","labelWrapperProps","labelProps","selectedLabelProps","rest","ref","theme","useTheme","labelWrapperSx","restLabelWrapper","labelSx","restLabel","selectedLabelSx","restSelectedLabel","linkIcon","useMemo","_jsx","ArrowTopRightIcon","_jsxs","ButtonBase","typography","list","undefined","breakpoints","down","getTypography","direction","position","zIndex","display","xs","lg","width","gap","alignItems","justifyContent","py","px","transition","fontSize","content","left","right","bottom","height","backgroundColor","color","getInteractiveStyle","palette","mode","opacity","getFocusRingStyle","borderRadius","top","Box","className","textAlign","fontWeight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeaderNavigationLink.js","sources":["../../../../../src/components/header/HeaderNavigationLink.tsx"],"sourcesContent":["import React, { useMemo, ElementType, FC, forwardRef, ReactNode, ForwardedRef } from 'react';\nimport { ButtonBase, ButtonBaseProps, Box, BoxProps, useTheme } from '@mui/material';\nimport { sxOverride } from '@/src/utils/sxOverride';\nimport { ArrowTopRightIcon } from '@/src/components/icon/stroke/ArrowTopRightIcon';\nimport { getFocusRingStyle } from '@/src/components/focusring/focusring';\nimport { getInteractiveStyle } from '@/src/materialui/button/interactive';\nimport { getTypography } from '@/src/materialui/typography/typography.theme';\n\nexport interface HeaderNavigationLinkProps extends ButtonBaseProps<ElementType> {\n /**\n * Displayed navigation text, can be provided as children as well\n */\n label?: ReactNode;\n /**\n * Marks item currently active\n * @default false\n */\n active?: boolean;\n /**\n * Indicates external link\n * @default false\n */\n external?: boolean;\n /**\n * Expect icon component that will be rendered after the label\n */\n icon?: ReactNode;\n /**\n * Change link into extended mobile version\n */\n extend?: boolean;\n /**\n * Properties applied to wrapper of label\n */\n labelWrapperProps?: BoxProps<ElementType>;\n /**\n * Properties applied to default label\n */\n labelProps?: BoxProps<ElementType>;\n /**\n * Properties applied to selected label\n */\n selectedLabelProps?: BoxProps<ElementType>;\n}\n\n/**\n * Component to render styled button in the header\n */\nexport const HeaderNavigationLink: FC<HeaderNavigationLinkProps> = forwardRef(\n (\n {\n sx,\n children,\n label,\n icon,\n active = false,\n external = false,\n extend,\n labelWrapperProps,\n labelProps,\n selectedLabelProps,\n ...rest\n },\n ref,\n ) => {\n const theme = useTheme();\n const { sx: labelWrapperSx, ...restLabelWrapper } = labelWrapperProps ?? {};\n const { sx: labelSx, ...restLabel } = labelProps ?? {};\n const { sx: selectedLabelSx, ...restSelectedLabel } = selectedLabelProps ?? {};\n const linkIcon = useMemo(() => {\n return external ? <ArrowTopRightIcon /> : icon;\n }, [icon, external]);\n\n return (\n <ButtonBase\n sx={sxOverride(\n {\n ...theme.typography.list,\n ...(extend === undefined\n ? {\n [theme.breakpoints.down('lg')]: {\n // switch to 'large body' typography according to Figma\n ...getTypography('body', theme.direction === 'rtl', 'large'),\n },\n }\n : [\n {\n '&&': {\n ...getTypography('body', theme.direction === 'rtl', 'large'),\n },\n },\n {},\n ][+!extend]),\n position: 'relative',\n zIndex: '100',\n // icon and text next to each other\n display: extend === undefined ? { xs: 'flex', lg: 'inline-flex' } : ['flex', 'inline-flex'][+!extend],\n width: extend === undefined ? { xs: '100%', lg: 'auto' } : ['100%', 'auto'][+!extend],\n gap: 0.5,\n alignItems: 'center',\n justifyContent: 'flex-start',\n py: extend === undefined ? { xs: 2, lg: 1 } : [2, 1][+!extend],\n px: extend === undefined ? { xs: 1, lg: 0.5 } : [1, 0.5][+!extend],\n transition:\n 'transform 0.3s ease-out, color 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out, opacity 0.3s ease-out',\n // size of icon\n '& .MuiSvgIcon-root': {\n fontSize: '14px',\n },\n // bottom border\n '&:after': {\n content: extend === undefined ? { xs: 'none', lg: '\"\"' } : ['none', '\"\"'][+!extend],\n position: 'absolute',\n left: '0',\n right: '0',\n // move directly into border of appbar\n bottom: '0',\n height: '1px',\n backgroundColor: 'transparent.transparent',\n ...(active && {\n height: '2px',\n backgroundColor: 'text.primary',\n }),\n },\n // disabled style\n '&.Mui-disabled': {\n color: 'disabled.tertiary',\n },\n // interactive style\n ...getInteractiveStyle(\n {\n color: theme.palette.mode === 'dark' ? 'onSurface.os300' : 'onSurface.os700',\n '&&:after': {\n backgroundColor: 'transparent.transparent',\n },\n '& .FlowHeaderNavigationLink-label': {\n opacity: '1',\n },\n '& .FlowHeaderNavigationLink-selectedLabel': {\n opacity: '0',\n },\n // active state is same as hover state\n ...(active && {\n color: 'text.primary',\n '&&:after': {\n backgroundColor: 'text.primary',\n },\n '& .FlowHeaderNavigationLink-label': {\n opacity: '0',\n },\n '& .FlowHeaderNavigationLink-selectedLabel': {\n opacity: '1',\n },\n }),\n },\n {\n color: 'text.primary',\n '&&:after': {\n backgroundColor: 'text.primary',\n },\n '& .FlowHeaderNavigationLink-label': {\n opacity: '0',\n },\n '& .FlowHeaderNavigationLink-selectedLabel': {\n opacity: '1',\n },\n },\n ),\n ...getFocusRingStyle(theme),\n // adjust focus ring\n '&&:before': {\n borderRadius: '4px',\n // make sure top border is not cropped\n top: extend === undefined ? { xs: '0', lg: '2px' } : ['0', '2px'][+!extend],\n bottom: extend === undefined ? { xs: '0', lg: '-2px' } : ['0', '-2px'][+!extend],\n },\n },\n sx,\n )}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n data-testid=\"HeaderNavigationLink\"\n {...rest}\n >\n {(children || label) && (\n <Box\n className=\"FlowHeaderNavigationLink-labelWrapper\"\n sx={sxOverride(\n {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n position: 'relative',\n },\n labelWrapperSx,\n )}\n {...restLabelWrapper}\n >\n <Box\n className=\"FlowHeaderNavigationLink-label\"\n sx={sxOverride(\n {\n position: 'absolute',\n left: extend === undefined ? { xs: '0', lg: 'auto' } : ['0', 'auto'][+!extend],\n },\n labelSx,\n )}\n {...restLabel}\n >\n {children || label}\n </Box>\n <Box\n className=\"FlowHeaderNavigationLink-selectedLabel\"\n sx={sxOverride(\n {\n fontWeight: '700',\n opacity: '0',\n position: 'relative',\n },\n selectedLabelSx,\n )}\n aria-hidden=\"true\"\n {...restSelectedLabel}\n >\n {children || label}\n </Box>\n </Box>\n )}\n {linkIcon}\n </ButtonBase>\n );\n },\n);\n"],"names":["HeaderNavigationLink","forwardRef","sx","children","label","icon","active","external","extend","labelWrapperProps","labelProps","selectedLabelProps","rest","ref","theme","useTheme","labelWrapperSx","restLabelWrapper","labelSx","restLabel","selectedLabelSx","restSelectedLabel","linkIcon","useMemo","_jsx","ArrowTopRightIcon","_jsxs","ButtonBase","sxOverride","typography","list","undefined","breakpoints","down","getTypography","direction","position","zIndex","display","xs","lg","width","gap","alignItems","justifyContent","py","px","transition","fontSize","content","left","right","bottom","height","backgroundColor","color","getInteractiveStyle","palette","mode","opacity","getFocusRingStyle","borderRadius","top","Box","className","textAlign","fontWeight"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("@mui/material"),o=require("../icon/stroke/ChevronDownIcon.js"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),n=require("@mui/material"),t=require("../../utils/sxOverride/sxOverride.js"),o=require("../icon/stroke/ChevronDownIcon.js"),i=require("./HeaderNavigationLink.js"),s=require("../../materialui/button/interactive.js");const a=r.forwardRef(({children:a,sx:l,label:u,icon:c,onClick:d,extend:x,menuItems:f,menuProps:v,collapseProps:g,clickAwayListenerProps:p,...m},h)=>{const k=r.useRef(null),[j,C]=r.useState(null),w=n.useTheme(),S=n.useMediaQuery(w.breakpoints.down("lg")),b=void 0===x?S:x,{sx:q,...M}=g??{};return e.jsxs(e.Fragment,{children:[e.jsx(i.HeaderNavigationLink,{active:!!j,extend:x,icon:c||e.jsx(o.ChevronDownIcon,{sx:{"&&&":{fontSize:void 0===x?{xs:"20px",lg:"14px"}:["20px","14px"][+!x]},color:void 0===x?{xs:"dark"===w.palette.mode?"onSurface.os300":"onSurface.os700",lg:"currentColor"}:["dark"===w.palette.mode?"onSurface.os300":"onSurface.os700","currentColor"][+!x],transform:`rotate(${j?"180":"0"}deg)`,transition:void 0===x?{xs:w.transitions.create("transform",{duration:w.transitions.duration.shortest}),lg:"none"}:[w.transitions.create("transform",{duration:w.transitions.duration.shortest}),"none"][+!x]}}),onClick:e=>{d?.(e),C(r=>r?null:e.currentTarget)},sx:t.sxOverride({justifyContent:void 0===x?{xs:"space-between",lg:"flex-start"}:["space-between","flex-start"][+!x]},l),ref:h??k,"data-testid":"HeaderNavigationMenu",...m,children:u}),b?e.jsx(n.ClickAwayListener,{onClickAway:e=>{!(h??k)?.current?.contains(e?.target)&&C(null)},...p,children:e.jsx(n.Collapse,{in:!!j,sx:t.sxOverride({"& .MuiMenuItem-root":{...s.getInteractiveStyle({background:"none",fontWeight:"300",color:"dark"===w.palette.mode?"onSurface.os300":"onSurface.os700"},{background:"none",fontWeight:"700",color:"currentColor"})}},q),...M,children:e.jsx(n.MenuList,{children:a||f})})}):e.jsx(n.Menu,{open:!!j,anchorEl:j,onClose:()=>C(null),...v,children:a||f})]})});exports.HeaderNavigationMenu=a;
|
|
2
2
|
//# sourceMappingURL=HeaderNavigationMenu.js.map
|