@gravity-ui/page-constructor 6.6.1 → 7.0.0-alpha.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.css +3 -2
- 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 +32 -275
- 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/cjs/blocks/{SliderNew → 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 +28 -109
- package/build/cjs/blocks/Slider/utils.js.map +1 -1
- package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +14 -11
- 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 +293 -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/cjs/blocks/{SliderNew → 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 +129 -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 +10 -6
- package/build/cjs/components/ContentList/ContentList.js +1 -1
- package/build/cjs/components/ContentList/ContentList.js.map +1 -1
- package/build/cjs/components/FullscreenImage/FullscreenImage.css +99 -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/FullscreenMedia/FullscreenMedia.css +1 -3
- package/build/cjs/components/HTML/HTML.d.ts +15 -8
- package/build/cjs/components/HTML/HTML.js +19 -10
- package/build/cjs/components/HTML/HTML.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 +7 -4
- package/build/cjs/components/Title/TitleItem.js +3 -1
- package/build/cjs/components/Title/TitleItem.js.map +1 -1
- package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
- package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
- package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
- package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -3
- package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
- package/build/cjs/components/YandexForm/YandexForm.js +1 -1
- package/build/cjs/components/YandexForm/YandexForm.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/containers/Loadable/Loadable.js +1 -1
- package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
- package/build/cjs/editor/data/index.js +1 -1
- package/build/cjs/editor/data/index.js.map +1 -1
- package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
- package/build/cjs/editor/widget/utils.js +1 -1
- package/build/cjs/editor/widget/utils.js.map +1 -1
- 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/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -1
- package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
- package/build/cjs/schema/constants.js +4 -2
- package/build/cjs/schema/constants.js.map +1 -1
- package/build/cjs/schema/validators/blocks.d.ts +2 -1
- package/build/cjs/schema/validators/blocks.js +2 -1
- package/build/cjs/schema/validators/blocks.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 +27 -25
- package/build/cjs/sub-blocks/Content/Content.js +1 -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/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 +50 -21
- 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 +87 -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 +9 -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.css +3 -2
- 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 +33 -276
- 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/esm/blocks/{SliderNew → 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 +25 -103
- package/build/esm/blocks/Slider/utils.js.map +1 -1
- package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +14 -11
- 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 +289 -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/esm/blocks/{SliderNew → 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 +119 -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 +10 -6
- package/build/esm/components/ContentList/ContentList.js +1 -1
- package/build/esm/components/ContentList/ContentList.js.map +1 -1
- package/build/esm/components/FullscreenImage/FullscreenImage.css +99 -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/FullscreenMedia/FullscreenMedia.css +1 -3
- package/build/esm/components/HTML/HTML.d.ts +15 -8
- package/build/esm/components/HTML/HTML.js +20 -11
- package/build/esm/components/HTML/HTML.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 +7 -4
- package/build/esm/components/Title/TitleItem.js +4 -2
- package/build/esm/components/Title/TitleItem.js.map +1 -1
- package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
- package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
- package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
- package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -3
- package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
- package/build/esm/components/YandexForm/YandexForm.js +1 -1
- package/build/esm/components/YandexForm/YandexForm.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/containers/Loadable/Loadable.js +1 -1
- package/build/esm/containers/Loadable/Loadable.js.map +1 -1
- package/build/esm/editor/data/index.js +1 -1
- package/build/esm/editor/data/index.js.map +1 -1
- package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
- package/build/esm/editor/widget/utils.js +1 -1
- package/build/esm/editor/widget/utils.js.map +1 -1
- 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/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -1
- package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
- package/build/esm/schema/constants.js +5 -3
- package/build/esm/schema/constants.js.map +1 -1
- package/build/esm/schema/validators/blocks.d.ts +2 -1
- package/build/esm/schema/validators/blocks.js +2 -1
- package/build/esm/schema/validators/blocks.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 +27 -25
- package/build/esm/sub-blocks/Content/Content.js +1 -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/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 +50 -21
- 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 +88 -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 +8 -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/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 +9 -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/2042.index.js +1 -0
- package/widget/2723.index.js +1 -0
- package/widget/3392.index.js +1 -0
- package/widget/6173.index.js +1 -0
- package/widget/6328.index.js +1 -0
- package/widget/6353.index.js +1 -0
- package/widget/6463.index.js +1 -0
- package/widget/6887.index.js +1 -0
- package/widget/7458.index.js +1 -0
- package/widget/7570.index.js +1 -0
- package/widget/7627.index.js +1 -0
- package/widget/8446.index.js +1 -0
- package/widget/9340.index.js +1 -0
- package/widget/9979.index.js +1 -0
- 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 -60
- 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 -48
- 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 -56
- 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 -41
- 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
package/README.md
CHANGED
|
@@ -146,6 +146,10 @@ const post = {
|
|
|
146
146
|
|
|
147
147
|
You can find more utilities in this [section](https://github.com/gravity-ui/page-constructor/tree/main/src/text-transform)
|
|
148
148
|
|
|
149
|
+
### Detailed Documentation on Server Utilities and Transformers
|
|
150
|
+
|
|
151
|
+
For a comprehensive guide on using server utilities, including detailed explanations and advanced use cases, visit the [additional chapter on server utils usage](./docs/data-preparation.md).
|
|
152
|
+
|
|
149
153
|
### Custom blocks
|
|
150
154
|
|
|
151
155
|
The page constructor lets you use blocks that are user-defined in their app. Blocks are regular React components.
|
|
@@ -166,6 +170,12 @@ To use mixins and constructor style variables when creating custom blocks, add i
|
|
|
166
170
|
@import '~@gravity-ui/page-constructor/styles/styles.scss';
|
|
167
171
|
```
|
|
168
172
|
|
|
173
|
+
To use default font, add import in your file:
|
|
174
|
+
|
|
175
|
+
```css
|
|
176
|
+
@import '~@gravity-ui/page-constructor/styles/fonts.scss';
|
|
177
|
+
```
|
|
178
|
+
|
|
169
179
|
### Loadable blocks
|
|
170
180
|
|
|
171
181
|
It's sometimes necessary that a block renders itself based on data to be loaded. In this case, loadable blocks are used.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.pc-ExtendedFeaturesBlock__item-title {
|
|
1
|
+
.pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -16,28 +16,33 @@ unpredictable css rules order in build */
|
|
|
16
16
|
.pc-ExtendedFeaturesBlock__item.col {
|
|
17
17
|
padding-right: 32px;
|
|
18
18
|
}
|
|
19
|
-
.pc-ExtendedFeaturesBlock__item-title {
|
|
19
|
+
.pc-ExtendedFeaturesBlock__item-title-container {
|
|
20
|
+
margin: inherit;
|
|
21
|
+
display: block;
|
|
22
|
+
margin-block: 0 8px;
|
|
23
|
+
}
|
|
24
|
+
.pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title {
|
|
20
25
|
font-size: var(--g-text-header-1-font-size);
|
|
21
26
|
line-height: var(--g-text-header-1-line-height);
|
|
22
27
|
color: var(--pc-text-header-color);
|
|
23
28
|
font-weight: var(--g-text-accent-font-weight);
|
|
24
|
-
display: block;
|
|
25
29
|
position: relative;
|
|
26
30
|
margin-bottom: 8px;
|
|
27
31
|
}
|
|
28
|
-
.pc-ExtendedFeaturesBlock__item-title a {
|
|
32
|
+
.pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a {
|
|
29
33
|
outline: none;
|
|
30
34
|
color: var(--g-color-text-link);
|
|
31
35
|
text-decoration: none;
|
|
32
36
|
cursor: pointer;
|
|
33
37
|
}
|
|
34
|
-
.utilityfocus .pc-ExtendedFeaturesBlock__item-title a:focus {
|
|
38
|
+
.utilityfocus .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:focus {
|
|
35
39
|
outline: 2px solid #ffdb4d;
|
|
36
40
|
}
|
|
37
|
-
.pc-ExtendedFeaturesBlock__item-title a:hover, .pc-ExtendedFeaturesBlock__item-title a:active {
|
|
41
|
+
.pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:hover, .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:active {
|
|
38
42
|
--pc-text-header-color: var(--g-color-text-link-hover);
|
|
39
43
|
color: var(--g-color-text-link-hover);
|
|
40
44
|
}
|
|
45
|
+
|
|
41
46
|
.pc-ExtendedFeaturesBlock__item-label {
|
|
42
47
|
font-size: var(--g-text-caption-2-font-size);
|
|
43
48
|
line-height: var(--g-text-caption-2-line-height);
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExtendedFeaturesBlock = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const React = tslib_1.__importStar(require("react"));
|
|
7
6
|
const components_1 = require("../../components/index.js");
|
|
8
7
|
const Image_1 = tslib_1.__importDefault(require("../../components/Image/Image.js"));
|
|
9
8
|
const utils_1 = require("../../components/Media/Image/utils.js");
|
|
@@ -27,10 +26,9 @@ const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DEFAULT_S
|
|
|
27
26
|
if (link) {
|
|
28
27
|
itemLinks.push(link);
|
|
29
28
|
}
|
|
30
|
-
return ((0, jsx_runtime_1.jsxs)(grid_1.Col, { className: b('item'), sizes: colSizes, children: [iconData && ((0, jsx_runtime_1.jsx)("div", { className: b('icon-wrap'), "aria-hidden": true, children: (0, jsx_runtime_1.jsx)(Image_1.default, { ...iconData, className: b('icon') }) })), (0, jsx_runtime_1.jsxs)("div", { className: b('container'), children: [itemTitle &&
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}, (0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.HTML, { children: itemTitle }), label && ((0, jsx_runtime_1.jsx)("span", { className: b('item-label'), children: label }))] })), (0, jsx_runtime_1.jsx)(sub_blocks_1.Content, { text: text, links: itemLinks, size: "s", list: list, colSizes: { all: 12, md: 12 }, buttons: buttons, additionalInfo: additionalInfo })] })] }, text || itemTitle));
|
|
29
|
+
return ((0, jsx_runtime_1.jsxs)(grid_1.Col, { className: b('item'), sizes: colSizes, children: [iconData && ((0, jsx_runtime_1.jsx)("div", { className: b('icon-wrap'), "aria-hidden": true, children: (0, jsx_runtime_1.jsx)(Image_1.default, { ...iconData, className: b('icon') }) })), (0, jsx_runtime_1.jsxs)("div", { className: b('container'), children: [itemTitle && ((0, jsx_runtime_1.jsx)(components_1.YFMWrapper, { tagName: itemTitleHeadingTag, content: itemTitle, className: b('item-title-container'), contentClassName: b('item-title'), modifiers: {
|
|
30
|
+
constructor: true,
|
|
31
|
+
}, children: label && ((0, jsx_runtime_1.jsx)("span", { className: b('item-label'), children: label })) })), (0, jsx_runtime_1.jsx)(sub_blocks_1.Content, { text: text, links: itemLinks, size: "s", list: list, colSizes: { all: 12, md: 12 }, buttons: buttons, additionalInfo: additionalInfo })] })] }, text || itemTitle));
|
|
34
32
|
}) }) })] }));
|
|
35
33
|
};
|
|
36
34
|
exports.ExtendedFeaturesBlock = ExtendedFeaturesBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedFeatures.js","sourceRoot":"../../../../src","sources":["blocks/ExtendedFeatures/ExtendedFeatures.tsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ExtendedFeatures.js","sourceRoot":"../../../../src","sources":["blocks/ExtendedFeatures/ExtendedFeatures.tsx"],"names":[],"mappings":";;;;;AAAA,0DAAkE;AAClE,oFAAiD;AACjD,iEAAiE;AACjE,wDAA6C;AAC7C,8CAAoC;AAEpC,0DAAyC;AACzC,gDAAkD;AAIlD,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,uBAAuB,CAAC,CAAC;AAEzC,MAAM,aAAa,GAAG;IAClB,GAAG,EAAE,EAAE;IACP,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;CACR,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,EAClC,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,GAAG,aAAa,EACxB,QAAQ,GACY,EAAE,EAAE;IACxB,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;IACzB,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhD,OAAO,CACH,wBAAC,yBAAY,IAAC,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,aAC3C,uBAAC,kBAAK,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAI,EACtE,gCAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACtB,uBAAC,UAAG,cACC,KAAK,CAAC,GAAG,CACN,CAAC,EACG,KAAK,EAAE,SAAS,EAChB,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,cAAc,GACjB,EAAE,EAAE;wBACD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;wBAE9B,MAAM,UAAU,GAAG,IAAI,IAAI,IAAA,sBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACvD,MAAM,QAAQ,GAAG,UAAU,IAAI,IAAA,qBAAa,EAAC,UAAU,CAAC,CAAC;wBAEzD,IAAI,IAAI,EAAE,CAAC;4BACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzB,CAAC;wBAED,OAAO,CACH,wBAAC,UAAG,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAA0B,KAAK,EAAE,QAAQ,aAC7D,QAAQ,IAAI,CACT,gCAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,iCAC1B,uBAAC,eAAK,OAAK,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAI,GAC3C,CACT,EACD,iCAAK,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,aACzB,SAAS,IAAI,CACV,uBAAC,uBAAU,IACP,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,EACpC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,EACjC,SAAS,EAAE;gDACP,WAAW,EAAE,IAAI;6CACpB,YAEA,KAAK,IAAI,CACN,iCAAM,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAAG,KAAK,GAAQ,CACnD,GACQ,CAChB,EACD,uBAAC,oBAAO,IACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,EAChB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,EAC3B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,GAChC,IACA,KA/BsB,IAAI,IAAI,SAAS,CAgC3C,CACT,CAAC;oBACN,CAAC,CACJ,GACC,GACJ,IACK,CAClB,CAAC;AACN,CAAC,CAAC;AA7EW,QAAA,qBAAqB,yBA6EhC;AAEF,kBAAe,6BAAqB,CAAC","sourcesContent":["import {AnimateBlock, Title, YFMWrapper} from '../../components/';\nimport Image from '../../components/Image/Image';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {Col, Row} from '../../grid';\nimport {ExtendedFeaturesProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block, getThemedValue} from '../../utils';\n\nimport './ExtendedFeatures.scss';\n\nconst b = block('ExtendedFeaturesBlock');\n\nconst DEFAULT_SIZES = {\n all: 12,\n sm: 6,\n md: 4,\n};\n\nexport const ExtendedFeaturesBlock = ({\n title,\n description,\n items,\n colSizes = DEFAULT_SIZES,\n animated,\n}: ExtendedFeaturesProps) => {\n const theme = useTheme();\n const itemTitleHeadingTag = title ? 'h3' : 'h2';\n\n return (\n <AnimateBlock className={b()} animate={animated}>\n <Title title={title} subtitle={description} className={b('header')} />\n <div className={b('items')}>\n <Row>\n {items.map(\n ({\n title: itemTitle,\n text,\n list,\n link,\n links,\n label,\n icon,\n buttons,\n additionalInfo,\n }) => {\n const itemLinks = links || [];\n\n const iconThemed = icon && getThemedValue(icon, theme);\n const iconData = iconThemed && getMediaImage(iconThemed);\n\n if (link) {\n itemLinks.push(link);\n }\n\n return (\n <Col className={b('item')} key={text || itemTitle} sizes={colSizes}>\n {iconData && (\n <div className={b('icon-wrap')} aria-hidden>\n <Image {...iconData} className={b('icon')} />\n </div>\n )}\n <div className={b('container')}>\n {itemTitle && (\n <YFMWrapper\n tagName={itemTitleHeadingTag}\n content={itemTitle}\n className={b('item-title-container')}\n contentClassName={b('item-title')}\n modifiers={{\n constructor: true,\n }}\n >\n {label && (\n <span className={b('item-label')}>{label}</span>\n )}\n </YFMWrapper>\n )}\n <Content\n text={text}\n links={itemLinks}\n size=\"s\"\n list={list}\n colSizes={{all: 12, md: 12}}\n buttons={buttons}\n additionalInfo={additionalInfo}\n />\n </div>\n </Col>\n );\n },\n )}\n </Row>\n </div>\n </AnimateBlock>\n );\n};\n\nexport default ExtendedFeaturesBlock;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.pc-header-block__title {
|
|
1
|
+
.pc-header-block__title.pc-header-block__title {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -20,16 +20,17 @@ unpredictable css rules order in build */
|
|
|
20
20
|
position: relative;
|
|
21
21
|
height: 100%;
|
|
22
22
|
}
|
|
23
|
-
.pc-header-block__content_theme_dark {
|
|
23
|
+
.pc-header-block__content_theme_dark.pc-header-block__content_theme_dark {
|
|
24
24
|
--g-color-line-focus: var(--pc-color-line-focus-dark);
|
|
25
25
|
}
|
|
26
|
-
.pc-header-block__content_theme_dark .pc-header-block__title,
|
|
27
|
-
.pc-header-block__content_theme_dark .pc-header-block__overtitle {
|
|
26
|
+
.pc-header-block__content_theme_dark.pc-header-block__content_theme_dark .pc-header-block__title,
|
|
27
|
+
.pc-header-block__content_theme_dark.pc-header-block__content_theme_dark .pc-header-block__overtitle {
|
|
28
28
|
color: var(--g-color-text-light-primary);
|
|
29
29
|
}
|
|
30
|
-
.pc-header-block__content_theme_dark .pc-header-block__description .yfm {
|
|
30
|
+
.pc-header-block__content_theme_dark.pc-header-block__content_theme_dark .pc-header-block__description .yfm {
|
|
31
31
|
color: var(--g-color-text-light-primary);
|
|
32
32
|
}
|
|
33
|
+
|
|
33
34
|
.pc-header-block__content_vertical-offset {
|
|
34
35
|
margin: 16px 0;
|
|
35
36
|
}
|
|
@@ -56,7 +57,7 @@ unpredictable css rules order in build */
|
|
|
56
57
|
margin-inline: auto;
|
|
57
58
|
text-align: center;
|
|
58
59
|
}
|
|
59
|
-
.pc-header-block__title {
|
|
60
|
+
.pc-header-block__title.pc-header-block__title {
|
|
60
61
|
font-size: var(--g-text-display-4-font-size);
|
|
61
62
|
line-height: var(--g-text-display-4-line-height);
|
|
62
63
|
color: var(--pc-text-header-color);
|
|
@@ -64,24 +65,28 @@ unpredictable css rules order in build */
|
|
|
64
65
|
position: relative;
|
|
65
66
|
}
|
|
66
67
|
@media (max-width: 577px) {
|
|
67
|
-
.pc-header-block__title {
|
|
68
|
+
.pc-header-block__title.pc-header-block__title {
|
|
68
69
|
font-size: var(--g-text-display-2-font-size);
|
|
69
70
|
line-height: var(--g-text-display-2-line-height);
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
.pc-header-block__title a {
|
|
73
|
+
.pc-header-block__title.pc-header-block__title a {
|
|
73
74
|
outline: none;
|
|
74
75
|
color: var(--g-color-text-link);
|
|
75
76
|
text-decoration: none;
|
|
76
77
|
cursor: pointer;
|
|
77
78
|
}
|
|
78
|
-
.utilityfocus .pc-header-block__title a:focus {
|
|
79
|
+
.utilityfocus .pc-header-block__title.pc-header-block__title a:focus {
|
|
79
80
|
outline: 2px solid #ffdb4d;
|
|
80
81
|
}
|
|
81
|
-
.pc-header-block__title a:hover, .pc-header-block__title a:active {
|
|
82
|
+
.pc-header-block__title.pc-header-block__title a:hover, .pc-header-block__title.pc-header-block__title a:active {
|
|
82
83
|
--pc-text-header-color: var(--g-color-text-link-hover);
|
|
83
84
|
color: var(--g-color-text-link-hover);
|
|
84
85
|
}
|
|
86
|
+
|
|
87
|
+
.pc-header-block__title-container {
|
|
88
|
+
margin: 0;
|
|
89
|
+
}
|
|
85
90
|
.pc-header-block__description {
|
|
86
91
|
margin-top: 16px;
|
|
87
92
|
}
|
|
@@ -53,7 +53,12 @@ const HeaderBlock = (props) => {
|
|
|
53
53
|
offset,
|
|
54
54
|
theme: textTheme,
|
|
55
55
|
'vertical-offset': curVerticalOffset,
|
|
56
|
-
}), children: (0, jsx_runtime_1.jsxs)(grid_1.Col, { sizes: titleSizes, className: b('content-inner', { centered }), children: [overtitle && ((0, jsx_runtime_1.jsx)("div", { className: b('overtitle'), children: typeof overtitle === 'string' ? ((0, jsx_runtime_1.jsx)(
|
|
56
|
+
}), children: (0, jsx_runtime_1.jsxs)(grid_1.Col, { sizes: titleSizes, className: b('content-inner', { centered }), children: [overtitle && ((0, jsx_runtime_1.jsx)("div", { className: b('overtitle'), children: typeof overtitle === 'string' ? ((0, jsx_runtime_1.jsx)(YFMWrapper_1.default, { tagName: "div", className: b('overtitle'), content: overtitle, modifiers: {
|
|
57
|
+
constructor: true,
|
|
58
|
+
} })) : (overtitle) })), (0, jsx_runtime_1.jsxs)(YFMWrapper_1.default, { content: title, contentClassName: b('title'), className: b('title-container'), modifiers: {
|
|
59
|
+
constructor: true,
|
|
60
|
+
constructorTheme: textTheme,
|
|
61
|
+
}, tagName: "h1", contentPosition: "end", children: [status, renderTitle ? renderTitle(title) : null] }), description && ((0, jsx_runtime_1.jsx)("div", { className: b('description', { theme: textTheme }), children: (0, jsx_runtime_1.jsx)(YFMWrapper_1.default, { content: description, modifiers: {
|
|
57
62
|
constructor: true,
|
|
58
63
|
constructorTheme: textTheme,
|
|
59
64
|
} }) })), buttons && ((0, jsx_runtime_1.jsx)("div", { className: b('buttons'), "data-qa": "header-buttons", children: buttons.map((button, index) => ((0, jsx_runtime_1.jsx)(components_1.RouterLink, { href: button.url, children: (0, jsx_runtime_1.jsx)(components_1.Button, { className: b('button'), size: "xl", extraProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"../../../../src","sources":["blocks/Header/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\nimport {useUniqId} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport {Button, HTML, Media, RouterLink} from '../../components';\nimport HeaderBreadcrumbs from '../../components/HeaderBreadcrumbs/HeaderBreadcrumbs';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {MobileContext} from '../../context/mobileContext';\nimport {useTheme} from '../../context/theme';\nimport {Col, Grid, Row} from '../../grid';\nimport {ClassNameProps, HeaderBlockBackground, HeaderBlockProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport {getImageSize, getTitleSizes, titleWithImageSizes} from './utils';\nimport './Header.scss';\n\nconst b = block('header-block');\n\ntype HeaderBlockFullProps = HeaderBlockProps & ClassNameProps;\n\ninterface BackgroundProps {\n background: HeaderBlockBackground;\n isMobile: boolean;\n}\n\nconst Background = ({background, isMobile}: BackgroundProps) => {\n const {url, image, fullWidthMedia, video, color} = background;\n const imageObject = url ? getMediaImage(url) : image;\n const renderMedia = !isMobile || (typeof image === 'object' && 'mobile' in image);\n\n return (\n <div\n className={b('background', {media: true, 'full-width-media': fullWidthMedia})}\n style={{backgroundColor: color}}\n >\n {renderMedia && (\n <Media\n {...background}\n className={b('background-media')}\n imageClassName={b('image')}\n videoClassName={b('video')}\n isBackground={true}\n parallax={false}\n video={isMobile ? undefined : video}\n image={imageObject}\n />\n )}\n </div>\n );\n};\n\ninterface FullWidthBackgroundProps {\n background: HeaderBlockBackground;\n}\n\nconst FullWidthBackground = ({background}: FullWidthBackgroundProps) => (\n <div\n className={b('background', {['full-width']: true})}\n style={{backgroundColor: background?.color}}\n />\n);\n\nexport const HeaderBlock = (props: React.PropsWithChildren<HeaderBlockFullProps>) => {\n const {\n title,\n overtitle,\n description,\n buttons,\n image,\n video,\n width = 'm',\n imageSize,\n offset = 'default',\n background,\n theme: textTheme = 'light',\n verticalOffset = 'm',\n className,\n breadcrumbs,\n status,\n renderTitle,\n children,\n mediaView = 'full',\n centered,\n } = props;\n const isMobile = React.useContext(MobileContext);\n const theme = useTheme();\n const hasRightSideImage = Boolean((image || video) && !centered);\n const curImageSize = imageSize || getImageSize(width);\n const titleSizes = hasRightSideImage ? titleWithImageSizes(curImageSize) : getTitleSizes(width);\n let curVerticalOffset = verticalOffset;\n\n if (hasRightSideImage && !verticalOffset) {\n curVerticalOffset = 'm';\n }\n\n const backgroundThemed = background && getThemedValue(background, theme);\n const imageThemed = image && getThemedValue(image, theme);\n const videoThemed = video && getThemedValue(video, theme);\n const mediaWithMicrodata = mergeVideoMicrodata(\n {video: videoThemed, image: imageThemed},\n {\n name: title,\n description,\n },\n );\n const fullWidth = backgroundThemed?.fullWidth || backgroundThemed?.fullWidthMedia;\n const titleId = useUniqId();\n\n return (\n <header\n className={b(\n {\n ['has-media']: hasRightSideImage,\n ['full-width']: fullWidth,\n ['media-view']: mediaView,\n ['controls-view']: textTheme,\n },\n className,\n )}\n >\n {backgroundThemed && fullWidth && <FullWidthBackground background={backgroundThemed} />}\n {backgroundThemed && <Background background={backgroundThemed} isMobile={isMobile} />}\n <Grid containerClass={b('container-fluid')}>\n {breadcrumbs && (\n <Row className={b('breadcrumbs')}>\n <Col>\n <HeaderBreadcrumbs {...breadcrumbs} theme={textTheme} />\n </Col>\n </Row>\n )}\n <Row>\n <Col reset className={b('content-wrapper')}>\n <Row>\n <Col\n className={b('content', {\n offset,\n theme: textTheme,\n 'vertical-offset': curVerticalOffset,\n })}\n >\n <Col sizes={titleSizes} className={b('content-inner', {centered})}>\n {overtitle && (\n <div className={b('overtitle')}>\n {typeof overtitle === 'string' ? (\n <HTML>{overtitle}</HTML>\n ) : (\n overtitle\n )}\n </div>\n )}\n <h1 className={b('title')} id={titleId}>\n {status}\n {renderTitle ? renderTitle(title) : <HTML>{title}</HTML>}\n </h1>\n {description && (\n <div className={b('description', {theme: textTheme})}>\n <YFMWrapper\n content={description}\n modifiers={{\n constructor: true,\n constructorTheme: textTheme,\n }}\n />\n </div>\n )}\n {buttons && (\n <div className={b('buttons')} data-qa=\"header-buttons\">\n {buttons.map((button, index) => (\n <RouterLink href={button.url} key={index}>\n <Button\n key={index}\n className={b('button')}\n size=\"xl\"\n extraProps={{\n 'aria-describedby': titleId,\n ...button.extraProps,\n }}\n {...button}\n />\n </RouterLink>\n ))}\n </div>\n )}\n {children}\n </Col>\n </Col>\n </Row>\n {hasRightSideImage && (\n <Media\n className={b('media', {[curImageSize]: true})}\n videoClassName={b('video')}\n imageClassName={b('image')}\n {...mediaWithMicrodata}\n />\n )}\n </Col>\n </Row>\n </Grid>\n </header>\n );\n};\n\nexport default HeaderBlock;\n"]}
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"../../../../src","sources":["blocks/Header/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\nimport {useUniqId} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport {Button, Media, RouterLink} from '../../components';\nimport HeaderBreadcrumbs from '../../components/HeaderBreadcrumbs/HeaderBreadcrumbs';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {MobileContext} from '../../context/mobileContext';\nimport {useTheme} from '../../context/theme';\nimport {Col, Grid, Row} from '../../grid';\nimport {ClassNameProps, HeaderBlockBackground, HeaderBlockProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport {getImageSize, getTitleSizes, titleWithImageSizes} from './utils';\nimport './Header.scss';\n\nconst b = block('header-block');\n\ntype HeaderBlockFullProps = HeaderBlockProps & ClassNameProps;\n\ninterface BackgroundProps {\n background: HeaderBlockBackground;\n isMobile: boolean;\n}\n\nconst Background = ({background, isMobile}: BackgroundProps) => {\n const {url, image, fullWidthMedia, video, color} = background;\n const imageObject = url ? getMediaImage(url) : image;\n const renderMedia = !isMobile || (typeof image === 'object' && 'mobile' in image);\n\n return (\n <div\n className={b('background', {media: true, 'full-width-media': fullWidthMedia})}\n style={{backgroundColor: color}}\n >\n {renderMedia && (\n <Media\n {...background}\n className={b('background-media')}\n imageClassName={b('image')}\n videoClassName={b('video')}\n isBackground={true}\n parallax={false}\n video={isMobile ? undefined : video}\n image={imageObject}\n />\n )}\n </div>\n );\n};\n\ninterface FullWidthBackgroundProps {\n background: HeaderBlockBackground;\n}\n\nconst FullWidthBackground = ({background}: FullWidthBackgroundProps) => (\n <div\n className={b('background', {['full-width']: true})}\n style={{backgroundColor: background?.color}}\n />\n);\n\nexport const HeaderBlock = (props: React.PropsWithChildren<HeaderBlockFullProps>) => {\n const {\n title,\n overtitle,\n description,\n buttons,\n image,\n video,\n width = 'm',\n imageSize,\n offset = 'default',\n background,\n theme: textTheme = 'light',\n verticalOffset = 'm',\n className,\n breadcrumbs,\n status,\n renderTitle,\n children,\n mediaView = 'full',\n centered,\n } = props;\n const isMobile = React.useContext(MobileContext);\n const theme = useTheme();\n const hasRightSideImage = Boolean((image || video) && !centered);\n const curImageSize = imageSize || getImageSize(width);\n const titleSizes = hasRightSideImage ? titleWithImageSizes(curImageSize) : getTitleSizes(width);\n let curVerticalOffset = verticalOffset;\n\n if (hasRightSideImage && !verticalOffset) {\n curVerticalOffset = 'm';\n }\n\n const backgroundThemed = background && getThemedValue(background, theme);\n const imageThemed = image && getThemedValue(image, theme);\n const videoThemed = video && getThemedValue(video, theme);\n const mediaWithMicrodata = mergeVideoMicrodata(\n {video: videoThemed, image: imageThemed},\n {\n name: title,\n description,\n },\n );\n const fullWidth = backgroundThemed?.fullWidth || backgroundThemed?.fullWidthMedia;\n const titleId = useUniqId();\n\n return (\n <header\n className={b(\n {\n ['has-media']: hasRightSideImage,\n ['full-width']: fullWidth,\n ['media-view']: mediaView,\n ['controls-view']: textTheme,\n },\n className,\n )}\n >\n {backgroundThemed && fullWidth && <FullWidthBackground background={backgroundThemed} />}\n {backgroundThemed && <Background background={backgroundThemed} isMobile={isMobile} />}\n <Grid containerClass={b('container-fluid')}>\n {breadcrumbs && (\n <Row className={b('breadcrumbs')}>\n <Col>\n <HeaderBreadcrumbs {...breadcrumbs} theme={textTheme} />\n </Col>\n </Row>\n )}\n <Row>\n <Col reset className={b('content-wrapper')}>\n <Row>\n <Col\n className={b('content', {\n offset,\n theme: textTheme,\n 'vertical-offset': curVerticalOffset,\n })}\n >\n <Col sizes={titleSizes} className={b('content-inner', {centered})}>\n {overtitle && (\n <div className={b('overtitle')}>\n {typeof overtitle === 'string' ? (\n <YFMWrapper\n tagName=\"div\"\n className={b('overtitle')}\n content={overtitle}\n modifiers={{\n constructor: true,\n }}\n />\n ) : (\n overtitle\n )}\n </div>\n )}\n <YFMWrapper\n content={title}\n contentClassName={b('title')}\n className={b('title-container')}\n modifiers={{\n constructor: true,\n constructorTheme: textTheme,\n }}\n tagName=\"h1\"\n contentPosition=\"end\"\n >\n {status}\n {renderTitle ? renderTitle(title) : null}\n </YFMWrapper>\n {description && (\n <div className={b('description', {theme: textTheme})}>\n <YFMWrapper\n content={description}\n modifiers={{\n constructor: true,\n constructorTheme: textTheme,\n }}\n />\n </div>\n )}\n {buttons && (\n <div className={b('buttons')} data-qa=\"header-buttons\">\n {buttons.map((button, index) => (\n <RouterLink href={button.url} key={index}>\n <Button\n key={index}\n className={b('button')}\n size=\"xl\"\n extraProps={{\n 'aria-describedby': titleId,\n ...button.extraProps,\n }}\n {...button}\n />\n </RouterLink>\n ))}\n </div>\n )}\n {children}\n </Col>\n </Col>\n </Row>\n {hasRightSideImage && (\n <Media\n className={b('media', {[curImageSize]: true})}\n videoClassName={b('video')}\n imageClassName={b('image')}\n {...mediaWithMicrodata}\n />\n )}\n </Col>\n </Row>\n </Grid>\n </header>\n );\n};\n\nexport default HeaderBlock;\n"]}
|
|
@@ -34,13 +34,6 @@ unpredictable css rules order in build */
|
|
|
34
34
|
padding-right: 32px;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
@media (max-width: 769px) {
|
|
38
|
-
.pc-header-slider-block.pc-SliderBlock {
|
|
39
|
-
margin-left: -8px;
|
|
40
|
-
padding-left: 0;
|
|
41
|
-
width: calc(100% + 8px);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
37
|
@media (max-width: 577px) {
|
|
45
38
|
.pc-header-slider-block__item-content .pc-header-block__content {
|
|
46
39
|
padding-left: 0;
|
|
@@ -49,7 +42,4 @@ unpredictable css rules order in build */
|
|
|
49
42
|
.pc-header-slider-block__item-content .pc-header-block__container-fluid {
|
|
50
43
|
padding-left: 24px;
|
|
51
44
|
}
|
|
52
|
-
.pc-header-slider-block .slick-track .slick-slide {
|
|
53
|
-
max-width: 100%;
|
|
54
|
-
}
|
|
55
45
|
}
|
|
@@ -4,16 +4,16 @@ exports.HeaderSliderBlock = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
|
7
|
+
const blocks_1 = require("../index.js");
|
|
7
8
|
const mobileContext_1 = require("../../context/mobileContext/index.js");
|
|
8
9
|
const models_1 = require("../../models/index.js");
|
|
9
10
|
const utils_1 = require("../../utils/index.js");
|
|
10
11
|
const Header_1 = tslib_1.__importDefault(require("../Header/Header.js"));
|
|
11
|
-
const index_1 = require("../index.js");
|
|
12
12
|
const b = (0, utils_1.block)('header-slider-block');
|
|
13
13
|
const HeaderSliderBlock = ({ items, arrows, ...props }) => {
|
|
14
14
|
const isMobile = React.useContext(mobileContext_1.MobileContext);
|
|
15
15
|
const showArrows = isMobile ? false : arrows;
|
|
16
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: b('wrapper'), "data-qa": "header-slider", children: (0, jsx_runtime_1.jsx)(
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: b('wrapper'), "data-qa": "header-slider", children: (0, jsx_runtime_1.jsx)(blocks_1.SliderBlock, { ...props, arrows: showArrows, slidesToShow: 1, type: models_1.SliderType.HeaderCard, animated: false, blockClassName: b(), arrowSize: 20, children: items.map((item, index) => ((0, jsx_runtime_1.jsx)("div", { className: b('item'), "data-qa": `header-slider-item-${index + 1}`, children: (0, jsx_runtime_1.jsx)(Header_1.default, { ...item, className: b('item-content') }) }, index))) }) }));
|
|
17
17
|
};
|
|
18
18
|
exports.HeaderSliderBlock = HeaderSliderBlock;
|
|
19
19
|
exports.default = exports.HeaderSliderBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSlider.js","sourceRoot":"../../../../src","sources":["blocks/HeaderSlider/HeaderSlider.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,wEAA0D;AAC1D,kDAAgE;AAChE,gDAAkC;AAClC,yEAAsC;
|
|
1
|
+
{"version":3,"file":"HeaderSlider.js","sourceRoot":"../../../../src","sources":["blocks/HeaderSlider/HeaderSlider.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,wCAAyC;AACzC,wEAA0D;AAC1D,kDAAgE;AAChE,gDAAkC;AAClC,yEAAsC;AAItC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,qBAAqB,CAAC,CAAC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAyB,EAAE,EAAE;IACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7C,OAAO,CACH,gCAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aAAU,eAAe,YACjD,uBAAC,oBAAW,OACJ,KAAK,EACT,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,mBAAU,CAAC,UAAU,EAC3B,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,CAAC,EAAE,EACnB,SAAS,EAAE,EAAE,YAEZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,gCAEI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACX,sBAAsB,KAAK,GAAG,CAAC,EAAE,YAE1C,uBAAC,gBAAM,OAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,GAAI,IAJ7C,KAAK,CAKR,CACT,CAAC,GACQ,GACZ,CACT,CAAC;AACN,CAAC,CAAC;AA3BW,QAAA,iBAAiB,qBA2B5B;AAEF,kBAAe,yBAAiB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {SliderBlock} from '../../blocks';\nimport {MobileContext} from '../../context/mobileContext';\nimport {HeaderSliderBlockProps, SliderType} from '../../models';\nimport {block} from '../../utils';\nimport Header from '../Header/Header';\n\nimport './HeaderSlider.scss';\n\nconst b = block('header-slider-block');\n\nexport const HeaderSliderBlock = ({items, arrows, ...props}: HeaderSliderBlockProps) => {\n const isMobile = React.useContext(MobileContext);\n const showArrows = isMobile ? false : arrows;\n\n return (\n <div className={b('wrapper')} data-qa=\"header-slider\">\n <SliderBlock\n {...props}\n arrows={showArrows}\n slidesToShow={1}\n type={SliderType.HeaderCard}\n animated={false}\n blockClassName={b()}\n arrowSize={20}\n >\n {items.map((item, index) => (\n <div\n key={index}\n className={b('item')}\n data-qa={`header-slider-item-${index + 1}`}\n >\n <Header {...item} className={b('item-content')} />\n </div>\n ))}\n </SliderBlock>\n </div>\n );\n};\n\nexport default HeaderSliderBlock;\n"]}
|
|
@@ -574,6 +574,9 @@ export declare const HeaderSliderBlock: {
|
|
|
574
574
|
};
|
|
575
575
|
};
|
|
576
576
|
};
|
|
577
|
+
type: {
|
|
578
|
+
type: string;
|
|
579
|
+
};
|
|
577
580
|
dots: {
|
|
578
581
|
type: string;
|
|
579
582
|
};
|
|
@@ -613,11 +616,17 @@ export declare const HeaderSliderBlock: {
|
|
|
613
616
|
randomOrder: {
|
|
614
617
|
type: string;
|
|
615
618
|
};
|
|
619
|
+
adaptive: {
|
|
620
|
+
type: string;
|
|
621
|
+
};
|
|
616
622
|
animated: {
|
|
617
623
|
animated: {
|
|
618
624
|
type: string;
|
|
619
625
|
};
|
|
620
626
|
};
|
|
627
|
+
arrowSize: {
|
|
628
|
+
type: string;
|
|
629
|
+
};
|
|
621
630
|
anchor: {
|
|
622
631
|
type: string;
|
|
623
632
|
additionalProperties: boolean;
|
|
@@ -657,7 +666,6 @@ export declare const HeaderSliderBlock: {
|
|
|
657
666
|
};
|
|
658
667
|
};
|
|
659
668
|
};
|
|
660
|
-
type: {};
|
|
661
669
|
when: {
|
|
662
670
|
type: string;
|
|
663
671
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.pc-QuestionsBlockItem__title {
|
|
1
|
+
.pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -11,45 +11,55 @@ unpredictable css rules order in build */
|
|
|
11
11
|
.pc-QuestionsBlockItem + .pc-QuestionsBlockItem {
|
|
12
12
|
padding-top: 32px;
|
|
13
13
|
}
|
|
14
|
-
.pc-QuestionsBlockItem__title {
|
|
15
|
-
display: inline-block;
|
|
16
|
-
margin: 0;
|
|
17
|
-
padding: 0;
|
|
18
|
-
font: inherit;
|
|
19
|
-
border: none;
|
|
20
|
-
outline: none;
|
|
21
|
-
color: inherit;
|
|
22
|
-
background: none;
|
|
23
|
-
cursor: pointer;
|
|
14
|
+
.pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title {
|
|
24
15
|
font-size: var(--g-text-header-1-font-size);
|
|
25
16
|
line-height: var(--g-text-header-1-line-height);
|
|
26
17
|
color: var(--pc-text-header-color);
|
|
27
18
|
font-weight: var(--g-text-accent-font-weight);
|
|
28
|
-
position: relative;
|
|
29
|
-
display: block;
|
|
30
|
-
width: 100%;
|
|
31
|
-
padding-right: 24px;
|
|
32
|
-
text-align: start;
|
|
33
19
|
cursor: pointer;
|
|
34
20
|
border-radius: var(--g-focus-border-radius);
|
|
35
21
|
}
|
|
36
|
-
.pc-QuestionsBlockItem__title:focus {
|
|
22
|
+
.pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title:focus {
|
|
37
23
|
outline: 2px solid var(--g-color-line-focus);
|
|
38
24
|
outline-offset: 0;
|
|
39
25
|
}
|
|
40
|
-
.pc-QuestionsBlockItem__title:focus:not(:focus-visible) {
|
|
26
|
+
.pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title:focus:not(:focus-visible) {
|
|
41
27
|
outline: 0;
|
|
42
28
|
}
|
|
43
|
-
.pc-QuestionsBlockItem__title a {
|
|
29
|
+
.pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a {
|
|
44
30
|
outline: none;
|
|
45
31
|
color: var(--g-color-text-link);
|
|
46
32
|
text-decoration: none;
|
|
47
33
|
cursor: pointer;
|
|
48
34
|
}
|
|
49
|
-
.utilityfocus .pc-QuestionsBlockItem__title a:focus {
|
|
35
|
+
.utilityfocus .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:focus {
|
|
50
36
|
outline: 2px solid #ffdb4d;
|
|
51
37
|
}
|
|
52
|
-
.pc-QuestionsBlockItem__title a:hover, .pc-QuestionsBlockItem__title a:active {
|
|
38
|
+
.pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:hover, .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:active {
|
|
39
|
+
--pc-text-header-color: var(--g-color-text-link-hover);
|
|
40
|
+
color: var(--g-color-text-link-hover);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.pc-QuestionsBlockItem__title-container {
|
|
44
|
+
margin: 0;
|
|
45
|
+
position: relative;
|
|
46
|
+
display: block;
|
|
47
|
+
width: 100%;
|
|
48
|
+
padding-right: 24px;
|
|
49
|
+
text-align: start;
|
|
50
|
+
cursor: pointer;
|
|
51
|
+
border-radius: var(--g-focus-border-radius);
|
|
52
|
+
}
|
|
53
|
+
.pc-QuestionsBlockItem__title-container a {
|
|
54
|
+
outline: none;
|
|
55
|
+
color: var(--g-color-text-link);
|
|
56
|
+
text-decoration: none;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
}
|
|
59
|
+
.utilityfocus .pc-QuestionsBlockItem__title-container a:focus {
|
|
60
|
+
outline: 2px solid #ffdb4d;
|
|
61
|
+
}
|
|
62
|
+
.pc-QuestionsBlockItem__title-container a:hover, .pc-QuestionsBlockItem__title-container a:active {
|
|
53
63
|
--pc-text-header-color: var(--g-color-text-link-hover);
|
|
54
64
|
color: var(--g-color-text-link-hover);
|
|
55
65
|
}
|
|
@@ -75,4 +85,16 @@ unpredictable css rules order in build */
|
|
|
75
85
|
font-size: var(--g-text-body-2-font-size);
|
|
76
86
|
line-height: var(--g-text-body-2-line-height);
|
|
77
87
|
margin-top: 12px;
|
|
88
|
+
}
|
|
89
|
+
.pc-QuestionsBlockItem__button {
|
|
90
|
+
display: inline-block;
|
|
91
|
+
margin: 0;
|
|
92
|
+
padding: 0;
|
|
93
|
+
font: inherit;
|
|
94
|
+
border: none;
|
|
95
|
+
outline: none;
|
|
96
|
+
color: inherit;
|
|
97
|
+
background: none;
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
width: 100%;
|
|
78
100
|
}
|
|
@@ -11,7 +11,9 @@ const models_1 = require("../models.js");
|
|
|
11
11
|
const b = (0, utils_1.block)('QuestionsBlockItem');
|
|
12
12
|
const QuestionBlockItem = ({ title: itemTitle, text: itemText, link, listStyle = 'dash', isOpened, onClick, }) => {
|
|
13
13
|
const { onKeyDown } = (0, uikit_1.useActionHandlers)(onClick);
|
|
14
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: b(), itemScope: true, itemProp: models_1.FaqMicrodataValues.QuestionProp, itemType: models_1.FaqMicrodataValues.QuestionType, role: 'listitem', children: [(0, jsx_runtime_1.
|
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: b(), itemScope: true, itemProp: models_1.FaqMicrodataValues.QuestionProp, itemType: models_1.FaqMicrodataValues.QuestionType, role: 'listitem', children: [(0, jsx_runtime_1.jsx)("button", { className: b('button'), onClick: onClick, "aria-expanded": isOpened, onKeyDown: onKeyDown, children: (0, jsx_runtime_1.jsx)(components_1.YFMWrapper, { tagName: "h3", className: b('title-container'), contentClassName: b('title'), itemProp: models_1.FaqMicrodataValues.QuestionNameProp, content: itemTitle, modifiers: {
|
|
15
|
+
constructor: true,
|
|
16
|
+
}, onClick: onClick, tabIndex: 0, children: (0, jsx_runtime_1.jsx)(components_1.ToggleArrow, { open: isOpened, size: 16, type: 'vertical', iconType: "navigation", className: b('arrow') }) }) }), (0, jsx_runtime_1.jsx)(components_1.Foldable, { isOpened: isOpened, children: (0, jsx_runtime_1.jsxs)("div", { className: b('text'), itemScope: true, itemProp: models_1.FaqMicrodataValues.AnswerProp, itemType: models_1.FaqMicrodataValues.AnswerType, "aria-hidden": !isOpened, children: [(0, jsx_runtime_1.jsx)(components_1.YFMWrapper, { content: itemText, modifiers: {
|
|
15
17
|
constructor: true,
|
|
16
18
|
constructorListStyle: true,
|
|
17
19
|
constructorListStyleDash: listStyle === 'dash',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuestionBlockItem.js","sourceRoot":"../../../../../src","sources":["blocks/Questions/QuestionBlockItem/QuestionBlockItem.tsx"],"names":[],"mappings":";;;;;AAAA,6CAAoD;AAEpD,
|
|
1
|
+
{"version":3,"file":"QuestionBlockItem.js","sourceRoot":"../../../../../src","sources":["blocks/Questions/QuestionBlockItem/QuestionBlockItem.tsx"],"names":[],"mappings":";;;;;AAAA,6CAAoD;AAEpD,6DAAsE;AACtE,oFAAiD;AAEjD,mDAAqC;AACrC,yCAA6C;AAI7C,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,oBAAoB,CAAC,CAAC;AAE/B,MAAM,iBAAiB,GAAG,CAAC,EAC9B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EACJ,SAAS,GAAG,MAAM,EAClB,QAAQ,EACR,OAAO,GACc,EAAE,EAAE;IACzB,MAAM,EAAC,SAAS,EAAC,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CACH,iCACI,SAAS,EAAE,CAAC,EAAE,EACd,SAAS,QACT,QAAQ,EAAE,2BAAkB,CAAC,YAAY,EACzC,QAAQ,EAAE,2BAAkB,CAAC,YAAY,EACzC,IAAI,EAAE,UAAU,aAEhB,mCACI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,OAAO,EAAE,OAAO,mBACD,QAAQ,EACvB,SAAS,EAAE,SAAS,YAEpB,uBAAC,uBAAU,IACP,OAAO,EAAC,IAAI,EACZ,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC/B,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,EAC5B,QAAQ,EAAE,2BAAkB,CAAC,gBAAgB,EAC7C,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE;wBACP,WAAW,EAAE,IAAI;qBACpB,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,YAEX,uBAAC,wBAAW,IACR,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAC,YAAY,EACrB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GACvB,GACO,GACR,EACT,uBAAC,qBAAQ,IAAC,QAAQ,EAAE,QAAQ,YACxB,iCACI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,SAAS,QACT,QAAQ,EAAE,2BAAkB,CAAC,UAAU,EACvC,QAAQ,EAAE,2BAAkB,CAAC,UAAU,iBAC1B,CAAC,QAAQ,aAEtB,uBAAC,uBAAU,IACP,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,oBAAoB,EAAE,IAAI;gCAC1B,wBAAwB,EAAE,SAAS,KAAK,MAAM;6BACjD,EACD,QAAQ,EAAE,2BAAkB,CAAC,gBAAgB,GAC/C,EACD,IAAI,IAAI,uBAAC,cAAI,OAAK,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAI,IAC5E,GACC,IACT,CACT,CAAC;AACN,CAAC,CAAC;AAnEW,QAAA,iBAAiB,qBAmE5B","sourcesContent":["import {useActionHandlers} from '@gravity-ui/uikit';\n\nimport {Foldable, ToggleArrow, YFMWrapper} from '../../../components';\nimport Link from '../../../components/Link/Link';\nimport {QuestionBlockItemProps} from '../../../models';\nimport {block} from '../../../utils';\nimport {FaqMicrodataValues} from '../models';\n\nimport './QuestionBlockItem.scss';\n\nconst b = block('QuestionsBlockItem');\n\nexport const QuestionBlockItem = ({\n title: itemTitle,\n text: itemText,\n link,\n listStyle = 'dash',\n isOpened,\n onClick,\n}: QuestionBlockItemProps) => {\n const {onKeyDown} = useActionHandlers(onClick);\n\n return (\n <div\n className={b()}\n itemScope\n itemProp={FaqMicrodataValues.QuestionProp}\n itemType={FaqMicrodataValues.QuestionType}\n role={'listitem'}\n >\n <button\n className={b('button')}\n onClick={onClick}\n aria-expanded={isOpened}\n onKeyDown={onKeyDown}\n >\n <YFMWrapper\n tagName=\"h3\"\n className={b('title-container')}\n contentClassName={b('title')}\n itemProp={FaqMicrodataValues.QuestionNameProp}\n content={itemTitle}\n modifiers={{\n constructor: true,\n }}\n onClick={onClick}\n tabIndex={0}\n >\n <ToggleArrow\n open={isOpened}\n size={16}\n type={'vertical'}\n iconType=\"navigation\"\n className={b('arrow')}\n />\n </YFMWrapper>\n </button>\n <Foldable isOpened={isOpened}>\n <div\n className={b('text')}\n itemScope\n itemProp={FaqMicrodataValues.AnswerProp}\n itemType={FaqMicrodataValues.AnswerType}\n aria-hidden={!isOpened}\n >\n <YFMWrapper\n content={itemText}\n modifiers={{\n constructor: true,\n constructorListStyle: true,\n constructorListStyleDash: listStyle === 'dash',\n }}\n itemProp={FaqMicrodataValues.QuestionTextProp}\n />\n {link && <Link {...link} tabIndex={isOpened ? 0 : -1} className={b('link')} />}\n </div>\n </Foldable>\n </div>\n );\n};\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
.pc-share-block__title {
|
|
1
|
+
.pc-share-block__title.pc-share-block__title {
|
|
2
2
|
margin: 0;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
/* use this for style redefinitions to awoid problems with
|
|
6
6
|
unpredictable css rules order in build */
|
|
7
|
-
.pc-share-block__title {
|
|
7
|
+
.pc-share-block__title.pc-share-block__title {
|
|
8
8
|
font-size: var(--g-text-body-3-font-size);
|
|
9
9
|
line-height: var(--g-text-body-3-line-height);
|
|
10
10
|
color: var(--pc-text-header-color);
|
|
@@ -12,6 +12,7 @@ unpredictable css rules order in build */
|
|
|
12
12
|
text-align: center;
|
|
13
13
|
font-weight: normal;
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
.pc-share-block__items {
|
|
16
17
|
display: flex;
|
|
17
18
|
justify-content: center;
|
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
+
const components_1 = require("../../components/index.js");
|
|
7
8
|
const locationContext_1 = require("../../context/locationContext/index.js");
|
|
8
9
|
const hooks_1 = require("../../hooks/index.js");
|
|
9
10
|
const Facebook_1 = require("../../icons/Facebook.js");
|
|
@@ -26,7 +27,10 @@ const Share = ({ items, title }) => {
|
|
|
26
27
|
const { pathname, hostname } = React.useContext(locationContext_1.LocationContext);
|
|
27
28
|
const handleAnalytics = (0, hooks_1.useAnalytics)(models_1.DefaultEventNames.ShareButton);
|
|
28
29
|
const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);
|
|
29
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: b(), children: [
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: b(), children: [title ? ((0, jsx_runtime_1.jsx)(components_1.YFMWrapper, { content: title, modifiers: {
|
|
31
|
+
constructor: true,
|
|
32
|
+
// constructorTheme: textTheme,
|
|
33
|
+
}, contentClassName: b('title'), tagName: "h5" })) : ((0, jsx_runtime_1.jsx)("h5", { className: b('title'), children: (0, i18n_1.i18n)('constructor-share') })), (0, jsx_runtime_1.jsx)("div", { className: b('items'), children: items.map((type) => {
|
|
30
34
|
const url = (0, utils_1.getAbsolutePath)(hostname, pathname);
|
|
31
35
|
const socialUrl = (0, utils_1.getShareLink)(url, type);
|
|
32
36
|
const icon = icons[type];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Share.js","sourceRoot":"../../../../src","sources":["blocks/Share/Share.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,6CAA+C;AAE/C,4EAA8D;AAC9D,gDAAyC;AACzC,sDAA8C;AAC9C,sDAA8C;AAC9C,sDAA8C;AAC9C,oDAA4C;AAC5C,0CAAkC;AAClC,kDAAgE;AAChE,gDAAiE;AAEjE,0CAA4B;AAQ5B,MAAM,KAAK,GAAe;IACtB,QAAQ,EAAE,mBAAQ;IAClB,OAAO,EAAE,iBAAO;IAChB,QAAQ,EAAE,mBAAQ;IAClB,EAAE,EAAE,OAAE;IACN,QAAQ,EAAE,mBAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,KAAK,GAAG,CAAC,EAAC,KAAK,EAAE,KAAK,EAAkB,EAAE,EAAE;IAC9C,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAe,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,0BAAiB,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAExF,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"Share.js","sourceRoot":"../../../../src","sources":["blocks/Share/Share.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,6CAA+C;AAE/C,0DAA4C;AAC5C,4EAA8D;AAC9D,gDAAyC;AACzC,sDAA8C;AAC9C,sDAA8C;AAC9C,sDAA8C;AAC9C,oDAA4C;AAC5C,0CAAkC;AAClC,kDAAgE;AAChE,gDAAiE;AAEjE,0CAA4B;AAQ5B,MAAM,KAAK,GAAe;IACtB,QAAQ,EAAE,mBAAQ;IAClB,OAAO,EAAE,iBAAO;IAChB,QAAQ,EAAE,mBAAQ;IAClB,EAAE,EAAE,OAAE;IACN,QAAQ,EAAE,mBAAQ;CACrB,CAAC;AAEF,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,KAAK,GAAG,CAAC,EAAC,KAAK,EAAE,KAAK,EAAkB,EAAE,EAAE;IAC9C,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAe,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAA,oBAAY,EAAC,0BAAiB,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAExF,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,EAAE,aACd,KAAK,CAAC,CAAC,CAAC,CACL,uBAAC,uBAAU,IACP,OAAO,EAAE,KAAK,EACd,SAAS,EAAE;oBACP,WAAW,EAAE,IAAI;oBACjB,+BAA+B;iBAClC,EACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,EAC5B,OAAO,EAAC,IAAI,GACd,CACL,CAAC,CAAC,CAAC,CACA,+BAAI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAG,IAAA,WAAI,EAAC,mBAAmB,CAAC,GAAM,CAC9D,EACD,gCAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChB,MAAM,GAAG,GAAG,IAAA,uBAAe,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;oBACvC,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;oBAE1C,OAAO,CACH,uBAAC,cAAM,IAEH,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC,CAAC,EAChD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE;4BACR,YAAY,EAAE,WAAW;yBAC5B,YAEA,IAAI,IAAI,uBAAC,YAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,GAAI,IAZhE,IAAI,CAaJ,CACZ,CAAC;gBACN,CAAC,CAAC,GACA,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {YFMWrapper} from '../../components';\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {Facebook} from '../../icons/Facebook';\nimport {Linkedin} from '../../icons/Linkedin';\nimport {Telegram} from '../../icons/Telegram';\nimport {Twitter} from '../../icons/Twitter';\nimport {Vk} from '../../icons/Vk';\nimport {DefaultEventNames, ShareBlockProps} from '../../models';\nimport {block, getAbsolutePath, getShareLink} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './Share.scss';\n\ninterface IconsProps {\n [key: string]: React.FC<React.SVGProps<SVGSVGElement>>;\n}\n\nconst icons: IconsProps = {\n facebook: Facebook,\n twitter: Twitter,\n linkedin: Linkedin,\n vk: Vk,\n telegram: Telegram,\n};\n\nconst b = block('share-block');\n\nconst Share = ({items, title}: ShareBlockProps) => {\n const {pathname, hostname} = React.useContext(LocationContext);\n const handleAnalytics = useAnalytics(DefaultEventNames.ShareButton);\n\n const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);\n\n return (\n <div className={b()}>\n {title ? (\n <YFMWrapper\n content={title}\n modifiers={{\n constructor: true,\n // constructorTheme: textTheme,\n }}\n contentClassName={b('title')}\n tagName=\"h5\"\n />\n ) : (\n <h5 className={b('title')}>{i18n('constructor-share')}</h5>\n )}\n <div className={b('items')}>\n {items.map((type) => {\n const url = getAbsolutePath(hostname, pathname);\n const socialUrl = getShareLink(url, type);\n const icon = icons[type];\n const urlTitle = i18n(`${type}-title`);\n const buttonLabel = i18n(`${type}-label`);\n\n return (\n <Button\n key={type}\n view=\"flat\"\n size=\"l\"\n target=\"_blank\"\n href={socialUrl}\n className={b('item', {type: type.toLowerCase()})}\n onClick={handleButtonClick}\n title={urlTitle}\n extraProps={{\n 'aria-label': buttonLabel,\n }}\n >\n {icon && <Icon data={icon} size={24} className={b('icon', {type})} />}\n </Button>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default Share;\n"]}
|