@gravity-ui/page-constructor 5.14.3 → 5.14.4-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/blocks/Banner/Banner.js +3 -1
- package/build/cjs/blocks/Banner/index.d.ts +3 -0
- package/build/cjs/blocks/Banner/index.js +22 -0
- package/build/cjs/blocks/CardLayout/CardLayout.css +1 -0
- package/build/cjs/blocks/CardLayout/CardLayout.js +11 -6
- package/build/cjs/blocks/CardLayout/index.d.ts +5 -0
- package/build/cjs/blocks/CardLayout/index.js +166 -0
- package/build/cjs/blocks/Companies/Companies.js +6 -4
- package/build/cjs/blocks/Companies/index.d.ts +3 -0
- package/build/cjs/blocks/Companies/index.js +18 -0
- package/build/cjs/blocks/ContentLayout/ContentLayout.js +6 -5
- package/build/cjs/blocks/ContentLayout/index.d.ts +11 -0
- package/build/cjs/blocks/ContentLayout/index.js +17 -0
- package/build/cjs/blocks/ContentLayout/schema.d.ts +1 -0
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +22 -20
- package/build/cjs/blocks/ExtendedFeatures/index.d.ts +12 -0
- package/build/cjs/blocks/ExtendedFeatures/index.js +18 -0
- package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +1 -0
- package/build/cjs/blocks/ExtendedFeatures/schema.js +1 -0
- package/build/cjs/blocks/FilterBlock/FilterBlock.js +11 -10
- package/build/cjs/blocks/FilterBlock/index.d.ts +11 -0
- package/build/cjs/blocks/FilterBlock/index.js +17 -0
- package/build/cjs/blocks/Form/index.d.ts +12 -0
- package/build/cjs/blocks/Form/index.js +18 -0
- package/build/cjs/blocks/Header/dynamic-form.d.ts +2 -0
- package/build/cjs/blocks/Header/dynamic-form.js +730 -0
- package/build/cjs/blocks/Header/index.d.ts +8 -0
- package/build/cjs/blocks/Header/index.js +14 -0
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +3 -2
- package/build/cjs/blocks/HeaderSlider/index.d.ts +31 -0
- package/build/cjs/blocks/HeaderSlider/index.js +38 -0
- package/build/cjs/blocks/Icons/Icons.js +9 -6
- package/build/cjs/blocks/Icons/index.d.ts +13 -0
- package/build/cjs/blocks/Icons/index.js +19 -0
- package/build/cjs/blocks/Info/index.d.ts +21 -0
- package/build/cjs/blocks/Info/index.js +41 -0
- package/build/cjs/blocks/Map/index.d.ts +11 -0
- package/build/cjs/blocks/Map/index.js +17 -0
- package/build/cjs/blocks/Media/index.d.ts +14 -0
- package/build/cjs/blocks/Media/index.js +20 -0
- package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +19 -16
- package/build/cjs/blocks/PromoFeaturesBlock/index.d.ts +12 -0
- package/build/cjs/blocks/PromoFeaturesBlock/index.js +18 -0
- package/build/cjs/blocks/Questions/Questions.js +12 -10
- package/build/cjs/blocks/Questions/index.d.ts +29 -0
- package/build/cjs/blocks/Questions/index.js +47 -0
- package/build/cjs/blocks/Share/Share.js +11 -10
- package/build/cjs/blocks/Share/index.d.ts +12 -0
- package/build/cjs/blocks/Share/index.js +18 -0
- package/build/cjs/blocks/Slider/Slider.js +22 -17
- package/build/cjs/blocks/Slider/dynamic-form.d.ts +3 -0
- package/build/cjs/blocks/Slider/dynamic-form.js +225 -0
- package/build/cjs/blocks/Slider/index.d.ts +8 -0
- package/build/cjs/blocks/Slider/index.js +14 -0
- package/build/cjs/blocks/Table/index.d.ts +8 -0
- package/build/cjs/blocks/Table/index.js +14 -0
- package/build/cjs/blocks/Table/schema.d.ts +1 -0
- package/build/cjs/blocks/Table/schema.js +1 -0
- package/build/cjs/blocks/Tabs/Tabs.js +9 -8
- package/build/cjs/blocks/Tabs/index.d.ts +16 -0
- package/build/cjs/blocks/Tabs/index.js +29 -0
- package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
- package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.js +12 -0
- package/build/cjs/blocks/TestEditorBlock/form.d.ts +3 -0
- package/build/cjs/blocks/TestEditorBlock/form.js +80 -0
- package/build/cjs/blocks/TestEditorBlock/index.d.ts +11 -0
- package/build/cjs/blocks/TestEditorBlock/index.js +17 -0
- package/build/cjs/components/BlockBase/BlockBase.css +8 -16
- package/build/cjs/components/Image/dynamic-form.d.ts +2 -0
- package/build/cjs/components/Image/dynamic-form.js +84 -0
- package/build/cjs/components/editor/ChildrenWrap/ChildrenWrap.css +5 -0
- package/build/cjs/components/editor/ChildrenWrap/ChildrenWrap.d.ts +6 -0
- package/build/cjs/components/editor/ChildrenWrap/ChildrenWrap.js +15 -0
- package/build/cjs/components/editor/ItemWrap/ItemWrap.css +9 -0
- package/build/cjs/components/editor/ItemWrap/ItemWrap.d.ts +6 -0
- package/build/cjs/components/editor/ItemWrap/ItemWrap.js +15 -0
- package/build/cjs/constructor-items.d.ts +18 -6
- package/build/cjs/constructor-items.js +67 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.js +16 -13
- package/build/cjs/containers/PageConstructor/Provider.js +4 -0
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +5 -2
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.d.ts +8 -0
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.js +109 -0
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -3
- package/build/cjs/context/blockIdContext/blockIdContext.d.ts +2 -2
- package/build/cjs/context/blockIdContext/blockIdContext.js +1 -1
- package/build/cjs/context/editorContext/editorContext.d.ts +13 -0
- package/build/cjs/context/editorContext/editorContext.js +10 -0
- package/build/cjs/context/editorContext/editorProvider.d.ts +2 -0
- package/build/cjs/context/editorContext/editorProvider.js +20 -0
- package/build/cjs/context/editorContext/hooks/useEditorStore.d.ts +2 -0
- package/build/cjs/context/editorContext/hooks/useEditorStore.js +15 -0
- package/build/cjs/context/editorContext/index.d.ts +4 -0
- package/build/cjs/context/editorContext/index.js +7 -0
- package/build/cjs/context/editorContext/store.d.ts +24 -0
- package/build/cjs/context/editorContext/store.js +39 -0
- package/build/cjs/context/messagesContext/hooks/useMessageObserver.d.ts +4 -0
- package/build/cjs/context/messagesContext/hooks/useMessageObserver.js +16 -0
- package/build/cjs/context/messagesContext/hooks/useMessageSender.d.ts +2 -0
- package/build/cjs/context/messagesContext/hooks/useMessageSender.js +11 -0
- package/build/cjs/context/messagesContext/hooks/useMessagesStore.d.ts +2 -0
- package/build/cjs/context/messagesContext/hooks/useMessagesStore.js +15 -0
- package/build/cjs/context/messagesContext/index.d.ts +5 -0
- package/build/cjs/context/messagesContext/index.js +8 -0
- package/build/cjs/context/messagesContext/messagesContext.d.ts +14 -0
- package/build/cjs/context/messagesContext/messagesContext.js +12 -0
- package/build/cjs/context/messagesContext/messagesProvider.d.ts +2 -0
- package/build/cjs/context/messagesContext/messagesProvider.js +73 -0
- package/build/cjs/context/messagesContext/store.d.ts +25 -0
- package/build/cjs/context/messagesContext/store.js +17 -0
- package/build/cjs/context/messagesContext/types.d.ts +14 -0
- package/build/cjs/context/messagesContext/types.js +2 -0
- package/build/cjs/grid/Col/Col.d.ts +1 -1
- package/build/cjs/grid/Grid/Grid.css +2 -6
- package/build/cjs/hooks/useAnalytics.js +1 -1
- package/build/cjs/hooks/useEditorInitialize.d.ts +7 -0
- package/build/cjs/hooks/useEditorInitialize.js +90 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +2 -1
- package/build/cjs/models/constructor-items/blocks.js +1 -0
- package/build/cjs/models/constructor-items/sub-blocks.d.ts +1 -1
- package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +4 -1
- package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
- package/build/cjs/navigation/containers/Layout/Layout.css +0 -1
- package/build/cjs/schema/constants.d.ts +1 -1
- package/build/cjs/schema/constants.js +2 -1
- package/build/cjs/schema/index.d.ts +227 -0
- package/build/cjs/schema/index.js +7 -3
- package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
- package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js +81 -0
- package/build/cjs/sub-blocks/BackgroundCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/BackgroundCard/index.js +19 -0
- package/build/cjs/sub-blocks/BannerCard/BannerCard.js +4 -3
- package/build/cjs/sub-blocks/BannerCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/BannerCard/index.js +22 -0
- package/build/cjs/sub-blocks/BasicCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/BasicCard/index.js +18 -0
- package/build/cjs/sub-blocks/Content/index.d.ts +3 -0
- package/build/cjs/sub-blocks/Content/index.js +18 -0
- package/build/cjs/sub-blocks/Content/schema.d.ts +1 -0
- package/build/cjs/sub-blocks/Content/schema.js +1 -0
- package/build/cjs/sub-blocks/Divider/index.d.ts +3 -0
- package/build/cjs/sub-blocks/Divider/index.js +15 -0
- package/build/cjs/sub-blocks/ImageCard/ImageCard.js +2 -2
- package/build/cjs/sub-blocks/ImageCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/ImageCard/index.js +18 -0
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +1 -1
- package/build/cjs/sub-blocks/LayoutItem/form.d.ts +8 -0
- package/build/cjs/sub-blocks/LayoutItem/form.js +14 -0
- package/build/cjs/sub-blocks/LayoutItem/index.d.ts +3 -0
- package/build/cjs/sub-blocks/LayoutItem/index.js +20 -0
- package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +254 -246
- package/build/cjs/sub-blocks/LayoutItem/schema.js +7 -3
- package/build/cjs/sub-blocks/MediaCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/MediaCard/index.js +20 -0
- package/build/cjs/sub-blocks/PriceCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/PriceCard/index.js +31 -0
- package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
- package/build/cjs/sub-blocks/PriceDetailed/index.d.ts +4 -0
- package/build/cjs/sub-blocks/PriceDetailed/index.js +33 -0
- package/build/cjs/sub-blocks/Quote/index.d.ts +3 -0
- package/build/cjs/sub-blocks/Quote/index.js +21 -0
- package/build/cjs/types/actions/codes.d.ts +16 -0
- package/build/cjs/types/actions/codes.js +26 -0
- package/build/cjs/types/actions/index.d.ts +20 -0
- package/build/cjs/types/actions/index.js +10 -0
- package/build/cjs/types/actions/initial.d.ts +23 -0
- package/build/cjs/types/actions/initial.js +2 -0
- package/build/cjs/types/actions/insert.d.ts +19 -0
- package/build/cjs/types/actions/insert.js +2 -0
- package/build/cjs/types/actions/other.d.ts +16 -0
- package/build/cjs/types/actions/other.js +2 -0
- package/build/cjs/types/actions/overlay.d.ts +16 -0
- package/build/cjs/types/actions/overlay.js +2 -0
- package/build/cjs/types/actions/reorder.d.ts +17 -0
- package/build/cjs/types/actions/reorder.js +2 -0
- package/build/cjs/types/actions/select.d.ts +16 -0
- package/build/cjs/types/actions/select.js +2 -0
- package/build/cjs/types/dynamic-form.d.ts +92 -0
- package/build/cjs/types/dynamic-form.js +2 -0
- package/build/cjs/types/index.d.ts +14 -0
- package/build/cjs/types/index.js +2 -0
- package/build/cjs/utils/editor.d.ts +2 -0
- package/build/cjs/utils/editor.js +24 -0
- package/build/cjs/utils/form-generator.d.ts +9 -0
- package/build/cjs/utils/form-generator.js +126 -0
- package/build/cjs/utils/store.d.ts +16 -0
- package/build/cjs/utils/store.js +9 -0
- package/build/esm/blocks/Banner/Banner.js +3 -1
- package/build/esm/blocks/Banner/index.d.ts +3 -0
- package/build/esm/blocks/Banner/index.js +19 -0
- package/build/esm/blocks/CardLayout/CardLayout.css +1 -0
- package/build/esm/blocks/CardLayout/CardLayout.js +12 -7
- package/build/esm/blocks/CardLayout/index.d.ts +5 -0
- package/build/esm/blocks/CardLayout/index.js +162 -0
- package/build/esm/blocks/Companies/Companies.js +6 -4
- package/build/esm/blocks/Companies/index.d.ts +3 -0
- package/build/esm/blocks/Companies/index.js +15 -0
- package/build/esm/blocks/ContentLayout/ContentLayout.js +7 -6
- package/build/esm/blocks/ContentLayout/index.d.ts +11 -0
- package/build/esm/blocks/ContentLayout/index.js +14 -0
- package/build/esm/blocks/ContentLayout/schema.d.ts +1 -0
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +23 -21
- package/build/esm/blocks/ExtendedFeatures/index.d.ts +12 -0
- package/build/esm/blocks/ExtendedFeatures/index.js +15 -0
- package/build/esm/blocks/ExtendedFeatures/schema.d.ts +1 -0
- package/build/esm/blocks/ExtendedFeatures/schema.js +1 -0
- package/build/esm/blocks/FilterBlock/FilterBlock.js +12 -11
- package/build/esm/blocks/FilterBlock/index.d.ts +11 -0
- package/build/esm/blocks/FilterBlock/index.js +14 -0
- package/build/esm/blocks/Form/index.d.ts +12 -0
- package/build/esm/blocks/Form/index.js +15 -0
- package/build/esm/blocks/Header/dynamic-form.d.ts +2 -0
- package/build/esm/blocks/Header/dynamic-form.js +727 -0
- package/build/esm/blocks/Header/index.d.ts +8 -0
- package/build/esm/blocks/Header/index.js +11 -0
- package/build/esm/blocks/HeaderSlider/HeaderSlider.js +3 -2
- package/build/esm/blocks/HeaderSlider/index.d.ts +31 -0
- package/build/esm/blocks/HeaderSlider/index.js +35 -0
- package/build/esm/blocks/Icons/Icons.js +9 -6
- package/build/esm/blocks/Icons/index.d.ts +13 -0
- package/build/esm/blocks/Icons/index.js +16 -0
- package/build/esm/blocks/Info/index.d.ts +21 -0
- package/build/esm/blocks/Info/index.js +38 -0
- package/build/esm/blocks/Map/index.d.ts +11 -0
- package/build/esm/blocks/Map/index.js +14 -0
- package/build/esm/blocks/Media/index.d.ts +14 -0
- package/build/esm/blocks/Media/index.js +17 -0
- package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +19 -16
- package/build/esm/blocks/PromoFeaturesBlock/index.d.ts +12 -0
- package/build/esm/blocks/PromoFeaturesBlock/index.js +15 -0
- package/build/esm/blocks/Questions/Questions.js +13 -11
- package/build/esm/blocks/Questions/index.d.ts +29 -0
- package/build/esm/blocks/Questions/index.js +44 -0
- package/build/esm/blocks/Share/Share.js +11 -10
- package/build/esm/blocks/Share/index.d.ts +12 -0
- package/build/esm/blocks/Share/index.js +15 -0
- package/build/esm/blocks/Slider/Slider.js +22 -17
- package/build/esm/blocks/Slider/dynamic-form.d.ts +3 -0
- package/build/esm/blocks/Slider/dynamic-form.js +222 -0
- package/build/esm/blocks/Slider/index.d.ts +8 -0
- package/build/esm/blocks/Slider/index.js +11 -0
- package/build/esm/blocks/Table/index.d.ts +8 -0
- package/build/esm/blocks/Table/index.js +11 -0
- package/build/esm/blocks/Table/schema.d.ts +1 -0
- package/build/esm/blocks/Table/schema.js +1 -0
- package/build/esm/blocks/Tabs/Tabs.js +10 -9
- package/build/esm/blocks/Tabs/index.d.ts +16 -0
- package/build/esm/blocks/Tabs/index.js +26 -0
- package/build/esm/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
- package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js +7 -0
- package/build/esm/blocks/TestEditorBlock/form.d.ts +3 -0
- package/build/esm/blocks/TestEditorBlock/form.js +78 -0
- package/build/esm/blocks/TestEditorBlock/index.d.ts +11 -0
- package/build/esm/blocks/TestEditorBlock/index.js +13 -0
- package/build/esm/components/BlockBase/BlockBase.css +8 -16
- package/build/esm/components/Image/dynamic-form.d.ts +2 -0
- package/build/esm/components/Image/dynamic-form.js +80 -0
- package/build/esm/components/editor/ChildrenWrap/ChildrenWrap.css +5 -0
- package/build/esm/components/editor/ChildrenWrap/ChildrenWrap.d.ts +7 -0
- package/build/esm/components/editor/ChildrenWrap/ChildrenWrap.js +13 -0
- package/build/esm/components/editor/ItemWrap/ItemWrap.css +9 -0
- package/build/esm/components/editor/ItemWrap/ItemWrap.d.ts +7 -0
- package/build/esm/components/editor/ItemWrap/ItemWrap.js +13 -0
- package/build/esm/constructor-items.d.ts +18 -6
- package/build/esm/constructor-items.js +66 -0
- package/build/esm/containers/PageConstructor/PageConstructor.js +19 -16
- package/build/esm/containers/PageConstructor/Provider.js +4 -0
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +5 -2
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.d.ts +8 -0
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.js +107 -0
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -3
- package/build/esm/context/blockIdContext/blockIdContext.d.ts +2 -2
- package/build/esm/context/blockIdContext/blockIdContext.js +1 -1
- package/build/esm/context/editorContext/editorContext.d.ts +13 -0
- package/build/esm/context/editorContext/editorContext.js +6 -0
- package/build/esm/context/editorContext/editorProvider.d.ts +2 -0
- package/build/esm/context/editorContext/editorProvider.js +15 -0
- package/build/esm/context/editorContext/hooks/useEditorStore.d.ts +2 -0
- package/build/esm/context/editorContext/hooks/useEditorStore.js +11 -0
- package/build/esm/context/editorContext/index.d.ts +4 -0
- package/build/esm/context/editorContext/index.js +4 -0
- package/build/esm/context/editorContext/store.d.ts +24 -0
- package/build/esm/context/editorContext/store.js +36 -0
- package/build/esm/context/messagesContext/hooks/useMessageObserver.d.ts +4 -0
- package/build/esm/context/messagesContext/hooks/useMessageObserver.js +12 -0
- package/build/esm/context/messagesContext/hooks/useMessageSender.d.ts +2 -0
- package/build/esm/context/messagesContext/hooks/useMessageSender.js +7 -0
- package/build/esm/context/messagesContext/hooks/useMessagesStore.d.ts +2 -0
- package/build/esm/context/messagesContext/hooks/useMessagesStore.js +11 -0
- package/build/esm/context/messagesContext/index.d.ts +5 -0
- package/build/esm/context/messagesContext/index.js +5 -0
- package/build/esm/context/messagesContext/messagesContext.d.ts +14 -0
- package/build/esm/context/messagesContext/messagesContext.js +8 -0
- package/build/esm/context/messagesContext/messagesProvider.d.ts +2 -0
- package/build/esm/context/messagesContext/messagesProvider.js +68 -0
- package/build/esm/context/messagesContext/store.d.ts +25 -0
- package/build/esm/context/messagesContext/store.js +14 -0
- package/build/esm/context/messagesContext/types.d.ts +14 -0
- package/build/esm/context/messagesContext/types.js +1 -0
- package/build/esm/grid/Col/Col.d.ts +1 -1
- package/build/esm/grid/Grid/Grid.css +2 -6
- package/build/esm/hooks/useAnalytics.js +1 -1
- package/build/esm/hooks/useEditorInitialize.d.ts +7 -0
- package/build/esm/hooks/useEditorInitialize.js +87 -0
- package/build/esm/models/constructor-items/blocks.d.ts +2 -1
- package/build/esm/models/constructor-items/blocks.js +1 -0
- package/build/esm/models/constructor-items/sub-blocks.d.ts +1 -1
- package/build/esm/navigation/components/NavigationItem/NavigationItem.js +4 -1
- package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
- package/build/esm/navigation/containers/Layout/Layout.css +0 -1
- package/build/esm/schema/constants.d.ts +1 -1
- package/build/esm/schema/constants.js +2 -1
- package/build/esm/schema/index.d.ts +227 -0
- package/build/esm/schema/index.js +6 -2
- package/build/esm/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
- package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js +78 -0
- package/build/esm/sub-blocks/BackgroundCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/BackgroundCard/index.js +16 -0
- package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -3
- package/build/esm/sub-blocks/BannerCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/BannerCard/index.js +19 -0
- package/build/esm/sub-blocks/BasicCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/BasicCard/index.js +15 -0
- package/build/esm/sub-blocks/Content/index.d.ts +3 -0
- package/build/esm/sub-blocks/Content/index.js +15 -0
- package/build/esm/sub-blocks/Content/schema.d.ts +1 -0
- package/build/esm/sub-blocks/Content/schema.js +1 -0
- package/build/esm/sub-blocks/Divider/index.d.ts +3 -0
- package/build/esm/sub-blocks/Divider/index.js +12 -0
- package/build/esm/sub-blocks/ImageCard/ImageCard.js +2 -2
- package/build/esm/sub-blocks/ImageCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/ImageCard/index.js +15 -0
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +1 -1
- package/build/esm/sub-blocks/LayoutItem/form.d.ts +8 -0
- package/build/esm/sub-blocks/LayoutItem/form.js +11 -0
- package/build/esm/sub-blocks/LayoutItem/index.d.ts +3 -0
- package/build/esm/sub-blocks/LayoutItem/index.js +17 -0
- package/build/esm/sub-blocks/LayoutItem/schema.d.ts +254 -246
- package/build/esm/sub-blocks/LayoutItem/schema.js +6 -2
- package/build/esm/sub-blocks/MediaCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/MediaCard/index.js +17 -0
- package/build/esm/sub-blocks/PriceCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/PriceCard/index.js +28 -0
- package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
- package/build/esm/sub-blocks/PriceDetailed/index.d.ts +4 -0
- package/build/esm/sub-blocks/PriceDetailed/index.js +30 -0
- package/build/esm/sub-blocks/Quote/index.d.ts +3 -0
- package/build/esm/sub-blocks/Quote/index.js +18 -0
- package/build/esm/types/actions/codes.d.ts +16 -0
- package/build/esm/types/actions/codes.js +23 -0
- package/build/esm/types/actions/index.d.ts +20 -0
- package/build/esm/types/actions/index.js +7 -0
- package/build/esm/types/actions/initial.d.ts +23 -0
- package/build/esm/types/actions/initial.js +1 -0
- package/build/esm/types/actions/insert.d.ts +19 -0
- package/build/esm/types/actions/insert.js +1 -0
- package/build/esm/types/actions/other.d.ts +16 -0
- package/build/esm/types/actions/other.js +1 -0
- package/build/esm/types/actions/overlay.d.ts +16 -0
- package/build/esm/types/actions/overlay.js +1 -0
- package/build/esm/types/actions/reorder.d.ts +17 -0
- package/build/esm/types/actions/reorder.js +1 -0
- package/build/esm/types/actions/select.d.ts +16 -0
- package/build/esm/types/actions/select.js +1 -0
- package/build/esm/types/dynamic-form.d.ts +92 -0
- package/build/esm/types/dynamic-form.js +1 -0
- package/build/esm/types/index.d.ts +14 -0
- package/build/esm/types/index.js +1 -0
- package/build/esm/utils/editor.d.ts +2 -0
- package/build/esm/utils/editor.js +20 -0
- package/build/esm/utils/form-generator.d.ts +9 -0
- package/build/esm/utils/form-generator.js +121 -0
- package/build/esm/utils/store.d.ts +16 -0
- package/build/esm/utils/store.js +5 -0
- package/package.json +5 -2
- package/server/models/constructor-items/blocks.d.ts +2 -1
- package/server/models/constructor-items/blocks.js +1 -0
- package/server/models/constructor-items/sub-blocks.d.ts +1 -1
- package/styles/mixins.scss +9 -9
- package/widget/index.js +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ActionTypes } from '../../types/actions';
|
|
2
|
+
import { initializeStore } from '../../utils/store';
|
|
3
|
+
export const createEditorStore = initializeStore({
|
|
4
|
+
manipulateOverlayMode: false,
|
|
5
|
+
isSelectActive: false,
|
|
6
|
+
initialized: false,
|
|
7
|
+
}, (set, _get) => ({
|
|
8
|
+
reducer: (action) => {
|
|
9
|
+
switch (action.type) {
|
|
10
|
+
case ActionTypes.EditorReady: {
|
|
11
|
+
set((state) => (Object.assign(Object.assign({}, state), { initialized: true })));
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
case ActionTypes.ReorderModeEnable: {
|
|
15
|
+
set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: 'reorder' })));
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
case ActionTypes.ReorderModeDisable: {
|
|
19
|
+
set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: false })));
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
case ActionTypes.InsertModeEnable: {
|
|
23
|
+
set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: 'insert' })));
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case ActionTypes.InsertModeDisable: {
|
|
27
|
+
set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: false })));
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
case ActionTypes.SelectBlock: {
|
|
31
|
+
set((state) => (Object.assign(Object.assign({}, state), { isSelectActive: true })));
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
}));
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DependencyList } from 'react';
|
|
2
|
+
import { Action } from '../../../types/actions';
|
|
3
|
+
export declare const useMessageObserver: <A extends Action>(type: A["type"], callback: (payload: A["payload"]) => void, deps?: DependencyList) => void;
|
|
4
|
+
export default useMessageObserver;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { useMessagesStore } from './useMessagesStore';
|
|
3
|
+
export const useMessageObserver = (type, callback, deps = []) => {
|
|
4
|
+
const { subscribe, unsubscribe } = useMessagesStore();
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
subscribe(type, callback);
|
|
7
|
+
return () => {
|
|
8
|
+
unsubscribe(type, callback);
|
|
9
|
+
};
|
|
10
|
+
}, deps); // eslint-disable-line react-hooks/exhaustive-deps
|
|
11
|
+
};
|
|
12
|
+
export default useMessageObserver;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { useStore } from 'zustand';
|
|
3
|
+
import { PostMessageContext } from '../messagesContext';
|
|
4
|
+
export const useMessagesStore = () => {
|
|
5
|
+
const { state } = useContext(PostMessageContext);
|
|
6
|
+
if (!state) {
|
|
7
|
+
throw new Error('Missing PostMessageContext');
|
|
8
|
+
}
|
|
9
|
+
return useStore(state);
|
|
10
|
+
};
|
|
11
|
+
export default useMessagesStore;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context for sending messages between Editor and App
|
|
3
|
+
* Same exist in Editor
|
|
4
|
+
**/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { StoreApi } from 'zustand';
|
|
7
|
+
import { Action } from '../../types/actions';
|
|
8
|
+
import { MessagesStore } from './store';
|
|
9
|
+
import { SendOptions } from './types';
|
|
10
|
+
export interface PostMessageContextProps {
|
|
11
|
+
state?: StoreApi<MessagesStore>;
|
|
12
|
+
sendMessage: (action: Action, options?: SendOptions) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const PostMessageContext: React.Context<PostMessageContextProps>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useRef } from 'react';
|
|
2
|
+
import { useEditorStore } from '../editorContext';
|
|
3
|
+
import { PostMessageContext } from './messagesContext';
|
|
4
|
+
import { createMessagesStore } from './store';
|
|
5
|
+
const DEBUG_MODE = false;
|
|
6
|
+
export const PostMessageProvider = ({ children }) => {
|
|
7
|
+
const storeRef = useRef();
|
|
8
|
+
if (!storeRef.current) {
|
|
9
|
+
storeRef.current = createMessagesStore();
|
|
10
|
+
}
|
|
11
|
+
const editorStore = useEditorStore();
|
|
12
|
+
const sendPostMessage = useCallback((args) => {
|
|
13
|
+
window.parent.postMessage(args, '*');
|
|
14
|
+
}, []);
|
|
15
|
+
const notifySubscribers = useCallback((action, source) => {
|
|
16
|
+
const meta = { source };
|
|
17
|
+
const storesWithReducer = [editorStore];
|
|
18
|
+
const { type, payload } = action;
|
|
19
|
+
const store = storeRef.current;
|
|
20
|
+
if (!type) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (store) {
|
|
24
|
+
const { subscribers } = store.getState();
|
|
25
|
+
const foundedSubscribers = subscribers.filter((subscriber) => subscriber.action === type);
|
|
26
|
+
for (const storeWithReducer of storesWithReducer) {
|
|
27
|
+
storeWithReducer.reducer(action, meta);
|
|
28
|
+
}
|
|
29
|
+
if (foundedSubscribers.length) {
|
|
30
|
+
for (const subscriber of foundedSubscribers) {
|
|
31
|
+
subscriber.handler(payload, meta);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}, [editorStore]);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
const onMessage = (e) => {
|
|
38
|
+
const { action, debug } = e.data;
|
|
39
|
+
if (action && action.type) {
|
|
40
|
+
if (debug) {
|
|
41
|
+
// eslint-disable-next-line no-console
|
|
42
|
+
console.log(`🔵 ➡️ Editor ${action.type}`, action.payload);
|
|
43
|
+
}
|
|
44
|
+
notifySubscribers(action, 'editor');
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
window.addEventListener('message', onMessage);
|
|
48
|
+
return () => {
|
|
49
|
+
window.removeEventListener('message', onMessage);
|
|
50
|
+
};
|
|
51
|
+
}, [notifySubscribers]);
|
|
52
|
+
const sendMessage = useCallback((action, { debug = DEBUG_MODE, direction = 'both' } = {}) => {
|
|
53
|
+
if (debug) {
|
|
54
|
+
// eslint-disable-next-line no-console
|
|
55
|
+
console.log(`🟢 Website ➡️ ${action.type}`, action.payload);
|
|
56
|
+
}
|
|
57
|
+
if (direction === 'both' || direction === 'editor') {
|
|
58
|
+
sendPostMessage({ action, debug });
|
|
59
|
+
}
|
|
60
|
+
if (direction === 'both' || direction === 'pc') {
|
|
61
|
+
notifySubscribers(action, 'pc');
|
|
62
|
+
}
|
|
63
|
+
}, [notifySubscribers, sendPostMessage]);
|
|
64
|
+
return (React.createElement(PostMessageContext.Provider, { value: {
|
|
65
|
+
state: storeRef.current,
|
|
66
|
+
sendMessage: sendMessage,
|
|
67
|
+
} }, children));
|
|
68
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Subscriber } from '../../types';
|
|
2
|
+
import { SubscriptionFunc } from './types';
|
|
3
|
+
export interface MessagesState {
|
|
4
|
+
subscribers: Subscriber[];
|
|
5
|
+
}
|
|
6
|
+
export interface MessagesMethods {
|
|
7
|
+
subscribe: SubscriptionFunc;
|
|
8
|
+
unsubscribe: SubscriptionFunc;
|
|
9
|
+
}
|
|
10
|
+
export type MessagesStore = MessagesState & MessagesMethods;
|
|
11
|
+
export declare const createMessagesStore: (overrideInitialState?: Partial<MessagesState> | undefined) => import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<MessagesState & MessagesMethods>, "setState"> & {
|
|
12
|
+
setState<A extends string | {
|
|
13
|
+
type: string;
|
|
14
|
+
}>(partial: (MessagesState & MessagesMethods) | Partial<MessagesState & MessagesMethods> | ((state: MessagesState & MessagesMethods) => (MessagesState & MessagesMethods) | Partial<MessagesState & MessagesMethods>), replace?: boolean | undefined, action?: A | undefined): void;
|
|
15
|
+
}, "persist"> & {
|
|
16
|
+
persist: {
|
|
17
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<MessagesState & MessagesMethods, MessagesState & MessagesMethods>>) => void;
|
|
18
|
+
clearStorage: () => void;
|
|
19
|
+
rehydrate: () => void | Promise<void>;
|
|
20
|
+
hasHydrated: () => boolean;
|
|
21
|
+
onHydrate: (fn: (state: MessagesState & MessagesMethods) => void) => () => void;
|
|
22
|
+
onFinishHydration: (fn: (state: MessagesState & MessagesMethods) => void) => () => void;
|
|
23
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<MessagesState & MessagesMethods, MessagesState & MessagesMethods>>;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { initializeStore } from '../../utils/store';
|
|
2
|
+
export const createMessagesStore = initializeStore({
|
|
3
|
+
subscribers: [],
|
|
4
|
+
}, (set, _get) => ({
|
|
5
|
+
subscribe: (type, payloadCallback) => {
|
|
6
|
+
set((state) => (Object.assign(Object.assign({}, state), { subscribers: [...state.subscribers, { action: type, handler: payloadCallback }] })));
|
|
7
|
+
return () => {
|
|
8
|
+
set((state) => (Object.assign(Object.assign({}, state), { subscribers: state.subscribers.filter(({ handler, action }) => payloadCallback !== handler || type !== action) })));
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
unsubscribe: (type, payloadCallback) => {
|
|
12
|
+
set((state) => (Object.assign(Object.assign({}, state), { subscribers: state.subscribers.filter(({ handler, action }) => payloadCallback !== handler || type !== action) })));
|
|
13
|
+
},
|
|
14
|
+
}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Action } from '../../types/actions';
|
|
2
|
+
export interface SendOptions {
|
|
3
|
+
direction?: MetaSource | 'both';
|
|
4
|
+
debug?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface PostMessageArgs {
|
|
7
|
+
action: Action;
|
|
8
|
+
debug: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type SubscriptionFunc = <A extends Action>(type: A['type'], payloadCallback: (payload: A['payload'], meta: Meta) => void) => void;
|
|
11
|
+
export type MetaSource = 'pc' | 'editor';
|
|
12
|
+
export interface Meta {
|
|
13
|
+
source: MetaSource;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,4 +5,4 @@ export interface GridColumnProps extends GridColumnClassParams, Refable<HTMLDivE
|
|
|
5
5
|
style?: CSSProperties;
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
}
|
|
8
|
-
export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "sizes" | "className" | "hidden" | "role" | "qa" | "
|
|
8
|
+
export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "sizes" | "className" | "hidden" | "role" | "qa" | "offsets" | "orders" | "visible" | "alignSelf" | "justifyContent" | "reset"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
.pc-Grid .container {
|
|
3
3
|
max-width: calc(1232px + 8px * 2 + 40px * 2);
|
|
4
4
|
}
|
|
5
|
-
.pc-Grid .row {
|
|
6
|
-
margin-right: 0;
|
|
7
|
-
margin-left: 0;
|
|
8
|
-
}
|
|
9
5
|
.pc-Grid .pc-Grid .container-fluid,
|
|
10
6
|
.pc-Grid .pc-Grid .container {
|
|
11
7
|
padding: 0;
|
|
12
8
|
}
|
|
13
|
-
.pc-Grid .row
|
|
9
|
+
.pc-Grid .row {
|
|
14
10
|
margin: 0 -8px;
|
|
15
11
|
}
|
|
16
12
|
.pc-Grid_debug .container,
|
|
@@ -81,7 +77,7 @@
|
|
|
81
77
|
.pc-Grid .col-12 {
|
|
82
78
|
padding: 0 8px;
|
|
83
79
|
}
|
|
84
|
-
.pc-Grid .row
|
|
80
|
+
.pc-Grid .row {
|
|
85
81
|
margin: 0 -8px;
|
|
86
82
|
}
|
|
87
83
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PageContent } from '../models';
|
|
2
|
+
interface UseEditorInitializeProps {
|
|
3
|
+
content: PageContent;
|
|
4
|
+
setContent: (content: PageContent) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const useEditorInitialize: ({ setContent, content }: UseEditorInitializeProps) => void;
|
|
7
|
+
export default useEditorInitialize;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { useCallback, useContext, useEffect } from 'react';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
import { blockDataMap } from '../constructor-items';
|
|
4
|
+
import { EditorContext, useEditorStore } from '../context/editorContext';
|
|
5
|
+
import { useMessageObserver, useMessageSender } from '../context/messagesContext';
|
|
6
|
+
import { defaultComponentsConfigurationSchema } from '../schema';
|
|
7
|
+
import { ActionTypes } from '../types/actions';
|
|
8
|
+
import { generateFromAJV } from '../utils/form-generator';
|
|
9
|
+
const useEditorInitialize = ({ setContent, content }) => {
|
|
10
|
+
const { manipulateOverlayMode, isSelectActive } = useEditorStore();
|
|
11
|
+
const sendMessage = useMessageSender();
|
|
12
|
+
const { activeElement } = useContext(EditorContext);
|
|
13
|
+
const onResize = useCallback(() => {
|
|
14
|
+
const height = document.documentElement.getBoundingClientRect().height;
|
|
15
|
+
sendMessage({
|
|
16
|
+
type: ActionTypes.SetHeight,
|
|
17
|
+
payload: { height },
|
|
18
|
+
});
|
|
19
|
+
if (isSelectActive && activeElement) {
|
|
20
|
+
const rect = activeElement.getClientRects().item(0);
|
|
21
|
+
if (rect) {
|
|
22
|
+
sendMessage({
|
|
23
|
+
type: ActionTypes.UpdateSelectedBlockRect,
|
|
24
|
+
payload: {
|
|
25
|
+
rect: rect,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}, [activeElement, isSelectActive, sendMessage]);
|
|
31
|
+
useMessageObserver(ActionTypes.UpdateConfigs, ({ content: newContent }) => {
|
|
32
|
+
setContent(newContent);
|
|
33
|
+
});
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
onResize();
|
|
36
|
+
}, [content, onResize]);
|
|
37
|
+
// Fires only once
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
const height = document.documentElement.getBoundingClientRect().height;
|
|
40
|
+
sendMessage({
|
|
41
|
+
type: ActionTypes.IframeReady,
|
|
42
|
+
payload: { height },
|
|
43
|
+
}, { direction: 'editor' });
|
|
44
|
+
sendMessage({
|
|
45
|
+
type: ActionTypes.BlocksConfigs,
|
|
46
|
+
payload: {
|
|
47
|
+
blocks: Object.entries(blockDataMap).reduce((acc, [key, value]) => {
|
|
48
|
+
acc.push({ type: key, schema: value.schema });
|
|
49
|
+
return acc;
|
|
50
|
+
}, []),
|
|
51
|
+
subBlocks: [],
|
|
52
|
+
global: generateFromAJV(defaultComponentsConfigurationSchema),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}, [sendMessage]);
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
const onMouseUp = (e) => {
|
|
58
|
+
if (manipulateOverlayMode === 'insert') {
|
|
59
|
+
e.preventDefault();
|
|
60
|
+
sendMessage({ type: ActionTypes.InsertModeDisable, payload: undefined });
|
|
61
|
+
}
|
|
62
|
+
if (manipulateOverlayMode === 'reorder') {
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
sendMessage({ type: ActionTypes.ReorderModeDisable, payload: undefined });
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const onMouseMove = (event) => {
|
|
68
|
+
if (manipulateOverlayMode) {
|
|
69
|
+
sendMessage({
|
|
70
|
+
type: ActionTypes.OverlayModeOnMove,
|
|
71
|
+
payload: { cursor: { x: event.clientX, y: event.clientY } },
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const throttleOnMouseMove = _.throttle(onMouseMove, 1);
|
|
76
|
+
const throttleOnMouseUp = _.throttle(onMouseUp, 1);
|
|
77
|
+
document.addEventListener('mousemove', throttleOnMouseMove);
|
|
78
|
+
document.addEventListener('mouseup', throttleOnMouseUp);
|
|
79
|
+
window.addEventListener('resize', onResize);
|
|
80
|
+
return () => {
|
|
81
|
+
document.removeEventListener('mousemove', throttleOnMouseMove);
|
|
82
|
+
document.removeEventListener('mouseup', throttleOnMouseUp);
|
|
83
|
+
window.removeEventListener('resize', onResize);
|
|
84
|
+
};
|
|
85
|
+
}, [activeElement, manipulateOverlayMode, onResize, sendMessage]);
|
|
86
|
+
};
|
|
87
|
+
export default useEditorInitialize;
|
|
@@ -24,7 +24,8 @@ export declare enum BlockType {
|
|
|
24
24
|
ShareBlock = "share-block",
|
|
25
25
|
MapBlock = "map-block",
|
|
26
26
|
FilterBlock = "filter-block",
|
|
27
|
-
FormBlock = "form-block"
|
|
27
|
+
FormBlock = "form-block",
|
|
28
|
+
TestEditorBlock = "test-editor-block"
|
|
28
29
|
}
|
|
29
30
|
export declare const BlockTypes: BlockType[];
|
|
30
31
|
export declare const HeaderBlockTypes: BlockType[];
|
|
@@ -19,6 +19,7 @@ export var BlockType;
|
|
|
19
19
|
BlockType["MapBlock"] = "map-block";
|
|
20
20
|
BlockType["FilterBlock"] = "filter-block";
|
|
21
21
|
BlockType["FormBlock"] = "form-block";
|
|
22
|
+
BlockType["TestEditorBlock"] = "test-editor-block";
|
|
22
23
|
})(BlockType || (BlockType = {}));
|
|
23
24
|
export const BlockTypes = Object.values(BlockType);
|
|
24
25
|
export const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
|
|
@@ -117,7 +117,7 @@ export interface BannerCardProps {
|
|
|
117
117
|
disableCompress?: boolean;
|
|
118
118
|
color?: ThemeSupporting<string>;
|
|
119
119
|
theme?: TextTheme;
|
|
120
|
-
button
|
|
120
|
+
button?: Pick<ButtonProps, 'text' | 'url' | 'target' | 'theme'>;
|
|
121
121
|
mediaView?: MediaView;
|
|
122
122
|
}
|
|
123
123
|
export interface MediaCardProps extends MediaProps, AnalyticsEventsBase, CardBaseProps {
|
|
@@ -23,7 +23,10 @@ const NavigationItem = (_a) => {
|
|
|
23
23
|
? componentProperties
|
|
24
24
|
: Object.assign(Object.assign({}, componentProperties), { menuLayout });
|
|
25
25
|
}, [data, props, type, menuLayout]);
|
|
26
|
-
return (
|
|
26
|
+
return (
|
|
27
|
+
// TODO: fix any
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
React.createElement(BlockIdContext.Provider, { value: ANALYTICS_ID },
|
|
27
30
|
React.createElement("li", { className: b({ 'menu-layout': menuLayout }, className) },
|
|
28
31
|
React.createElement(Component, Object.assign({}, componentProps, { className: b('content', { type }) })))));
|
|
29
32
|
};
|
|
@@ -8,6 +8,9 @@ const ANALYTICS_ID = 'navigation';
|
|
|
8
8
|
export const NavigationButton = (props) => {
|
|
9
9
|
const { url, target, className } = props;
|
|
10
10
|
const classes = b(null, className);
|
|
11
|
-
return (
|
|
11
|
+
return (
|
|
12
|
+
// TODO: fix any
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
React.createElement(BlockIdContext.Provider, { value: ANALYTICS_ID }, target ? (React.createElement(Button, Object.assign({ className: classes }, props, { url: url }))) : (React.createElement(RouterLink, { href: url },
|
|
12
15
|
React.createElement(Button, Object.assign({}, props, { className: classes, url: url }))))));
|
|
13
16
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { TestEditorBlockSchema } from '../blocks/TestEditorBlock';
|
|
1
2
|
import { BannerBlock, BannerCard, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, IconsBlock, InfoBlock, MapBlock, MediaBlock, PromoFeaturesBlock, QuestionsBlock, ShareBlock, SliderBlock, TableBlock, TabsBlock, } from './validators/blocks';
|
|
2
3
|
import { BackgroundCard, BasicCard, Divider, ImageCard, MediaCardBlock, PriceCardBlock, PriceDetailedBlock, Quote, } from './validators/sub-blocks';
|
|
3
|
-
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), TabsBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock), FilterBlock), FormBlock);
|
|
4
|
+
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), TabsBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock), FilterBlock), FormBlock), TestEditorBlockSchema);
|
|
4
5
|
export const cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock), ImageCard);
|
|
5
6
|
export const constructorBlockSchemaNames = [
|
|
6
7
|
'divider',
|