@gravity-ui/page-constructor 5.14.3 → 5.14.4-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 +31 -1
- 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/common/hooks/usePostMessage.d.ts +11 -0
- package/build/cjs/common/hooks/usePostMessage.js +94 -0
- package/build/cjs/common/types/actions/codes.d.ts +16 -0
- package/build/cjs/common/types/actions/codes.js +26 -0
- package/build/cjs/common/types/actions/index.d.ts +20 -0
- package/build/cjs/common/types/actions/index.js +10 -0
- package/build/cjs/common/types/actions/initial.d.ts +23 -0
- package/build/cjs/common/types/actions/initial.js +2 -0
- package/build/cjs/common/types/actions/insert.d.ts +19 -0
- package/build/cjs/common/types/actions/insert.js +2 -0
- package/build/cjs/common/types/actions/other.d.ts +16 -0
- package/build/cjs/common/types/actions/other.js +2 -0
- package/build/cjs/common/types/actions/overlay.d.ts +16 -0
- package/build/cjs/common/types/actions/overlay.js +2 -0
- package/build/cjs/common/types/actions/reorder.d.ts +19 -0
- package/build/cjs/common/types/actions/reorder.js +2 -0
- package/build/cjs/common/types/actions/select.d.ts +16 -0
- package/build/cjs/common/types/actions/select.js +2 -0
- package/build/cjs/common/types/common.d.ts +14 -0
- package/build/cjs/common/types/common.js +2 -0
- package/build/cjs/common/types/forms.d.ts +93 -0
- package/build/cjs/common/types/forms.js +2 -0
- package/build/cjs/common/types/index.d.ts +4 -0
- package/build/cjs/common/types/index.js +7 -0
- package/build/cjs/common/types/messages.d.ts +14 -0
- package/build/cjs/common/types/messages.js +2 -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 +24 -6
- package/build/cjs/constructor-items.js +73 -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 +13 -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 +27 -0
- package/build/cjs/context/messagesContext/store.d.ts +24 -0
- package/build/cjs/context/messagesContext/store.js +17 -0
- package/build/cjs/editor/data/templates/test-editor-block.json +18 -0
- package/build/cjs/editor-v2/components/BigOverlay/BigOverlay.css +33 -0
- package/build/cjs/editor-v2/components/BigOverlay/BigOverlay.d.ts +6 -0
- package/build/cjs/editor-v2/components/BigOverlay/BigOverlay.js +37 -0
- package/build/cjs/editor-v2/components/BlockConfig/BlockConfig.css +33 -0
- package/build/cjs/editor-v2/components/BlockConfig/BlockConfig.d.ts +6 -0
- package/build/cjs/editor-v2/components/BlockConfig/BlockConfig.js +35 -0
- package/build/cjs/editor-v2/components/BlocksList/BlocksList.css +42 -0
- package/build/cjs/editor-v2/components/BlocksList/BlocksList.d.ts +7 -0
- package/build/cjs/editor-v2/components/BlocksList/BlocksList.js +22 -0
- package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.css +2 -0
- package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.d.ts +11 -0
- package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.js +118 -0
- package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.css +61 -0
- package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.d.ts +12 -0
- package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.js +32 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/Array.css +38 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/Array.d.ts +13 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/Array.js +83 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/ItemButton/ItemButton.d.ts +11 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/ItemButton/ItemButton.js +28 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Boolean/Boolean.d.ts +9 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Boolean/Boolean.js +14 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Number/Number.d.ts +9 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Number/Number.js +17 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Object/Object.css +5 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Object/Object.d.ts +12 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Object/Object.js +16 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.css +8 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.d.ts +11 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.js +34 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Select/Select.d.ts +12 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Select/Select.js +16 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Text/Text.d.ts +9 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/Text/Text.js +14 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/TextArea/TextArea.d.ts +9 -0
- package/build/cjs/editor-v2/components/DynamicForm/Fields/TextArea/TextArea.js +14 -0
- package/build/cjs/editor-v2/components/DynamicForm/utils.d.ts +3 -0
- package/build/cjs/editor-v2/components/DynamicForm/utils.js +22 -0
- package/build/cjs/editor-v2/components/GlobalConfig/GlobalConfig.css +22 -0
- package/build/cjs/editor-v2/components/GlobalConfig/GlobalConfig.d.ts +6 -0
- package/build/cjs/editor-v2/components/GlobalConfig/GlobalConfig.js +18 -0
- package/build/cjs/editor-v2/components/MiddleScreen/MiddleScreen.css +51 -0
- package/build/cjs/editor-v2/components/MiddleScreen/MiddleScreen.d.ts +6 -0
- package/build/cjs/editor-v2/components/MiddleScreen/MiddleScreen.js +29 -0
- package/build/cjs/editor-v2/components/Overlay/Overlay.css +56 -0
- package/build/cjs/editor-v2/components/Overlay/Overlay.d.ts +6 -0
- package/build/cjs/editor-v2/components/Overlay/Overlay.js +71 -0
- package/build/cjs/editor-v2/components/Sidebar/Sidebar.css +66 -0
- package/build/cjs/editor-v2/components/Sidebar/Sidebar.d.ts +7 -0
- package/build/cjs/editor-v2/components/Sidebar/Sidebar.js +68 -0
- package/build/cjs/editor-v2/components/Source/Source.css +21 -0
- package/build/cjs/editor-v2/components/Source/Source.d.ts +6 -0
- package/build/cjs/editor-v2/components/Source/Source.js +30 -0
- package/build/cjs/editor-v2/components/SourceCode/SourceCode.css +32 -0
- package/build/cjs/editor-v2/components/SourceCode/SourceCode.d.ts +6 -0
- package/build/cjs/editor-v2/components/SourceCode/SourceCode.js +34 -0
- package/build/cjs/editor-v2/components/TopBar/TopBar.css +34 -0
- package/build/cjs/editor-v2/components/TopBar/TopBar.d.ts +6 -0
- package/build/cjs/editor-v2/components/TopBar/TopBar.js +15 -0
- package/build/cjs/editor-v2/components/Tree/Tree.css +148 -0
- package/build/cjs/editor-v2/components/Tree/Tree.d.ts +7 -0
- package/build/cjs/editor-v2/components/Tree/Tree.js +32 -0
- package/build/cjs/editor-v2/components/ViewSwitches/ViewSwitches.css +16 -0
- package/build/cjs/editor-v2/components/ViewSwitches/ViewSwitches.d.ts +8 -0
- package/build/cjs/editor-v2/components/ViewSwitches/ViewSwitches.js +25 -0
- package/build/cjs/editor-v2/containers/Editor/Editor.css +54 -0
- package/build/cjs/editor-v2/containers/Editor/Editor.d.ts +9 -0
- package/build/cjs/editor-v2/containers/Editor/Editor.js +66 -0
- package/build/cjs/editor-v2/containers/Editor/hooks/useAdminInitialize.d.ts +2 -0
- package/build/cjs/editor-v2/containers/Editor/hooks/useAdminInitialize.js +25 -0
- package/build/cjs/editor-v2/context/contentConfig/contentConfigContext.d.ts +10 -0
- package/build/cjs/editor-v2/context/contentConfig/contentConfigContext.js +9 -0
- package/build/cjs/editor-v2/context/contentConfig/contentConfigProvider.d.ts +8 -0
- package/build/cjs/editor-v2/context/contentConfig/contentConfigProvider.js +19 -0
- package/build/cjs/editor-v2/context/contentConfig/hooks/useContentConfigStore.d.ts +2 -0
- package/build/cjs/editor-v2/context/contentConfig/hooks/useContentConfigStore.js +15 -0
- package/build/cjs/editor-v2/context/contentConfig/index.d.ts +4 -0
- package/build/cjs/editor-v2/context/contentConfig/index.js +7 -0
- package/build/cjs/editor-v2/context/contentConfig/store.d.ts +35 -0
- package/build/cjs/editor-v2/context/contentConfig/store.js +106 -0
- package/build/cjs/editor-v2/context/editorContext/editorContext.d.ts +11 -0
- package/build/cjs/editor-v2/context/editorContext/editorContext.js +10 -0
- package/build/cjs/editor-v2/context/editorContext/editorProvider.d.ts +2 -0
- package/build/cjs/editor-v2/context/editorContext/editorProvider.js +15 -0
- package/build/cjs/editor-v2/context/editorContext/hooks/useEditorStore.d.ts +2 -0
- package/build/cjs/editor-v2/context/editorContext/hooks/useEditorStore.js +15 -0
- package/build/cjs/editor-v2/context/editorContext/index.d.ts +4 -0
- package/build/cjs/editor-v2/context/editorContext/index.js +7 -0
- package/build/cjs/editor-v2/context/editorContext/store.d.ts +26 -0
- package/build/cjs/editor-v2/context/editorContext/store.js +55 -0
- package/build/cjs/editor-v2/context/iframeContext/hooks/useIframeStore.d.ts +2 -0
- package/build/cjs/editor-v2/context/iframeContext/hooks/useIframeStore.js +15 -0
- package/build/cjs/editor-v2/context/iframeContext/iframeContext.d.ts +13 -0
- package/build/cjs/editor-v2/context/iframeContext/iframeContext.js +9 -0
- package/build/cjs/editor-v2/context/iframeContext/iframeProvider.d.ts +7 -0
- package/build/cjs/editor-v2/context/iframeContext/iframeProvider.js +23 -0
- package/build/cjs/editor-v2/context/iframeContext/index.d.ts +4 -0
- package/build/cjs/editor-v2/context/iframeContext/index.js +7 -0
- package/build/cjs/editor-v2/context/iframeContext/store.d.ts +22 -0
- package/build/cjs/editor-v2/context/iframeContext/store.js +19 -0
- package/build/cjs/editor-v2/context/messagesContext/hooks/useMessageObserver.d.ts +4 -0
- package/build/cjs/editor-v2/context/messagesContext/hooks/useMessageObserver.js +17 -0
- package/build/cjs/editor-v2/context/messagesContext/hooks/useMessageSender.d.ts +2 -0
- package/build/cjs/editor-v2/context/messagesContext/hooks/useMessageSender.js +11 -0
- package/build/cjs/editor-v2/context/messagesContext/hooks/useMessagesStore.d.ts +2 -0
- package/build/cjs/editor-v2/context/messagesContext/hooks/useMessagesStore.js +15 -0
- package/build/cjs/editor-v2/context/messagesContext/index.d.ts +5 -0
- package/build/cjs/editor-v2/context/messagesContext/index.js +8 -0
- package/build/cjs/editor-v2/context/messagesContext/messagesContext.d.ts +13 -0
- package/build/cjs/editor-v2/context/messagesContext/messagesContext.js +12 -0
- package/build/cjs/editor-v2/context/messagesContext/messagesProvider.d.ts +2 -0
- package/build/cjs/editor-v2/context/messagesContext/messagesProvider.js +35 -0
- package/build/cjs/editor-v2/context/messagesContext/store.d.ts +22 -0
- package/build/cjs/editor-v2/context/messagesContext/store.js +17 -0
- package/build/cjs/editor-v2/icons/Tablet.d.ts +2 -0
- package/build/cjs/editor-v2/icons/Tablet.js +9 -0
- package/build/cjs/editor-v2/index.d.ts +2 -0
- package/build/cjs/editor-v2/index.js +7 -0
- package/build/cjs/editor-v2/styles/mixins.css +0 -0
- package/build/cjs/editor-v2/styles/root.css +9 -0
- package/build/cjs/editor-v2/styles/variables.css +0 -0
- package/build/cjs/editor-v2/utils/code.d.ts +6 -0
- package/build/cjs/editor-v2/utils/code.js +11 -0
- package/build/cjs/editor-v2/utils/index.d.ts +17 -0
- package/build/cjs/editor-v2/utils/index.js +151 -0
- package/build/cjs/editor-v2/utils/store.d.ts +14 -0
- package/build/cjs/editor-v2/utils/store.js +9 -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/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/common/hooks/usePostMessage.d.ts +11 -0
- package/build/esm/common/hooks/usePostMessage.js +90 -0
- package/build/esm/common/types/actions/codes.d.ts +16 -0
- package/build/esm/common/types/actions/codes.js +23 -0
- package/build/esm/common/types/actions/index.d.ts +20 -0
- package/build/esm/common/types/actions/index.js +7 -0
- package/build/esm/common/types/actions/initial.d.ts +23 -0
- package/build/esm/common/types/actions/initial.js +1 -0
- package/build/esm/common/types/actions/insert.d.ts +19 -0
- package/build/esm/common/types/actions/insert.js +1 -0
- package/build/esm/common/types/actions/other.d.ts +16 -0
- package/build/esm/common/types/actions/other.js +1 -0
- package/build/esm/common/types/actions/overlay.d.ts +16 -0
- package/build/esm/common/types/actions/overlay.js +1 -0
- package/build/esm/common/types/actions/reorder.d.ts +19 -0
- package/build/esm/common/types/actions/reorder.js +1 -0
- package/build/esm/common/types/actions/select.d.ts +16 -0
- package/build/esm/common/types/actions/select.js +1 -0
- package/build/esm/common/types/common.d.ts +14 -0
- package/build/esm/common/types/common.js +1 -0
- package/build/esm/common/types/forms.d.ts +93 -0
- package/build/esm/common/types/forms.js +1 -0
- package/build/esm/common/types/index.d.ts +4 -0
- package/build/esm/common/types/index.js +4 -0
- package/build/esm/common/types/messages.d.ts +14 -0
- package/build/esm/common/types/messages.js +1 -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 +24 -6
- package/build/esm/constructor-items.js +72 -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 +13 -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 +22 -0
- package/build/esm/context/messagesContext/store.d.ts +24 -0
- package/build/esm/context/messagesContext/store.js +14 -0
- package/build/esm/editor/data/templates/test-editor-block.json +18 -0
- package/build/esm/editor-v2/components/BigOverlay/BigOverlay.css +33 -0
- package/build/esm/editor-v2/components/BigOverlay/BigOverlay.d.ts +7 -0
- package/build/esm/editor-v2/components/BigOverlay/BigOverlay.js +35 -0
- package/build/esm/editor-v2/components/BlockConfig/BlockConfig.css +33 -0
- package/build/esm/editor-v2/components/BlockConfig/BlockConfig.d.ts +7 -0
- package/build/esm/editor-v2/components/BlockConfig/BlockConfig.js +33 -0
- package/build/esm/editor-v2/components/BlocksList/BlocksList.css +42 -0
- package/build/esm/editor-v2/components/BlocksList/BlocksList.d.ts +8 -0
- package/build/esm/editor-v2/components/BlocksList/BlocksList.js +20 -0
- package/build/esm/editor-v2/components/DynamicForm/DynamicForm.css +2 -0
- package/build/esm/editor-v2/components/DynamicForm/DynamicForm.d.ts +12 -0
- package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js +116 -0
- package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.css +61 -0
- package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.d.ts +13 -0
- package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.js +30 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Array/Array.css +38 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Array/Array.d.ts +14 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Array/Array.js +81 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Array/ItemButton/ItemButton.d.ts +11 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Array/ItemButton/ItemButton.js +25 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Boolean/Boolean.d.ts +9 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Boolean/Boolean.js +11 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Number/Number.d.ts +9 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Number/Number.js +14 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Object/Object.css +5 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Object/Object.d.ts +13 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Object/Object.js +14 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.css +8 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.d.ts +12 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.js +32 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Select/Select.d.ts +12 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Select/Select.js +13 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Text/Text.d.ts +9 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/Text/Text.js +11 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/TextArea/TextArea.d.ts +9 -0
- package/build/esm/editor-v2/components/DynamicForm/Fields/TextArea/TextArea.js +11 -0
- package/build/esm/editor-v2/components/DynamicForm/utils.d.ts +3 -0
- package/build/esm/editor-v2/components/DynamicForm/utils.js +16 -0
- package/build/esm/editor-v2/components/GlobalConfig/GlobalConfig.css +22 -0
- package/build/esm/editor-v2/components/GlobalConfig/GlobalConfig.d.ts +7 -0
- package/build/esm/editor-v2/components/GlobalConfig/GlobalConfig.js +16 -0
- package/build/esm/editor-v2/components/MiddleScreen/MiddleScreen.css +51 -0
- package/build/esm/editor-v2/components/MiddleScreen/MiddleScreen.d.ts +7 -0
- package/build/esm/editor-v2/components/MiddleScreen/MiddleScreen.js +27 -0
- package/build/esm/editor-v2/components/Overlay/Overlay.css +56 -0
- package/build/esm/editor-v2/components/Overlay/Overlay.d.ts +7 -0
- package/build/esm/editor-v2/components/Overlay/Overlay.js +69 -0
- package/build/esm/editor-v2/components/Sidebar/Sidebar.css +66 -0
- package/build/esm/editor-v2/components/Sidebar/Sidebar.d.ts +8 -0
- package/build/esm/editor-v2/components/Sidebar/Sidebar.js +64 -0
- package/build/esm/editor-v2/components/Source/Source.css +21 -0
- package/build/esm/editor-v2/components/Source/Source.d.ts +7 -0
- package/build/esm/editor-v2/components/Source/Source.js +28 -0
- package/build/esm/editor-v2/components/SourceCode/SourceCode.css +32 -0
- package/build/esm/editor-v2/components/SourceCode/SourceCode.d.ts +7 -0
- package/build/esm/editor-v2/components/SourceCode/SourceCode.js +32 -0
- package/build/esm/editor-v2/components/TopBar/TopBar.css +34 -0
- package/build/esm/editor-v2/components/TopBar/TopBar.d.ts +7 -0
- package/build/esm/editor-v2/components/TopBar/TopBar.js +13 -0
- package/build/esm/editor-v2/components/Tree/Tree.css +148 -0
- package/build/esm/editor-v2/components/Tree/Tree.d.ts +8 -0
- package/build/esm/editor-v2/components/Tree/Tree.js +30 -0
- package/build/esm/editor-v2/components/ViewSwitches/ViewSwitches.css +16 -0
- package/build/esm/editor-v2/components/ViewSwitches/ViewSwitches.d.ts +9 -0
- package/build/esm/editor-v2/components/ViewSwitches/ViewSwitches.js +22 -0
- package/build/esm/editor-v2/containers/Editor/Editor.css +54 -0
- package/build/esm/editor-v2/containers/Editor/Editor.d.ts +10 -0
- package/build/esm/editor-v2/containers/Editor/Editor.js +62 -0
- package/build/esm/editor-v2/containers/Editor/hooks/useAdminInitialize.d.ts +2 -0
- package/build/esm/editor-v2/containers/Editor/hooks/useAdminInitialize.js +23 -0
- package/build/esm/editor-v2/context/contentConfig/contentConfigContext.d.ts +10 -0
- package/build/esm/editor-v2/context/contentConfig/contentConfigContext.js +5 -0
- package/build/esm/editor-v2/context/contentConfig/contentConfigProvider.d.ts +8 -0
- package/build/esm/editor-v2/context/contentConfig/contentConfigProvider.js +14 -0
- package/build/esm/editor-v2/context/contentConfig/hooks/useContentConfigStore.d.ts +2 -0
- package/build/esm/editor-v2/context/contentConfig/hooks/useContentConfigStore.js +11 -0
- package/build/esm/editor-v2/context/contentConfig/index.d.ts +4 -0
- package/build/esm/editor-v2/context/contentConfig/index.js +4 -0
- package/build/esm/editor-v2/context/contentConfig/store.d.ts +35 -0
- package/build/esm/editor-v2/context/contentConfig/store.js +102 -0
- package/build/esm/editor-v2/context/editorContext/editorContext.d.ts +11 -0
- package/build/esm/editor-v2/context/editorContext/editorContext.js +6 -0
- package/build/esm/editor-v2/context/editorContext/editorProvider.d.ts +2 -0
- package/build/esm/editor-v2/context/editorContext/editorProvider.js +10 -0
- package/build/esm/editor-v2/context/editorContext/hooks/useEditorStore.d.ts +2 -0
- package/build/esm/editor-v2/context/editorContext/hooks/useEditorStore.js +11 -0
- package/build/esm/editor-v2/context/editorContext/index.d.ts +4 -0
- package/build/esm/editor-v2/context/editorContext/index.js +4 -0
- package/build/esm/editor-v2/context/editorContext/store.d.ts +26 -0
- package/build/esm/editor-v2/context/editorContext/store.js +52 -0
- package/build/esm/editor-v2/context/iframeContext/hooks/useIframeStore.d.ts +2 -0
- package/build/esm/editor-v2/context/iframeContext/hooks/useIframeStore.js +11 -0
- package/build/esm/editor-v2/context/iframeContext/iframeContext.d.ts +13 -0
- package/build/esm/editor-v2/context/iframeContext/iframeContext.js +5 -0
- package/build/esm/editor-v2/context/iframeContext/iframeProvider.d.ts +7 -0
- package/build/esm/editor-v2/context/iframeContext/iframeProvider.js +18 -0
- package/build/esm/editor-v2/context/iframeContext/index.d.ts +4 -0
- package/build/esm/editor-v2/context/iframeContext/index.js +4 -0
- package/build/esm/editor-v2/context/iframeContext/store.d.ts +22 -0
- package/build/esm/editor-v2/context/iframeContext/store.js +16 -0
- package/build/esm/editor-v2/context/messagesContext/hooks/useMessageObserver.d.ts +4 -0
- package/build/esm/editor-v2/context/messagesContext/hooks/useMessageObserver.js +12 -0
- package/build/esm/editor-v2/context/messagesContext/hooks/useMessageSender.d.ts +2 -0
- package/build/esm/editor-v2/context/messagesContext/hooks/useMessageSender.js +7 -0
- package/build/esm/editor-v2/context/messagesContext/hooks/useMessagesStore.d.ts +2 -0
- package/build/esm/editor-v2/context/messagesContext/hooks/useMessagesStore.js +11 -0
- package/build/esm/editor-v2/context/messagesContext/index.d.ts +5 -0
- package/build/esm/editor-v2/context/messagesContext/index.js +5 -0
- package/build/esm/editor-v2/context/messagesContext/messagesContext.d.ts +13 -0
- package/build/esm/editor-v2/context/messagesContext/messagesContext.js +8 -0
- package/build/esm/editor-v2/context/messagesContext/messagesProvider.d.ts +2 -0
- package/build/esm/editor-v2/context/messagesContext/messagesProvider.js +30 -0
- package/build/esm/editor-v2/context/messagesContext/store.d.ts +22 -0
- package/build/esm/editor-v2/context/messagesContext/store.js +14 -0
- package/build/esm/editor-v2/icons/Tablet.d.ts +2 -0
- package/build/esm/editor-v2/icons/Tablet.js +4 -0
- package/build/esm/editor-v2/index.d.ts +2 -0
- package/build/esm/editor-v2/index.js +2 -0
- package/build/esm/editor-v2/styles/mixins.css +0 -0
- package/build/esm/editor-v2/styles/root.css +9 -0
- package/build/esm/editor-v2/styles/variables.css +0 -0
- package/build/esm/editor-v2/utils/code.d.ts +6 -0
- package/build/esm/editor-v2/utils/code.js +6 -0
- package/build/esm/editor-v2/utils/index.d.ts +17 -0
- package/build/esm/editor-v2/utils/index.js +134 -0
- package/build/esm/editor-v2/utils/store.d.ts +14 -0
- package/build/esm/editor-v2/utils/store.js +5 -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/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 +15 -3
- 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,25 @@
|
|
|
1
|
+
import React, { Fragment, useCallback, useRef, useState } from 'react';
|
|
2
|
+
import { ArrowDown, ArrowUp, EllipsisVertical, TrashBin } from '@gravity-ui/icons';
|
|
3
|
+
import { Button, Icon, Menu, Popup } from '@gravity-ui/uikit';
|
|
4
|
+
import { block } from '../../../../../../utils';
|
|
5
|
+
const b = block('array-item-button');
|
|
6
|
+
const ItemButton = (props) => {
|
|
7
|
+
const { className, onRemove, onReorderUp, onReorderDown, disableReorderUp = false, disableReorderDown = false, } = props;
|
|
8
|
+
const buttonRef = useRef(null);
|
|
9
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
10
|
+
const onMenuItemClickWrapper = useCallback((callback) => {
|
|
11
|
+
return () => {
|
|
12
|
+
setIsOpen(false);
|
|
13
|
+
callback();
|
|
14
|
+
};
|
|
15
|
+
}, []);
|
|
16
|
+
return (React.createElement(Fragment, null,
|
|
17
|
+
React.createElement(Button, { className: b(null, className), ref: buttonRef, onClick: () => setIsOpen(true) },
|
|
18
|
+
React.createElement(Icon, { data: EllipsisVertical })),
|
|
19
|
+
React.createElement(Popup, { placement: 'bottom-end', anchorRef: buttonRef, open: isOpen, onOutsideClick: () => setIsOpen(false) },
|
|
20
|
+
React.createElement(Menu, null,
|
|
21
|
+
React.createElement(Menu.Item, { theme: 'danger', onClick: onMenuItemClickWrapper(onRemove), iconStart: React.createElement(Icon, { data: TrashBin }) }, "Remove"),
|
|
22
|
+
React.createElement(Menu.Item, { disabled: disableReorderUp, onClick: onMenuItemClickWrapper(onReorderUp), iconStart: React.createElement(Icon, { data: ArrowUp }) }, "Reorder Up"),
|
|
23
|
+
React.createElement(Menu.Item, { disabled: disableReorderDown, onClick: onMenuItemClickWrapper(onReorderDown), iconStart: React.createElement(Icon, { data: ArrowDown }) }, "Reorder Down")))));
|
|
24
|
+
};
|
|
25
|
+
export default ItemButton;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ClassNameProps } from '../../../../../models';
|
|
3
|
+
import { FieldBaseParams } from '../../FieldBase/FieldBase';
|
|
4
|
+
interface BooleanProps extends ClassNameProps, FieldBaseParams {
|
|
5
|
+
value: string;
|
|
6
|
+
onUpdate: (value: boolean | undefined) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const BooleanDynamicField: React.FC<BooleanProps>;
|
|
9
|
+
export default BooleanDynamicField;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Switch } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
5
|
+
const b = block('boolean-dynamic-field');
|
|
6
|
+
const BooleanDynamicField = (props) => {
|
|
7
|
+
const { title, value, onUpdate, className } = props;
|
|
8
|
+
return (React.createElement(FieldBase, { title: title, className: b(null, className), onRefresh: onUpdate },
|
|
9
|
+
React.createElement(Switch, { checked: Boolean(value), onUpdate: onUpdate })));
|
|
10
|
+
};
|
|
11
|
+
export default BooleanDynamicField;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ClassNameProps } from '../../../../../models';
|
|
3
|
+
import { FieldBaseParams } from '../../FieldBase/FieldBase';
|
|
4
|
+
interface NumberDynamicFieldProps extends ClassNameProps, FieldBaseParams {
|
|
5
|
+
value: string;
|
|
6
|
+
onUpdate: (value: number | undefined) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const NumberDynamicField: React.FC<NumberDynamicFieldProps>;
|
|
9
|
+
export default NumberDynamicField;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextInput } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
5
|
+
const b = block('number-dynamic-field');
|
|
6
|
+
const NumberDynamicField = (props) => {
|
|
7
|
+
const { title, value, onUpdate, className } = props;
|
|
8
|
+
const onUpdateFunc = (updateValue) => {
|
|
9
|
+
onUpdate(Number(updateValue));
|
|
10
|
+
};
|
|
11
|
+
return (React.createElement(FieldBase, { title: title, className: b(null, className), onRefresh: onUpdate },
|
|
12
|
+
React.createElement(TextInput, { value: value || '', onUpdate: onUpdateFunc })));
|
|
13
|
+
};
|
|
14
|
+
export default NumberDynamicField;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ConfigInput } from '../../../../../common/types';
|
|
3
|
+
import { ClassNameProps, PageContent } from '../../../../../models';
|
|
4
|
+
import { DynamicFormValue } from '../../DynamicForm';
|
|
5
|
+
import { FieldBaseParams } from '../../FieldBase/FieldBase';
|
|
6
|
+
import './Object.css';
|
|
7
|
+
interface ObjectDynamicFieldProps extends ClassNameProps, FieldBaseParams {
|
|
8
|
+
value: PageContent;
|
|
9
|
+
onUpdate: (key: string, value: DynamicFormValue) => void;
|
|
10
|
+
blockConfig: Array<ConfigInput>;
|
|
11
|
+
}
|
|
12
|
+
declare const ObjectDynamicField: React.FC<ObjectDynamicFieldProps>;
|
|
13
|
+
export default ObjectDynamicField;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Card } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import DynamicForm from '../../DynamicForm';
|
|
5
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
6
|
+
import './Object.css';
|
|
7
|
+
const b = block('object-dynamic-field');
|
|
8
|
+
const ObjectDynamicField = (props) => {
|
|
9
|
+
const { title, value, onUpdate, className, blockConfig } = props;
|
|
10
|
+
return (React.createElement(FieldBase, { title: title, className: b(null, className), onRefresh: (updatedValue) => onUpdate('', updatedValue), expandable: true },
|
|
11
|
+
React.createElement(Card, { className: b('card') },
|
|
12
|
+
React.createElement(DynamicForm, { contentConfig: value, blockConfig: blockConfig, onUpdate: onUpdate }))));
|
|
13
|
+
};
|
|
14
|
+
export default ObjectDynamicField;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { OneOfInput } from '../../../../../common/types';
|
|
3
|
+
import { ClassNameProps, PageContent } from '../../../../../models';
|
|
4
|
+
import { DynamicFormValue } from '../../DynamicForm';
|
|
5
|
+
import './OneOf.css';
|
|
6
|
+
interface OneOfDynamicFieldProps extends ClassNameProps {
|
|
7
|
+
contentConfig: PageContent;
|
|
8
|
+
onUpdate: (key: string, value: DynamicFormValue) => void;
|
|
9
|
+
inputConfig: OneOfInput;
|
|
10
|
+
}
|
|
11
|
+
declare const OneOfDynamicField: React.FC<OneOfDynamicFieldProps>;
|
|
12
|
+
export default OneOfDynamicField;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
2
|
+
import { Card, RadioButton } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import DynamicForm from '../../DynamicForm';
|
|
5
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
6
|
+
import './OneOf.css';
|
|
7
|
+
const b = block('oneof-dynamic-field');
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
const getOneOfContentConfig = (contentConfig, name) => {
|
|
10
|
+
if (name) {
|
|
11
|
+
return contentConfig ? contentConfig[name] : {};
|
|
12
|
+
}
|
|
13
|
+
return contentConfig;
|
|
14
|
+
};
|
|
15
|
+
const OneOfDynamicField = (props) => {
|
|
16
|
+
const { contentConfig, onUpdate, className, inputConfig } = props;
|
|
17
|
+
const defaultValue = inputConfig.options[0].value;
|
|
18
|
+
const [oneOfMetaValue, setOneOfMetaValue] = useState(defaultValue);
|
|
19
|
+
const oneOfContentConfig = getOneOfContentConfig(contentConfig, inputConfig.name);
|
|
20
|
+
const oneOfChosenOption = useMemo(() => inputConfig.options.find(({ value: foundOneOfValue }) => foundOneOfValue === oneOfMetaValue), [inputConfig.options, oneOfMetaValue]);
|
|
21
|
+
const onUpdateOneOf = useCallback((value) => {
|
|
22
|
+
setOneOfMetaValue(value);
|
|
23
|
+
}, []);
|
|
24
|
+
return (React.createElement(FieldBase, { title: inputConfig.title, className: b(null, className), onRefresh: (value) => onUpdate('', value), expandable: true },
|
|
25
|
+
React.createElement(Card, { className: b('card') },
|
|
26
|
+
React.createElement(RadioButton, { className: b('radio'), options: inputConfig.options.map((option) => ({
|
|
27
|
+
content: option.title,
|
|
28
|
+
value: option.value,
|
|
29
|
+
})), value: oneOfMetaValue, onUpdate: onUpdateOneOf }),
|
|
30
|
+
oneOfChosenOption && (React.createElement(DynamicForm, { blockConfig: oneOfChosenOption.properties, contentConfig: oneOfContentConfig, onUpdate: onUpdate })))));
|
|
31
|
+
};
|
|
32
|
+
export default OneOfDynamicField;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SelectMultipleInput, SelectSingleInput } from '../../../../../common/types';
|
|
3
|
+
import { ClassNameProps } from '../../../../../models';
|
|
4
|
+
import { FieldBaseParams } from '../../FieldBase/FieldBase';
|
|
5
|
+
type SelectInput = SelectSingleInput | SelectMultipleInput;
|
|
6
|
+
interface SelectDynamicFieldProps extends ClassNameProps, FieldBaseParams {
|
|
7
|
+
input: SelectInput;
|
|
8
|
+
value: string;
|
|
9
|
+
onUpdate: (value: string | undefined) => void;
|
|
10
|
+
}
|
|
11
|
+
declare const SelectDynamicField: React.FC<SelectDynamicFieldProps>;
|
|
12
|
+
export default SelectDynamicField;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RadioButton, Select } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
5
|
+
const b = block('select-field');
|
|
6
|
+
const SelectDynamicField = (props) => {
|
|
7
|
+
const { input, value, onUpdate, className } = props;
|
|
8
|
+
const inputView = input.view || 'radiobutton';
|
|
9
|
+
return (React.createElement(FieldBase, { title: input.title, className: b(null, className), onRefresh: onUpdate },
|
|
10
|
+
inputView === 'select' && (React.createElement(Select, { placeholder: 'Value', value: value ? [value] : [], onUpdate: ([selectValue]) => onUpdate(selectValue), options: input.enum })),
|
|
11
|
+
inputView === 'radiobutton' && (React.createElement(RadioButton, { options: input.enum, value: value, onUpdate: onUpdate }))));
|
|
12
|
+
};
|
|
13
|
+
export default SelectDynamicField;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ClassNameProps } from '../../../../../models';
|
|
3
|
+
import { FieldBaseParams } from '../../FieldBase/FieldBase';
|
|
4
|
+
interface TextDynamicFieldProps extends ClassNameProps, FieldBaseParams {
|
|
5
|
+
value: string;
|
|
6
|
+
onUpdate: (value: string | undefined) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const TextDynamicField: React.FC<TextDynamicFieldProps>;
|
|
9
|
+
export default TextDynamicField;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextInput } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
5
|
+
const b = block('text-dynamic-field');
|
|
6
|
+
const TextDynamicField = (props) => {
|
|
7
|
+
const { title, value, onUpdate, className } = props;
|
|
8
|
+
return (React.createElement(FieldBase, { title: title, className: b(null, className), onRefresh: onUpdate },
|
|
9
|
+
React.createElement(TextInput, { value: value || '', onUpdate: onUpdate })));
|
|
10
|
+
};
|
|
11
|
+
export default TextDynamicField;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ClassNameProps } from '../../../../../models';
|
|
3
|
+
import { FieldBaseParams } from '../../FieldBase/FieldBase';
|
|
4
|
+
interface TextAreaDynamicFieldProps extends ClassNameProps, FieldBaseParams {
|
|
5
|
+
value: string;
|
|
6
|
+
onUpdate: (value: string | undefined) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const TextAreaDynamicField: React.FC<TextAreaDynamicFieldProps>;
|
|
9
|
+
export default TextAreaDynamicField;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TextArea } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../../../utils';
|
|
4
|
+
import FieldBase from '../../FieldBase/FieldBase';
|
|
5
|
+
const b = block('textarea-dynamic-field');
|
|
6
|
+
const TextAreaDynamicField = (props) => {
|
|
7
|
+
const { title, value, onUpdate, className } = props;
|
|
8
|
+
return (React.createElement(FieldBase, { title: title, className: b(null, className), onRefresh: onUpdate },
|
|
9
|
+
React.createElement(TextArea, { minRows: 5, maxRows: 20, value: value || '', onUpdate: onUpdate })));
|
|
10
|
+
};
|
|
11
|
+
export default TextAreaDynamicField;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
export const getFullPath = (path, name) => {
|
|
3
|
+
if (!path && !name) {
|
|
4
|
+
return '';
|
|
5
|
+
}
|
|
6
|
+
if (!path) {
|
|
7
|
+
return name;
|
|
8
|
+
}
|
|
9
|
+
if (!name) {
|
|
10
|
+
return path;
|
|
11
|
+
}
|
|
12
|
+
return path + '.' + name;
|
|
13
|
+
};
|
|
14
|
+
export const getContent = (contentConfig, path) => {
|
|
15
|
+
return path ? _.get(contentConfig, path) : contentConfig;
|
|
16
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
body {
|
|
4
|
+
--pc-editor-header-height: 48px;
|
|
5
|
+
--pc-editor-code-header-height: 36px;
|
|
6
|
+
--pc-editor-divider-width: 12px;
|
|
7
|
+
--pc-editor-left-column-width: calc(400px + var(--pc-editor-divider-width));
|
|
8
|
+
--pc-editor-base-color: var(--g-color-base-brand);
|
|
9
|
+
--pc-editor-control-color: var(--g-color-base-brand);
|
|
10
|
+
--pc-editor-control-icon-color: var(--g-color-text-dark-primary);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.pc-global-config {
|
|
14
|
+
padding: 12px;
|
|
15
|
+
}
|
|
16
|
+
.pc-global-config__title {
|
|
17
|
+
margin-bottom: 16px;
|
|
18
|
+
margin-top: 8px;
|
|
19
|
+
font-size: var(--g-text-subheader-3-font-size);
|
|
20
|
+
line-height: var(--g-text-subheader-3-line-height);
|
|
21
|
+
font-weight: var(--g-text-subheader-font-weight);
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { block } from '../../../utils';
|
|
3
|
+
import { useContentConfigStore } from '../../context/contentConfig';
|
|
4
|
+
import DynamicForm from '../DynamicForm/DynamicForm';
|
|
5
|
+
import './GlobalConfig.css';
|
|
6
|
+
const b = block('global-config');
|
|
7
|
+
const GlobalConfig = ({ className }) => {
|
|
8
|
+
const { global, updateField, config } = useContentConfigStore();
|
|
9
|
+
const onUpdate = (key, value) => {
|
|
10
|
+
updateField(key, value);
|
|
11
|
+
};
|
|
12
|
+
return (React.createElement("div", { className: b(null, className) },
|
|
13
|
+
React.createElement("div", { className: b('title') }, "Global Config"),
|
|
14
|
+
React.createElement(DynamicForm, { contentConfig: config, blockConfig: global, onUpdate: onUpdate })));
|
|
15
|
+
};
|
|
16
|
+
export default GlobalConfig;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
body {
|
|
4
|
+
--pc-editor-header-height: 48px;
|
|
5
|
+
--pc-editor-code-header-height: 36px;
|
|
6
|
+
--pc-editor-divider-width: 12px;
|
|
7
|
+
--pc-editor-left-column-width: calc(400px + var(--pc-editor-divider-width));
|
|
8
|
+
--pc-editor-base-color: var(--g-color-base-brand);
|
|
9
|
+
--pc-editor-control-color: var(--g-color-base-brand);
|
|
10
|
+
--pc-editor-control-icon-color: var(--g-color-text-dark-primary);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.pc-middle-screen {
|
|
14
|
+
height: 100%;
|
|
15
|
+
width: 100%;
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
}
|
|
19
|
+
.pc-middle-screen__topbar {
|
|
20
|
+
height: 50px;
|
|
21
|
+
}
|
|
22
|
+
.pc-middle-screen__canvas {
|
|
23
|
+
height: 100%;
|
|
24
|
+
width: 100%;
|
|
25
|
+
overflow-y: scroll;
|
|
26
|
+
position: relative;
|
|
27
|
+
}
|
|
28
|
+
.pc-middle-screen__overlay {
|
|
29
|
+
position: absolute;
|
|
30
|
+
left: 0;
|
|
31
|
+
top: 0;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
pointer-events: none;
|
|
35
|
+
}
|
|
36
|
+
.pc-middle-screen__border {
|
|
37
|
+
position: absolute;
|
|
38
|
+
border: 3px var(--g-color-line-brand) solid;
|
|
39
|
+
border-radius: 10px;
|
|
40
|
+
}
|
|
41
|
+
.pc-middle-screen__loading {
|
|
42
|
+
position: absolute;
|
|
43
|
+
left: 0;
|
|
44
|
+
top: 0;
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: 100%;
|
|
47
|
+
background: var(--g-color-base-background);
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { Loader } from '@gravity-ui/uikit';
|
|
3
|
+
import { block } from '../../../utils';
|
|
4
|
+
import { useEditorStore } from '../../context/editorContext';
|
|
5
|
+
import { IframeContext, useIframeStore } from '../../context/iframeContext';
|
|
6
|
+
import Overlay from '../Overlay/Overlay';
|
|
7
|
+
import TopBar from '../TopBar/TopBar';
|
|
8
|
+
import './MiddleScreen.css';
|
|
9
|
+
const b = block('middle-screen');
|
|
10
|
+
const MiddleScreen = ({ className }) => {
|
|
11
|
+
const { url, height } = useIframeStore();
|
|
12
|
+
const { initialized } = useEditorStore();
|
|
13
|
+
const { setIframeElement } = useContext(IframeContext);
|
|
14
|
+
return (React.createElement("div", { className: b(null, className) },
|
|
15
|
+
React.createElement("div", { className: b('topbar') },
|
|
16
|
+
React.createElement(TopBar, null)),
|
|
17
|
+
React.createElement("div", { className: b('canvas', { hidden: !initialized }) },
|
|
18
|
+
React.createElement("iframe", { ref: (element) => {
|
|
19
|
+
if (element) {
|
|
20
|
+
setIframeElement(element);
|
|
21
|
+
}
|
|
22
|
+
}, className: b('iframe'), src: url, height: `${height}px`, width: "100%", frameBorder: "0" }),
|
|
23
|
+
React.createElement(Overlay, { className: b('overlay') }),
|
|
24
|
+
!initialized && (React.createElement("div", { className: b('loading') },
|
|
25
|
+
React.createElement(Loader, { size: 'l' }))))));
|
|
26
|
+
};
|
|
27
|
+
export default MiddleScreen;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
body {
|
|
4
|
+
--pc-editor-header-height: 48px;
|
|
5
|
+
--pc-editor-code-header-height: 36px;
|
|
6
|
+
--pc-editor-divider-width: 12px;
|
|
7
|
+
--pc-editor-left-column-width: calc(400px + var(--pc-editor-divider-width));
|
|
8
|
+
--pc-editor-base-color: var(--g-color-base-brand);
|
|
9
|
+
--pc-editor-control-color: var(--g-color-base-brand);
|
|
10
|
+
--pc-editor-control-icon-color: var(--g-color-text-dark-primary);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.pc-overlay {
|
|
14
|
+
position: absolute;
|
|
15
|
+
left: 0;
|
|
16
|
+
top: 0;
|
|
17
|
+
width: 100%;
|
|
18
|
+
height: 100%;
|
|
19
|
+
pointer-events: none;
|
|
20
|
+
}
|
|
21
|
+
.pc-overlay__border {
|
|
22
|
+
position: absolute;
|
|
23
|
+
border: 3px var(--g-color-line-brand) solid;
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
box-shadow: 4px 4px 8px 0 var(--g-color-sfx-shadow);
|
|
26
|
+
}
|
|
27
|
+
.pc-overlay__line {
|
|
28
|
+
position: absolute;
|
|
29
|
+
border: 3px var(--g-color-base-selection) solid;
|
|
30
|
+
}
|
|
31
|
+
.pc-overlay__line_position_top {
|
|
32
|
+
border-top: 5px var(--g-color-line-brand) solid;
|
|
33
|
+
}
|
|
34
|
+
.pc-overlay__line_position_bottom {
|
|
35
|
+
border-bottom: 5px var(--g-color-line-brand) solid;
|
|
36
|
+
}
|
|
37
|
+
.pc-overlay__line_position_left {
|
|
38
|
+
border-left: 5px var(--g-color-line-brand) solid;
|
|
39
|
+
}
|
|
40
|
+
.pc-overlay__line_position_right {
|
|
41
|
+
border-right: 5px var(--g-color-line-brand) solid;
|
|
42
|
+
}
|
|
43
|
+
.pc-overlay__actions {
|
|
44
|
+
pointer-events: auto;
|
|
45
|
+
position: absolute;
|
|
46
|
+
bottom: -40px;
|
|
47
|
+
left: 0;
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
background: transparent;
|
|
51
|
+
box-shadow: 4px 4px 8px 0 var(--g-color-sfx-shadow);
|
|
52
|
+
border-radius: 20px;
|
|
53
|
+
}
|
|
54
|
+
.pc-overlay__action-button_grip {
|
|
55
|
+
cursor: grab;
|
|
56
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React, { useCallback, useState } from 'react';
|
|
2
|
+
import { Copy, Grip, TrashBin } from '@gravity-ui/icons';
|
|
3
|
+
import { Button, Icon } from '@gravity-ui/uikit';
|
|
4
|
+
import { ActionTypes, } from '../../../common/types';
|
|
5
|
+
import { block } from '../../../utils';
|
|
6
|
+
import { useContentConfigStore } from '../../context/contentConfig';
|
|
7
|
+
import { useEditorStore } from '../../context/editorContext';
|
|
8
|
+
import { useIframeStore } from '../../context/iframeContext';
|
|
9
|
+
import { useMessageObserver, useMessageSender } from '../../context/messagesContext';
|
|
10
|
+
import './Overlay.css';
|
|
11
|
+
const b = block('overlay');
|
|
12
|
+
const Overlay = ({ className }) => {
|
|
13
|
+
const { selectedBlock } = useEditorStore();
|
|
14
|
+
const [insertLineBox, setInsertLineBox] = useState(undefined);
|
|
15
|
+
const { height } = useIframeStore();
|
|
16
|
+
const { deleteBlock, duplicateBlock } = useContentConfigStore();
|
|
17
|
+
const sendMessage = useMessageSender();
|
|
18
|
+
const margin = 0;
|
|
19
|
+
useMessageObserver(ActionTypes.OverlayModeOnMove, (payload) => {
|
|
20
|
+
if (payload && payload.block) {
|
|
21
|
+
const { rect, cursorPosition } = payload.block;
|
|
22
|
+
setInsertLineBox({
|
|
23
|
+
left: rect.x,
|
|
24
|
+
top: rect.y,
|
|
25
|
+
height: rect.height,
|
|
26
|
+
width: rect.width,
|
|
27
|
+
position: cursorPosition,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
useMessageObserver(ActionTypes.InsertModeDisable, () => {
|
|
32
|
+
setInsertLineBox(undefined);
|
|
33
|
+
});
|
|
34
|
+
useMessageObserver(ActionTypes.ReorderModeDisable, () => {
|
|
35
|
+
setInsertLineBox(undefined);
|
|
36
|
+
});
|
|
37
|
+
const onMouseDown = useCallback(() => {
|
|
38
|
+
if (selectedBlock) {
|
|
39
|
+
sendMessage({
|
|
40
|
+
type: ActionTypes.ReorderModeEnable,
|
|
41
|
+
payload: { path: selectedBlock.path },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}, [selectedBlock, sendMessage]);
|
|
45
|
+
return (React.createElement("div", { className: b(null, className), style: { height: `${height}px` } },
|
|
46
|
+
selectedBlock ? (React.createElement("div", { className: b('border'), style: {
|
|
47
|
+
top: selectedBlock.rect.top - margin,
|
|
48
|
+
left: selectedBlock.rect.left - margin,
|
|
49
|
+
width: selectedBlock.rect.width + margin * 2,
|
|
50
|
+
height: selectedBlock.rect.height + margin * 2,
|
|
51
|
+
} },
|
|
52
|
+
React.createElement("div", { className: b('actions') },
|
|
53
|
+
React.createElement("div", { onMouseDown: onMouseDown },
|
|
54
|
+
React.createElement(Button, { pin: 'round-clear', className: `${b('action-button', { grip: true })}`, size: 'm', view: 'action' },
|
|
55
|
+
React.createElement(Icon, { data: Grip, size: 18 }))),
|
|
56
|
+
React.createElement(Button, { pin: 'clear-clear', className: b('action-button'), size: 'm', view: 'action', onClick: () => selectedBlock && deleteBlock(selectedBlock.path) },
|
|
57
|
+
React.createElement(Icon, { data: TrashBin, size: 18 })),
|
|
58
|
+
React.createElement(Button, { pin: 'clear-round', className: b('action-button'), size: 'm', view: 'action', onClick: () => selectedBlock && duplicateBlock(selectedBlock.path) },
|
|
59
|
+
React.createElement(Icon, { data: Copy, size: 18 }))))) : null,
|
|
60
|
+
insertLineBox ? (React.createElement("div", { className: b('line', {
|
|
61
|
+
position: insertLineBox.position,
|
|
62
|
+
}), style: {
|
|
63
|
+
top: insertLineBox.top,
|
|
64
|
+
left: insertLineBox.left,
|
|
65
|
+
width: insertLineBox.width,
|
|
66
|
+
height: insertLineBox.height,
|
|
67
|
+
} })) : null));
|
|
68
|
+
};
|
|
69
|
+
export default Overlay;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
body {
|
|
4
|
+
--pc-editor-header-height: 48px;
|
|
5
|
+
--pc-editor-code-header-height: 36px;
|
|
6
|
+
--pc-editor-divider-width: 12px;
|
|
7
|
+
--pc-editor-left-column-width: calc(400px + var(--pc-editor-divider-width));
|
|
8
|
+
--pc-editor-base-color: var(--g-color-base-brand);
|
|
9
|
+
--pc-editor-control-color: var(--g-color-base-brand);
|
|
10
|
+
--pc-editor-control-icon-color: var(--g-color-text-dark-primary);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.pc-sidebar {
|
|
14
|
+
position: relative;
|
|
15
|
+
height: 100%;
|
|
16
|
+
width: 100%;
|
|
17
|
+
display: flex;
|
|
18
|
+
}
|
|
19
|
+
.pc-sidebar_position_left {
|
|
20
|
+
flex-direction: row;
|
|
21
|
+
}
|
|
22
|
+
.pc-sidebar_position_right {
|
|
23
|
+
flex-direction: row-reverse;
|
|
24
|
+
}
|
|
25
|
+
.pc-sidebar__buttons-wrapper {
|
|
26
|
+
border-right: 1px solid var(--g-color-line-generic);
|
|
27
|
+
}
|
|
28
|
+
.pc-sidebar__buttons {
|
|
29
|
+
display: inline-flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
padding: 8px;
|
|
32
|
+
gap: 8px;
|
|
33
|
+
}
|
|
34
|
+
.pc-sidebar__buttons:hover .pc-sidebar__label-wrapper {
|
|
35
|
+
opacity: 1;
|
|
36
|
+
}
|
|
37
|
+
.pc-sidebar__body {
|
|
38
|
+
flex: 1;
|
|
39
|
+
border-right: 1px solid var(--g-color-line-generic);
|
|
40
|
+
overflow-y: auto;
|
|
41
|
+
}
|
|
42
|
+
.pc-sidebar__button-wrapper {
|
|
43
|
+
position: relative;
|
|
44
|
+
}
|
|
45
|
+
.pc-sidebar_position_right .pc-sidebar__button-wrapper:hover .pc-sidebar__label-wrapper {
|
|
46
|
+
right: 40px;
|
|
47
|
+
}
|
|
48
|
+
.pc-sidebar_position_right .pc-sidebar__label-wrapper {
|
|
49
|
+
right: 50px;
|
|
50
|
+
}
|
|
51
|
+
.pc-sidebar_position_left .pc-sidebar__button-wrapper:hover .pc-sidebar__label-wrapper {
|
|
52
|
+
left: 40px;
|
|
53
|
+
}
|
|
54
|
+
.pc-sidebar_position_left .pc-sidebar__label-wrapper {
|
|
55
|
+
left: 50px;
|
|
56
|
+
}
|
|
57
|
+
.pc-sidebar__label-wrapper {
|
|
58
|
+
pointer-events: none;
|
|
59
|
+
opacity: 0;
|
|
60
|
+
background-color: var(--g-color-base-background);
|
|
61
|
+
position: absolute;
|
|
62
|
+
top: 50%;
|
|
63
|
+
transform: translateY(-50%);
|
|
64
|
+
z-index: 100;
|
|
65
|
+
transition: left 0.1s ease, right 0.1s ease, opacity 0.1s ease;
|
|
66
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ClassNameProps } from '../../../models';
|
|
2
|
+
import './Sidebar.css';
|
|
3
|
+
interface SidebarProps extends ClassNameProps {
|
|
4
|
+
position: 'left' | 'right';
|
|
5
|
+
startMenu?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const Sidebar: ({ className, position, startMenu }: SidebarProps) => JSX.Element;
|
|
8
|
+
export {};
|