@megafon/ui-shared 8.14.0 → 8.14.2
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/dist/es/components/AccordionBox/AccordionBox.css +1 -0
- package/dist/es/components/AccordionBox/AccordionBox.d.ts +49 -0
- package/dist/es/components/AccordionBox/AccordionBox.js +42 -0
- package/dist/es/components/AudioPlayer/AudioPlayer.d.ts +10 -0
- package/dist/es/components/AudioPlayer/AudioPlayer.js +107 -0
- package/dist/es/components/AudioPlayer/AudioProgress.d.ts +14 -0
- package/dist/es/components/AudioPlayer/AudioProgress.js +96 -0
- package/dist/es/components/AudioPlayer/AudioRange.d.ts +15 -0
- package/dist/es/components/AudioPlayer/AudioRange.js +31 -0
- package/dist/es/components/AudioPlayer/AudioVolume.d.ts +7 -0
- package/dist/es/components/AudioPlayer/AudioVolume.js +77 -0
- package/dist/es/components/AudioPlayer/hooks/useTrackDuration.d.ts +3 -0
- package/dist/es/components/AudioPlayer/hooks/useTrackDuration.js +26 -0
- package/dist/es/components/AudioPlayer/style/AudioPlayer.css +1 -0
- package/dist/es/components/AudioPlayer/style/AudioProgress.css +1 -0
- package/dist/es/components/AudioPlayer/style/AudioRange.css +1 -0
- package/dist/es/components/AudioPlayer/style/AudioVolume.css +1 -0
- package/dist/es/components/AudioPlayer/timerFormatUtil.d.ts +2 -0
- package/dist/es/components/AudioPlayer/timerFormatUtil.js +25 -0
- package/dist/es/components/BannerBox/BannerBox.d.ts +5 -0
- package/dist/es/components/BannerBox/BannerBox.js +22 -0
- package/dist/es/components/BenefitsIcons/BenefitsIcons.d.ts +30 -0
- package/dist/es/components/BenefitsIcons/BenefitsIcons.js +104 -0
- package/dist/es/components/BenefitsIcons/BenefitsIconsTile.d.ts +10 -0
- package/dist/es/components/BenefitsIcons/BenefitsIconsTile.js +51 -0
- package/dist/es/components/BenefitsIcons/helpers.d.ts +8 -0
- package/dist/es/components/BenefitsIcons/helpers.js +102 -0
- package/dist/es/components/BenefitsIcons/style/BenefitsIcons.css +1 -0
- package/dist/es/components/BenefitsIcons/style/BenefitsIconsTile.css +1 -0
- package/dist/es/components/BenefitsIcons/types.d.ts +54 -0
- package/dist/es/components/BenefitsIcons/types.js +17 -0
- package/dist/es/components/BenefitsPictures/BenefitsPictures.d.ts +27 -0
- package/dist/es/components/BenefitsPictures/BenefitsPictures.js +111 -0
- package/dist/es/components/BenefitsPictures/BenfitsPictures.css +1 -0
- package/dist/es/components/BenefitsPictures/helpers.d.ts +11 -0
- package/dist/es/components/BenefitsPictures/helpers.js +85 -0
- package/dist/es/components/BenefitsPictures/types.d.ts +24 -0
- package/dist/es/components/BenefitsPictures/types.js +1 -0
- package/dist/es/components/BlogBox/BlogBox.css +1 -0
- package/dist/es/components/BlogBox/BlogBox.d.ts +31 -0
- package/dist/es/components/BlogBox/BlogBox.js +72 -0
- package/dist/es/components/BlogBox/components/BlogBoxTile.css +1 -0
- package/dist/es/components/BlogBox/components/BlogBoxTile.d.ts +13 -0
- package/dist/es/components/BlogBox/components/BlogBoxTile.js +61 -0
- package/dist/es/components/BlogBox/types.d.ts +37 -0
- package/dist/es/components/BlogBox/types.js +1 -0
- package/dist/es/components/Breadcrumbs/Breadcrumbs.css +1 -0
- package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +43 -0
- package/dist/es/components/Breadcrumbs/Breadcrumbs.js +69 -0
- package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.css +1 -0
- package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +30 -0
- package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.js +62 -0
- package/dist/es/components/ButtonBanner/ButtonBanner.css +1 -0
- package/dist/es/components/ButtonBanner/ButtonBanner.d.ts +64 -0
- package/dist/es/components/ButtonBanner/ButtonBanner.js +96 -0
- package/dist/es/components/ButtonLinkBox/ButtonLinkBox.css +1 -0
- package/dist/es/components/ButtonLinkBox/ButtonLinkBox.d.ts +52 -0
- package/dist/es/components/ButtonLinkBox/ButtonLinkBox.js +65 -0
- package/dist/es/components/ButtonsBox/ButtonsBox.css +1 -0
- package/dist/es/components/ButtonsBox/ButtonsBox.d.ts +48 -0
- package/dist/es/components/ButtonsBox/ButtonsBox.js +47 -0
- package/dist/es/components/Card/Card.css +1 -0
- package/dist/es/components/Card/Card.d.ts +55 -0
- package/dist/es/components/Card/Card.js +229 -0
- package/dist/es/components/Card/types.d.ts +86 -0
- package/dist/es/components/Card/types.js +1 -0
- package/dist/es/components/CardsBox/CardsBox.d.ts +14 -0
- package/dist/es/components/CardsBox/CardsBox.js +26 -0
- package/dist/es/components/CardsBox/helpers.d.ts +10 -0
- package/dist/es/components/CardsBox/helpers.js +21 -0
- package/dist/es/components/CarouselBox/CarouselBox.d.ts +10 -0
- package/dist/es/components/CarouselBox/CarouselBox.js +45 -0
- package/dist/es/components/ChipsBox/ChipBox.d.ts +5 -0
- package/dist/es/components/ChipsBox/ChipBox.js +7 -0
- package/dist/es/components/ChipsBox/ChipsBox.css +1 -0
- package/dist/es/components/ChipsBox/ChipsBox.d.ts +16 -0
- package/dist/es/components/ChipsBox/ChipsBox.js +76 -0
- package/dist/es/components/Container/Container.css +1 -0
- package/dist/es/components/Container/Container.d.ts +41 -0
- package/dist/es/components/Container/Container.js +46 -0
- package/dist/es/components/DarkGradientCards/DarkGradientCards.css +1 -0
- package/dist/es/components/DarkGradientCards/DarkGradientCards.d.ts +33 -0
- package/dist/es/components/DarkGradientCards/DarkGradientCards.js +66 -0
- package/dist/es/components/DarkGradientCards/components/DarkGradientCard.css +1 -0
- package/dist/es/components/DarkGradientCards/components/DarkGradientCard.d.ts +16 -0
- package/dist/es/components/DarkGradientCards/components/DarkGradientCard.js +50 -0
- package/dist/es/components/DarkGradientCards/types.d.ts +20 -0
- package/dist/es/components/DarkGradientCards/types.js +1 -0
- package/dist/es/components/DownloadLinks/DownloadLink.css +1 -0
- package/dist/es/components/DownloadLinks/DownloadLink.d.ts +36 -0
- package/dist/es/components/DownloadLinks/DownloadLink.js +61 -0
- package/dist/es/components/DownloadLinks/DownloadLinks.css +1 -0
- package/dist/es/components/DownloadLinks/DownloadLinks.d.ts +20 -0
- package/dist/es/components/DownloadLinks/DownloadLinks.js +64 -0
- package/dist/es/components/FaqWrapper/FaqWrapper.d.ts +6 -0
- package/dist/es/components/FaqWrapper/FaqWrapper.js +9 -0
- package/dist/es/components/ImageBanner/ImageBanner.css +1 -0
- package/dist/es/components/ImageBanner/ImageBanner.d.ts +94 -0
- package/dist/es/components/ImageBanner/ImageBanner.js +164 -0
- package/dist/es/components/InfoCards/InfoCards.css +1 -0
- package/dist/es/components/InfoCards/InfoCards.d.ts +24 -0
- package/dist/es/components/InfoCards/InfoCards.js +44 -0
- package/dist/es/components/InfoCards/components/InfoCard/InfoCard.css +1 -0
- package/dist/es/components/InfoCards/components/InfoCard/InfoCard.d.ts +19 -0
- package/dist/es/components/InfoCards/components/InfoCard/InfoCard.js +85 -0
- package/dist/es/components/InfoCards/types.d.ts +31 -0
- package/dist/es/components/InfoCards/types.js +1 -0
- package/dist/es/components/Instructions/Instructions.css +1 -0
- package/dist/es/components/Instructions/Instructions.d.ts +120 -0
- package/dist/es/components/Instructions/Instructions.js +362 -0
- package/dist/es/components/Instructions/img/android-new.png +0 -0
- package/dist/es/components/Instructions/img/android.png +0 -0
- package/dist/es/components/Instructions/img/blackIphone.png +0 -0
- package/dist/es/components/Instructions/img/iphone-new.png +0 -0
- package/dist/es/components/Instructions/img/iphone12.png +0 -0
- package/dist/es/components/Instructions/img/iphone15.png +0 -0
- package/dist/es/components/Instructions/img/laptop-new.png +0 -0
- package/dist/es/components/Instructions/img/laptop.png +0 -0
- package/dist/es/components/Instructions/img/newIphone.png +0 -0
- package/dist/es/components/Instructions/img/whiteIphone.png +0 -0
- package/dist/es/components/NotificationBox/NotificationBox.css +1 -0
- package/dist/es/components/NotificationBox/NotificationBox.d.ts +15 -0
- package/dist/es/components/NotificationBox/NotificationBox.js +35 -0
- package/dist/es/components/NumbersBox/NumbersBox.css +1 -0
- package/dist/es/components/NumbersBox/NumbersBox.d.ts +35 -0
- package/dist/es/components/NumbersBox/NumbersBox.js +72 -0
- package/dist/es/components/NumbersBox/components/NumbersCard/NumbersCard.css +1 -0
- package/dist/es/components/NumbersBox/components/NumbersCard/NumbersCard.d.ts +16 -0
- package/dist/es/components/NumbersBox/components/NumbersCard/NumbersCard.js +28 -0
- package/dist/es/components/NumbersBox/types.d.ts +7 -0
- package/dist/es/components/NumbersBox/types.js +1 -0
- package/dist/es/components/PageTitle/PageTitle.css +1 -0
- package/dist/es/components/PageTitle/PageTitle.d.ts +36 -0
- package/dist/es/components/PageTitle/PageTitle.js +74 -0
- package/dist/es/components/Partners/Partners.css +1 -0
- package/dist/es/components/Partners/Partners.d.ts +37 -0
- package/dist/es/components/Partners/Partners.js +111 -0
- package/dist/es/components/PictureBox/PictureBox.css +1 -0
- package/dist/es/components/PictureBox/PictureBox.d.ts +48 -0
- package/dist/es/components/PictureBox/PictureBox.js +96 -0
- package/dist/es/components/PictureBox/img/mac-book-1x.png +0 -0
- package/dist/es/components/PictureBox/img/mac-book-2x.png +0 -0
- package/dist/es/components/PictureWithDescription/PictureWithDescription.css +1 -0
- package/dist/es/components/PictureWithDescription/PictureWithDescription.d.ts +32 -0
- package/dist/es/components/PictureWithDescription/PictureWithDescription.js +48 -0
- package/dist/es/components/PromoBanner/PromoBanner.d.ts +5 -0
- package/dist/es/components/PromoBanner/PromoBanner.js +26 -0
- package/dist/es/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.css +1 -0
- package/dist/es/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.d.ts +82 -0
- package/dist/es/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.js +142 -0
- package/dist/es/components/PromoCards/PromoCards.d.ts +33 -0
- package/dist/es/components/PromoCards/PromoCards.js +61 -0
- package/dist/es/components/PromoCards/components/PromoCard/PromoCard.css +1 -0
- package/dist/es/components/PromoCards/components/PromoCard/PromoCard.d.ts +25 -0
- package/dist/es/components/PromoCards/components/PromoCard/PromoCard.js +175 -0
- package/dist/es/components/PromoCards/types.d.ts +62 -0
- package/dist/es/components/PromoCards/types.js +1 -0
- package/dist/es/components/Property/Property.d.ts +5 -0
- package/dist/es/components/Property/Property.js +10 -0
- package/dist/es/components/ServiceCards/ServiceCards.css +1 -0
- package/dist/es/components/ServiceCards/ServiceCards.d.ts +28 -0
- package/dist/es/components/ServiceCards/ServiceCards.js +42 -0
- package/dist/es/components/ServiceCards/components/ServiceCard/ServiceCard.css +1 -0
- package/dist/es/components/ServiceCards/components/ServiceCard/ServiceCard.d.ts +19 -0
- package/dist/es/components/ServiceCards/components/ServiceCard/ServiceCard.js +81 -0
- package/dist/es/components/ServiceCards/types.d.ts +26 -0
- package/dist/es/components/ServiceCards/types.js +1 -0
- package/dist/es/components/SidePictureCards/SidePictureCards.d.ts +31 -0
- package/dist/es/components/SidePictureCards/SidePictureCards.js +69 -0
- package/dist/es/components/SidePictureCards/components/SidePictureCard.css +1 -0
- package/dist/es/components/SidePictureCards/components/SidePictureCard.d.ts +18 -0
- package/dist/es/components/SidePictureCards/components/SidePictureCard.js +94 -0
- package/dist/es/components/SidePictureCards/types.d.ts +48 -0
- package/dist/es/components/SidePictureCards/types.js +1 -0
- package/dist/es/components/Stepper/Stepper.css +1 -0
- package/dist/es/components/Stepper/Stepper.d.ts +52 -0
- package/dist/es/components/Stepper/Stepper.js +159 -0
- package/dist/es/components/Stepper/StepperItem.css +1 -0
- package/dist/es/components/Stepper/StepperItem.d.ts +57 -0
- package/dist/es/components/Stepper/StepperItem.js +99 -0
- package/dist/es/components/Stepper/img/separator-mobile.png +0 -0
- package/dist/es/components/Stepper/img/separator-vertical.png +0 -0
- package/dist/es/components/Stepper/img/separator.png +0 -0
- package/dist/es/components/Steps/Steps.css +1 -0
- package/dist/es/components/Steps/Steps.d.ts +21 -0
- package/dist/es/components/Steps/Steps.js +32 -0
- package/dist/es/components/Steps/StepsItem.css +1 -0
- package/dist/es/components/Steps/StepsItem.d.ts +10 -0
- package/dist/es/components/Steps/StepsItem.js +21 -0
- package/dist/es/components/StoreBanner/StoreBanner.css +1 -0
- package/dist/es/components/StoreBanner/StoreBanner.d.ts +101 -0
- package/dist/es/components/StoreBanner/StoreBanner.js +200 -0
- package/dist/es/components/StoreBanner/img/android.png +0 -0
- package/dist/es/components/StoreBanner/img/black-iphone.png +0 -0
- package/dist/es/components/StoreBanner/img/iphone12.png +0 -0
- package/dist/es/components/StoreBanner/img/new-iphone.png +0 -0
- package/dist/es/components/StoreBanner/img/white-iphone.png +0 -0
- package/dist/es/components/StoreButton/StoreButton.css +1 -0
- package/dist/es/components/StoreButton/StoreButton.d.ts +36 -0
- package/dist/es/components/StoreButton/StoreButton.js +60 -0
- package/dist/es/components/StoreButton/img/app-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/app-store.png +0 -0
- package/dist/es/components/StoreButton/img/galaxy-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/galaxy-store.png +0 -0
- package/dist/es/components/StoreButton/img/google-play-large.png +0 -0
- package/dist/es/components/StoreButton/img/google-play.png +0 -0
- package/dist/es/components/StoreButton/img/huawei-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/huawei-store.png +0 -0
- package/dist/es/components/StoreButton/img/mi-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/mi-store.png +0 -0
- package/dist/es/components/StoreButton/img/ru-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/ru-store.png +0 -0
- package/dist/es/components/StoreButton/img/v-appstore-large.png +0 -0
- package/dist/es/components/StoreButton/img/v-appstore.png +0 -0
- package/dist/es/components/Table/Table.css +1 -0
- package/dist/es/components/Table/Table.d.ts +18 -0
- package/dist/es/components/Table/Table.js +127 -0
- package/dist/es/components/Table/TableCell.d.ts +6 -0
- package/dist/es/components/Table/TableCell.js +6 -0
- package/dist/es/components/Table/TableRow.d.ts +11 -0
- package/dist/es/components/Table/TableRow.js +7 -0
- package/dist/es/components/TabsBox/TabBox.d.ts +2 -0
- package/dist/es/components/TabsBox/TabBox.js +2 -0
- package/dist/es/components/TabsBox/TabsBox.d.ts +8 -0
- package/dist/es/components/TabsBox/TabsBox.js +24 -0
- package/dist/es/components/TextBox/TextBox.css +1 -0
- package/dist/es/components/TextBox/TextBox.d.ts +17 -0
- package/dist/es/components/TextBox/TextBox.js +43 -0
- package/dist/es/components/TextBox/TextBoxPicture.css +1 -0
- package/dist/es/components/TextBox/TextBoxPicture.d.ts +21 -0
- package/dist/es/components/TextBox/TextBoxPicture.js +30 -0
- package/dist/es/components/TextWithIcon/TextWithIcon.css +1 -0
- package/dist/es/components/TextWithIcon/TextWithIcon.d.ts +21 -0
- package/dist/es/components/TextWithIcon/TextWithIcon.js +41 -0
- package/dist/es/components/TextWithIcon/TextWithIconItem.css +1 -0
- package/dist/es/components/TextWithIcon/TextWithIconItem.d.ts +25 -0
- package/dist/es/components/TextWithIcon/TextWithIconItem.js +40 -0
- package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.css +1 -0
- package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +22 -0
- package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.js +60 -0
- package/dist/es/components/VideoBanner/VideoBanner.css +1 -0
- package/dist/es/components/VideoBanner/VideoBanner.d.ts +112 -0
- package/dist/es/components/VideoBanner/VideoBanner.js +245 -0
- package/dist/es/components/VideoBlock/VideoBlock.css +1 -0
- package/dist/es/components/VideoBlock/VideoBlock.d.ts +63 -0
- package/dist/es/components/VideoBlock/VideoBlock.js +230 -0
- package/dist/es/constants/throttleTime.d.ts +4 -0
- package/dist/es/constants/throttleTime.js +3 -0
- package/dist/es/helpers/getColumnConfig.d.ts +6 -0
- package/dist/es/helpers/getColumnConfig.js +10 -0
- package/dist/es/helpers/setRelAttribute.d.ts +3 -0
- package/dist/es/helpers/setRelAttribute.js +9 -0
- package/dist/es/hooks/useResolutions.d.ts +8 -0
- package/dist/es/hooks/useResolutions.js +62 -0
- package/dist/es/index.d.ts +67 -0
- package/dist/es/index.js +67 -0
- package/dist/lib/components/AccordionBox/AccordionBox.css +1 -0
- package/dist/lib/components/AccordionBox/AccordionBox.d.ts +49 -0
- package/dist/lib/components/AccordionBox/AccordionBox.js +51 -0
- package/dist/lib/components/AudioPlayer/AudioPlayer.d.ts +10 -0
- package/dist/lib/components/AudioPlayer/AudioPlayer.js +116 -0
- package/dist/lib/components/AudioPlayer/AudioProgress.d.ts +14 -0
- package/dist/lib/components/AudioPlayer/AudioProgress.js +102 -0
- package/dist/lib/components/AudioPlayer/AudioRange.d.ts +15 -0
- package/dist/lib/components/AudioPlayer/AudioRange.js +37 -0
- package/dist/lib/components/AudioPlayer/AudioVolume.d.ts +7 -0
- package/dist/lib/components/AudioPlayer/AudioVolume.js +83 -0
- package/dist/lib/components/AudioPlayer/hooks/useTrackDuration.d.ts +3 -0
- package/dist/lib/components/AudioPlayer/hooks/useTrackDuration.js +33 -0
- package/dist/lib/components/AudioPlayer/style/AudioPlayer.css +1 -0
- package/dist/lib/components/AudioPlayer/style/AudioProgress.css +1 -0
- package/dist/lib/components/AudioPlayer/style/AudioRange.css +1 -0
- package/dist/lib/components/AudioPlayer/style/AudioVolume.css +1 -0
- package/dist/lib/components/AudioPlayer/timerFormatUtil.d.ts +2 -0
- package/dist/lib/components/AudioPlayer/timerFormatUtil.js +31 -0
- package/dist/lib/components/BannerBox/BannerBox.d.ts +5 -0
- package/dist/lib/components/BannerBox/BannerBox.js +31 -0
- package/dist/lib/components/BenefitsIcons/BenefitsIcons.d.ts +30 -0
- package/dist/lib/components/BenefitsIcons/BenefitsIcons.js +113 -0
- package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.d.ts +10 -0
- package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.js +60 -0
- package/dist/lib/components/BenefitsIcons/helpers.d.ts +8 -0
- package/dist/lib/components/BenefitsIcons/helpers.js +108 -0
- package/dist/lib/components/BenefitsIcons/style/BenefitsIcons.css +1 -0
- package/dist/lib/components/BenefitsIcons/style/BenefitsIconsTile.css +1 -0
- package/dist/lib/components/BenefitsIcons/types.d.ts +54 -0
- package/dist/lib/components/BenefitsIcons/types.js +23 -0
- package/dist/lib/components/BenefitsPictures/BenefitsPictures.d.ts +27 -0
- package/dist/lib/components/BenefitsPictures/BenefitsPictures.js +120 -0
- package/dist/lib/components/BenefitsPictures/BenfitsPictures.css +1 -0
- package/dist/lib/components/BenefitsPictures/helpers.d.ts +11 -0
- package/dist/lib/components/BenefitsPictures/helpers.js +91 -0
- package/dist/lib/components/BenefitsPictures/types.d.ts +24 -0
- package/dist/lib/components/BenefitsPictures/types.js +5 -0
- package/dist/lib/components/BlogBox/BlogBox.css +1 -0
- package/dist/lib/components/BlogBox/BlogBox.d.ts +31 -0
- package/dist/lib/components/BlogBox/BlogBox.js +81 -0
- package/dist/lib/components/BlogBox/components/BlogBoxTile.css +1 -0
- package/dist/lib/components/BlogBox/components/BlogBoxTile.d.ts +13 -0
- package/dist/lib/components/BlogBox/components/BlogBoxTile.js +70 -0
- package/dist/lib/components/BlogBox/types.d.ts +37 -0
- package/dist/lib/components/BlogBox/types.js +5 -0
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +1 -0
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +43 -0
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +78 -0
- package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.css +1 -0
- package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +30 -0
- package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.js +71 -0
- package/dist/lib/components/ButtonBanner/ButtonBanner.css +1 -0
- package/dist/lib/components/ButtonBanner/ButtonBanner.d.ts +64 -0
- package/dist/lib/components/ButtonBanner/ButtonBanner.js +105 -0
- package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.css +1 -0
- package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.d.ts +52 -0
- package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.js +74 -0
- package/dist/lib/components/ButtonsBox/ButtonsBox.css +1 -0
- package/dist/lib/components/ButtonsBox/ButtonsBox.d.ts +48 -0
- package/dist/lib/components/ButtonsBox/ButtonsBox.js +56 -0
- package/dist/lib/components/Card/Card.css +1 -0
- package/dist/lib/components/Card/Card.d.ts +55 -0
- package/dist/lib/components/Card/Card.js +238 -0
- package/dist/lib/components/Card/types.d.ts +86 -0
- package/dist/lib/components/Card/types.js +5 -0
- package/dist/lib/components/CardsBox/CardsBox.d.ts +14 -0
- package/dist/lib/components/CardsBox/CardsBox.js +36 -0
- package/dist/lib/components/CardsBox/helpers.d.ts +10 -0
- package/dist/lib/components/CardsBox/helpers.js +28 -0
- package/dist/lib/components/CarouselBox/CarouselBox.d.ts +10 -0
- package/dist/lib/components/CarouselBox/CarouselBox.js +55 -0
- package/dist/lib/components/ChipsBox/ChipBox.d.ts +5 -0
- package/dist/lib/components/ChipsBox/ChipBox.js +17 -0
- package/dist/lib/components/ChipsBox/ChipsBox.css +1 -0
- package/dist/lib/components/ChipsBox/ChipsBox.d.ts +16 -0
- package/dist/lib/components/ChipsBox/ChipsBox.js +85 -0
- package/dist/lib/components/Container/Container.css +1 -0
- package/dist/lib/components/Container/Container.d.ts +41 -0
- package/dist/lib/components/Container/Container.js +54 -0
- package/dist/lib/components/DarkGradientCards/DarkGradientCards.css +1 -0
- package/dist/lib/components/DarkGradientCards/DarkGradientCards.d.ts +33 -0
- package/dist/lib/components/DarkGradientCards/DarkGradientCards.js +75 -0
- package/dist/lib/components/DarkGradientCards/components/DarkGradientCard.css +1 -0
- package/dist/lib/components/DarkGradientCards/components/DarkGradientCard.d.ts +16 -0
- package/dist/lib/components/DarkGradientCards/components/DarkGradientCard.js +59 -0
- package/dist/lib/components/DarkGradientCards/types.d.ts +20 -0
- package/dist/lib/components/DarkGradientCards/types.js +5 -0
- package/dist/lib/components/DownloadLinks/DownloadLink.css +1 -0
- package/dist/lib/components/DownloadLinks/DownloadLink.d.ts +36 -0
- package/dist/lib/components/DownloadLinks/DownloadLink.js +70 -0
- package/dist/lib/components/DownloadLinks/DownloadLinks.css +1 -0
- package/dist/lib/components/DownloadLinks/DownloadLinks.d.ts +20 -0
- package/dist/lib/components/DownloadLinks/DownloadLinks.js +73 -0
- package/dist/lib/components/FaqWrapper/FaqWrapper.d.ts +6 -0
- package/dist/lib/components/FaqWrapper/FaqWrapper.js +18 -0
- package/dist/lib/components/ImageBanner/ImageBanner.css +1 -0
- package/dist/lib/components/ImageBanner/ImageBanner.d.ts +94 -0
- package/dist/lib/components/ImageBanner/ImageBanner.js +173 -0
- package/dist/lib/components/InfoCards/InfoCards.css +1 -0
- package/dist/lib/components/InfoCards/InfoCards.d.ts +24 -0
- package/dist/lib/components/InfoCards/InfoCards.js +53 -0
- package/dist/lib/components/InfoCards/components/InfoCard/InfoCard.css +1 -0
- package/dist/lib/components/InfoCards/components/InfoCard/InfoCard.d.ts +19 -0
- package/dist/lib/components/InfoCards/components/InfoCard/InfoCard.js +94 -0
- package/dist/lib/components/InfoCards/types.d.ts +31 -0
- package/dist/lib/components/InfoCards/types.js +5 -0
- package/dist/lib/components/Instructions/Instructions.css +1 -0
- package/dist/lib/components/Instructions/Instructions.d.ts +120 -0
- package/dist/lib/components/Instructions/Instructions.js +371 -0
- package/dist/lib/components/Instructions/img/android-new.png +0 -0
- package/dist/lib/components/Instructions/img/android.png +0 -0
- package/dist/lib/components/Instructions/img/blackIphone.png +0 -0
- package/dist/lib/components/Instructions/img/iphone-new.png +0 -0
- package/dist/lib/components/Instructions/img/iphone12.png +0 -0
- package/dist/lib/components/Instructions/img/iphone15.png +0 -0
- package/dist/lib/components/Instructions/img/laptop-new.png +0 -0
- package/dist/lib/components/Instructions/img/laptop.png +0 -0
- package/dist/lib/components/Instructions/img/newIphone.png +0 -0
- package/dist/lib/components/Instructions/img/whiteIphone.png +0 -0
- package/dist/lib/components/NotificationBox/NotificationBox.css +1 -0
- package/dist/lib/components/NotificationBox/NotificationBox.d.ts +15 -0
- package/dist/lib/components/NotificationBox/NotificationBox.js +44 -0
- package/dist/lib/components/NumbersBox/NumbersBox.css +1 -0
- package/dist/lib/components/NumbersBox/NumbersBox.d.ts +35 -0
- package/dist/lib/components/NumbersBox/NumbersBox.js +81 -0
- package/dist/lib/components/NumbersBox/components/NumbersCard/NumbersCard.css +1 -0
- package/dist/lib/components/NumbersBox/components/NumbersCard/NumbersCard.d.ts +16 -0
- package/dist/lib/components/NumbersBox/components/NumbersCard/NumbersCard.js +37 -0
- package/dist/lib/components/NumbersBox/types.d.ts +7 -0
- package/dist/lib/components/NumbersBox/types.js +5 -0
- package/dist/lib/components/PageTitle/PageTitle.css +1 -0
- package/dist/lib/components/PageTitle/PageTitle.d.ts +36 -0
- package/dist/lib/components/PageTitle/PageTitle.js +83 -0
- package/dist/lib/components/Partners/Partners.css +1 -0
- package/dist/lib/components/Partners/Partners.d.ts +37 -0
- package/dist/lib/components/Partners/Partners.js +120 -0
- package/dist/lib/components/PictureBox/PictureBox.css +1 -0
- package/dist/lib/components/PictureBox/PictureBox.d.ts +48 -0
- package/dist/lib/components/PictureBox/PictureBox.js +105 -0
- package/dist/lib/components/PictureBox/img/mac-book-1x.png +0 -0
- package/dist/lib/components/PictureBox/img/mac-book-2x.png +0 -0
- package/dist/lib/components/PictureWithDescription/PictureWithDescription.css +1 -0
- package/dist/lib/components/PictureWithDescription/PictureWithDescription.d.ts +32 -0
- package/dist/lib/components/PictureWithDescription/PictureWithDescription.js +56 -0
- package/dist/lib/components/PromoBanner/PromoBanner.d.ts +5 -0
- package/dist/lib/components/PromoBanner/PromoBanner.js +36 -0
- package/dist/lib/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.css +1 -0
- package/dist/lib/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.d.ts +82 -0
- package/dist/lib/components/PromoBanner/components/PromoBannerSlide/PromoBannerSlide.js +151 -0
- package/dist/lib/components/PromoCards/PromoCards.d.ts +33 -0
- package/dist/lib/components/PromoCards/PromoCards.js +71 -0
- package/dist/lib/components/PromoCards/components/PromoCard/PromoCard.css +1 -0
- package/dist/lib/components/PromoCards/components/PromoCard/PromoCard.d.ts +25 -0
- package/dist/lib/components/PromoCards/components/PromoCard/PromoCard.js +184 -0
- package/dist/lib/components/PromoCards/types.d.ts +62 -0
- package/dist/lib/components/PromoCards/types.js +5 -0
- package/dist/lib/components/Property/Property.d.ts +5 -0
- package/dist/lib/components/Property/Property.js +19 -0
- package/dist/lib/components/ServiceCards/ServiceCards.css +1 -0
- package/dist/lib/components/ServiceCards/ServiceCards.d.ts +28 -0
- package/dist/lib/components/ServiceCards/ServiceCards.js +51 -0
- package/dist/lib/components/ServiceCards/components/ServiceCard/ServiceCard.css +1 -0
- package/dist/lib/components/ServiceCards/components/ServiceCard/ServiceCard.d.ts +19 -0
- package/dist/lib/components/ServiceCards/components/ServiceCard/ServiceCard.js +90 -0
- package/dist/lib/components/ServiceCards/types.d.ts +26 -0
- package/dist/lib/components/ServiceCards/types.js +5 -0
- package/dist/lib/components/SidePictureCards/SidePictureCards.d.ts +31 -0
- package/dist/lib/components/SidePictureCards/SidePictureCards.js +79 -0
- package/dist/lib/components/SidePictureCards/components/SidePictureCard.css +1 -0
- package/dist/lib/components/SidePictureCards/components/SidePictureCard.d.ts +18 -0
- package/dist/lib/components/SidePictureCards/components/SidePictureCard.js +100 -0
- package/dist/lib/components/SidePictureCards/types.d.ts +48 -0
- package/dist/lib/components/SidePictureCards/types.js +5 -0
- package/dist/lib/components/Stepper/Stepper.css +1 -0
- package/dist/lib/components/Stepper/Stepper.d.ts +52 -0
- package/dist/lib/components/Stepper/Stepper.js +168 -0
- package/dist/lib/components/Stepper/StepperItem.css +1 -0
- package/dist/lib/components/Stepper/StepperItem.d.ts +57 -0
- package/dist/lib/components/Stepper/StepperItem.js +108 -0
- package/dist/lib/components/Stepper/img/separator-mobile.png +0 -0
- package/dist/lib/components/Stepper/img/separator-vertical.png +0 -0
- package/dist/lib/components/Stepper/img/separator.png +0 -0
- package/dist/lib/components/Steps/Steps.css +1 -0
- package/dist/lib/components/Steps/Steps.d.ts +21 -0
- package/dist/lib/components/Steps/Steps.js +40 -0
- package/dist/lib/components/Steps/StepsItem.css +1 -0
- package/dist/lib/components/Steps/StepsItem.d.ts +10 -0
- package/dist/lib/components/Steps/StepsItem.js +29 -0
- package/dist/lib/components/StoreBanner/StoreBanner.css +1 -0
- package/dist/lib/components/StoreBanner/StoreBanner.d.ts +101 -0
- package/dist/lib/components/StoreBanner/StoreBanner.js +209 -0
- package/dist/lib/components/StoreBanner/img/android.png +0 -0
- package/dist/lib/components/StoreBanner/img/black-iphone.png +0 -0
- package/dist/lib/components/StoreBanner/img/iphone12.png +0 -0
- package/dist/lib/components/StoreBanner/img/new-iphone.png +0 -0
- package/dist/lib/components/StoreBanner/img/white-iphone.png +0 -0
- package/dist/lib/components/StoreButton/StoreButton.css +1 -0
- package/dist/lib/components/StoreButton/StoreButton.d.ts +36 -0
- package/dist/lib/components/StoreButton/StoreButton.js +69 -0
- package/dist/lib/components/StoreButton/img/app-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/app-store.png +0 -0
- package/dist/lib/components/StoreButton/img/galaxy-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/galaxy-store.png +0 -0
- package/dist/lib/components/StoreButton/img/google-play-large.png +0 -0
- package/dist/lib/components/StoreButton/img/google-play.png +0 -0
- package/dist/lib/components/StoreButton/img/huawei-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/huawei-store.png +0 -0
- package/dist/lib/components/StoreButton/img/mi-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/mi-store.png +0 -0
- package/dist/lib/components/StoreButton/img/ru-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/ru-store.png +0 -0
- package/dist/lib/components/StoreButton/img/v-appstore-large.png +0 -0
- package/dist/lib/components/StoreButton/img/v-appstore.png +0 -0
- package/dist/lib/components/Table/Table.css +1 -0
- package/dist/lib/components/Table/Table.d.ts +18 -0
- package/dist/lib/components/Table/Table.js +136 -0
- package/dist/lib/components/Table/TableCell.d.ts +6 -0
- package/dist/lib/components/Table/TableCell.js +15 -0
- package/dist/lib/components/Table/TableRow.d.ts +11 -0
- package/dist/lib/components/Table/TableRow.js +17 -0
- package/dist/lib/components/TabsBox/TabBox.d.ts +2 -0
- package/dist/lib/components/TabsBox/TabBox.js +8 -0
- package/dist/lib/components/TabsBox/TabsBox.d.ts +8 -0
- package/dist/lib/components/TabsBox/TabsBox.js +33 -0
- package/dist/lib/components/TextBox/TextBox.css +1 -0
- package/dist/lib/components/TextBox/TextBox.d.ts +17 -0
- package/dist/lib/components/TextBox/TextBox.js +51 -0
- package/dist/lib/components/TextBox/TextBoxPicture.css +1 -0
- package/dist/lib/components/TextBox/TextBoxPicture.d.ts +21 -0
- package/dist/lib/components/TextBox/TextBoxPicture.js +38 -0
- package/dist/lib/components/TextWithIcon/TextWithIcon.css +1 -0
- package/dist/lib/components/TextWithIcon/TextWithIcon.d.ts +21 -0
- package/dist/lib/components/TextWithIcon/TextWithIcon.js +50 -0
- package/dist/lib/components/TextWithIcon/TextWithIconItem.css +1 -0
- package/dist/lib/components/TextWithIcon/TextWithIconItem.d.ts +25 -0
- package/dist/lib/components/TextWithIcon/TextWithIconItem.js +49 -0
- package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.css +1 -0
- package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +22 -0
- package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.js +69 -0
- package/dist/lib/components/VideoBanner/VideoBanner.css +1 -0
- package/dist/lib/components/VideoBanner/VideoBanner.d.ts +112 -0
- package/dist/lib/components/VideoBanner/VideoBanner.js +253 -0
- package/dist/lib/components/VideoBlock/VideoBlock.css +1 -0
- package/dist/lib/components/VideoBlock/VideoBlock.d.ts +63 -0
- package/dist/lib/components/VideoBlock/VideoBlock.js +238 -0
- package/dist/lib/constants/throttleTime.d.ts +4 -0
- package/dist/lib/constants/throttleTime.js +9 -0
- package/dist/lib/helpers/getColumnConfig.d.ts +6 -0
- package/dist/lib/helpers/getColumnConfig.js +16 -0
- package/dist/lib/helpers/setRelAttribute.d.ts +3 -0
- package/dist/lib/helpers/setRelAttribute.js +15 -0
- package/dist/lib/hooks/useResolutions.d.ts +8 -0
- package/dist/lib/hooks/useResolutions.js +69 -0
- package/dist/lib/index.d.ts +67 -0
- package/dist/lib/index.js +475 -0
- package/package.json +5 -5
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import "core-js/modules/es.symbol.js";
|
|
3
|
+
import "core-js/modules/es.symbol.description.js";
|
|
4
|
+
import "core-js/modules/es.array.concat.js";
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import { Button, Header, Paragraph } from '@megafon/ui-core';
|
|
7
|
+
import { cnCreate, convert, filterDataAttrs, breakpoints, titleConvertConfig, textConvertConfig } from '@megafon/ui-helpers';
|
|
8
|
+
import "./PromoBannerSlide.css";
|
|
9
|
+
export var BackgroundColor = {
|
|
10
|
+
DARK_VIOLET: 'dark-violet',
|
|
11
|
+
LIGHT_VIOLET: 'light-violet',
|
|
12
|
+
GREEN_20: 'green-20',
|
|
13
|
+
PURPLE_20: 'purple-20',
|
|
14
|
+
NIGHT_20: 'night-20',
|
|
15
|
+
FLAMINGO_20: 'flamingo-20',
|
|
16
|
+
BERRY_20: 'berry-20',
|
|
17
|
+
GRADIENT_PURPLE_1: 'gradient-purple-1',
|
|
18
|
+
GRADIENT_PURPLE_2: 'gradient-purple-2',
|
|
19
|
+
GRADIENT_PURPLE_3: 'gradient-purple-3',
|
|
20
|
+
GRADIENT_PURPLE_4: 'gradient-purple-4'
|
|
21
|
+
};
|
|
22
|
+
var getThemeSettings = function getThemeSettings(bgColor) {
|
|
23
|
+
switch (bgColor) {
|
|
24
|
+
case BackgroundColor.DARK_VIOLET:
|
|
25
|
+
case BackgroundColor.LIGHT_VIOLET:
|
|
26
|
+
return {
|
|
27
|
+
buttonColor: 'green',
|
|
28
|
+
textColor: 'inherit'
|
|
29
|
+
};
|
|
30
|
+
case BackgroundColor.GRADIENT_PURPLE_1:
|
|
31
|
+
case BackgroundColor.GRADIENT_PURPLE_2:
|
|
32
|
+
case BackgroundColor.GRADIENT_PURPLE_3:
|
|
33
|
+
case BackgroundColor.GRADIENT_PURPLE_4:
|
|
34
|
+
return {
|
|
35
|
+
buttonColor: 'white',
|
|
36
|
+
textColor: 'white'
|
|
37
|
+
};
|
|
38
|
+
default:
|
|
39
|
+
return {
|
|
40
|
+
buttonColor: 'green',
|
|
41
|
+
textColor: 'default'
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var cn = cnCreate('mfui-promo-banner-slide');
|
|
46
|
+
var PromoBannerSlide = function PromoBannerSlide(_ref) {
|
|
47
|
+
var className = _ref.className,
|
|
48
|
+
title = _ref.title,
|
|
49
|
+
description = _ref.description,
|
|
50
|
+
button = _ref.button,
|
|
51
|
+
extraButton = _ref.extraButton,
|
|
52
|
+
image = _ref.image,
|
|
53
|
+
_ref$background = _ref.background,
|
|
54
|
+
background = _ref$background === void 0 ? 'dark-violet' : _ref$background,
|
|
55
|
+
classes = _ref.classes,
|
|
56
|
+
dataAttrs = _ref.dataAttrs,
|
|
57
|
+
rootRef = _ref.rootRef;
|
|
58
|
+
var _getThemeSettings = getThemeSettings(background),
|
|
59
|
+
buttonColor = _getThemeSettings.buttonColor,
|
|
60
|
+
textColor = _getThemeSettings.textColor;
|
|
61
|
+
var renderButtons = function renderButtons() {
|
|
62
|
+
if (!button && !extraButton) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
66
|
+
className: cn('buttons-wrapper')
|
|
67
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.buttonsWrapper)), !!button && /*#__PURE__*/React.createElement(Button, {
|
|
68
|
+
theme: buttonColor,
|
|
69
|
+
href: button.href,
|
|
70
|
+
target: button.target,
|
|
71
|
+
icon: button.icon,
|
|
72
|
+
rel: button.rel,
|
|
73
|
+
classes: {
|
|
74
|
+
root: classes === null || classes === void 0 ? void 0 : classes.button
|
|
75
|
+
},
|
|
76
|
+
dataAttrs: {
|
|
77
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
|
|
78
|
+
},
|
|
79
|
+
onClick: button.onClick
|
|
80
|
+
}, button.title), !!extraButton && /*#__PURE__*/React.createElement(Button, {
|
|
81
|
+
theme: buttonColor,
|
|
82
|
+
href: extraButton.href,
|
|
83
|
+
target: extraButton.target,
|
|
84
|
+
icon: extraButton.icon,
|
|
85
|
+
rel: extraButton.rel,
|
|
86
|
+
type: "outline",
|
|
87
|
+
classes: {
|
|
88
|
+
root: classes === null || classes === void 0 ? void 0 : classes.extraButton
|
|
89
|
+
},
|
|
90
|
+
dataAttrs: {
|
|
91
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.extraButton
|
|
92
|
+
},
|
|
93
|
+
onClick: extraButton.onClick
|
|
94
|
+
}, extraButton.title));
|
|
95
|
+
};
|
|
96
|
+
var renderImage = function renderImage() {
|
|
97
|
+
var desktopSrc = image.desktopSrc,
|
|
98
|
+
desktopSrc2x = image.desktopSrc2x,
|
|
99
|
+
tabletSrc = image.tabletSrc,
|
|
100
|
+
tabletSrc2x = image.tabletSrc2x,
|
|
101
|
+
mobileSrc = image.mobileSrc,
|
|
102
|
+
mobileSrc2x = image.mobileSrc2x,
|
|
103
|
+
alt = image.alt;
|
|
104
|
+
var desktopSrcSet = desktopSrc2x ? "".concat(desktopSrc, ", ").concat(desktopSrc2x, " 2x") : desktopSrc;
|
|
105
|
+
var tabletSrcSet = tabletSrc2x ? "".concat(tabletSrc, ", ").concat(tabletSrc2x, " 2x") : tabletSrc;
|
|
106
|
+
var mobileSrcSet = mobileSrc2x ? "".concat(mobileSrc, ", ").concat(mobileSrc2x, " 2x") : mobileSrc;
|
|
107
|
+
return /*#__PURE__*/React.createElement("picture", {
|
|
108
|
+
className: cn('picture')
|
|
109
|
+
}, /*#__PURE__*/React.createElement("source", _extends({
|
|
110
|
+
media: "(min-width: ".concat(breakpoints.DESKTOP_SMALL_START, "px)"),
|
|
111
|
+
srcSet: desktopSrcSet
|
|
112
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.desktopImageSource))), /*#__PURE__*/React.createElement("source", _extends({
|
|
113
|
+
media: "(min-width: ".concat(breakpoints.MOBILE_BIG_START, "px)"),
|
|
114
|
+
srcSet: tabletSrcSet
|
|
115
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.tabletImageSource))), /*#__PURE__*/React.createElement("img", _extends({
|
|
116
|
+
className: cn('image'),
|
|
117
|
+
src: mobileSrc,
|
|
118
|
+
srcSet: mobileSrcSet,
|
|
119
|
+
alt: alt || ''
|
|
120
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.image))));
|
|
121
|
+
};
|
|
122
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
123
|
+
className: cn({
|
|
124
|
+
background: background
|
|
125
|
+
}, [classes === null || classes === void 0 ? void 0 : classes.root, className])
|
|
126
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
127
|
+
ref: rootRef
|
|
128
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
129
|
+
className: cn('container')
|
|
130
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
131
|
+
className: cn('content')
|
|
132
|
+
}, /*#__PURE__*/React.createElement(Header, {
|
|
133
|
+
className: cn('title'),
|
|
134
|
+
as: "h2",
|
|
135
|
+
color: textColor
|
|
136
|
+
}, typeof title === 'string' ? convert(title, titleConvertConfig) : title), /*#__PURE__*/React.createElement(Paragraph, {
|
|
137
|
+
className: cn('description'),
|
|
138
|
+
hasMargin: false,
|
|
139
|
+
color: textColor
|
|
140
|
+
}, typeof description === 'string' ? convert(description, textConvertConfig) : description)), renderButtons(), renderImage()));
|
|
141
|
+
};
|
|
142
|
+
export default PromoBannerSlide;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Carousel } from '@megafon/ui-core';
|
|
3
|
+
import { IPromoCardData, IPromoCardSettings } from './types';
|
|
4
|
+
type CarouselProps = React.ComponentProps<typeof Carousel>;
|
|
5
|
+
export interface IPromoCards extends IPromoCardSettings {
|
|
6
|
+
/** Список карточек. Минимальное количество 2 карточки */
|
|
7
|
+
items?: IPromoCardData[];
|
|
8
|
+
/** Тема навигации для карусели */
|
|
9
|
+
carouselNavTheme?: CarouselProps['navTheme'];
|
|
10
|
+
/** Цвет градиента для карусели */
|
|
11
|
+
carouselGradientColor?: CarouselProps['gradientColor'];
|
|
12
|
+
/** Дополнительный css класс для корневого элемента */
|
|
13
|
+
className?: string;
|
|
14
|
+
/** Дополнительные css классы для корневого и внутренних элементов */
|
|
15
|
+
classes?: {
|
|
16
|
+
root?: string;
|
|
17
|
+
card?: string;
|
|
18
|
+
cardTitle?: string;
|
|
19
|
+
};
|
|
20
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
|
21
|
+
dataAttrs?: {
|
|
22
|
+
root?: Record<string, string>;
|
|
23
|
+
card?: Record<string, string>;
|
|
24
|
+
};
|
|
25
|
+
/** Обработчик смены слайда карусели */
|
|
26
|
+
onCarouselChange?: CarouselProps['onChange'];
|
|
27
|
+
/** Ссылка на элемент */
|
|
28
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
|
29
|
+
/** Дочерние элементы. Минимальное количество 2 элемента */
|
|
30
|
+
children?: React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
declare const PromoCards: React.FC<IPromoCards>;
|
|
33
|
+
export default PromoCards;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import "core-js/modules/es.array.is-array.js";
|
|
4
|
+
import "core-js/modules/es.array.map.js";
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import { Carousel } from '@megafon/ui-core';
|
|
7
|
+
import { cnCreate, breakpoints, filterDataAttrs } from '@megafon/ui-helpers';
|
|
8
|
+
import PromoCard from "./components/PromoCard/PromoCard";
|
|
9
|
+
var slidesSettings = _defineProperty(_defineProperty(_defineProperty({}, breakpoints.MOBILE_SMALL_START, {
|
|
10
|
+
slidesPerView: 1,
|
|
11
|
+
spaceBetween: 16
|
|
12
|
+
}), breakpoints.MOBILE_BIG_START, {
|
|
13
|
+
slidesPerView: 2,
|
|
14
|
+
spaceBetween: 20
|
|
15
|
+
}), breakpoints.DESKTOP_SMALL_START, {
|
|
16
|
+
slidesPerView: 3,
|
|
17
|
+
spaceBetween: 20
|
|
18
|
+
});
|
|
19
|
+
var MIN_ITEMS_COUNT = 2;
|
|
20
|
+
var cn = cnCreate('mfui-promo-cards');
|
|
21
|
+
var PromoCards = function PromoCards(_ref) {
|
|
22
|
+
var items = _ref.items,
|
|
23
|
+
carouselNavTheme = _ref.carouselNavTheme,
|
|
24
|
+
carouselGradientColor = _ref.carouselGradientColor,
|
|
25
|
+
background = _ref.background,
|
|
26
|
+
dataAttrs = _ref.dataAttrs,
|
|
27
|
+
className = _ref.className,
|
|
28
|
+
classes = _ref.classes,
|
|
29
|
+
onCarouselChange = _ref.onCarouselChange,
|
|
30
|
+
rootRef = _ref.rootRef,
|
|
31
|
+
children = _ref.children;
|
|
32
|
+
var itemsLength = (items === null || items === void 0 ? void 0 : items.length) || 0;
|
|
33
|
+
var childrenLength = Array.isArray(children) ? children.length : 0;
|
|
34
|
+
if ((childrenLength || itemsLength) < MIN_ITEMS_COUNT) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
var renderItems = (items || []).map(function (item, i) {
|
|
38
|
+
return /*#__PURE__*/React.createElement(PromoCard, _extends({}, item, {
|
|
39
|
+
className: classes === null || classes === void 0 ? void 0 : classes.card,
|
|
40
|
+
classes: {
|
|
41
|
+
title: classes === null || classes === void 0 ? void 0 : classes.cardTitle
|
|
42
|
+
},
|
|
43
|
+
dataAttrs: {
|
|
44
|
+
root: filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.card, i + 1)
|
|
45
|
+
},
|
|
46
|
+
background: background,
|
|
47
|
+
key: i + item.title
|
|
48
|
+
}));
|
|
49
|
+
});
|
|
50
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
51
|
+
className: cn([className, classes === null || classes === void 0 ? void 0 : classes.root]),
|
|
52
|
+
ref: rootRef
|
|
53
|
+
}), /*#__PURE__*/React.createElement(Carousel, {
|
|
54
|
+
slidesSettings: slidesSettings,
|
|
55
|
+
navTheme: carouselNavTheme,
|
|
56
|
+
gradient: true,
|
|
57
|
+
gradientColor: carouselGradientColor,
|
|
58
|
+
onChange: onCarouselChange
|
|
59
|
+
}, childrenLength ? children : renderItems));
|
|
60
|
+
};
|
|
61
|
+
export default PromoCards;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
h1,h2,h3,h4,h5{margin:0}.mfui-promo-card{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;background-color:var(--base);border-radius:24px;color:var(--content);cursor:pointer;-ms-flex-direction:column;flex-direction:column;min-height:100%;text-decoration:none;-webkit-transition:background-color,.3s,.3s,-webkit-box-shadow;transition:background-color,.3s,.3s,-webkit-box-shadow;transition:background-color,.3s,box-shadow,.3s;transition:background-color,.3s,box-shadow,.3s,-webkit-box-shadow}.mfui-promo-card_background_shadow{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.mfui-promo-card_background_shadow:hover,.mfui-promo-card_background_white:hover{-webkit-box-shadow:0 8px 28px 0 rgba(0,0,0,.1);box-shadow:0 8px 28px 0 rgba(0,0,0,.1);text-decoration:none}.mfui-promo-card_background_gray{background-color:var(--spbSky0)}.mfui-promo-card_background_gray:hover{background-color:var(--spbSky1);text-decoration:none}.mfui-promo-card__ad-title{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--stcBlack20);border:none;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--stcWhite);cursor:pointer;font-family:inherit;font-size:12px;line-height:18px;margin:0;outline:none;padding:1px 8px 3px;position:absolute;right:16px;text-decoration:none;top:16px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfui-promo-card__ad-tooltip{max-width:232px}.mfui-promo-card__ad-tooltip-content{font-size:12px;line-height:18px}.mfui-promo-card__image{border-radius:inherit;vertical-align:top;width:100%}.mfui-promo-card__content{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:32px 24px}@media screen and (min-width:1280px){.mfui-promo-card__content{padding:32px}}.mfui-promo-card__badge{left:24px;position:absolute;top:0;translate:0 -50%}@media screen and (min-width:1280px){.mfui-promo-card__badge{left:32px}}.mfui-promo-card__logo{background-color:var(--base);border:4px solid var(--base);border-radius:50%;position:absolute;right:44px;top:0;-webkit-transition:border-color,.3s;transition:border-color,.3s;translate:0 -50%}@media screen and (min-width:1280px){.mfui-promo-card__logo{right:52px}}.mfui-promo-card__logo:after,.mfui-promo-card__logo:before{content:"";height:10px;position:absolute;top:50%;translate:0 -100%;width:10px}.mfui-promo-card__logo:before{background-image:radial-gradient(circle at 0 0,transparent 9px,var(--base) 10px);left:-12px}.mfui-promo-card__logo:after{background-image:radial-gradient(circle at 100% 0,transparent 9px,var(--base) 10px);right:-12px}.mfui-promo-card_background_gray .mfui-promo-card__logo{background-color:var(--spbSky0);border-color:var(--spbSky0)}.mfui-promo-card_background_gray .mfui-promo-card__logo:before{background-image:radial-gradient(circle at 0 0,transparent 9px,var(--spbSky0) 10px)}.mfui-promo-card_background_gray .mfui-promo-card__logo:after{background-image:radial-gradient(circle at 100% 0,transparent 9px,var(--spbSky0) 10px)}.mfui-promo-card_background_gray:hover .mfui-promo-card__logo{background-color:var(--spbSky1);border-color:var(--spbSky1)}.mfui-promo-card_background_gray:hover .mfui-promo-card__logo:before{background-image:radial-gradient(circle at 0 0,transparent 9px,var(--spbSky1) 10px)}.mfui-promo-card_background_gray:hover .mfui-promo-card__logo:after{background-image:radial-gradient(circle at 100% 0,transparent 9px,var(--spbSky1) 10px)}.mfui-promo-card__logo-img{border:1px solid var(--spbSky1);border-radius:inherit;height:56px;vertical-align:top;width:56px}@media screen and (min-width:768px){.mfui-promo-card__logo-img{height:64px;width:64px}}@media screen and (min-width:1280px){.mfui-promo-card__logo-img{height:72px;width:72px}}.mfui-promo-card__subtitle{margin-top:8px}.mfui-promo-card__list{font-size:15px;font-weight:400;line-height:24px;list-style:none;margin:8px 0 0;padding:0}.mfui-promo-card__list-item{margin:0;padding:0 0 0 20px;position:relative}.mfui-promo-card__list-item:before{background-color:var(--spbSky2);border-radius:50%;content:"";height:6px;left:1px;position:absolute;top:9px;width:6px}.mfui-promo-card__list-item:not(:last-child){margin-bottom:12px}.mfui-promo-card__list-item b{font-weight:500}.mfui-promo-card__footer{margin-top:auto;padding-top:16px}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { IPromoCardData, IPromoCardSettings } from '../../types';
|
|
3
|
+
import './PromoCard.scss';
|
|
4
|
+
export interface IPromoCard extends IPromoCardData, IPromoCardSettings {
|
|
5
|
+
/** Дополнительный css класс для корневого элемента */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Дополнительные css классы для корневого элемента */
|
|
8
|
+
classes?: {
|
|
9
|
+
root?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
};
|
|
12
|
+
/** Дополнительные data атрибуты к корневому и внутренним элементам */
|
|
13
|
+
dataAttrs?: {
|
|
14
|
+
root?: Record<string, string>;
|
|
15
|
+
image?: Record<string, string>;
|
|
16
|
+
badge?: Record<string, string>;
|
|
17
|
+
logo?: Record<string, string>;
|
|
18
|
+
title?: Record<string, string>;
|
|
19
|
+
subtitle?: Record<string, string>;
|
|
20
|
+
list?: Record<string, string>;
|
|
21
|
+
adTitle?: Record<string, string>;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
declare const PromoCard: React.FC<IPromoCard>;
|
|
25
|
+
export default PromoCard;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import "core-js/modules/es.symbol.js";
|
|
3
|
+
import "core-js/modules/es.array.concat.js";
|
|
4
|
+
import "core-js/modules/es.array.index-of.js";
|
|
5
|
+
import "core-js/modules/es.array.map.js";
|
|
6
|
+
import "core-js/modules/es.string.link.js";
|
|
7
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
8
|
+
var t = {};
|
|
9
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
10
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
11
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
import * as React from 'react';
|
|
16
|
+
import { Button, Header, Paragraph, PriceBadge, PromoBadge, Tooltip } from '@megafon/ui-core';
|
|
17
|
+
import { cnCreate, convert, filterDataAttrs } from '@megafon/ui-helpers';
|
|
18
|
+
import { setRelAttribute } from "../../../../helpers/setRelAttribute";
|
|
19
|
+
import "./PromoCard.css";
|
|
20
|
+
var listItemConvertConfig = {
|
|
21
|
+
b: {
|
|
22
|
+
component: function component(_ref) {
|
|
23
|
+
var children = _ref.children;
|
|
24
|
+
return /*#__PURE__*/React.createElement("b", null, children);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var cn = cnCreate('mfui-promo-card');
|
|
29
|
+
var PromoCard = function PromoCard(_ref2) {
|
|
30
|
+
var title = _ref2.title,
|
|
31
|
+
subtitle = _ref2.subtitle,
|
|
32
|
+
_ref2$list = _ref2.list,
|
|
33
|
+
list = _ref2$list === void 0 ? [] : _ref2$list,
|
|
34
|
+
link = _ref2.link,
|
|
35
|
+
_ref2$background = _ref2.background,
|
|
36
|
+
background = _ref2$background === void 0 ? 'shadow' : _ref2$background,
|
|
37
|
+
image = _ref2.image,
|
|
38
|
+
logo = _ref2.logo,
|
|
39
|
+
badge = _ref2.badge,
|
|
40
|
+
_ref2$promoBadge = _ref2.promoBadge,
|
|
41
|
+
promoBadge = _ref2$promoBadge === void 0 ? null : _ref2$promoBadge,
|
|
42
|
+
_ref2$priceBadge = _ref2.priceBadge,
|
|
43
|
+
priceBadge = _ref2$priceBadge === void 0 ? null : _ref2$priceBadge,
|
|
44
|
+
_ref2$adMark = _ref2.adMark,
|
|
45
|
+
adMark = _ref2$adMark === void 0 ? null : _ref2$adMark,
|
|
46
|
+
className = _ref2.className,
|
|
47
|
+
classes = _ref2.classes,
|
|
48
|
+
dataAttrs = _ref2.dataAttrs,
|
|
49
|
+
onClick = _ref2.onClick;
|
|
50
|
+
var adTriggerRef = React.useRef(null);
|
|
51
|
+
var imageSrc = image.src,
|
|
52
|
+
imageSrc2x = image.src2x,
|
|
53
|
+
imageAlt = image.alt;
|
|
54
|
+
var linkHref = link.href,
|
|
55
|
+
_link$target = link.target,
|
|
56
|
+
linkTarget = _link$target === void 0 ? '_self' : _link$target,
|
|
57
|
+
linkRel = link.rel,
|
|
58
|
+
linkTitle = link.title;
|
|
59
|
+
var _ref3 = promoBadge || {},
|
|
60
|
+
promoBadgeText = _ref3.text,
|
|
61
|
+
promoBadgeColor = _ref3.color;
|
|
62
|
+
var _ref4 = priceBadge || {},
|
|
63
|
+
priceBadgeText = _ref4.text,
|
|
64
|
+
priceBadgeIcon = _ref4.iconType,
|
|
65
|
+
priceBadgeTheme = _ref4.theme;
|
|
66
|
+
var imageSrcSet = imageSrc2x ? "".concat(imageSrc, ", ").concat(imageSrc2x, " 2x") : undefined;
|
|
67
|
+
var hasBadge = !!promoBadgeText || !!priceBadgeText || !!badge;
|
|
68
|
+
var handleAdTitleClick = React.useCallback(function (e) {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
e.stopPropagation();
|
|
71
|
+
}, []);
|
|
72
|
+
var renderBadge = React.useMemo(function () {
|
|
73
|
+
switch (true) {
|
|
74
|
+
case !!promoBadgeText:
|
|
75
|
+
return /*#__PURE__*/React.createElement(PromoBadge, {
|
|
76
|
+
className: cn('badge'),
|
|
77
|
+
dataAttrs: {
|
|
78
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.badge
|
|
79
|
+
},
|
|
80
|
+
color: promoBadgeColor
|
|
81
|
+
}, promoBadgeText);
|
|
82
|
+
case !!priceBadgeText:
|
|
83
|
+
return /*#__PURE__*/React.createElement(PriceBadge, {
|
|
84
|
+
className: cn('badge'),
|
|
85
|
+
dataAttrs: {
|
|
86
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.badge
|
|
87
|
+
},
|
|
88
|
+
iconType: priceBadgeIcon,
|
|
89
|
+
theme: priceBadgeTheme
|
|
90
|
+
}, priceBadgeText);
|
|
91
|
+
default:
|
|
92
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.badge), {
|
|
93
|
+
className: cn('badge')
|
|
94
|
+
}), badge);
|
|
95
|
+
}
|
|
96
|
+
}, [dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.badge, promoBadgeText, promoBadgeColor, priceBadgeText, priceBadgeIcon, priceBadgeTheme, badge]);
|
|
97
|
+
var renderAdMark = function renderAdMark() {
|
|
98
|
+
var _ref5 = adMark || {},
|
|
99
|
+
adTitle = _ref5.title,
|
|
100
|
+
adTooltip = _ref5.tooltip;
|
|
101
|
+
var _a = adTooltip || {},
|
|
102
|
+
placement = _a.placement,
|
|
103
|
+
offset = _a.offset,
|
|
104
|
+
triggerEvent = _a.triggerEvent,
|
|
105
|
+
colorTheme = _a.colorTheme,
|
|
106
|
+
children = _a.children,
|
|
107
|
+
restAdTooltip = __rest(_a, ["placement", "offset", "triggerEvent", "colorTheme", "children"]);
|
|
108
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, !!adTitle && /*#__PURE__*/React.createElement("button", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.adTitle), {
|
|
109
|
+
className: cn('ad-title'),
|
|
110
|
+
ref: adTriggerRef,
|
|
111
|
+
onClick: handleAdTitleClick,
|
|
112
|
+
type: "button"
|
|
113
|
+
}), adTitle), !!adTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
114
|
+
className: cn('ad-tooltip')
|
|
115
|
+
}, restAdTooltip, {
|
|
116
|
+
placement: placement || 'bottom',
|
|
117
|
+
offset: offset || 'small',
|
|
118
|
+
triggerEvent: triggerEvent || 'hover',
|
|
119
|
+
colorTheme: colorTheme || 'blue',
|
|
120
|
+
triggerElement: adTriggerRef
|
|
121
|
+
}), !!children && /*#__PURE__*/React.createElement("div", {
|
|
122
|
+
className: cn('ad-tooltip-content')
|
|
123
|
+
}, typeof children === 'string' ? convert(children, {}) : children)));
|
|
124
|
+
};
|
|
125
|
+
return /*#__PURE__*/React.createElement("a", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
126
|
+
className: cn({
|
|
127
|
+
background: background
|
|
128
|
+
}, [className, classes === null || classes === void 0 ? void 0 : classes.root]),
|
|
129
|
+
href: linkHref,
|
|
130
|
+
target: linkTarget,
|
|
131
|
+
rel: setRelAttribute(linkRel, linkTarget),
|
|
132
|
+
onClick: onClick
|
|
133
|
+
}), !!adMark && renderAdMark(), /*#__PURE__*/React.createElement("img", _extends({
|
|
134
|
+
className: cn('image')
|
|
135
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.image), {
|
|
136
|
+
srcSet: imageSrcSet,
|
|
137
|
+
src: imageSrc,
|
|
138
|
+
alt: imageAlt || ''
|
|
139
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
140
|
+
className: cn('content')
|
|
141
|
+
}, hasBadge && renderBadge, !!(logo === null || logo === void 0 ? void 0 : logo.src) && !hasBadge && /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.logo), {
|
|
142
|
+
className: cn('logo')
|
|
143
|
+
}), /*#__PURE__*/React.createElement("img", {
|
|
144
|
+
className: cn('logo-img'),
|
|
145
|
+
src: logo.src,
|
|
146
|
+
alt: logo.alt || ''
|
|
147
|
+
})), /*#__PURE__*/React.createElement(Header, {
|
|
148
|
+
as: "h3",
|
|
149
|
+
className: classes === null || classes === void 0 ? void 0 : classes.title,
|
|
150
|
+
dataAttrs: {
|
|
151
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title
|
|
152
|
+
}
|
|
153
|
+
}, convert(title, {})), !!subtitle && /*#__PURE__*/React.createElement("div", {
|
|
154
|
+
className: cn('subtitle')
|
|
155
|
+
}, /*#__PURE__*/React.createElement(Paragraph, {
|
|
156
|
+
hasMargin: false,
|
|
157
|
+
dataAttrs: {
|
|
158
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.subtitle
|
|
159
|
+
}
|
|
160
|
+
}, convert(subtitle, {}))), !!list.length && /*#__PURE__*/React.createElement("ul", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.list), {
|
|
161
|
+
className: cn('list')
|
|
162
|
+
}), list.map(function (item, i) {
|
|
163
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
164
|
+
className: cn('list-item'),
|
|
165
|
+
key: i
|
|
166
|
+
}, convert(item, listItemConvertConfig));
|
|
167
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
168
|
+
className: cn('footer')
|
|
169
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
170
|
+
sizeAll: "small",
|
|
171
|
+
type: "text",
|
|
172
|
+
showArrow: true
|
|
173
|
+
}, linkTitle))));
|
|
174
|
+
};
|
|
175
|
+
export default PromoCard;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { IPriceBadgeProps } from '@megafon/ui-core/dist/lib/components/Badges/PriceBadge/PriceBadge';
|
|
2
|
+
import type { IPromoBadgeProps } from '@megafon/ui-core/dist/lib/components/Badges/PromoBadge/PromoBadge';
|
|
3
|
+
import type { ITooltipProps } from '@megafon/ui-core/dist/lib/components/Tooltip/Tooltip';
|
|
4
|
+
type ImageType = {
|
|
5
|
+
src: string;
|
|
6
|
+
src2x?: string;
|
|
7
|
+
alt?: string;
|
|
8
|
+
};
|
|
9
|
+
type LogoType = {
|
|
10
|
+
src?: string;
|
|
11
|
+
alt?: string;
|
|
12
|
+
};
|
|
13
|
+
type LinkType = {
|
|
14
|
+
title: string;
|
|
15
|
+
href: string;
|
|
16
|
+
target?: '_self' | '_blank';
|
|
17
|
+
rel?: string;
|
|
18
|
+
};
|
|
19
|
+
type PromoBadgeType = {
|
|
20
|
+
text: string;
|
|
21
|
+
color: IPromoBadgeProps['color'];
|
|
22
|
+
};
|
|
23
|
+
type PriceBadgeType = {
|
|
24
|
+
text: string;
|
|
25
|
+
iconType?: IPriceBadgeProps['iconType'];
|
|
26
|
+
theme?: IPriceBadgeProps['theme'];
|
|
27
|
+
};
|
|
28
|
+
type AdMarkType = {
|
|
29
|
+
/** Заголовок */
|
|
30
|
+
title: string;
|
|
31
|
+
/** Параметры тултипа (пропсы компонента Tooltip из ui-core) */
|
|
32
|
+
tooltip: Omit<ITooltipProps, 'triggerElement'>;
|
|
33
|
+
};
|
|
34
|
+
export interface IPromoCardSettings {
|
|
35
|
+
/** Фон карточки */
|
|
36
|
+
background?: 'gray' | 'white' | 'shadow';
|
|
37
|
+
}
|
|
38
|
+
export interface IPromoCardData {
|
|
39
|
+
/** Заголовок карточки */
|
|
40
|
+
title: string;
|
|
41
|
+
/** Подзаголовок карточки */
|
|
42
|
+
subtitle?: string;
|
|
43
|
+
/** Список карточки (может принимать тег b в пунктах) */
|
|
44
|
+
list?: string[];
|
|
45
|
+
/** Параметры для ссылки в карточке */
|
|
46
|
+
link: LinkType;
|
|
47
|
+
/** Параметры для изображения в карточке */
|
|
48
|
+
image: ImageType;
|
|
49
|
+
/** Параметры для логотипа в карточке */
|
|
50
|
+
logo?: LogoType;
|
|
51
|
+
/** Бейдж в карточке */
|
|
52
|
+
badge?: React.ReactElement | null;
|
|
53
|
+
/** Параметры для отображения компонента PromoBadge в карточке */
|
|
54
|
+
promoBadge?: PromoBadgeType | null;
|
|
55
|
+
/** Параметры для отображения компонента PriceBadge в карточке */
|
|
56
|
+
priceBadge?: PriceBadgeType | null;
|
|
57
|
+
/** Рекламная метка */
|
|
58
|
+
adMark?: AdMarkType | null;
|
|
59
|
+
/** Обработчик клика по карточке */
|
|
60
|
+
onClick?: (e: React.SyntheticEvent<EventTarget>) => void;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Parameter } from '@megafon/ui-core';
|
|
3
|
+
import { cnCreate } from '@megafon/ui-helpers';
|
|
4
|
+
var cn = cnCreate('mfui-property');
|
|
5
|
+
var Property = function Property(props) {
|
|
6
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
7
|
+
className: cn()
|
|
8
|
+
}, /*#__PURE__*/React.createElement(Parameter, props));
|
|
9
|
+
};
|
|
10
|
+
export default Property;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
h1,h2,h3,h4,h5{margin:0}.mfui-service-cards__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}@media screen and (min-width:768px){.mfui-service-cards__items{display:grid;grid-auto-rows:290px;grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1280px){.mfui-service-cards__items{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width:768px){.mfui-service-cards__item_size_big{grid-row-end:span 2;grid-row-start:1}}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ServiceCardDataType, BackgroundType } from './types';
|
|
3
|
+
import './ServiceCards.scss';
|
|
4
|
+
export interface IServiceCardsProps {
|
|
5
|
+
/** Цвет фона плиток */
|
|
6
|
+
background?: BackgroundType;
|
|
7
|
+
/** Список плиток */
|
|
8
|
+
items: [ServiceCardDataType, ServiceCardDataType, ServiceCardDataType, ServiceCardDataType, ServiceCardDataType];
|
|
9
|
+
/** Дополнительный класс для компонента */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Дополнительные классы для внутренних элементов */
|
|
12
|
+
classes?: {
|
|
13
|
+
root?: string;
|
|
14
|
+
card?: string;
|
|
15
|
+
cardTitle?: string;
|
|
16
|
+
};
|
|
17
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
|
18
|
+
dataAttrs?: {
|
|
19
|
+
root?: Record<string, string>;
|
|
20
|
+
item?: Record<string, string>;
|
|
21
|
+
card?: Record<string, string>;
|
|
22
|
+
cardTitle?: Record<string, string>;
|
|
23
|
+
};
|
|
24
|
+
/** Ссылка на корневой элемент */
|
|
25
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
|
26
|
+
}
|
|
27
|
+
declare const ServiceCards: React.FC<IServiceCardsProps>;
|
|
28
|
+
export default ServiceCards;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import "core-js/modules/es.array.concat.js";
|
|
3
|
+
import "core-js/modules/es.array.map.js";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
|
6
|
+
import ServiceCard from "./components/ServiceCard/ServiceCard";
|
|
7
|
+
import "./ServiceCards.css";
|
|
8
|
+
var cn = cnCreate('mfui-service-cards');
|
|
9
|
+
var ServiceCards = function ServiceCards(_ref) {
|
|
10
|
+
var className = _ref.className,
|
|
11
|
+
classes = _ref.classes,
|
|
12
|
+
items = _ref.items,
|
|
13
|
+
background = _ref.background,
|
|
14
|
+
dataAttrs = _ref.dataAttrs,
|
|
15
|
+
rootRef = _ref.rootRef;
|
|
16
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
17
|
+
className: cn([className, classes === null || classes === void 0 ? void 0 : classes.root]),
|
|
18
|
+
ref: rootRef
|
|
19
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
20
|
+
className: cn('items')
|
|
21
|
+
}, items.map(function (item, i) {
|
|
22
|
+
var size = i === 0 ? 'big' : 'small';
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item, i + 1), {
|
|
24
|
+
className: cn('item', {
|
|
25
|
+
size: size
|
|
26
|
+
}),
|
|
27
|
+
key: "".concat(item.title, "_").concat(i)
|
|
28
|
+
}), /*#__PURE__*/React.createElement(ServiceCard, _extends({}, item, {
|
|
29
|
+
background: background,
|
|
30
|
+
size: size,
|
|
31
|
+
classes: {
|
|
32
|
+
root: classes === null || classes === void 0 ? void 0 : classes.card,
|
|
33
|
+
title: classes === null || classes === void 0 ? void 0 : classes.cardTitle
|
|
34
|
+
},
|
|
35
|
+
dataAttrs: {
|
|
36
|
+
root: filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.card, i + 1),
|
|
37
|
+
title: filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.cardTitle, i + 1)
|
|
38
|
+
}
|
|
39
|
+
})));
|
|
40
|
+
})));
|
|
41
|
+
};
|
|
42
|
+
export default ServiceCards;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
h1,h2,h3,h4,h5{margin:0}.mfui-service-card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--base);border-radius:24px;color:var(--content);height:100%;justify-content:space-between;overflow:hidden;padding:24px 24px 22px;-webkit-transition:background-color,-webkit-box-shadow;transition:background-color,-webkit-box-shadow;transition:background-color,box-shadow;transition:background-color,box-shadow,-webkit-box-shadow;-webkit-transition-duration:.3s;transition-duration:.3s;width:100%}@media screen and (min-width:768px){.mfui-service-card{padding-bottom:32px}}.mfui-service-card:hover{text-decoration:none}.mfui-service-card__title{font-size:22px;font-weight:600;letter-spacing:.5px;line-height:28px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-service-card__title{font-size:26px;line-height:32px}}@media screen and (min-width:1024px){.mfui-service-card__title{font-size:28px;line-height:36px}}@media screen and (min-width:1280px){.mfui-service-card__title{font-size:32px;line-height:40px}}.mfui-service-card__subtitle{font-size:15px;font-weight:400;line-height:24px;margin-top:12px}.mfui-service-card__image-wrapper{overflow:hidden}.mfui-service-card__image{display:block;height:240px;width:240px}.mfui-service-card__circle,.mfui-service-card__price{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfui-service-card__circle{-webkit-box-pack:center;-ms-flex-pack:center;border:1px solid var(--brandGreen);border-radius:50%;height:48px;justify-content:center;width:48px}.mfui-service-card:hover .mfui-service-card__circle{-webkit-animation:scale-circle 1s ease-out forwards;animation:scale-circle 1s ease-out forwards;-webkit-transform-origin:center;transform-origin:center}.mfui-service-card__arrow{height:32px;min-width:32px;width:32px;fill:var(--brandGreen)}.mfui-service-card__value{font-size:15px;font-weight:500;line-height:24px;margin-left:8px}.mfui-service-card_size_big .mfui-service-card__image-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;border-radius:24px;justify-content:center;margin:32px auto}@media screen and (min-width:768px){.mfui-service-card_size_big .mfui-service-card__image{height:auto;max-height:100%;max-width:100%;width:auto}}.mfui-service-card_size_small .mfui-service-card__title{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-service-card_size_small .mfui-service-card__title{font-size:20px;line-height:28px}}.mfui-service-card_size_small .mfui-service-card__subtitle{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}.mfui-service-card_size_small .mfui-service-card__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media screen and (max-width:767px){.mfui-service-card_size_small .mfui-service-card__footer{margin-top:20px}}.mfui-service-card_size_small .mfui-service-card__image-wrapper{margin-bottom:-22px;margin-right:-24px}@media screen and (min-width:768px){.mfui-service-card_size_small .mfui-service-card__image-wrapper{margin-bottom:-32px}}.mfui-service-card_size_small .mfui-service-card__image{height:110px;width:110px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-service-card_size_small .mfui-service-card__image{height:125px;width:125px}}@media screen and (min-width:1024px){.mfui-service-card_size_small .mfui-service-card__image{height:150px;width:150px}}@media screen and (max-width:767px){.mfui-service-card_size_small .mfui-service-card__circle{height:32px;width:32px}.mfui-service-card_size_small .mfui-service-card__arrow{height:20px;min-width:20px;width:20px}}.mfui-service-card:hover:not(.mfui-service-card_background_gray){-webkit-box-shadow:0 8px 28px rgba(0,0,0,.1);box-shadow:0 8px 28px rgba(0,0,0,.1)}.mfui-service-card_background_shadow{-webkit-box-shadow:0 2px 12px rgba(0,0,0,.1);box-shadow:0 2px 12px rgba(0,0,0,.1)}.mfui-service-card_background_gray{background-color:var(--spbSky0)}.mfui-service-card_background_gray:hover{background-color:var(--spbSky1)}@-webkit-keyframes scale-circle{0%{scale:1}50%{scale:.6875}to{scale:1}}@keyframes scale-circle{0%{scale:1}50%{scale:.6875}to{scale:1}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SizeType, ServiceCardDataType, BackgroundType } from '../../types';
|
|
3
|
+
import './ServiceCard.scss';
|
|
4
|
+
export interface IServiceCardProps extends ServiceCardDataType {
|
|
5
|
+
size: SizeType;
|
|
6
|
+
background?: BackgroundType;
|
|
7
|
+
classes?: {
|
|
8
|
+
root?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
};
|
|
11
|
+
dataAttrs?: {
|
|
12
|
+
root?: Record<string, string>;
|
|
13
|
+
title?: Record<string, string>;
|
|
14
|
+
subtitle?: Record<string, string>;
|
|
15
|
+
footer?: Record<string, string>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
declare const ServiceCard: React.FC<IServiceCardProps>;
|
|
19
|
+
export default ServiceCard;
|