@gravity-ui/page-constructor 6.0.0 → 7.0.0-beta.1
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/README.md +10 -0
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -5
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
- package/build/cjs/blocks/Header/Header.css +15 -10
- package/build/cjs/blocks/Header/Header.js +6 -1
- package/build/cjs/blocks/Header/Header.js.map +1 -1
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +9 -1
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +3 -1
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
- package/build/cjs/blocks/Share/Share.js +5 -1
- package/build/cjs/blocks/Share/Share.js.map +1 -1
- package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
- package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +4 -2
- package/build/cjs/blocks/Slider/Arrow/Arrow.js +1 -1
- package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
- package/build/cjs/blocks/Slider/Slider.css +549 -329
- package/build/cjs/blocks/Slider/Slider.d.ts +6 -5
- package/build/cjs/blocks/Slider/Slider.js +31 -271
- package/build/cjs/blocks/Slider/Slider.js.map +1 -1
- package/build/cjs/blocks/Slider/i18n/en.json +1 -1
- package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
- package/build/cjs/blocks/Slider/models.d.ts +2 -2
- package/build/cjs/blocks/Slider/models.js +1 -1
- package/build/cjs/blocks/Slider/models.js.map +1 -1
- package/build/cjs/blocks/Slider/schema.d.ts +18 -1
- package/build/cjs/blocks/Slider/schema.js +9 -0
- package/build/cjs/blocks/Slider/schema.js.map +1 -1
- package/build/{esm/blocks/SliderNew → cjs/blocks/Slider}/useSlider.d.ts +1 -0
- package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
- package/build/cjs/blocks/Slider/useSlider.js.map +1 -0
- package/build/cjs/blocks/Slider/useSliderPagination.js.map +1 -0
- package/build/cjs/blocks/Slider/utils.d.ts +7 -28
- package/build/cjs/blocks/Slider/utils.js +27 -109
- package/build/cjs/blocks/Slider/utils.js.map +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
- package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
- package/build/cjs/blocks/SliderOld/Arrow/Arrow.js +11 -0
- package/build/cjs/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
- package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
- package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
- package/build/cjs/blocks/SliderOld/SliderOld.js +292 -0
- package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -0
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
- package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
- package/build/{esm/blocks/SliderNew → cjs/blocks/SliderOld}/schema.d.ts +5 -21
- package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
- package/build/cjs/blocks/SliderOld/schema.js.map +1 -0
- package/build/cjs/blocks/SliderOld/utils.d.ts +37 -0
- package/build/cjs/blocks/SliderOld/utils.js +126 -0
- package/build/cjs/blocks/SliderOld/utils.js.map +1 -0
- package/build/cjs/blocks/Table/Table.css +4 -3
- package/build/cjs/blocks/Table/Table.js +3 -1
- package/build/cjs/blocks/Table/Table.js.map +1 -1
- package/build/cjs/blocks/index.d.ts +2 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/blocks/index.js.map +1 -1
- package/build/cjs/blocks/validators.d.ts +1 -0
- package/build/cjs/blocks/validators.js +1 -0
- package/build/cjs/blocks/validators.js.map +1 -1
- package/build/cjs/components/ContentList/ContentList.css +16 -12
- package/build/cjs/components/ContentList/ContentList.js +1 -1
- package/build/cjs/components/ContentList/ContentList.js.map +1 -1
- package/build/cjs/components/FileLink/FileLink.js +8 -1
- package/build/cjs/components/FileLink/FileLink.js.map +1 -1
- package/build/cjs/components/FullscreenImage/FullscreenImage.css +96 -18
- package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
- package/build/cjs/components/FullscreenImage/FullscreenImage.js +14 -2
- package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
- package/build/cjs/components/HTML/HTML.d.ts +15 -8
- package/build/cjs/components/HTML/HTML.js +15 -10
- package/build/cjs/components/HTML/HTML.js.map +1 -1
- package/build/cjs/components/Link/Link.js +11 -2
- package/build/cjs/components/Link/Link.js.map +1 -1
- package/build/cjs/components/Media/Image/Image.d.ts +1 -0
- package/build/cjs/components/Media/Image/Image.js +7 -5
- package/build/cjs/components/Media/Image/Image.js.map +1 -1
- package/build/cjs/components/Media/Media.css +4 -0
- package/build/cjs/components/Media/Media.d.ts +1 -0
- package/build/cjs/components/Media/Media.js +3 -2
- package/build/cjs/components/Media/Media.js.map +1 -1
- package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
- package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
- package/build/cjs/components/MetaInfo/MetaInfo.js.map +1 -1
- package/build/cjs/components/Table/Table.css +2 -1
- package/build/cjs/components/Table/Table.js +4 -2
- package/build/cjs/components/Table/Table.js.map +1 -1
- package/build/cjs/components/Title/TitleItem.css +15 -5
- package/build/cjs/components/Title/TitleItem.js +4 -1
- package/build/cjs/components/Title/TitleItem.js.map +1 -1
- package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
- package/build/cjs/components/YFMWrapper/YFMWrapper.js +4 -3
- package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
- package/build/cjs/constructor-items.d.ts +2 -2
- package/build/cjs/constructor-items.js +2 -4
- package/build/cjs/constructor-items.js.map +1 -1
- package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
- package/build/cjs/models/common.d.ts +1 -0
- package/build/cjs/models/common.js.map +1 -1
- package/build/cjs/models/constructor-items/blocks.d.ts +17 -15
- package/build/cjs/models/constructor-items/blocks.js +3 -2
- package/build/cjs/models/constructor-items/blocks.js.map +1 -1
- package/build/cjs/models/constructor-items/common.d.ts +2 -2
- package/build/cjs/models/constructor-items/common.js.map +1 -1
- package/build/cjs/schema/constants.js +3 -1
- package/build/cjs/schema/constants.js.map +1 -1
- package/build/cjs/schema/validators/blocks.d.ts +2 -2
- package/build/cjs/schema/validators/blocks.js +2 -2
- package/build/cjs/schema/validators/blocks.js.map +1 -1
- package/build/cjs/schema/validators/common.js +1 -1
- package/build/cjs/schema/validators/common.js.map +1 -1
- package/build/cjs/sub-blocks/BannerCard/BannerCard.css +14 -8
- package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -1
- package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
- package/build/cjs/sub-blocks/Content/Content.css +80 -31
- package/build/cjs/sub-blocks/Content/Content.js +3 -1
- package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
- package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
- package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
- package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
- package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
- package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
- package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
- package/build/cjs/sub-blocks/Quote/Quote.js +2 -1
- package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
- package/build/cjs/text-transform/common.d.ts +4 -3
- package/build/cjs/text-transform/common.js +41 -18
- package/build/cjs/text-transform/common.js.map +1 -1
- package/build/cjs/text-transform/config.d.ts +5 -2
- package/build/cjs/text-transform/config.js +84 -43
- package/build/cjs/text-transform/config.js.map +1 -1
- package/build/cjs/text-transform/transformers.js +2 -2
- package/build/cjs/text-transform/transformers.js.map +1 -1
- package/build/cjs/utils/blocks.d.ts +10 -2
- package/build/cjs/utils/blocks.js +10 -3
- package/build/cjs/utils/blocks.js.map +1 -1
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -6
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
- package/build/esm/blocks/Header/Header.css +15 -10
- package/build/esm/blocks/Header/Header.js +7 -2
- package/build/esm/blocks/Header/Header.js.map +1 -1
- package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
- package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
- package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
- package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -1
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +4 -2
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
- package/build/esm/blocks/Share/Share.js +5 -1
- package/build/esm/blocks/Share/Share.js.map +1 -1
- package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
- package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +4 -2
- package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
- package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
- package/build/esm/blocks/Slider/Slider.css +549 -329
- package/build/esm/blocks/Slider/Slider.d.ts +6 -5
- package/build/esm/blocks/Slider/Slider.js +32 -272
- package/build/esm/blocks/Slider/Slider.js.map +1 -1
- package/build/esm/blocks/Slider/i18n/en.json +1 -1
- package/build/esm/blocks/Slider/i18n/ru.json +1 -1
- package/build/esm/blocks/Slider/models.d.ts +2 -2
- package/build/esm/blocks/Slider/models.js +1 -1
- package/build/esm/blocks/Slider/models.js.map +1 -1
- package/build/esm/blocks/Slider/schema.d.ts +18 -1
- package/build/esm/blocks/Slider/schema.js +9 -0
- package/build/esm/blocks/Slider/schema.js.map +1 -1
- package/build/{cjs/blocks/SliderNew → esm/blocks/Slider}/useSlider.d.ts +1 -0
- package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +4 -0
- package/build/esm/blocks/Slider/useSlider.js.map +1 -0
- package/build/esm/blocks/Slider/useSliderPagination.js.map +1 -0
- package/build/esm/blocks/Slider/utils.d.ts +7 -28
- package/build/esm/blocks/Slider/utils.js +24 -103
- package/build/esm/blocks/Slider/utils.js.map +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
- package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
- package/build/esm/blocks/SliderOld/Arrow/Arrow.js +9 -0
- package/build/esm/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
- package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
- package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
- package/build/esm/blocks/SliderOld/SliderOld.js +288 -0
- package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -0
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
- package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
- package/build/{cjs/blocks/SliderNew → esm/blocks/SliderOld}/schema.d.ts +5 -21
- package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
- package/build/esm/blocks/SliderOld/schema.js.map +1 -0
- package/build/esm/blocks/SliderOld/utils.d.ts +37 -0
- package/build/esm/blocks/SliderOld/utils.js +116 -0
- package/build/esm/blocks/SliderOld/utils.js.map +1 -0
- package/build/esm/blocks/Table/Table.css +4 -3
- package/build/esm/blocks/Table/Table.js +4 -2
- package/build/esm/blocks/Table/Table.js.map +1 -1
- package/build/esm/blocks/index.d.ts +2 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/blocks/index.js.map +1 -1
- package/build/esm/blocks/validators.d.ts +1 -0
- package/build/esm/blocks/validators.js +1 -0
- package/build/esm/blocks/validators.js.map +1 -1
- package/build/esm/components/ContentList/ContentList.css +16 -12
- package/build/esm/components/ContentList/ContentList.js +1 -1
- package/build/esm/components/ContentList/ContentList.js.map +1 -1
- package/build/esm/components/FileLink/FileLink.js +8 -1
- package/build/esm/components/FileLink/FileLink.js.map +1 -1
- package/build/esm/components/FullscreenImage/FullscreenImage.css +96 -18
- package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
- package/build/esm/components/FullscreenImage/FullscreenImage.js +14 -2
- package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
- package/build/esm/components/HTML/HTML.d.ts +15 -8
- package/build/esm/components/HTML/HTML.js +17 -11
- package/build/esm/components/HTML/HTML.js.map +1 -1
- package/build/esm/components/Link/Link.js +12 -3
- package/build/esm/components/Link/Link.js.map +1 -1
- package/build/esm/components/Media/Image/Image.d.ts +1 -0
- package/build/esm/components/Media/Image/Image.js +7 -5
- package/build/esm/components/Media/Image/Image.js.map +1 -1
- package/build/esm/components/Media/Media.css +4 -0
- package/build/esm/components/Media/Media.d.ts +1 -0
- package/build/esm/components/Media/Media.js +3 -2
- package/build/esm/components/Media/Media.js.map +1 -1
- package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
- package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
- package/build/esm/components/MetaInfo/MetaInfo.js.map +1 -1
- package/build/esm/components/Table/Table.css +2 -1
- package/build/esm/components/Table/Table.js +5 -3
- package/build/esm/components/Table/Table.js.map +1 -1
- package/build/esm/components/Title/TitleItem.css +15 -5
- package/build/esm/components/Title/TitleItem.js +5 -2
- package/build/esm/components/Title/TitleItem.js.map +1 -1
- package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
- package/build/esm/components/YFMWrapper/YFMWrapper.js +5 -3
- package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
- package/build/esm/constructor-items.d.ts +2 -2
- package/build/esm/constructor-items.js +3 -5
- package/build/esm/constructor-items.js.map +1 -1
- package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
- package/build/esm/models/common.d.ts +1 -0
- package/build/esm/models/common.js.map +1 -1
- package/build/esm/models/constructor-items/blocks.d.ts +17 -15
- package/build/esm/models/constructor-items/blocks.js +3 -2
- package/build/esm/models/constructor-items/blocks.js.map +1 -1
- package/build/esm/models/constructor-items/common.d.ts +2 -2
- package/build/esm/models/constructor-items/common.js.map +1 -1
- package/build/esm/schema/constants.js +4 -2
- package/build/esm/schema/constants.js.map +1 -1
- package/build/esm/schema/validators/blocks.d.ts +2 -2
- package/build/esm/schema/validators/blocks.js +2 -2
- package/build/esm/schema/validators/blocks.js.map +1 -1
- package/build/esm/schema/validators/common.js +1 -1
- package/build/esm/schema/validators/common.js.map +1 -1
- package/build/esm/sub-blocks/BannerCard/BannerCard.css +14 -8
- package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -2
- package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
- package/build/esm/sub-blocks/Content/Content.css +80 -31
- package/build/esm/sub-blocks/Content/Content.js +3 -1
- package/build/esm/sub-blocks/Content/Content.js.map +1 -1
- package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
- package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
- package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
- package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
- package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
- package/build/esm/sub-blocks/Quote/Quote.css +8 -4
- package/build/esm/sub-blocks/Quote/Quote.js +3 -2
- package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
- package/build/esm/text-transform/common.d.ts +4 -3
- package/build/esm/text-transform/common.js +41 -18
- package/build/esm/text-transform/common.js.map +1 -1
- package/build/esm/text-transform/config.d.ts +5 -2
- package/build/esm/text-transform/config.js +85 -44
- package/build/esm/text-transform/config.js.map +1 -1
- package/build/esm/text-transform/transformers.js +2 -2
- package/build/esm/text-transform/transformers.js.map +1 -1
- package/build/esm/utils/blocks.d.ts +10 -2
- package/build/esm/utils/blocks.js +9 -2
- package/build/esm/utils/blocks.js.map +1 -1
- package/package.json +2 -2
- package/schema/index.js +1 -1
- package/server/models/common.d.ts +1 -0
- package/server/models/constructor-items/blocks.d.ts +17 -15
- package/server/models/constructor-items/blocks.js +3 -2
- package/server/models/constructor-items/common.d.ts +2 -2
- package/server/text-transform/common.d.ts +4 -3
- package/server/text-transform/common.js +41 -18
- package/server/text-transform/config.d.ts +5 -2
- package/server/text-transform/config.js +84 -43
- package/server/text-transform/transformers.js +2 -2
- package/server/utils/blocks.d.ts +10 -2
- package/server/utils/blocks.js +10 -3
- package/styles/fonts.scss +1 -0
- package/styles/styles.css +0 -1
- package/styles/styles.scss +0 -1
- package/styles/variables.scss +1 -0
- package/widget/index.js +1 -1
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -11
- package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
- package/build/cjs/blocks/SliderNew/Slider.css +0 -834
- package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
- package/build/cjs/blocks/SliderNew/Slider.js +0 -49
- package/build/cjs/blocks/SliderNew/Slider.js.map +0 -1
- package/build/cjs/blocks/SliderNew/schema.js.map +0 -1
- package/build/cjs/blocks/SliderNew/useSlider.js.map +0 -1
- package/build/cjs/blocks/SliderNew/useSliderPagination.js.map +0 -1
- package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
- package/build/cjs/blocks/SliderNew/utils.js +0 -44
- package/build/cjs/blocks/SliderNew/utils.js.map +0 -1
- package/build/cjs/blocks/unstable.d.ts +0 -1
- package/build/cjs/blocks/unstable.js +0 -7
- package/build/cjs/blocks/unstable.js.map +0 -1
- package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
- package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -9
- package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
- package/build/esm/blocks/SliderNew/Slider.css +0 -834
- package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
- package/build/esm/blocks/SliderNew/Slider.js +0 -45
- package/build/esm/blocks/SliderNew/Slider.js.map +0 -1
- package/build/esm/blocks/SliderNew/schema.js.map +0 -1
- package/build/esm/blocks/SliderNew/useSlider.js.map +0 -1
- package/build/esm/blocks/SliderNew/useSliderPagination.js.map +0 -1
- package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
- package/build/esm/blocks/SliderNew/utils.js +0 -37
- package/build/esm/blocks/SliderNew/utils.js.map +0 -1
- package/build/esm/blocks/unstable.d.ts +0 -1
- package/build/esm/blocks/unstable.js +0 -2
- package/build/esm/blocks/unstable.js.map +0 -1
- /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
- /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
- /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
- /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
- /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
- /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
|
@@ -63,22 +63,26 @@ unpredictable css rules order in build */
|
|
|
63
63
|
font-size: var(--g-text-body-3-font-size);
|
|
64
64
|
line-height: var(--g-text-body-3-line-height);
|
|
65
65
|
}
|
|
66
|
-
.pc-quote__content_quote-type_chevron::before {
|
|
66
|
+
.pc-quote__content_quote-type_chevron.pc-quote__content_quote-type_chevron::before {
|
|
67
67
|
position: absolute;
|
|
68
68
|
left: -10px;
|
|
69
69
|
content: "«";
|
|
70
70
|
}
|
|
71
|
-
.pc-quote__content_quote-type_chevron .pc-quote__text::after {
|
|
71
|
+
.pc-quote__content_quote-type_chevron.pc-quote__content_quote-type_chevron .pc-quote__text::after {
|
|
72
72
|
content: "»";
|
|
73
|
+
left: auto;
|
|
73
74
|
}
|
|
74
|
-
|
|
75
|
+
|
|
76
|
+
.pc-quote__content_quote-type_english-double.pc-quote__content_quote-type_english-double::before {
|
|
75
77
|
position: absolute;
|
|
76
78
|
left: -8px;
|
|
77
79
|
content: "“";
|
|
78
80
|
}
|
|
79
|
-
.pc-quote__content_quote-type_english-double .pc-quote__text::after {
|
|
81
|
+
.pc-quote__content_quote-type_english-double.pc-quote__content_quote-type_english-double .pc-quote__text::after {
|
|
80
82
|
content: "”";
|
|
83
|
+
left: auto;
|
|
81
84
|
}
|
|
85
|
+
|
|
82
86
|
.pc-quote__content .yfm {
|
|
83
87
|
font-size: var(--g-text-body-3-font-size);
|
|
84
88
|
line-height: var(--g-text-body-3-line-height);
|
|
@@ -23,7 +23,8 @@ const Quote = (props) => {
|
|
|
23
23
|
const renderFooter = Boolean(author || url) && ((0, jsx_runtime_1.jsxs)("div", { className: b('author-wrapper'), children: [themedAuthor && ((0, jsx_runtime_1.jsx)(components_1.Author, { className: b('author', { theme: textTheme }), author: themedAuthor, type: models_1.AuthorType.Line, theme: textTheme })), url && buttonText && !button && ((0, jsx_runtime_1.jsx)(components_1.Button, { theme: "outlined", size: "xl", url: url, className: b('link-button', { theme: textTheme }), onClick: handleButtonClick, urlTitle: urlTitle, text: buttonText })), button && (0, jsx_runtime_1.jsx)(components_1.Button, Object.assign({ size: "xl" }, button))] }));
|
|
24
24
|
const themedLogoProps = (0, utils_2.getThemedValue)(logo, theme);
|
|
25
25
|
const logoProps = (0, utils_1.getMediaImage)(themedLogoProps);
|
|
26
|
-
|
|
26
|
+
const textLocal = yfmText || text;
|
|
27
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: b({ theme: textTheme, border }), style: color ? { backgroundColor: color } : {}, children: [(0, jsx_runtime_1.jsxs)("div", { className: b('content-wrapper'), children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(components_1.Image, Object.assign({ className: b('logo') }, logoProps)), (0, jsx_runtime_1.jsx)("div", { className: b('content', { 'quote-type': quoteType }), children: textLocal && ((0, jsx_runtime_1.jsx)(components_1.YFMWrapper, { tagName: "span", contentClassName: b('text'), content: textLocal, modifiers: { constructor: true } })) })] }), renderFooter] }, text), (0, jsx_runtime_1.jsx)("div", { className: b('image-wrapper'), children: (0, jsx_runtime_1.jsx)(components_1.Image, Object.assign({}, imageData, { className: b('image') })) })] }));
|
|
27
28
|
};
|
|
28
29
|
exports.default = Quote;
|
|
29
30
|
//# sourceMappingURL=Quote.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quote.js","sourceRoot":"../../../../src","sources":["sub-blocks/Quote/Quote.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,
|
|
1
|
+
{"version":3,"file":"Quote.js","sourceRoot":"../../../../src","sources":["sub-blocks/Quote/Quote.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Author, Button, Image, YFMWrapper} from '../../components';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {useAnalytics} from '../../hooks';\nimport {AuthorItem, AuthorType, DefaultEventNames, QuoteProps, QuoteType} from '../../models';\nimport {block, getThemedValue} from '../../utils';\n\nimport './Quote.scss';\n\nconst b = block('quote');\n\nconst Quote = (props: QuoteProps) => {\n const {\n theme: textTheme = 'light',\n color,\n image,\n border = 'shadow',\n text,\n yfmText,\n logo,\n author,\n url,\n urlTitle,\n buttonText,\n quoteType = QuoteType.Chevron,\n button,\n } = props;\n const theme = useTheme();\n const imageThemed = getThemedValue(image, theme);\n const imageData = getMediaImage(imageThemed);\n const handleAnalytics = useAnalytics(DefaultEventNames.QuoteButton, url);\n\n const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);\n const themedAuthor = author\n ? ({\n ...author,\n avatar: getThemedValue(author.avatar, theme),\n } as AuthorItem)\n : author;\n\n const renderFooter = Boolean(author || url) && (\n <div className={b('author-wrapper')}>\n {themedAuthor && (\n <Author\n className={b('author', {theme: textTheme})}\n author={themedAuthor}\n type={AuthorType.Line}\n theme={textTheme}\n />\n )}\n {url && buttonText && !button && (\n <Button\n theme=\"outlined\"\n size=\"xl\"\n url={url}\n className={b('link-button', {theme: textTheme})}\n onClick={handleButtonClick}\n urlTitle={urlTitle}\n text={buttonText}\n />\n )}\n {button && <Button size=\"xl\" {...button} />}\n </div>\n );\n\n const themedLogoProps = getThemedValue(logo, theme);\n const logoProps = getMediaImage(themedLogoProps);\n\n const textLocal = yfmText || text;\n\n return (\n <div\n className={b({theme: textTheme, border})}\n style={color ? {backgroundColor: color} : {}}\n >\n <div key={text} className={b('content-wrapper')}>\n <div>\n <Image className={b('logo')} {...logoProps} />\n <div className={b('content', {'quote-type': quoteType})}>\n {textLocal && (\n <YFMWrapper\n tagName=\"span\"\n contentClassName={b('text')}\n content={textLocal}\n modifiers={{constructor: true}}\n />\n )}\n </div>\n </div>\n {renderFooter}\n </div>\n <div className={b('image-wrapper')}>\n <Image {...imageData} className={b('image')} />\n </div>\n </div>\n );\n};\n\nexport default Quote;\n"]}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { MarkdownItPluginCb } from '@diplodoc/transform/lib/plugins/typings';
|
|
2
2
|
import { Lang } from "./types.js";
|
|
3
3
|
export type ComplexItem = {
|
|
4
|
-
[key: string]: string;
|
|
4
|
+
[key: string]: string | object;
|
|
5
5
|
};
|
|
6
6
|
export type Item = string | null | ComplexItem;
|
|
7
7
|
export type Transformer = (text: string) => string;
|
|
8
8
|
export type TransformerRaw = (lang: Lang, content: string, options: {
|
|
9
9
|
plugins: MarkdownItPluginCb[];
|
|
10
|
+
renderInline?: boolean;
|
|
10
11
|
}) => string;
|
|
11
12
|
export type Parser<T = any> = (transformer: Transformer, block: T) => T;
|
|
12
13
|
export declare const createItemsParser: (fields: string[]) => (transformer: Transformer, items: Item[]) => (string | {
|
|
13
|
-
[x: string]: string;
|
|
14
|
+
[x: string]: string | object;
|
|
14
15
|
} | null)[];
|
|
15
16
|
export declare function yfmTransformer(lang: Lang, content: string, options?: {
|
|
16
17
|
plugins?: MarkdownItPluginCb[];
|
|
17
|
-
}): string;
|
|
18
|
+
}, renderInline?: boolean): string;
|
|
18
19
|
export declare function typografTransformer(lang: Lang, content: string): string;
|
|
@@ -6,29 +6,52 @@ exports.typografTransformer = typografTransformer;
|
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
const plugins_1 = tslib_1.__importDefault(require("@diplodoc/transform/lib/plugins"));
|
|
8
8
|
const utils_1 = require("./utils.js");
|
|
9
|
-
const createItemsParser = (fields) => (transformer, items) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
9
|
+
const createItemsParser = (fields) => (transformer, items) => {
|
|
10
|
+
const applyTransform = (itemLocal) => typeof itemLocal === 'string' ? transformer(itemLocal) : itemLocal;
|
|
11
|
+
return items.map((item) => {
|
|
12
|
+
if (!item) {
|
|
13
|
+
return item;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof item === 'string') {
|
|
16
|
+
return transformer(item);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return Object.assign(Object.assign({}, item), fields.reduce((acc, fieldName) => {
|
|
20
|
+
if (fieldName.includes('.')) {
|
|
21
|
+
const [firstProperty, secondProperty] = fieldName.split('.');
|
|
22
|
+
const root = item[firstProperty];
|
|
23
|
+
if (!root || typeof root !== 'object') {
|
|
24
|
+
return acc;
|
|
25
|
+
}
|
|
26
|
+
if (Array.isArray(root)) {
|
|
27
|
+
if (!acc[firstProperty]) {
|
|
28
|
+
// eslint-disable-next-line no-param-reassign
|
|
29
|
+
acc[firstProperty] = [];
|
|
30
|
+
}
|
|
31
|
+
// eslint-disable-next-line no-param-reassign
|
|
32
|
+
acc[firstProperty] = root.map((subItem) => (Object.assign(Object.assign({}, subItem), { [secondProperty]: applyTransform(subItem[secondProperty]) })));
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// eslint-disable-next-line no-param-reassign
|
|
36
|
+
acc[firstProperty] = Object.assign(Object.assign({}, root), { [secondProperty]: applyTransform(root[secondProperty]) });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (item[fieldName]) {
|
|
40
|
+
// eslint-disable-next-line no-param-reassign
|
|
41
|
+
acc[fieldName] = applyTransform(item[fieldName]);
|
|
42
|
+
}
|
|
43
|
+
return acc;
|
|
44
|
+
}, {}));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
};
|
|
26
48
|
exports.createItemsParser = createItemsParser;
|
|
27
|
-
function yfmTransformer(lang, content, options = {}) {
|
|
49
|
+
function yfmTransformer(lang, content, options = {}, renderInline = false) {
|
|
28
50
|
const { plugins = [] } = options;
|
|
29
51
|
const { html } = (0, utils_1.fullTransform)(content, {
|
|
30
52
|
lang,
|
|
31
53
|
plugins: [...plugins_1.default, ...plugins],
|
|
54
|
+
renderInline,
|
|
32
55
|
});
|
|
33
56
|
return html;
|
|
34
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["text-transform/common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["text-transform/common.ts"],"names":[],"mappings":";;;AAoEA,wCAcC;AAED,kDAEC;;AAtFD,sFAA6D;AAI7D,sCAAsD;AAa/C,MAAM,iBAAiB,GAC1B,CAAC,MAAgB,EAAE,EAAE,CAAC,CAAC,WAAwB,EAAE,KAAa,EAAE,EAAE;IAC9D,MAAM,cAAc,GAAG,CAAC,SAA0B,EAAE,EAAE,CAClD,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,uCACO,IAAI,GACJ,MAAM,CAAC,MAAM,CAAc,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAsC,CAAC;oBACtE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACpC,OAAO,GAAG,CAAC;oBACf,CAAC;oBAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;4BACtB,6CAA6C;4BAC7C,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;wBAC5B,CAAC;wBAED,6CAA6C;wBAC7C,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAoB,EAAE,EAAE,CAAC,iCACjD,OAAO,KACV,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAC3D,CAAC,CAAC;oBACR,CAAC;yBAAM,CAAC;wBACJ,6CAA6C;wBAC7C,GAAG,CAAC,aAAa,CAAC,mCACX,IAAI,KACP,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GACzD,CAAC;oBACN,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzB,6CAA6C;oBAC7C,GAAG,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAED,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAiB,CAAC,EACvB;QACN,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAjDO,QAAA,iBAAiB,qBAiDxB;AAEN,SAAgB,cAAc,CAC1B,IAAU,EACV,OAAe,EACf,UAA4C,EAAE,EAC9C,YAAY,GAAG,KAAK;IAEpB,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC;IAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE;QAClC,IAAI;QACJ,OAAO,EAAE,CAAC,GAAG,iBAAc,EAAE,GAAG,OAAO,CAAC;QACxC,YAAY;KACf,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAU,EAAE,OAAe;IAC3D,OAAO,IAAA,sBAAc,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import defaultPlugins from '@diplodoc/transform/lib/plugins';\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\n\nimport {Lang} from './types';\nimport {fullTransform, typografToHTML} from './utils';\n\nexport type ComplexItem = {[key: string]: string | object};\nexport type Item = string | null | ComplexItem;\nexport type Transformer = (text: string) => string;\nexport type TransformerRaw = (\n lang: Lang,\n content: string,\n options: {plugins: MarkdownItPluginCb[]; renderInline?: boolean},\n) => string;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Parser<T = any> = (transformer: Transformer, block: T) => T;\n\nexport const createItemsParser =\n (fields: string[]) => (transformer: Transformer, items: Item[]) => {\n const applyTransform = (itemLocal: string | object) =>\n typeof itemLocal === 'string' ? transformer(itemLocal as string) : itemLocal;\n\n return items.map((item) => {\n if (!item) {\n return item;\n } else if (typeof item === 'string') {\n return transformer(item);\n } else {\n return {\n ...item,\n ...fields.reduce<ComplexItem>((acc, fieldName) => {\n if (fieldName.includes('.')) {\n const [firstProperty, secondProperty] = fieldName.split('.');\n const root = item[firstProperty] as unknown as Record<string, string>;\n if (!root || typeof root !== 'object') {\n return acc;\n }\n\n if (Array.isArray(root)) {\n if (!acc[firstProperty]) {\n // eslint-disable-next-line no-param-reassign\n acc[firstProperty] = [];\n }\n\n // eslint-disable-next-line no-param-reassign\n acc[firstProperty] = root.map((subItem: ComplexItem) => ({\n ...subItem,\n [secondProperty]: applyTransform(subItem[secondProperty]),\n }));\n } else {\n // eslint-disable-next-line no-param-reassign\n acc[firstProperty] = {\n ...root,\n [secondProperty]: applyTransform(root[secondProperty]),\n };\n }\n } else if (item[fieldName]) {\n // eslint-disable-next-line no-param-reassign\n acc[fieldName] = applyTransform(item[fieldName]);\n }\n\n return acc;\n }, {} as ComplexItem),\n };\n }\n });\n };\n\nexport function yfmTransformer(\n lang: Lang,\n content: string,\n options: {plugins?: MarkdownItPluginCb[]} = {},\n renderInline = false,\n) {\n const {plugins = []} = options;\n const {html} = fullTransform(content, {\n lang,\n plugins: [...defaultPlugins, ...plugins],\n renderInline,\n });\n\n return html;\n}\n\nexport function typografTransformer(lang: Lang, content: string) {\n return typografToHTML(content, lang);\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TitleItemProps } from "../models/index.js";
|
|
2
|
-
import { Parser, Transformer, TransformerRaw,
|
|
2
|
+
import { Parser, Transformer, TransformerRaw, yfmTransformer } from "./common.js";
|
|
3
3
|
export declare const blockHeaderTransformer: ({
|
|
4
4
|
fields: string[];
|
|
5
|
-
transformer: typeof
|
|
5
|
+
transformer: typeof yfmTransformer;
|
|
6
6
|
parser: (transformer: Transformer, title: TitleItemProps | string) => string | {
|
|
7
7
|
text: string;
|
|
8
8
|
navTitle?: string;
|
|
@@ -14,15 +14,18 @@ export declare const blockHeaderTransformer: ({
|
|
|
14
14
|
custom?: string | React.ReactNode;
|
|
15
15
|
onClick?: () => void;
|
|
16
16
|
};
|
|
17
|
+
renderInline: boolean;
|
|
17
18
|
} | {
|
|
18
19
|
fields: string[];
|
|
19
20
|
transformer: typeof yfmTransformer;
|
|
20
21
|
parser?: undefined;
|
|
22
|
+
renderInline?: undefined;
|
|
21
23
|
})[];
|
|
22
24
|
interface BlockConfig {
|
|
23
25
|
transformer: TransformerRaw;
|
|
24
26
|
fields?: string[];
|
|
25
27
|
parser?: Parser;
|
|
28
|
+
renderInline?: boolean;
|
|
26
29
|
}
|
|
27
30
|
export type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;
|
|
28
31
|
export declare const config: BlocksConfig;
|
|
@@ -6,10 +6,26 @@ exports.config = exports.blockHeaderTransformer = void 0;
|
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
const models_1 = require("../models/index.js");
|
|
8
8
|
const common_1 = require("./common.js");
|
|
9
|
-
function
|
|
9
|
+
function parseTableBlockLegend(transformer, content) {
|
|
10
10
|
const legend = content === null || content === void 0 ? void 0 : content.legend;
|
|
11
11
|
return Object.assign(Object.assign({}, (content || {})), { legend: legend && legend.map((string) => transformer(string)) });
|
|
12
12
|
}
|
|
13
|
+
function parseTableBlockContent(transformer, content) {
|
|
14
|
+
const legend = content === null || content === void 0 ? void 0 : content.legend;
|
|
15
|
+
const tableContent = content === null || content === void 0 ? void 0 : content.content;
|
|
16
|
+
return Object.assign(Object.assign({}, (content || {})), { content: tableContent &&
|
|
17
|
+
tableContent.map((row, i) => row.map((cell, j) => {
|
|
18
|
+
if (legend) {
|
|
19
|
+
if (i === 0 || j === 0) {
|
|
20
|
+
return transformer(cell);
|
|
21
|
+
}
|
|
22
|
+
return cell;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return transformer(cell);
|
|
26
|
+
}
|
|
27
|
+
})) });
|
|
28
|
+
}
|
|
13
29
|
function parseFeatures(transformer, items) {
|
|
14
30
|
return items.map((_a) => {
|
|
15
31
|
var { title, text } = _a, rest = tslib_1.__rest(_a, ["title", "text"]);
|
|
@@ -84,8 +100,9 @@ function parseContentLayoutTitle(transformer, content) {
|
|
|
84
100
|
exports.blockHeaderTransformer = [
|
|
85
101
|
{
|
|
86
102
|
fields: ['title'],
|
|
87
|
-
transformer: common_1.
|
|
103
|
+
transformer: common_1.yfmTransformer,
|
|
88
104
|
parser: parseTitle,
|
|
105
|
+
renderInline: true,
|
|
89
106
|
},
|
|
90
107
|
{
|
|
91
108
|
fields: ['description'],
|
|
@@ -96,7 +113,8 @@ exports.config = {
|
|
|
96
113
|
[models_1.SubBlockType.BasicCard]: [
|
|
97
114
|
{
|
|
98
115
|
fields: ['title'],
|
|
99
|
-
transformer: common_1.
|
|
116
|
+
transformer: common_1.yfmTransformer,
|
|
117
|
+
renderInline: true,
|
|
100
118
|
},
|
|
101
119
|
{
|
|
102
120
|
fields: ['text', 'additionalInfo'],
|
|
@@ -105,22 +123,16 @@ exports.config = {
|
|
|
105
123
|
],
|
|
106
124
|
[models_1.SubBlockType.BackgroundCard]: [
|
|
107
125
|
{
|
|
108
|
-
fields: ['text', 'additionalInfo'],
|
|
126
|
+
fields: ['title', 'text', 'additionalInfo'],
|
|
109
127
|
transformer: common_1.yfmTransformer,
|
|
110
|
-
|
|
111
|
-
{
|
|
112
|
-
fields: ['title'],
|
|
113
|
-
transformer: common_1.typografTransformer,
|
|
128
|
+
renderInline: true,
|
|
114
129
|
},
|
|
115
130
|
],
|
|
116
131
|
[models_1.SubBlockType.ImageCard]: [
|
|
117
132
|
{
|
|
118
|
-
fields: ['text', 'additionalInfo'],
|
|
133
|
+
fields: ['title', 'text', 'additionalInfo'],
|
|
119
134
|
transformer: common_1.yfmTransformer,
|
|
120
|
-
|
|
121
|
-
{
|
|
122
|
-
fields: ['title'],
|
|
123
|
-
transformer: common_1.typografTransformer,
|
|
135
|
+
renderInline: true,
|
|
124
136
|
},
|
|
125
137
|
],
|
|
126
138
|
[models_1.SubBlockType.LayoutItem]: [
|
|
@@ -132,7 +144,8 @@ exports.config = {
|
|
|
132
144
|
{
|
|
133
145
|
fields: ['content'],
|
|
134
146
|
parser: parseContentLayoutTitle,
|
|
135
|
-
transformer: common_1.
|
|
147
|
+
transformer: common_1.yfmTransformer,
|
|
148
|
+
renderInline: true,
|
|
136
149
|
},
|
|
137
150
|
{
|
|
138
151
|
fields: ['metaInfo'],
|
|
@@ -142,26 +155,30 @@ exports.config = {
|
|
|
142
155
|
],
|
|
143
156
|
[models_1.SubBlockType.Quote]: [
|
|
144
157
|
{
|
|
145
|
-
fields: ['text'],
|
|
146
|
-
transformer: common_1.typografTransformer,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
fields: ['yfmText'],
|
|
158
|
+
fields: ['text', 'yfmText'],
|
|
150
159
|
transformer: common_1.yfmTransformer,
|
|
160
|
+
renderInline: true,
|
|
151
161
|
},
|
|
152
162
|
],
|
|
153
163
|
[models_1.BlockType.ExtendedFeaturesBlock]: [
|
|
154
164
|
...exports.blockHeaderTransformer,
|
|
155
165
|
{
|
|
156
166
|
fields: ['items'],
|
|
157
|
-
transformer: common_1.
|
|
167
|
+
transformer: common_1.yfmTransformer,
|
|
158
168
|
parser: (0, common_1.createItemsParser)(['title']),
|
|
169
|
+
renderInline: true,
|
|
159
170
|
},
|
|
160
171
|
{
|
|
161
172
|
fields: ['items'],
|
|
162
173
|
transformer: common_1.yfmTransformer,
|
|
163
174
|
parser: (0, common_1.createItemsParser)(['text', 'additionalInfo']),
|
|
164
175
|
},
|
|
176
|
+
{
|
|
177
|
+
fields: ['items'],
|
|
178
|
+
transformer: common_1.yfmTransformer,
|
|
179
|
+
parser: (0, common_1.createItemsParser)(['list.text']),
|
|
180
|
+
renderInline: true,
|
|
181
|
+
},
|
|
165
182
|
],
|
|
166
183
|
[models_1.BlockType.PromoFeaturesBlock]: [
|
|
167
184
|
...exports.blockHeaderTransformer,
|
|
@@ -171,16 +188,14 @@ exports.config = {
|
|
|
171
188
|
parser: parsePromoFeatures,
|
|
172
189
|
},
|
|
173
190
|
],
|
|
191
|
+
[models_1.BlockType.SliderOldBlock]: exports.blockHeaderTransformer,
|
|
174
192
|
[models_1.BlockType.SliderBlock]: exports.blockHeaderTransformer,
|
|
175
193
|
[models_1.BlockType.CompaniesBlock]: exports.blockHeaderTransformer,
|
|
176
194
|
[models_1.BlockType.QuestionsBlock]: [
|
|
177
195
|
{
|
|
178
|
-
fields: ['title'],
|
|
179
|
-
transformer: common_1.typografTransformer,
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
fields: ['text', 'additionalInfo'],
|
|
196
|
+
fields: ['title', 'text', 'additionalInfo'],
|
|
183
197
|
transformer: common_1.yfmTransformer,
|
|
198
|
+
renderInline: true,
|
|
184
199
|
},
|
|
185
200
|
{
|
|
186
201
|
fields: ['items'],
|
|
@@ -191,7 +206,8 @@ exports.config = {
|
|
|
191
206
|
[models_1.BlockType.BannerBlock]: [
|
|
192
207
|
{
|
|
193
208
|
fields: ['title'],
|
|
194
|
-
transformer: common_1.
|
|
209
|
+
transformer: common_1.yfmTransformer,
|
|
210
|
+
renderInline: true,
|
|
195
211
|
},
|
|
196
212
|
{
|
|
197
213
|
fields: ['subtitle'],
|
|
@@ -201,7 +217,8 @@ exports.config = {
|
|
|
201
217
|
[models_1.SubBlockType.BannerCard]: [
|
|
202
218
|
{
|
|
203
219
|
fields: ['title'],
|
|
204
|
-
transformer: common_1.
|
|
220
|
+
transformer: common_1.yfmTransformer,
|
|
221
|
+
renderInline: true,
|
|
205
222
|
},
|
|
206
223
|
{
|
|
207
224
|
fields: ['subtitle'],
|
|
@@ -211,7 +228,7 @@ exports.config = {
|
|
|
211
228
|
[models_1.BlockType.MediaBlock]: [
|
|
212
229
|
...exports.blockHeaderTransformer,
|
|
213
230
|
{
|
|
214
|
-
fields: ['
|
|
231
|
+
fields: ['additionalInfo'],
|
|
215
232
|
transformer: common_1.yfmTransformer,
|
|
216
233
|
},
|
|
217
234
|
{
|
|
@@ -236,27 +253,35 @@ exports.config = {
|
|
|
236
253
|
},
|
|
237
254
|
{
|
|
238
255
|
fields: ['items'],
|
|
239
|
-
transformer: common_1.
|
|
256
|
+
transformer: common_1.yfmTransformer,
|
|
240
257
|
parser: parseItemsTitle,
|
|
258
|
+
renderInline: true,
|
|
241
259
|
},
|
|
242
260
|
],
|
|
243
261
|
[models_1.BlockType.TableBlock]: [
|
|
262
|
+
{
|
|
263
|
+
fields: ['title'],
|
|
264
|
+
transformer: common_1.yfmTransformer,
|
|
265
|
+
renderInline: true,
|
|
266
|
+
},
|
|
244
267
|
{
|
|
245
268
|
fields: ['table'],
|
|
246
269
|
transformer: common_1.yfmTransformer,
|
|
247
|
-
parser:
|
|
270
|
+
parser: parseTableBlockLegend,
|
|
248
271
|
},
|
|
249
|
-
],
|
|
250
|
-
[models_1.BlockType.HeaderSliderBlock]: [
|
|
251
272
|
{
|
|
252
|
-
fields: ['
|
|
253
|
-
transformer: common_1.
|
|
254
|
-
parser:
|
|
273
|
+
fields: ['table'],
|
|
274
|
+
transformer: common_1.yfmTransformer,
|
|
275
|
+
parser: parseTableBlockContent,
|
|
276
|
+
renderInline: true,
|
|
255
277
|
},
|
|
278
|
+
],
|
|
279
|
+
[models_1.BlockType.HeaderSliderBlock]: [
|
|
256
280
|
{
|
|
257
281
|
fields: ['items'],
|
|
258
282
|
transformer: common_1.yfmTransformer,
|
|
259
|
-
parser: (0, common_1.createItemsParser)(['description']),
|
|
283
|
+
parser: (0, common_1.createItemsParser)(['title', 'overtitle', 'description']),
|
|
284
|
+
renderInline: true,
|
|
260
285
|
},
|
|
261
286
|
],
|
|
262
287
|
[models_1.SubBlockType.PriceDetailed]: [
|
|
@@ -270,6 +295,11 @@ exports.config = {
|
|
|
270
295
|
fields: ['description'],
|
|
271
296
|
transformer: common_1.yfmTransformer,
|
|
272
297
|
},
|
|
298
|
+
{
|
|
299
|
+
fields: ['overtitle', 'title'],
|
|
300
|
+
transformer: common_1.yfmTransformer,
|
|
301
|
+
renderInline: true,
|
|
302
|
+
},
|
|
273
303
|
],
|
|
274
304
|
[models_1.BlockType.ContentLayoutBlock]: [
|
|
275
305
|
{
|
|
@@ -279,8 +309,9 @@ exports.config = {
|
|
|
279
309
|
},
|
|
280
310
|
{
|
|
281
311
|
fields: ['textContent'],
|
|
282
|
-
transformer: common_1.
|
|
312
|
+
transformer: common_1.yfmTransformer,
|
|
283
313
|
parser: parseContentLayoutTitle,
|
|
314
|
+
renderInline: true,
|
|
284
315
|
},
|
|
285
316
|
],
|
|
286
317
|
[models_1.SubBlockType.Content]: [
|
|
@@ -290,8 +321,9 @@ exports.config = {
|
|
|
290
321
|
},
|
|
291
322
|
{
|
|
292
323
|
fields: ['title'],
|
|
293
|
-
transformer: common_1.
|
|
324
|
+
transformer: common_1.yfmTransformer,
|
|
294
325
|
parser: parseTitle,
|
|
326
|
+
renderInline: true,
|
|
295
327
|
},
|
|
296
328
|
{
|
|
297
329
|
fields: ['list'],
|
|
@@ -300,6 +332,11 @@ exports.config = {
|
|
|
300
332
|
},
|
|
301
333
|
],
|
|
302
334
|
[models_1.BlockType.InfoBlock]: [
|
|
335
|
+
{
|
|
336
|
+
fields: ['title'],
|
|
337
|
+
transformer: common_1.yfmTransformer,
|
|
338
|
+
renderInline: true,
|
|
339
|
+
},
|
|
303
340
|
{
|
|
304
341
|
fields: ['rightContent', 'leftContent'],
|
|
305
342
|
transformer: common_1.yfmTransformer,
|
|
@@ -307,14 +344,16 @@ exports.config = {
|
|
|
307
344
|
},
|
|
308
345
|
{
|
|
309
346
|
fields: ['rightContent', 'leftContent'],
|
|
310
|
-
transformer: common_1.
|
|
347
|
+
transformer: common_1.yfmTransformer,
|
|
311
348
|
parser: parseContentLayoutTitle,
|
|
349
|
+
renderInline: true,
|
|
312
350
|
},
|
|
313
351
|
],
|
|
314
352
|
[models_1.BlockType.ShareBlock]: [
|
|
315
353
|
{
|
|
316
354
|
fields: ['title'],
|
|
317
|
-
transformer: common_1.
|
|
355
|
+
transformer: common_1.yfmTransformer,
|
|
356
|
+
renderInline: true,
|
|
318
357
|
},
|
|
319
358
|
],
|
|
320
359
|
[models_1.BlockType.CardLayoutBlock]: exports.blockHeaderTransformer,
|
|
@@ -323,12 +362,13 @@ exports.config = {
|
|
|
323
362
|
[models_1.SubBlockType.PriceCard]: [
|
|
324
363
|
{
|
|
325
364
|
fields: ['title'],
|
|
326
|
-
transformer: common_1.
|
|
365
|
+
transformer: common_1.yfmTransformer,
|
|
366
|
+
renderInline: true,
|
|
327
367
|
},
|
|
328
368
|
{
|
|
329
369
|
fields: ['list'],
|
|
330
370
|
transformer: common_1.yfmTransformer,
|
|
331
|
-
parser: (0, common_1.createItemsParser)(['text']),
|
|
371
|
+
parser: (0, common_1.createItemsParser)(['title', 'text']),
|
|
332
372
|
},
|
|
333
373
|
],
|
|
334
374
|
[models_1.BlockType.FormBlock]: [
|
|
@@ -339,8 +379,9 @@ exports.config = {
|
|
|
339
379
|
},
|
|
340
380
|
{
|
|
341
381
|
fields: ['textContent'],
|
|
342
|
-
transformer: common_1.
|
|
382
|
+
transformer: common_1.yfmTransformer,
|
|
343
383
|
parser: parseContentLayoutTitle,
|
|
384
|
+
renderInline: true,
|
|
344
385
|
},
|
|
345
386
|
],
|
|
346
387
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"../../../src","sources":["text-transform/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {\n Parser,\n Transformer,\n TransformerRaw,\n createItemsParser,\n typografTransformer,\n yfmTransformer,\n} from './common';\n\nfunction parseTableBlock(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n\n return {\n ...(content || {}),\n legend: legend && legend.map((string) => transformer(string)),\n };\n}\n\nfunction parseFeatures(transformer: Transformer, items: ExtendedFeaturesItem[]) {\n return items.map(({title, text, ...rest}) => ({\n title: title && transformer(title),\n text: text && transformer(text),\n ...rest,\n }));\n}\n\nfunction parsePromoFeatures(transformer: Transformer, items: PromoFeaturesItem[]) {\n return items.map(({text, ...rest}) => ({\n text: transformer(text),\n ...rest,\n }));\n}\n\nconst parseTitle = (transformer: Transformer, title: TitleItemProps | string) =>\n typeof title === 'object' && 'text' in title\n ? {...title, text: transformer(title.text)}\n : title && transformer(title);\n\nconst parseItemsTitle = (transformer: Transformer, items: ExtendedFeaturesItem[]) =>\n items.map(({title, ...rest}) => ({\n title: title && parseTitle(transformer, title),\n ...rest,\n }));\n\nfunction parsePriceDetailedBlock(transformer: Transformer, block: PriceDetailedProps) {\n const {priceType} = block;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n block.items = block.items.map((item) => {\n const {description, items: details = []} = item;\n\n if (priceType === 'marked-list') {\n item.items = (details as PriceDetailsListProps[]).map((detail) => {\n detail.text = detail.text && transformer(detail.text);\n\n return detail;\n });\n } else {\n item.items = (details as PriceDetailsSettingsProps[]).map((detail) => {\n detail.description = detail.description && transformer(detail.description);\n\n return detail;\n });\n }\n\n item.description = transformer(description);\n\n return item;\n });\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\n return block;\n}\n\nconst parseContentLayout = (transformer: Transformer, content: ContentBlockProps) => {\n if (content) {\n const {text, additionalInfo, list} = content;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n if (text) {\n content.text = transformer(text);\n }\n\n if (additionalInfo) {\n content.additionalInfo = transformer(additionalInfo);\n }\n\n if (list) {\n content.list = list.map((item) => {\n if (item?.text) {\n return {\n ...item,\n text: transformer(item.text),\n };\n }\n\n return item;\n });\n }\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n }\n\n return content;\n};\n\nfunction parseContentLayoutTitle(transformer: Transformer, content: ContentBlockProps) {\n if (content?.title) {\n const {title} = content;\n\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign\n content.title = title && parseTitle(transformer, title);\n }\n\n return content;\n}\n\nexport const blockHeaderTransformer = [\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n];\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n}\n\nexport type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;\n\nexport const config: BlocksConfig = {\n [SubBlockType.BasicCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BackgroundCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.ImageCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.LayoutItem]: [\n {\n fields: ['content'],\n parser: parseContentLayout,\n transformer: yfmTransformer,\n },\n {\n fields: ['content'],\n parser: parseContentLayoutTitle,\n transformer: typografTransformer,\n },\n {\n fields: ['metaInfo'],\n parser: createItemsParser([]),\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.Quote]: [\n {\n fields: ['text'],\n transformer: typografTransformer,\n },\n {\n fields: ['yfmText'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ExtendedFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo']),\n },\n ],\n [BlockType.PromoFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parsePromoFeatures,\n },\n ],\n [BlockType.SliderBlock]: blockHeaderTransformer,\n [BlockType.CompaniesBlock]: blockHeaderTransformer,\n [BlockType.QuestionsBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n\n [BlockType.BannerBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BannerCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.MediaBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.MapBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.TabsBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo', 'caption']),\n },\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: parseItemsTitle,\n },\n ],\n [BlockType.TableBlock]: [\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlock,\n },\n ],\n [BlockType.HeaderSliderBlock]: [\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title', 'overtitle']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['description']),\n },\n ],\n [SubBlockType.PriceDetailed]: [\n {\n transformer: yfmTransformer,\n parser: parsePriceDetailedBlock,\n },\n ],\n [BlockType.HeaderBlock]: [\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ContentLayoutBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [SubBlockType.Content]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.InfoBlock]: [\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [BlockType.ShareBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [BlockType.CardLayoutBlock]: blockHeaderTransformer,\n [BlockType.FilterBlock]: blockHeaderTransformer,\n [BlockType.IconsBlock]: blockHeaderTransformer,\n [SubBlockType.PriceCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.FormBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n};\n"]}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"../../../src","sources":["text-transform/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {Parser, Transformer, TransformerRaw, createItemsParser, yfmTransformer} from './common';\n\nfunction parseTableBlockLegend(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n\n return {\n ...(content || {}),\n legend: legend && legend.map((string) => transformer(string)),\n };\n}\n\nfunction parseTableBlockContent(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n const tableContent = content?.content;\n\n return {\n ...(content || {}),\n content:\n tableContent &&\n tableContent.map((row, i) =>\n row.map((cell, j) => {\n if (legend) {\n if (i === 0 || j === 0) {\n return transformer(cell);\n }\n return cell;\n } else {\n return transformer(cell);\n }\n }),\n ),\n };\n}\n\nfunction parseFeatures(transformer: Transformer, items: ExtendedFeaturesItem[]) {\n return items.map(({title, text, ...rest}) => ({\n title: title && transformer(title),\n text: text && transformer(text),\n ...rest,\n }));\n}\n\nfunction parsePromoFeatures(transformer: Transformer, items: PromoFeaturesItem[]) {\n return items.map(({text, ...rest}) => ({\n text: transformer(text),\n ...rest,\n }));\n}\n\nconst parseTitle = (transformer: Transformer, title: TitleItemProps | string) =>\n typeof title === 'object' && 'text' in title\n ? {...title, text: transformer(title.text)}\n : title && transformer(title);\n\nconst parseItemsTitle = (transformer: Transformer, items: ExtendedFeaturesItem[]) =>\n items.map(({title, ...rest}) => ({\n title: title && parseTitle(transformer, title),\n ...rest,\n }));\n\nfunction parsePriceDetailedBlock(transformer: Transformer, block: PriceDetailedProps) {\n const {priceType} = block;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n block.items = block.items.map((item) => {\n const {description, items: details = []} = item;\n\n if (priceType === 'marked-list') {\n item.items = (details as PriceDetailsListProps[]).map((detail) => {\n detail.text = detail.text && transformer(detail.text);\n\n return detail;\n });\n } else {\n item.items = (details as PriceDetailsSettingsProps[]).map((detail) => {\n detail.description = detail.description && transformer(detail.description);\n\n return detail;\n });\n }\n\n item.description = transformer(description);\n\n return item;\n });\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\n return block;\n}\n\nconst parseContentLayout = (transformer: Transformer, content: ContentBlockProps) => {\n if (content) {\n const {text, additionalInfo, list} = content;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n if (text) {\n content.text = transformer(text);\n }\n\n if (additionalInfo) {\n content.additionalInfo = transformer(additionalInfo);\n }\n\n if (list) {\n content.list = list.map((item) => {\n if (item?.text) {\n return {\n ...item,\n text: transformer(item.text),\n };\n }\n\n return item;\n });\n }\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n }\n\n return content;\n};\n\nfunction parseContentLayoutTitle(transformer: Transformer, content: ContentBlockProps) {\n if (content?.title) {\n const {title} = content;\n\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign\n content.title = title && parseTitle(transformer, title);\n }\n\n return content;\n}\n\nexport const blockHeaderTransformer = [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n parser: parseTitle,\n renderInline: true,\n },\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n];\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n renderInline?: boolean;\n}\n\nexport type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;\n\nexport const config: BlocksConfig = {\n [SubBlockType.BasicCard]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BackgroundCard]: [\n {\n fields: ['title', 'text', 'additionalInfo'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [SubBlockType.ImageCard]: [\n {\n fields: ['title', 'text', 'additionalInfo'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [SubBlockType.LayoutItem]: [\n {\n fields: ['content'],\n parser: parseContentLayout,\n transformer: yfmTransformer,\n },\n {\n fields: ['content'],\n parser: parseContentLayoutTitle,\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['metaInfo'],\n parser: createItemsParser([]),\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.Quote]: [\n {\n fields: ['text', 'yfmText'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [BlockType.ExtendedFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title']),\n renderInline: true,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['list.text']),\n renderInline: true,\n },\n ],\n [BlockType.PromoFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parsePromoFeatures,\n },\n ],\n [BlockType.SliderOldBlock]: blockHeaderTransformer,\n [BlockType.SliderBlock]: blockHeaderTransformer,\n [BlockType.CompaniesBlock]: blockHeaderTransformer,\n [BlockType.QuestionsBlock]: [\n {\n fields: ['title', 'text', 'additionalInfo'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n\n [BlockType.BannerBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BannerCard]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.MediaBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.MapBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.TabsBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo', 'caption']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseItemsTitle,\n renderInline: true,\n },\n ],\n [BlockType.TableBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlockLegend,\n },\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlockContent,\n renderInline: true,\n },\n ],\n [BlockType.HeaderSliderBlock]: [\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'overtitle', 'description']),\n renderInline: true,\n },\n ],\n [SubBlockType.PriceDetailed]: [\n {\n transformer: yfmTransformer,\n parser: parsePriceDetailedBlock,\n },\n ],\n [BlockType.HeaderBlock]: [\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n {\n fields: ['overtitle', 'title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [BlockType.ContentLayoutBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayoutTitle,\n renderInline: true,\n },\n ],\n [SubBlockType.Content]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: yfmTransformer,\n parser: parseTitle,\n renderInline: true,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.InfoBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayoutTitle,\n renderInline: true,\n },\n ],\n [BlockType.ShareBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [BlockType.CardLayoutBlock]: blockHeaderTransformer,\n [BlockType.FilterBlock]: blockHeaderTransformer,\n [BlockType.IconsBlock]: blockHeaderTransformer,\n [SubBlockType.PriceCard]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.FormBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayoutTitle,\n renderInline: true,\n },\n ],\n};\n"]}
|