@megafon/ui-shared 6.0.0-beta.5 → 6.1.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/CHANGELOG.md +4043 -0
- package/dist/es/components/AccordionBox/AccordionBox.css +15 -1
- package/dist/es/components/AccordionBox/AccordionBox.d.ts +2 -2
- package/dist/es/components/AccordionBox/AccordionBox.js +49 -6
- package/dist/es/components/AudioPlayer/AudioPlayer.d.ts +2 -2
- package/dist/es/components/AudioPlayer/AudioPlayer.js +27 -11
- package/dist/es/components/AudioPlayer/AudioProgress.d.ts +1 -1
- package/dist/es/components/AudioPlayer/AudioProgress.js +22 -10
- package/dist/es/components/AudioPlayer/AudioRange.d.ts +1 -1
- package/dist/es/components/AudioPlayer/AudioRange.js +10 -8
- package/dist/es/components/AudioPlayer/AudioVolume.d.ts +1 -1
- package/dist/es/components/AudioPlayer/AudioVolume.js +12 -3
- package/dist/es/components/AudioPlayer/hooks/useTrackDuration.js +10 -4
- package/dist/es/components/AudioPlayer/style/AudioPlayer.css +58 -1
- package/dist/es/components/AudioPlayer/style/AudioProgress.css +35 -1
- package/dist/es/components/AudioPlayer/style/AudioRange.css +68 -1
- package/dist/es/components/AudioPlayer/style/AudioVolume.css +34 -1
- package/dist/es/components/AudioPlayer/timerFormatUtil.js +9 -1
- package/dist/es/components/BannerBox/BannerBox.d.ts +1 -1
- package/dist/es/components/BannerBox/BannerBox.js +12 -3
- package/dist/es/components/BenefitsIcons/BenefitsIcons.d.ts +1 -1
- package/dist/es/components/BenefitsIcons/BenefitsIcons.js +64 -23
- package/dist/es/components/BenefitsIcons/BenefitsIconsTile.d.ts +1 -1
- package/dist/es/components/BenefitsIcons/BenefitsIconsTile.js +36 -9
- package/dist/es/components/BenefitsIcons/helpers.d.ts +3 -3
- package/dist/es/components/BenefitsIcons/helpers.js +20 -6
- package/dist/es/components/BenefitsIcons/style/BenefitsIcons.css +38 -1
- package/dist/es/components/BenefitsIcons/style/BenefitsIconsTile.css +90 -1
- package/dist/es/components/BenefitsIcons/types.d.ts +5 -5
- package/dist/es/components/BenefitsPictures/BenefitsPictures.d.ts +1 -1
- package/dist/es/components/BenefitsPictures/BenefitsPictures.js +49 -19
- package/dist/es/components/BenefitsPictures/BenfitsPictures.css +43 -1
- package/dist/es/components/BenefitsPictures/helpers.d.ts +2 -2
- package/dist/es/components/BenefitsPictures/helpers.js +14 -0
- package/dist/es/components/BenefitsPictures/types.d.ts +3 -3
- package/dist/es/components/BenefitsPictures/types.js +0 -1
- package/dist/es/components/BlogBox/BlogBox.css +92 -0
- package/dist/es/components/BlogBox/BlogBox.d.ts +28 -0
- package/dist/es/components/BlogBox/BlogBox.js +101 -0
- package/dist/es/components/BlogBox/components/BlogBoxTile.css +197 -0
- package/dist/es/components/BlogBox/components/BlogBoxTile.d.ts +9 -0
- package/dist/es/components/BlogBox/components/BlogBoxTile.js +67 -0
- package/dist/es/components/BlogBox/types.d.ts +37 -0
- package/dist/es/components/BlogBox/types.js +0 -0
- package/dist/es/components/Breadcrumbs/Breadcrumbs.css +43 -1
- package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +6 -6
- package/dist/es/components/Breadcrumbs/Breadcrumbs.js +39 -10
- package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.css +16 -1
- package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +4 -4
- package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.js +36 -11
- package/dist/es/components/ButtonBanner/ButtonBanner.css +122 -1
- package/dist/es/components/ButtonBanner/ButtonBanner.d.ts +7 -7
- package/dist/es/components/ButtonBanner/ButtonBanner.js +53 -22
- package/dist/es/components/ButtonLinkBox/ButtonLinkBox.css +19 -1
- package/dist/es/components/ButtonLinkBox/ButtonLinkBox.d.ts +3 -3
- package/dist/es/components/ButtonLinkBox/ButtonLinkBox.js +51 -20
- package/dist/es/components/Card/Card.css +354 -1
- package/dist/es/components/Card/Card.d.ts +4 -4
- package/dist/es/components/Card/Card.js +115 -25
- package/dist/es/components/Card/types.d.ts +10 -10
- package/dist/es/components/Card/types.js +0 -1
- package/dist/es/components/CardsBox/CardsBox.js +14 -3
- package/dist/es/components/CardsBox/helpers.d.ts +2 -2
- package/dist/es/components/CardsBox/helpers.js +4 -0
- package/dist/es/components/CarouselBox/CarouselBox.d.ts +2 -2
- package/dist/es/components/CarouselBox/CarouselBox.js +24 -11
- package/dist/es/components/Container/Container.css +3287 -1
- package/dist/es/components/Container/Container.d.ts +5 -7
- package/dist/es/components/Container/Container.js +25 -10
- package/dist/es/components/DownloadLinks/DownloadLink.css +37 -1
- package/dist/es/components/DownloadLinks/DownloadLink.d.ts +1 -1
- package/dist/es/components/DownloadLinks/DownloadLink.js +44 -13
- package/dist/es/components/DownloadLinks/DownloadLinks.css +36 -1
- package/dist/es/components/DownloadLinks/DownloadLinks.d.ts +3 -3
- package/dist/es/components/DownloadLinks/DownloadLinks.js +13 -2
- package/dist/es/components/FaqWrapper/FaqWrapper.d.ts +2 -5
- package/dist/es/components/FaqWrapper/FaqWrapper.js +3 -1
- package/dist/es/components/ImageBanner/ImageBanner.css +252 -1
- package/dist/es/components/ImageBanner/ImageBanner.d.ts +7 -8
- package/dist/es/components/ImageBanner/ImageBanner.js +88 -37
- package/dist/es/components/Instructions/Instructions.css +827 -1
- package/dist/es/components/Instructions/Instructions.d.ts +13 -11
- package/dist/es/components/Instructions/Instructions.js +101 -44
- package/dist/es/components/NotificationBox/NotificationBox.d.ts +4 -4
- package/dist/es/components/NotificationBox/NotificationBox.js +19 -5
- package/dist/es/components/NotificationBox/style/NotificationBox.css +28 -0
- package/dist/es/components/PageTitle/PageTitle.css +80 -1
- package/dist/es/components/PageTitle/PageTitle.d.ts +2 -2
- package/dist/es/components/PageTitle/PageTitle.js +37 -12
- package/dist/es/components/Partners/Partners.css +53 -1
- package/dist/es/components/Partners/Partners.d.ts +2 -2
- package/dist/es/components/Partners/Partners.js +48 -17
- package/dist/es/components/PictureWithDescription/PictureWithDescription.css +80 -1
- package/dist/es/components/PictureWithDescription/PictureWithDescription.d.ts +2 -4
- package/dist/es/components/PictureWithDescription/PictureWithDescription.js +28 -10
- package/dist/es/components/Property/Property.css +156 -1
- package/dist/es/components/Property/Property.d.ts +4 -4
- package/dist/es/components/Property/Property.js +81 -37
- package/dist/es/components/Property/PropertyDescription.css +17 -1
- package/dist/es/components/Property/PropertyDescription.d.ts +3 -3
- package/dist/es/components/Property/PropertyDescription.js +28 -8
- package/dist/es/components/Property/types.d.ts +5 -7
- package/dist/es/components/Property/types.js +0 -1
- package/dist/es/components/Steps/Steps.css +41 -1
- package/dist/es/components/Steps/Steps.d.ts +1 -2
- package/dist/es/components/Steps/Steps.js +19 -4
- package/dist/es/components/Steps/StepsItem.css +42 -1
- package/dist/es/components/Steps/StepsItem.d.ts +2 -2
- package/dist/es/components/Steps/StepsItem.js +9 -2
- package/dist/es/components/StoreBanner/StoreBanner.css +346 -1
- package/dist/es/components/StoreBanner/StoreBanner.d.ts +5 -5
- package/dist/es/components/StoreBanner/StoreBanner.js +97 -41
- package/dist/es/components/StoreBanner/doc/img/android-screen.png +0 -0
- package/dist/es/components/StoreBanner/doc/img/qr-code.png +0 -0
- package/dist/es/components/StoreBanner/doc/img/screen.png +0 -0
- package/dist/es/components/StoreButton/StoreButton.css +327 -1
- package/dist/es/components/StoreButton/StoreButton.d.ts +3 -3
- package/dist/es/components/StoreButton/StoreButton.js +44 -13
- package/dist/es/components/Table/Table.css +157 -1
- package/dist/es/components/Table/Table.d.ts +1 -1
- package/dist/es/components/Table/Table.js +51 -31
- package/dist/es/components/Table/TableCell.js +6 -0
- package/dist/es/components/Table/TableRow.js +10 -1
- package/dist/es/components/TabsBox/TabsBox.d.ts +1 -1
- package/dist/es/components/TabsBox/TabsBox.js +13 -4
- package/dist/es/components/TextBox/TextBox.css +25 -1
- package/dist/es/components/TextBox/TextBox.d.ts +1 -2
- package/dist/es/components/TextBox/TextBox.js +23 -8
- package/dist/es/components/TextBox/TextBoxPicture.css +27 -1
- package/dist/es/components/TextBox/TextBoxPicture.d.ts +2 -2
- package/dist/es/components/TextBox/TextBoxPicture.js +14 -5
- package/dist/es/components/TextWithIcon/TextWithIcon.css +10 -1
- package/dist/es/components/TextWithIcon/TextWithIcon.d.ts +1 -1
- package/dist/es/components/TextWithIcon/TextWithIcon.js +24 -6
- package/dist/es/components/TextWithIcon/TextWithIconItem.css +29 -1
- package/dist/es/components/TextWithIcon/TextWithIconItem.d.ts +1 -1
- package/dist/es/components/TextWithIcon/TextWithIconItem.js +21 -6
- package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.css +31 -1
- package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +1 -1
- package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.js +23 -6
- package/dist/es/components/VideoBanner/VideoBanner.css +225 -1
- package/dist/es/components/VideoBanner/VideoBanner.d.ts +7 -7
- package/dist/es/components/VideoBanner/VideoBanner.js +110 -47
- package/dist/es/components/VideoBlock/VideoBlock.css +106 -1
- package/dist/es/components/VideoBlock/VideoBlock.d.ts +4 -4
- package/dist/es/components/VideoBlock/VideoBlock.js +75 -35
- package/dist/es/helpers/getColumnConfig.d.ts +1 -5
- package/dist/es/helpers/setRelAttribute.d.ts +1 -0
- package/dist/es/helpers/setRelAttribute.js +11 -0
- package/dist/es/hooks/useResolutions.d.ts +7 -0
- package/dist/es/hooks/useResolutions.js +60 -0
- package/dist/es/index.d.ts +2 -0
- package/dist/es/index.js +2 -0
- package/dist/lib/components/AccordionBox/AccordionBox.css +15 -1
- package/dist/lib/components/AccordionBox/AccordionBox.d.ts +2 -2
- package/dist/lib/components/AccordionBox/AccordionBox.js +66 -10
- package/dist/lib/components/AudioPlayer/AudioPlayer.d.ts +2 -2
- package/dist/lib/components/AudioPlayer/AudioPlayer.js +56 -32
- package/dist/lib/components/AudioPlayer/AudioProgress.d.ts +1 -1
- package/dist/lib/components/AudioPlayer/AudioProgress.js +43 -12
- package/dist/lib/components/AudioPlayer/AudioRange.d.ts +1 -1
- package/dist/lib/components/AudioPlayer/AudioRange.js +17 -9
- package/dist/lib/components/AudioPlayer/AudioVolume.d.ts +1 -1
- package/dist/lib/components/AudioPlayer/AudioVolume.js +23 -4
- package/dist/lib/components/AudioPlayer/hooks/useTrackDuration.js +16 -5
- package/dist/lib/components/AudioPlayer/style/AudioPlayer.css +58 -1
- package/dist/lib/components/AudioPlayer/style/AudioProgress.css +35 -1
- package/dist/lib/components/AudioPlayer/style/AudioRange.css +68 -1
- package/dist/lib/components/AudioPlayer/style/AudioVolume.css +34 -1
- package/dist/lib/components/AudioPlayer/timerFormatUtil.js +13 -2
- package/dist/lib/components/BannerBox/BannerBox.d.ts +1 -1
- package/dist/lib/components/BannerBox/BannerBox.js +25 -7
- package/dist/lib/components/BenefitsIcons/BenefitsIcons.d.ts +1 -1
- package/dist/lib/components/BenefitsIcons/BenefitsIcons.js +86 -26
- package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.d.ts +1 -1
- package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.js +53 -13
- package/dist/lib/components/BenefitsIcons/helpers.d.ts +3 -3
- package/dist/lib/components/BenefitsIcons/helpers.js +37 -10
- package/dist/lib/components/BenefitsIcons/style/BenefitsIcons.css +38 -1
- package/dist/lib/components/BenefitsIcons/style/BenefitsIconsTile.css +90 -1
- package/dist/lib/components/BenefitsIcons/types.d.ts +5 -5
- package/dist/lib/components/BenefitsIcons/types.js +8 -5
- package/dist/lib/components/BenefitsPictures/BenefitsPictures.d.ts +1 -1
- package/dist/lib/components/BenefitsPictures/BenefitsPictures.js +71 -24
- package/dist/lib/components/BenefitsPictures/BenfitsPictures.css +43 -1
- package/dist/lib/components/BenefitsPictures/helpers.d.ts +2 -2
- package/dist/lib/components/BenefitsPictures/helpers.js +40 -9
- package/dist/lib/components/BenefitsPictures/types.d.ts +3 -3
- package/dist/lib/components/BenefitsPictures/types.js +1 -5
- package/dist/lib/components/BlogBox/BlogBox.css +92 -0
- package/dist/lib/components/BlogBox/BlogBox.d.ts +28 -0
- package/dist/lib/components/BlogBox/BlogBox.js +120 -0
- package/dist/lib/components/BlogBox/components/BlogBoxTile.css +197 -0
- package/dist/lib/components/BlogBox/components/BlogBoxTile.d.ts +9 -0
- package/dist/lib/components/BlogBox/components/BlogBoxTile.js +80 -0
- package/dist/lib/components/BlogBox/types.d.ts +37 -0
- package/dist/lib/components/BlogBox/types.js +1 -0
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +43 -1
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +6 -6
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +60 -18
- package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.css +16 -1
- package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +4 -4
- package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.js +55 -22
- package/dist/lib/components/ButtonBanner/ButtonBanner.css +122 -1
- package/dist/lib/components/ButtonBanner/ButtonBanner.d.ts +7 -7
- package/dist/lib/components/ButtonBanner/ButtonBanner.js +89 -40
- package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.css +19 -1
- package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.d.ts +3 -3
- package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.js +72 -29
- package/dist/lib/components/Card/Card.css +354 -1
- package/dist/lib/components/Card/Card.d.ts +4 -4
- package/dist/lib/components/Card/Card.js +164 -67
- package/dist/lib/components/Card/types.d.ts +10 -10
- package/dist/lib/components/Card/types.js +1 -5
- package/dist/lib/components/CardsBox/CardsBox.js +31 -7
- package/dist/lib/components/CardsBox/helpers.d.ts +2 -2
- package/dist/lib/components/CardsBox/helpers.js +8 -1
- package/dist/lib/components/CarouselBox/CarouselBox.d.ts +2 -2
- package/dist/lib/components/CarouselBox/CarouselBox.js +39 -15
- package/dist/lib/components/Container/Container.css +3287 -1
- package/dist/lib/components/Container/Container.d.ts +5 -7
- package/dist/lib/components/Container/Container.js +40 -18
- package/dist/lib/components/DownloadLinks/DownloadLink.css +37 -1
- package/dist/lib/components/DownloadLinks/DownloadLink.d.ts +1 -1
- package/dist/lib/components/DownloadLinks/DownloadLink.js +60 -17
- package/dist/lib/components/DownloadLinks/DownloadLinks.css +36 -1
- package/dist/lib/components/DownloadLinks/DownloadLinks.d.ts +3 -3
- package/dist/lib/components/DownloadLinks/DownloadLinks.js +33 -8
- package/dist/lib/components/FaqWrapper/FaqWrapper.d.ts +2 -5
- package/dist/lib/components/FaqWrapper/FaqWrapper.js +9 -6
- package/dist/lib/components/ImageBanner/ImageBanner.css +252 -1
- package/dist/lib/components/ImageBanner/ImageBanner.d.ts +7 -8
- package/dist/lib/components/ImageBanner/ImageBanner.js +138 -61
- package/dist/lib/components/Instructions/Instructions.css +827 -1
- package/dist/lib/components/Instructions/Instructions.d.ts +13 -11
- package/dist/lib/components/Instructions/Instructions.js +193 -106
- package/dist/lib/components/NotificationBox/NotificationBox.d.ts +4 -4
- package/dist/lib/components/NotificationBox/NotificationBox.js +37 -9
- package/dist/lib/components/NotificationBox/style/NotificationBox.css +28 -0
- package/dist/lib/components/PageTitle/PageTitle.css +80 -1
- package/dist/lib/components/PageTitle/PageTitle.d.ts +2 -2
- package/dist/lib/components/PageTitle/PageTitle.js +52 -15
- package/dist/lib/components/Partners/Partners.css +53 -1
- package/dist/lib/components/Partners/Partners.d.ts +2 -2
- package/dist/lib/components/Partners/Partners.js +65 -21
- package/dist/lib/components/PictureWithDescription/PictureWithDescription.css +80 -1
- package/dist/lib/components/PictureWithDescription/PictureWithDescription.d.ts +2 -4
- package/dist/lib/components/PictureWithDescription/PictureWithDescription.js +46 -16
- package/dist/lib/components/Property/Property.css +156 -1
- package/dist/lib/components/Property/Property.d.ts +4 -4
- package/dist/lib/components/Property/Property.js +120 -60
- package/dist/lib/components/Property/PropertyDescription.css +17 -1
- package/dist/lib/components/Property/PropertyDescription.d.ts +3 -3
- package/dist/lib/components/Property/PropertyDescription.js +46 -15
- package/dist/lib/components/Property/types.d.ts +5 -7
- package/dist/lib/components/Property/types.js +1 -5
- package/dist/lib/components/Steps/Steps.css +41 -1
- package/dist/lib/components/Steps/Steps.d.ts +1 -2
- package/dist/lib/components/Steps/Steps.js +35 -8
- package/dist/lib/components/Steps/StepsItem.css +42 -1
- package/dist/lib/components/Steps/StepsItem.d.ts +2 -2
- package/dist/lib/components/Steps/StepsItem.js +23 -11
- package/dist/lib/components/StoreBanner/StoreBanner.css +346 -1
- package/dist/lib/components/StoreBanner/StoreBanner.d.ts +5 -5
- package/dist/lib/components/StoreBanner/StoreBanner.js +118 -47
- package/dist/lib/components/StoreBanner/doc/img/android-screen.png +0 -0
- package/dist/lib/components/StoreBanner/doc/img/qr-code.png +0 -0
- package/dist/lib/components/StoreBanner/doc/img/screen.png +0 -0
- package/dist/lib/components/StoreButton/StoreButton.css +327 -1
- package/dist/lib/components/StoreButton/StoreButton.d.ts +3 -3
- package/dist/lib/components/StoreButton/StoreButton.js +63 -17
- package/dist/lib/components/Table/Table.css +157 -1
- package/dist/lib/components/Table/Table.d.ts +1 -1
- package/dist/lib/components/Table/Table.js +68 -35
- package/dist/lib/components/Table/TableCell.js +16 -4
- package/dist/lib/components/Table/TableRow.js +19 -5
- package/dist/lib/components/TabsBox/TabBox.js +4 -1
- package/dist/lib/components/TabsBox/TabsBox.d.ts +1 -1
- package/dist/lib/components/TabsBox/TabsBox.js +26 -8
- package/dist/lib/components/TextBox/TextBox.css +25 -1
- package/dist/lib/components/TextBox/TextBox.d.ts +1 -2
- package/dist/lib/components/TextBox/TextBox.js +36 -12
- package/dist/lib/components/TextBox/TextBoxPicture.css +27 -1
- package/dist/lib/components/TextBox/TextBoxPicture.d.ts +2 -2
- package/dist/lib/components/TextBox/TextBoxPicture.js +29 -11
- package/dist/lib/components/TextWithIcon/TextWithIcon.css +10 -1
- package/dist/lib/components/TextWithIcon/TextWithIcon.d.ts +1 -1
- package/dist/lib/components/TextWithIcon/TextWithIcon.js +39 -10
- package/dist/lib/components/TextWithIcon/TextWithIconItem.css +29 -1
- package/dist/lib/components/TextWithIcon/TextWithIconItem.d.ts +1 -1
- package/dist/lib/components/TextWithIcon/TextWithIconItem.js +37 -10
- package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.css +31 -1
- package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +1 -1
- package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.js +40 -10
- package/dist/lib/components/VideoBanner/VideoBanner.css +225 -1
- package/dist/lib/components/VideoBanner/VideoBanner.d.ts +7 -7
- package/dist/lib/components/VideoBanner/VideoBanner.js +176 -83
- package/dist/lib/components/VideoBlock/VideoBlock.css +106 -1
- package/dist/lib/components/VideoBlock/VideoBlock.d.ts +4 -4
- package/dist/lib/components/VideoBlock/VideoBlock.js +114 -58
- package/dist/lib/constants/throttleTime.js +3 -2
- package/dist/lib/helpers/getColumnConfig.d.ts +1 -5
- package/dist/lib/helpers/getColumnConfig.js +5 -2
- package/dist/lib/helpers/setRelAttribute.d.ts +1 -0
- package/dist/lib/helpers/setRelAttribute.js +20 -0
- package/dist/lib/hooks/useResolutions.d.ts +7 -0
- package/dist/lib/hooks/useResolutions.js +75 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +73 -10
- package/package.json +92 -87
- package/dist/es/components/NotificationBox/NotificationBox.css +0 -1
- package/dist/lib/components/NotificationBox/NotificationBox.css +0 -1
@@ -2,46 +2,53 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
3
3
|
import "core-js/modules/es.array.map.js";
|
4
4
|
import * as React from 'react';
|
5
|
+
import { useCallback } from 'react';
|
5
6
|
import { Grid, GridColumn, Header, Paragraph } from '@megafon/ui-core';
|
6
7
|
import { breakpoints, cnCreate } from '@megafon/ui-helpers';
|
7
8
|
import convert from 'htmr';
|
8
9
|
import throttle from 'lodash.throttle';
|
10
|
+
import PropTypes from 'prop-types';
|
9
11
|
import throttleTime from "../../constants/throttleTime";
|
10
12
|
import getCenterConfig, { getLeftConfig } from "./helpers";
|
11
13
|
import "./BenfitsPictures.css";
|
12
14
|
export var ONLY_LEFT_ALIGN_ITEMS_COUNT = 3;
|
13
15
|
var testIdPrefix = 'BenefitsPictures';
|
14
16
|
var cn = cnCreate('mfui-benefits-pictures');
|
17
|
+
|
15
18
|
var BenefitsPictures = function BenefitsPictures(_ref) {
|
16
19
|
var items = _ref.items,
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
20
|
+
_ref$align = _ref.align,
|
21
|
+
align = _ref$align === void 0 ? 'left' : _ref$align,
|
22
|
+
_ref$textAlign = _ref.textAlign,
|
23
|
+
textAlign = _ref$textAlign === void 0 ? 'auto' : _ref$textAlign,
|
24
|
+
_ref$imgAlign = _ref.imgAlign,
|
25
|
+
imgAlign = _ref$imgAlign === void 0 ? 'auto' : _ref$imgAlign,
|
26
|
+
_ref$gridGap = _ref.gridGap,
|
27
|
+
gridGap = _ref$gridGap === void 0 ? 'large' : _ref$gridGap,
|
28
|
+
rootRef = _ref.rootRef,
|
29
|
+
className = _ref.className,
|
30
|
+
_ref$classes = _ref.classes,
|
31
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes;
|
29
32
|
var isLargeGutter = gridGap === 'large';
|
30
33
|
var isGridCenterAlign = align === 'center' && items.length !== ONLY_LEFT_ALIGN_ITEMS_COUNT;
|
34
|
+
|
31
35
|
var _React$useState = React.useState(gridGap),
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
37
|
+
currentGutter = _React$useState2[0],
|
38
|
+
setCurrentGutter = _React$useState2[1];
|
39
|
+
|
40
|
+
var resizeHandler = useCallback(function () {
|
36
41
|
if (!isLargeGutter) {
|
37
42
|
return;
|
38
43
|
}
|
44
|
+
|
39
45
|
if (window.innerWidth < breakpoints.DESKTOP_MIDDLE_START) {
|
40
46
|
setCurrentGutter('medium');
|
41
47
|
} else {
|
42
48
|
setCurrentGutter('large');
|
43
49
|
}
|
44
50
|
}, [isLargeGutter]);
|
51
|
+
|
45
52
|
var renderText = function renderText(text) {
|
46
53
|
if (typeof text === 'string') {
|
47
54
|
return /*#__PURE__*/React.createElement(Paragraph, {
|
@@ -52,8 +59,10 @@ var BenefitsPictures = function BenefitsPictures(_ref) {
|
|
52
59
|
}
|
53
60
|
}, convert(text));
|
54
61
|
}
|
62
|
+
|
55
63
|
return text;
|
56
64
|
};
|
65
|
+
|
57
66
|
React.useEffect(function () {
|
58
67
|
var throttledResizeHandler = throttle(resizeHandler, throttleTime.resize);
|
59
68
|
resizeHandler();
|
@@ -77,9 +86,9 @@ var BenefitsPictures = function BenefitsPictures(_ref) {
|
|
77
86
|
}
|
78
87
|
}, items.map(function (_ref2, index) {
|
79
88
|
var img = _ref2.img,
|
80
|
-
|
81
|
-
|
82
|
-
|
89
|
+
title = _ref2.title,
|
90
|
+
text = _ref2.text,
|
91
|
+
alt = _ref2.alt;
|
83
92
|
return /*#__PURE__*/React.createElement(GridColumn, _extends({}, align === 'left' ? getLeftConfig(items.length, index) : getCenterConfig(items.length, index, gridGap), {
|
84
93
|
key: index
|
85
94
|
}), /*#__PURE__*/React.createElement("div", {
|
@@ -108,4 +117,25 @@ var BenefitsPictures = function BenefitsPictures(_ref) {
|
|
108
117
|
}, convert(title)), !!text && renderText(text))));
|
109
118
|
}))));
|
110
119
|
};
|
120
|
+
|
121
|
+
BenefitsPictures.propTypes = {
|
122
|
+
rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
|
123
|
+
current: PropTypes.elementType
|
124
|
+
}), PropTypes.any])]),
|
125
|
+
items: PropTypes.arrayOf(PropTypes.shape({
|
126
|
+
title: PropTypes.string,
|
127
|
+
text: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
128
|
+
img: PropTypes.string.isRequired,
|
129
|
+
alt: PropTypes.string
|
130
|
+
}).isRequired).isRequired,
|
131
|
+
align: PropTypes.oneOf(['left', 'center']),
|
132
|
+
textAlign: PropTypes.oneOf(['left', 'center', 'auto']),
|
133
|
+
imgAlign: PropTypes.oneOf(['left', 'center', 'auto']),
|
134
|
+
gridGap: PropTypes.oneOf(['medium', 'large']),
|
135
|
+
className: PropTypes.string,
|
136
|
+
classes: PropTypes.shape({
|
137
|
+
root: PropTypes.string,
|
138
|
+
item: PropTypes.string
|
139
|
+
})
|
140
|
+
};
|
111
141
|
export default BenefitsPictures;
|
@@ -1 +1,43 @@
|
|
1
|
-
h1,
|
1
|
+
h1,
|
2
|
+
h2,
|
3
|
+
h3,
|
4
|
+
h4,
|
5
|
+
h5 {
|
6
|
+
margin: 0;
|
7
|
+
}
|
8
|
+
.mfui-benefits-pictures {
|
9
|
+
overflow: hidden;
|
10
|
+
}
|
11
|
+
.mfui-benefits-pictures__inner {
|
12
|
+
margin-bottom: -40px;
|
13
|
+
}
|
14
|
+
@media screen and (min-width: 768px) {
|
15
|
+
.mfui-benefits-pictures__inner {
|
16
|
+
margin-bottom: -48px;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
.mfui-benefits-pictures__item {
|
20
|
+
margin-bottom: 40px;
|
21
|
+
}
|
22
|
+
@media screen and (min-width: 768px) {
|
23
|
+
.mfui-benefits-pictures__item {
|
24
|
+
margin-bottom: 48px;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
.mfui-benefits-pictures__content_h-align_center {
|
28
|
+
text-align: center;
|
29
|
+
}
|
30
|
+
.mfui-benefits-pictures__img {
|
31
|
+
max-width: 100%;
|
32
|
+
margin-bottom: 32px;
|
33
|
+
border-radius: 12px;
|
34
|
+
vertical-align: top;
|
35
|
+
}
|
36
|
+
.mfui-benefits-pictures__img_h-align_center {
|
37
|
+
display: block;
|
38
|
+
margin-right: auto;
|
39
|
+
margin-left: auto;
|
40
|
+
}
|
41
|
+
.mfui-benefits-pictures__title {
|
42
|
+
margin-bottom: 12px;
|
43
|
+
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { GridConfig } from './types';
|
2
2
|
declare const columnSize: GridConfig;
|
3
3
|
declare const isOddIndex: (index: number) => boolean;
|
4
|
-
declare const getEvenOffset: (index: number) =>
|
5
|
-
declare const getOddOffset: (index: number) =>
|
4
|
+
declare const getEvenOffset: (index: number) => "1" | undefined;
|
5
|
+
declare const getOddOffset: (index: number) => "1" | undefined;
|
6
6
|
declare const getLeftConfig: (count: number, index: number) => GridConfig;
|
7
7
|
declare const getCenterMediumConfig: (count: number, index: number) => GridConfig;
|
8
8
|
declare const getCenterLargeConfig: (count: number, index: number) => GridConfig;
|
@@ -4,15 +4,19 @@ var columnSize = {
|
|
4
4
|
desktop: '4',
|
5
5
|
tablet: '5'
|
6
6
|
};
|
7
|
+
|
7
8
|
var isOddIndex = function isOddIndex(index) {
|
8
9
|
return !((index + 1) % 2);
|
9
10
|
};
|
11
|
+
|
10
12
|
var getEvenOffset = function getEvenOffset(index) {
|
11
13
|
return isOddIndex(index) ? '1' : undefined;
|
12
14
|
};
|
15
|
+
|
13
16
|
var getOddOffset = function getOddOffset(index) {
|
14
17
|
return isOddIndex(index) ? undefined : '1';
|
15
18
|
};
|
19
|
+
|
16
20
|
var getLeftConfig = function getLeftConfig(count, index) {
|
17
21
|
switch (count) {
|
18
22
|
case 2:
|
@@ -22,18 +26,21 @@ var getLeftConfig = function getLeftConfig(count, index) {
|
|
22
26
|
leftOffsetDesktop: getEvenOffset(index),
|
23
27
|
leftOffsetTablet: getEvenOffset(index)
|
24
28
|
});
|
29
|
+
|
25
30
|
default:
|
26
31
|
return _extends(_extends({}, columnSize), {
|
27
32
|
leftOffsetTablet: getEvenOffset(index)
|
28
33
|
});
|
29
34
|
}
|
30
35
|
};
|
36
|
+
|
31
37
|
var getCenterMediumConfig = function getCenterMediumConfig(count, index) {
|
32
38
|
switch (count) {
|
33
39
|
case 3:
|
34
40
|
return _extends(_extends({}, columnSize), {
|
35
41
|
leftOffsetTablet: getOddOffset(index)
|
36
42
|
});
|
43
|
+
|
37
44
|
case 4:
|
38
45
|
return _extends(_extends({}, columnSize), {
|
39
46
|
rightOffsetWide: getOddOffset(index),
|
@@ -43,6 +50,7 @@ var getCenterMediumConfig = function getCenterMediumConfig(count, index) {
|
|
43
50
|
rightOffsetTablet: getEvenOffset(index),
|
44
51
|
leftOffsetTablet: getOddOffset(index)
|
45
52
|
});
|
53
|
+
|
46
54
|
default:
|
47
55
|
return _extends(_extends({}, columnSize), {
|
48
56
|
rightOffsetWide: getOddOffset(index),
|
@@ -50,6 +58,7 @@ var getCenterMediumConfig = function getCenterMediumConfig(count, index) {
|
|
50
58
|
});
|
51
59
|
}
|
52
60
|
};
|
61
|
+
|
53
62
|
var getCenterLargeConfig = function getCenterLargeConfig(count, index) {
|
54
63
|
switch (count) {
|
55
64
|
case 4:
|
@@ -61,25 +70,30 @@ var getCenterLargeConfig = function getCenterLargeConfig(count, index) {
|
|
61
70
|
leftOffsetTablet: getOddOffset(index),
|
62
71
|
rightOffsetTablet: getEvenOffset(index)
|
63
72
|
});
|
73
|
+
|
64
74
|
case 3:
|
65
75
|
return _extends(_extends({}, columnSize), {
|
66
76
|
leftOffsetTablet: getOddOffset(index)
|
67
77
|
});
|
78
|
+
|
68
79
|
default:
|
69
80
|
return _extends({}, columnSize);
|
70
81
|
}
|
71
82
|
};
|
83
|
+
|
72
84
|
var getCenterConfig = function getCenterConfig(count, index, gutterSize) {
|
73
85
|
switch (gutterSize) {
|
74
86
|
case 'medium':
|
75
87
|
{
|
76
88
|
return getCenterMediumConfig(count, index);
|
77
89
|
}
|
90
|
+
|
78
91
|
default:
|
79
92
|
{
|
80
93
|
return getCenterLargeConfig(count, index);
|
81
94
|
}
|
82
95
|
}
|
83
96
|
};
|
97
|
+
|
84
98
|
export default getCenterConfig;
|
85
99
|
export { columnSize, isOddIndex, getEvenOffset, getOddOffset, getLeftConfig, getCenterMediumConfig, getCenterLargeConfig };
|
@@ -9,8 +9,8 @@ export interface IBenefit {
|
|
9
9
|
/** Значение тега alt для изображения */
|
10
10
|
alt?: string;
|
11
11
|
}
|
12
|
-
type TGridSizeValues = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
|
13
|
-
export type GridConfig = {
|
12
|
+
declare type TGridSizeValues = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
|
13
|
+
export declare type GridConfig = {
|
14
14
|
wide?: TGridSizeValues;
|
15
15
|
desktop?: TGridSizeValues;
|
16
16
|
tablet?: TGridSizeValues;
|
@@ -21,5 +21,5 @@ export type GridConfig = {
|
|
21
21
|
rightOffsetTablet?: TGridSizeValues;
|
22
22
|
rightOffsetWide?: TGridSizeValues;
|
23
23
|
};
|
24
|
-
export type GridGutterSize = 'large' | 'medium';
|
24
|
+
export declare type GridGutterSize = 'large' | 'medium';
|
25
25
|
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -0,0 +1,92 @@
|
|
1
|
+
h1,
|
2
|
+
h2,
|
3
|
+
h3,
|
4
|
+
h4,
|
5
|
+
h5 {
|
6
|
+
margin: 0;
|
7
|
+
}
|
8
|
+
.mfui-blog-box {
|
9
|
+
display: -webkit-box;
|
10
|
+
display: -ms-flexbox;
|
11
|
+
display: flex;
|
12
|
+
-webkit-box-orient: vertical;
|
13
|
+
-webkit-box-direction: normal;
|
14
|
+
-ms-flex-direction: column;
|
15
|
+
flex-direction: column;
|
16
|
+
-webkit-box-align: center;
|
17
|
+
-ms-flex-align: center;
|
18
|
+
align-items: center;
|
19
|
+
}
|
20
|
+
@media screen and (min-width: 1024px) {
|
21
|
+
.mfui-blog-box__list {
|
22
|
+
display: grid;
|
23
|
+
grid-template-columns: 1fr 1fr;
|
24
|
+
-webkit-column-gap: 20px;
|
25
|
+
-moz-column-gap: 20px;
|
26
|
+
column-gap: 20px;
|
27
|
+
row-gap: 24px;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
.mfui-blog-box__list_row {
|
31
|
+
grid-template-columns: repeat(6, 1fr);
|
32
|
+
}
|
33
|
+
.mfui-blog-box__list_row .mfui-blog-box__item {
|
34
|
+
grid-column-end: span 2;
|
35
|
+
}
|
36
|
+
.mfui-blog-box__list_row-size_1 .mfui-blog-box__item {
|
37
|
+
grid-column-start: 3;
|
38
|
+
}
|
39
|
+
.mfui-blog-box__list_row-size_2 .mfui-blog-box__item:first-child {
|
40
|
+
grid-column-start: 2;
|
41
|
+
}
|
42
|
+
.mfui-blog-box__item_view_thumbnail {
|
43
|
+
margin-top: 16px;
|
44
|
+
}
|
45
|
+
@media screen and (min-width: 1024px) {
|
46
|
+
.mfui-blog-box__item_view_thumbnail {
|
47
|
+
grid-column-start: 1;
|
48
|
+
grid-column-end: 2;
|
49
|
+
margin-top: 0;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
.mfui-blog-box__item_view_full {
|
53
|
+
margin-bottom: 24px;
|
54
|
+
}
|
55
|
+
@media screen and (min-width: 768px) and (max-width: 1023px) {
|
56
|
+
.mfui-blog-box__item_view_full {
|
57
|
+
margin-bottom: 32px;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
@media screen and (min-width: 1024px) {
|
61
|
+
.mfui-blog-box__item_view_full {
|
62
|
+
grid-row-start: 1;
|
63
|
+
grid-row-end: 4;
|
64
|
+
grid-column-start: 2;
|
65
|
+
grid-column-end: 3;
|
66
|
+
margin-bottom: 0;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
.mfui-blog-box__button-wrapper {
|
70
|
+
margin-top: 32px;
|
71
|
+
}
|
72
|
+
@media screen and (min-width: 768px) and (max-width: 1023px) {
|
73
|
+
.mfui-blog-box__button-wrapper {
|
74
|
+
margin-top: 40px;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
@media screen and (min-width: 1024px) {
|
78
|
+
.mfui-blog-box__button-wrapper {
|
79
|
+
margin-top: 56px;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
.mfui-blog-box__button {
|
83
|
+
min-width: 208px;
|
84
|
+
}
|
85
|
+
.mfui-blog-box_align-left {
|
86
|
+
-webkit-box-align: start;
|
87
|
+
-ms-flex-align: start;
|
88
|
+
align-items: flex-start;
|
89
|
+
}
|
90
|
+
.mfui-blog-box_align-left .mfui-blog-box__item:first-child {
|
91
|
+
grid-column-start: 1;
|
92
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ButtonType, TileDataType } from './types';
|
3
|
+
import './BlogBox.less';
|
4
|
+
export interface IBlogBox {
|
5
|
+
/** Статьи (не более 4, остальные будут проигнорированы) */
|
6
|
+
items: TileDataType[];
|
7
|
+
/** Кнопка */
|
8
|
+
button?: ButtonType;
|
9
|
+
/** Выравнивание по левому краю (при количестве статей менее трех) */
|
10
|
+
hasAlignLeft?: boolean;
|
11
|
+
/** Дополнительный класс для компонента */
|
12
|
+
className?: string;
|
13
|
+
/** Дополнительные классы для внутренних элементов */
|
14
|
+
classes?: {
|
15
|
+
root?: string;
|
16
|
+
item?: string;
|
17
|
+
button?: string;
|
18
|
+
};
|
19
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
20
|
+
dataAttrs?: {
|
21
|
+
root?: Record<string, string>;
|
22
|
+
list?: Record<string, string>;
|
23
|
+
item?: Record<string, string>;
|
24
|
+
button?: Record<string, string>;
|
25
|
+
};
|
26
|
+
}
|
27
|
+
declare const BlogBox: React.FC<IBlogBox>;
|
28
|
+
export default BlogBox;
|
@@ -0,0 +1,101 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import "core-js/modules/es.array.slice.js";
|
3
|
+
import "core-js/modules/es.array.map.js";
|
4
|
+
import "core-js/modules/es.array.concat.js";
|
5
|
+
import React from 'react';
|
6
|
+
import { Button } from '@megafon/ui-core';
|
7
|
+
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
8
|
+
import PropTypes from 'prop-types';
|
9
|
+
import useResolutions from "../../hooks/useResolutions";
|
10
|
+
import BlogBoxTile from "./components/BlogBoxTile";
|
11
|
+
import "./BlogBox.css";
|
12
|
+
var maxItemsCount = 4;
|
13
|
+
var cn = cnCreate('mfui-blog-box');
|
14
|
+
|
15
|
+
var BlogBox = function BlogBox(_ref) {
|
16
|
+
var items = _ref.items,
|
17
|
+
button = _ref.button,
|
18
|
+
_ref$hasAlignLeft = _ref.hasAlignLeft,
|
19
|
+
hasAlignLeft = _ref$hasAlignLeft === void 0 ? false : _ref$hasAlignLeft,
|
20
|
+
className = _ref.className,
|
21
|
+
classes = _ref.classes,
|
22
|
+
dataAttrs = _ref.dataAttrs;
|
23
|
+
|
24
|
+
var _useResolutions = useResolutions(),
|
25
|
+
isDesktop = _useResolutions.isDesktop;
|
26
|
+
|
27
|
+
var visibleItems = items.slice(0, maxItemsCount);
|
28
|
+
var itemsCount = visibleItems.length;
|
29
|
+
var isRow = isDesktop && itemsCount < maxItemsCount;
|
30
|
+
var isAlignLeft = isRow && hasAlignLeft;
|
31
|
+
|
32
|
+
var getView = function getView(isCompact, i) {
|
33
|
+
if (isCompact) {
|
34
|
+
return 'compact';
|
35
|
+
}
|
36
|
+
|
37
|
+
if (i === 0) {
|
38
|
+
return 'full';
|
39
|
+
}
|
40
|
+
|
41
|
+
return 'thumbnail';
|
42
|
+
};
|
43
|
+
|
44
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
45
|
+
className: cn({
|
46
|
+
'align-left': isAlignLeft
|
47
|
+
}, [className, classes === null || classes === void 0 ? void 0 : classes.root])
|
48
|
+
}), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.list), {
|
49
|
+
className: cn('list', {
|
50
|
+
row: isRow,
|
51
|
+
'row-size': isRow && "".concat(itemsCount)
|
52
|
+
})
|
53
|
+
}), visibleItems.map(function (item, i) {
|
54
|
+
var view = getView(isRow, i);
|
55
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item, i + 1), {
|
56
|
+
className: cn('item', {
|
57
|
+
view: view
|
58
|
+
}, [classes === null || classes === void 0 ? void 0 : classes.item]),
|
59
|
+
key: "".concat(item.title, "_").concat(i)
|
60
|
+
}), /*#__PURE__*/React.createElement(BlogBoxTile, _extends({}, item, {
|
61
|
+
view: view
|
62
|
+
})));
|
63
|
+
})), (button === null || button === void 0 ? void 0 : button.title) && /*#__PURE__*/React.createElement("div", {
|
64
|
+
className: cn('button-wrapper')
|
65
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
66
|
+
dataAttrs: {
|
67
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
|
68
|
+
},
|
69
|
+
className: cn('button', [classes === null || classes === void 0 ? void 0 : classes.button]),
|
70
|
+
href: button.href,
|
71
|
+
target: button.target,
|
72
|
+
rel: button.rel
|
73
|
+
}, button.title)));
|
74
|
+
};
|
75
|
+
|
76
|
+
BlogBox.propTypes = {
|
77
|
+
className: PropTypes.string,
|
78
|
+
classes: PropTypes.objectOf(PropTypes.string),
|
79
|
+
dataAttrs: PropTypes.objectOf(PropTypes.object),
|
80
|
+
items: PropTypes.arrayOf(PropTypes.shape({
|
81
|
+
date: PropTypes.string.isRequired,
|
82
|
+
title: PropTypes.string.isRequired,
|
83
|
+
image: PropTypes.shape({
|
84
|
+
srcMobile: PropTypes.string.isRequired,
|
85
|
+
srcDesktop: PropTypes.string.isRequired,
|
86
|
+
srcThumbnail: PropTypes.string.isRequired,
|
87
|
+
alt: PropTypes.string
|
88
|
+
}).isRequired,
|
89
|
+
href: PropTypes.string.isRequired,
|
90
|
+
target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
|
91
|
+
rel: PropTypes.string
|
92
|
+
}).isRequired).isRequired,
|
93
|
+
button: PropTypes.shape({
|
94
|
+
title: PropTypes.string.isRequired,
|
95
|
+
href: PropTypes.string.isRequired,
|
96
|
+
target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
|
97
|
+
rel: PropTypes.string
|
98
|
+
}),
|
99
|
+
hasAlignLeft: PropTypes.bool
|
100
|
+
};
|
101
|
+
export default BlogBox;
|