@gravity-ui/page-constructor 6.3.1 → 6.3.2-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/README.md +31 -1
- package/build/cjs/blocks/Banner/Banner.js +2 -1
- package/build/cjs/blocks/Banner/Banner.js.map +1 -1
- package/build/cjs/blocks/Banner/index.d.ts +3 -0
- package/build/cjs/blocks/Banner/index.js +24 -0
- package/build/cjs/blocks/Banner/index.js.map +1 -0
- package/build/cjs/blocks/CardLayout/CardLayout.css +1 -0
- package/build/cjs/blocks/CardLayout/CardLayout.js +4 -3
- package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
- package/build/cjs/blocks/CardLayout/index.d.ts +5 -0
- package/build/cjs/blocks/CardLayout/index.js +186 -0
- package/build/cjs/blocks/CardLayout/index.js.map +1 -0
- package/build/cjs/blocks/Companies/Companies.js +2 -1
- package/build/cjs/blocks/Companies/Companies.js.map +1 -1
- package/build/cjs/blocks/Companies/index.d.ts +3 -0
- package/build/cjs/blocks/Companies/index.js +20 -0
- package/build/cjs/blocks/Companies/index.js.map +1 -0
- package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
- package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
- package/build/cjs/blocks/ContentLayout/index.d.ts +41 -0
- package/build/cjs/blocks/ContentLayout/index.js +81 -0
- package/build/cjs/blocks/ContentLayout/index.js.map +1 -0
- package/build/cjs/blocks/ContentLayout/schema.d.ts +1 -0
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +13 -12
- package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
- package/build/cjs/blocks/ExtendedFeatures/index.d.ts +58 -0
- package/build/cjs/blocks/ExtendedFeatures/index.js +77 -0
- package/build/cjs/blocks/ExtendedFeatures/index.js.map +1 -0
- package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +1 -0
- package/build/cjs/blocks/ExtendedFeatures/schema.js +1 -0
- package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
- package/build/cjs/blocks/FilterBlock/FilterBlock.js +5 -5
- package/build/cjs/blocks/FilterBlock/FilterBlock.js.map +1 -1
- package/build/cjs/blocks/FilterBlock/index.d.ts +29 -0
- package/build/cjs/blocks/FilterBlock/index.js +98 -0
- package/build/cjs/blocks/FilterBlock/index.js.map +1 -0
- package/build/cjs/blocks/Form/index.d.ts +13 -0
- package/build/cjs/blocks/Form/index.js +20 -0
- package/build/cjs/blocks/Form/index.js.map +1 -0
- package/build/cjs/blocks/Header/dynamic-form.d.ts +2 -0
- package/build/cjs/blocks/Header/dynamic-form.js +731 -0
- package/build/cjs/blocks/Header/dynamic-form.js.map +1 -0
- package/build/cjs/blocks/Header/index.d.ts +20 -0
- package/build/cjs/blocks/Header/index.js +34 -0
- package/build/cjs/blocks/Header/index.js.map +1 -0
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -1
- package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
- package/build/cjs/blocks/HeaderSlider/index.d.ts +32 -0
- package/build/cjs/blocks/HeaderSlider/index.js +40 -0
- package/build/cjs/blocks/HeaderSlider/index.js.map +1 -0
- package/build/cjs/blocks/Icons/Icons.js +8 -6
- package/build/cjs/blocks/Icons/Icons.js.map +1 -1
- package/build/cjs/blocks/Icons/index.d.ts +20 -0
- package/build/cjs/blocks/Icons/index.js +64 -0
- package/build/cjs/blocks/Icons/index.js.map +1 -0
- package/build/cjs/blocks/Info/index.d.ts +22 -0
- package/build/cjs/blocks/Info/index.js +43 -0
- package/build/cjs/blocks/Info/index.js.map +1 -0
- package/build/cjs/blocks/Map/index.d.ts +12 -0
- package/build/cjs/blocks/Map/index.js +19 -0
- package/build/cjs/blocks/Map/index.js.map +1 -0
- package/build/cjs/blocks/Media/index.d.ts +39 -0
- package/build/cjs/blocks/Media/index.js +57 -0
- package/build/cjs/blocks/Media/index.js.map +1 -0
- package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +15 -13
- package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
- package/build/cjs/blocks/PromoFeaturesBlock/index.d.ts +22 -0
- package/build/cjs/blocks/PromoFeaturesBlock/index.js +49 -0
- package/build/cjs/blocks/PromoFeaturesBlock/index.js.map +1 -0
- package/build/cjs/blocks/Questions/Questions.js +6 -5
- package/build/cjs/blocks/Questions/Questions.js.map +1 -1
- package/build/cjs/blocks/Questions/index.d.ts +30 -0
- package/build/cjs/blocks/Questions/index.js +49 -0
- package/build/cjs/blocks/Questions/index.js.map +1 -0
- package/build/cjs/blocks/Share/Share.js +11 -10
- package/build/cjs/blocks/Share/Share.js.map +1 -1
- package/build/cjs/blocks/Share/index.d.ts +13 -0
- package/build/cjs/blocks/Share/index.js +20 -0
- package/build/cjs/blocks/Share/index.js.map +1 -0
- package/build/cjs/blocks/Slider/Slider.js +12 -10
- package/build/cjs/blocks/Slider/Slider.js.map +1 -1
- package/build/cjs/blocks/Slider/dynamic-form.d.ts +3 -0
- package/build/cjs/blocks/Slider/dynamic-form.js +226 -0
- package/build/cjs/blocks/Slider/dynamic-form.js.map +1 -0
- package/build/cjs/blocks/Slider/index.d.ts +28 -0
- package/build/cjs/blocks/Slider/index.js +47 -0
- package/build/cjs/blocks/Slider/index.js.map +1 -0
- package/build/cjs/blocks/Table/index.d.ts +18 -0
- package/build/cjs/blocks/Table/index.js +32 -0
- package/build/cjs/blocks/Table/index.js.map +1 -0
- package/build/cjs/blocks/Table/schema.d.ts +1 -0
- package/build/cjs/blocks/Table/schema.js +1 -0
- package/build/cjs/blocks/Table/schema.js.map +1 -1
- package/build/cjs/blocks/Tabs/Tabs.js +4 -4
- package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
- package/build/cjs/blocks/Tabs/index.d.ts +17 -0
- package/build/cjs/blocks/Tabs/index.js +31 -0
- package/build/cjs/blocks/Tabs/index.js.map +1 -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/TestEditorBlock.js.map +1 -0
- package/build/cjs/blocks/TestEditorBlock/form.d.ts +3 -0
- package/build/cjs/blocks/TestEditorBlock/form.js +91 -0
- package/build/cjs/blocks/TestEditorBlock/form.js.map +1 -0
- package/build/cjs/blocks/TestEditorBlock/index.d.ts +11 -0
- package/build/cjs/blocks/TestEditorBlock/index.js +18 -0
- package/build/cjs/blocks/TestEditorBlock/index.js.map +1 -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 +85 -0
- package/build/cjs/components/Image/dynamic-form.js.map +1 -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 +12 -0
- package/build/cjs/components/editor/ItemWrap/ItemWrap.js.map +1 -0
- package/build/cjs/constructor-items.d.ts +22 -6
- package/build/cjs/constructor-items.js +80 -6
- package/build/cjs/constructor-items.js.map +1 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.js +18 -10
- package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
- package/build/cjs/containers/PageConstructor/Provider.js +2 -0
- package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +2 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -2
- package/build/cjs/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js.map +1 -1
- package/build/cjs/context/blockIdContext/blockIdContext.d.ts +2 -2
- package/build/cjs/context/blockIdContext/blockIdContext.js +1 -1
- package/build/cjs/context/blockIdContext/blockIdContext.js.map +1 -1
- package/build/cjs/context/editorStoreContext/PCEditorStoreContext.d.ts +7 -0
- package/build/cjs/context/editorStoreContext/PCEditorStoreContext.js +10 -0
- package/build/cjs/context/editorStoreContext/PCEditorStoreContext.js.map +1 -0
- package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.d.ts +5 -0
- package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.js +34 -0
- package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -0
- package/build/cjs/context/editorStoreContext/index.d.ts +2 -0
- package/build/cjs/context/editorStoreContext/index.js +6 -0
- package/build/cjs/context/editorStoreContext/index.js.map +1 -0
- package/build/cjs/editor/components/CodeEditor/CodeEditor.d.ts +1 -2
- package/build/cjs/editor/components/CodeEditor/CodeEditor.js +5 -6
- package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/cjs/editor/data/templates/test-editor-block.json +18 -0
- package/build/cjs/grid/Grid/Grid.css +2 -6
- package/build/cjs/hooks/useAnalytics.js +1 -1
- package/build/cjs/hooks/useAnalytics.js.map +1 -1
- package/build/cjs/hooks/usePCEditorBlockMouseEvents.d.ts +8 -0
- package/build/cjs/hooks/usePCEditorBlockMouseEvents.js +50 -0
- package/build/cjs/hooks/usePCEditorBlockMouseEvents.js.map +1 -0
- package/build/cjs/hooks/usePCEditorBlockSelection.d.ts +2 -0
- package/build/cjs/hooks/usePCEditorBlockSelection.js +30 -0
- package/build/cjs/hooks/usePCEditorBlockSelection.js.map +1 -0
- package/build/cjs/hooks/usePCEditorInitializeEvents.d.ts +7 -0
- package/build/cjs/hooks/usePCEditorInitializeEvents.js +63 -0
- package/build/cjs/hooks/usePCEditorInitializeEvents.js.map +1 -0
- package/build/cjs/hooks/usePCEditorItemWrap.d.ts +10 -0
- package/build/cjs/hooks/usePCEditorItemWrap.js +21 -0
- package/build/cjs/hooks/usePCEditorItemWrap.js.map +1 -0
- package/build/cjs/hooks/usePCEditorStore.d.ts +1 -0
- package/build/cjs/hooks/usePCEditorStore.js +13 -0
- package/build/cjs/hooks/usePCEditorStore.js.map +1 -0
- package/build/cjs/hooks/usePostMessageAPI.d.ts +4 -0
- package/build/cjs/hooks/usePostMessageAPI.js +30 -0
- package/build/cjs/hooks/usePostMessageAPI.js.map +1 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +1 -0
- package/build/cjs/models/constructor-items/blocks.js +1 -0
- package/build/cjs/models/constructor-items/blocks.js.map +1 -1
- package/build/cjs/models/constructor.d.ts +4 -1
- package/build/cjs/models/constructor.js.map +1 -1
- package/build/cjs/models/navigation.d.ts +2 -2
- package/build/cjs/models/navigation.js.map +1 -1
- package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
- package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
- package/build/cjs/navigation/components/Navigation/Navigation.d.ts +2 -2
- package/build/cjs/navigation/components/Navigation/Navigation.js +1 -1
- package/build/cjs/navigation/components/Navigation/Navigation.js.map +1 -1
- package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +4 -1
- package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
- package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
- package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
- package/build/cjs/navigation/containers/Layout/Layout.css +0 -1
- package/build/cjs/navigation/containers/Layout/Layout.js +1 -0
- package/build/cjs/navigation/containers/Layout/Layout.js.map +1 -1
- package/build/cjs/navigation/models.d.ts +1 -1
- package/build/cjs/navigation/models.js.map +1 -1
- package/build/cjs/schema/constants.js +2 -0
- package/build/cjs/schema/constants.js.map +1 -1
- package/build/cjs/schema/index.d.ts +256 -0
- package/build/cjs/schema/index.js +12 -6
- package/build/cjs/schema/index.js.map +1 -1
- package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
- package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js +82 -0
- package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -0
- package/build/cjs/sub-blocks/BackgroundCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/BackgroundCard/index.js +22 -0
- package/build/cjs/sub-blocks/BackgroundCard/index.js.map +1 -0
- package/build/cjs/sub-blocks/BannerCard/BannerCard.js +2 -1
- package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
- package/build/cjs/sub-blocks/BannerCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/BannerCard/index.js +24 -0
- package/build/cjs/sub-blocks/BannerCard/index.js.map +1 -0
- package/build/cjs/sub-blocks/BasicCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/BasicCard/index.js +20 -0
- package/build/cjs/sub-blocks/BasicCard/index.js.map +1 -0
- package/build/cjs/sub-blocks/Content/index.d.ts +3 -0
- package/build/cjs/sub-blocks/Content/index.js +20 -0
- package/build/cjs/sub-blocks/Content/index.js.map +1 -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/Content/schema.js.map +1 -1
- package/build/cjs/sub-blocks/Divider/index.d.ts +3 -0
- package/build/cjs/sub-blocks/Divider/index.js +16 -0
- package/build/cjs/sub-blocks/Divider/index.js.map +1 -0
- package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
- package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
- package/build/cjs/sub-blocks/ImageCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/ImageCard/index.js +20 -0
- package/build/cjs/sub-blocks/ImageCard/index.js.map +1 -0
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +1 -1
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
- package/build/cjs/sub-blocks/LayoutItem/index.d.ts +3 -0
- package/build/cjs/sub-blocks/LayoutItem/index.js +26 -0
- package/build/cjs/sub-blocks/LayoutItem/index.js.map +1 -0
- package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +211 -206
- package/build/cjs/sub-blocks/LayoutItem/schema.js +6 -5
- package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
- package/build/cjs/sub-blocks/MediaCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/MediaCard/index.js +23 -0
- package/build/cjs/sub-blocks/MediaCard/index.js.map +1 -0
- package/build/cjs/sub-blocks/PriceCard/index.d.ts +3 -0
- package/build/cjs/sub-blocks/PriceCard/index.js +33 -0
- package/build/cjs/sub-blocks/PriceCard/index.js.map +1 -0
- package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
- package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
- package/build/cjs/sub-blocks/PriceDetailed/index.d.ts +4 -0
- package/build/cjs/sub-blocks/PriceDetailed/index.js +35 -0
- package/build/cjs/sub-blocks/PriceDetailed/index.js.map +1 -0
- package/build/cjs/sub-blocks/Quote/index.d.ts +3 -0
- package/build/cjs/sub-blocks/Quote/index.js +23 -0
- package/build/cjs/sub-blocks/Quote/index.js.map +1 -0
- package/build/cjs/utils/editor.d.ts +2 -0
- package/build/cjs/utils/editor.js +25 -0
- package/build/cjs/utils/editor.js.map +1 -0
- package/build/cjs/utils/form-generator.d.ts +9 -0
- package/build/cjs/utils/form-generator.js +131 -0
- package/build/cjs/utils/form-generator.js.map +1 -0
- package/build/cjs/utils/index.d.ts +1 -0
- package/build/cjs/utils/index.js +1 -0
- package/build/cjs/utils/index.js.map +1 -1
- package/build/cjs/utils/navigation.d.ts +3 -0
- package/build/cjs/utils/navigation.js +14 -0
- package/build/cjs/utils/navigation.js.map +1 -0
- package/build/esm/blocks/Banner/Banner.js +2 -1
- package/build/esm/blocks/Banner/Banner.js.map +1 -1
- package/build/esm/blocks/Banner/index.d.ts +3 -0
- package/build/esm/blocks/Banner/index.js +21 -0
- package/build/esm/blocks/Banner/index.js.map +1 -0
- package/build/esm/blocks/CardLayout/CardLayout.css +1 -0
- package/build/esm/blocks/CardLayout/CardLayout.js +5 -4
- package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
- package/build/esm/blocks/CardLayout/index.d.ts +5 -0
- package/build/esm/blocks/CardLayout/index.js +182 -0
- package/build/esm/blocks/CardLayout/index.js.map +1 -0
- package/build/esm/blocks/Companies/Companies.js +2 -1
- package/build/esm/blocks/Companies/Companies.js.map +1 -1
- package/build/esm/blocks/Companies/index.d.ts +3 -0
- package/build/esm/blocks/Companies/index.js +17 -0
- package/build/esm/blocks/Companies/index.js.map +1 -0
- package/build/esm/blocks/ContentLayout/ContentLayout.js +2 -2
- package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
- package/build/esm/blocks/ContentLayout/index.d.ts +41 -0
- package/build/esm/blocks/ContentLayout/index.js +78 -0
- package/build/esm/blocks/ContentLayout/index.js.map +1 -0
- package/build/esm/blocks/ContentLayout/schema.d.ts +1 -0
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +14 -13
- package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
- package/build/esm/blocks/ExtendedFeatures/index.d.ts +58 -0
- package/build/esm/blocks/ExtendedFeatures/index.js +74 -0
- package/build/esm/blocks/ExtendedFeatures/index.js.map +1 -0
- package/build/esm/blocks/ExtendedFeatures/schema.d.ts +1 -0
- package/build/esm/blocks/ExtendedFeatures/schema.js +1 -0
- package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
- package/build/esm/blocks/FilterBlock/FilterBlock.js +6 -6
- package/build/esm/blocks/FilterBlock/FilterBlock.js.map +1 -1
- package/build/esm/blocks/FilterBlock/index.d.ts +29 -0
- package/build/esm/blocks/FilterBlock/index.js +95 -0
- package/build/esm/blocks/FilterBlock/index.js.map +1 -0
- package/build/esm/blocks/Form/index.d.ts +13 -0
- package/build/esm/blocks/Form/index.js +17 -0
- package/build/esm/blocks/Form/index.js.map +1 -0
- package/build/esm/blocks/Header/dynamic-form.d.ts +2 -0
- package/build/esm/blocks/Header/dynamic-form.js +728 -0
- package/build/esm/blocks/Header/dynamic-form.js.map +1 -0
- package/build/esm/blocks/Header/index.d.ts +20 -0
- package/build/esm/blocks/Header/index.js +31 -0
- package/build/esm/blocks/Header/index.js.map +1 -0
- package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -1
- package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
- package/build/esm/blocks/HeaderSlider/index.d.ts +32 -0
- package/build/esm/blocks/HeaderSlider/index.js +37 -0
- package/build/esm/blocks/HeaderSlider/index.js.map +1 -0
- package/build/esm/blocks/Icons/Icons.js +8 -6
- package/build/esm/blocks/Icons/Icons.js.map +1 -1
- package/build/esm/blocks/Icons/index.d.ts +20 -0
- package/build/esm/blocks/Icons/index.js +61 -0
- package/build/esm/blocks/Icons/index.js.map +1 -0
- package/build/esm/blocks/Info/index.d.ts +22 -0
- package/build/esm/blocks/Info/index.js +40 -0
- package/build/esm/blocks/Info/index.js.map +1 -0
- package/build/esm/blocks/Map/index.d.ts +12 -0
- package/build/esm/blocks/Map/index.js +16 -0
- package/build/esm/blocks/Map/index.js.map +1 -0
- package/build/esm/blocks/Media/index.d.ts +39 -0
- package/build/esm/blocks/Media/index.js +54 -0
- package/build/esm/blocks/Media/index.js.map +1 -0
- package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +15 -13
- package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
- package/build/esm/blocks/PromoFeaturesBlock/index.d.ts +22 -0
- package/build/esm/blocks/PromoFeaturesBlock/index.js +46 -0
- package/build/esm/blocks/PromoFeaturesBlock/index.js.map +1 -0
- package/build/esm/blocks/Questions/Questions.js +7 -6
- package/build/esm/blocks/Questions/Questions.js.map +1 -1
- package/build/esm/blocks/Questions/index.d.ts +30 -0
- package/build/esm/blocks/Questions/index.js +46 -0
- package/build/esm/blocks/Questions/index.js.map +1 -0
- package/build/esm/blocks/Share/Share.js +11 -10
- package/build/esm/blocks/Share/Share.js.map +1 -1
- package/build/esm/blocks/Share/index.d.ts +13 -0
- package/build/esm/blocks/Share/index.js +17 -0
- package/build/esm/blocks/Share/index.js.map +1 -0
- package/build/esm/blocks/Slider/Slider.js +12 -10
- package/build/esm/blocks/Slider/Slider.js.map +1 -1
- package/build/esm/blocks/Slider/dynamic-form.d.ts +3 -0
- package/build/esm/blocks/Slider/dynamic-form.js +223 -0
- package/build/esm/blocks/Slider/dynamic-form.js.map +1 -0
- package/build/esm/blocks/Slider/index.d.ts +28 -0
- package/build/esm/blocks/Slider/index.js +44 -0
- package/build/esm/blocks/Slider/index.js.map +1 -0
- package/build/esm/blocks/Table/index.d.ts +18 -0
- package/build/esm/blocks/Table/index.js +29 -0
- package/build/esm/blocks/Table/index.js.map +1 -0
- package/build/esm/blocks/Table/schema.d.ts +1 -0
- package/build/esm/blocks/Table/schema.js +1 -0
- package/build/esm/blocks/Table/schema.js.map +1 -1
- package/build/esm/blocks/Tabs/Tabs.js +5 -5
- package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
- package/build/esm/blocks/Tabs/index.d.ts +17 -0
- package/build/esm/blocks/Tabs/index.js +28 -0
- package/build/esm/blocks/Tabs/index.js.map +1 -0
- package/build/esm/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
- package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js +8 -0
- package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js.map +1 -0
- package/build/esm/blocks/TestEditorBlock/form.d.ts +3 -0
- package/build/esm/blocks/TestEditorBlock/form.js +89 -0
- package/build/esm/blocks/TestEditorBlock/form.js.map +1 -0
- package/build/esm/blocks/TestEditorBlock/index.d.ts +11 -0
- package/build/esm/blocks/TestEditorBlock/index.js +14 -0
- package/build/esm/blocks/TestEditorBlock/index.js.map +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 +81 -0
- package/build/esm/components/Image/dynamic-form.js.map +1 -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 +11 -0
- package/build/esm/components/editor/ItemWrap/ItemWrap.js.map +1 -0
- package/build/esm/constructor-items.d.ts +22 -6
- package/build/esm/constructor-items.js +75 -1
- package/build/esm/constructor-items.js.map +1 -1
- package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
- package/build/esm/containers/PageConstructor/PageConstructor.js +20 -12
- package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
- package/build/esm/containers/PageConstructor/Provider.js +2 -0
- package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +2 -1
- package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -2
- package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js.map +1 -1
- package/build/esm/context/blockIdContext/blockIdContext.d.ts +2 -2
- package/build/esm/context/blockIdContext/blockIdContext.js +1 -1
- package/build/esm/context/blockIdContext/blockIdContext.js.map +1 -1
- package/build/esm/context/editorStoreContext/PCEditorStoreContext.d.ts +7 -0
- package/build/esm/context/editorStoreContext/PCEditorStoreContext.js +6 -0
- package/build/esm/context/editorStoreContext/PCEditorStoreContext.js.map +1 -0
- package/build/esm/context/editorStoreContext/PCEditorStoreProvider.d.ts +5 -0
- package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js +29 -0
- package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -0
- package/build/esm/context/editorStoreContext/index.d.ts +2 -0
- package/build/esm/context/editorStoreContext/index.js +3 -0
- package/build/esm/context/editorStoreContext/index.js.map +1 -0
- package/build/esm/editor/components/CodeEditor/CodeEditor.d.ts +1 -2
- package/build/esm/editor/components/CodeEditor/CodeEditor.js +4 -6
- package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/esm/editor/data/templates/test-editor-block.json +18 -0
- package/build/esm/grid/Grid/Grid.css +2 -6
- package/build/esm/hooks/useAnalytics.js +1 -1
- package/build/esm/hooks/useAnalytics.js.map +1 -1
- package/build/esm/hooks/usePCEditorBlockMouseEvents.d.ts +8 -0
- package/build/esm/hooks/usePCEditorBlockMouseEvents.js +47 -0
- package/build/esm/hooks/usePCEditorBlockMouseEvents.js.map +1 -0
- package/build/esm/hooks/usePCEditorBlockSelection.d.ts +2 -0
- package/build/esm/hooks/usePCEditorBlockSelection.js +27 -0
- package/build/esm/hooks/usePCEditorBlockSelection.js.map +1 -0
- package/build/esm/hooks/usePCEditorInitializeEvents.d.ts +7 -0
- package/build/esm/hooks/usePCEditorInitializeEvents.js +58 -0
- package/build/esm/hooks/usePCEditorInitializeEvents.js.map +1 -0
- package/build/esm/hooks/usePCEditorItemWrap.d.ts +10 -0
- package/build/esm/hooks/usePCEditorItemWrap.js +17 -0
- package/build/esm/hooks/usePCEditorItemWrap.js.map +1 -0
- package/build/esm/hooks/usePCEditorStore.d.ts +1 -0
- package/build/esm/hooks/usePCEditorStore.js +8 -0
- package/build/esm/hooks/usePCEditorStore.js.map +1 -0
- package/build/esm/hooks/usePostMessageAPI.d.ts +4 -0
- package/build/esm/hooks/usePostMessageAPI.js +24 -0
- package/build/esm/hooks/usePostMessageAPI.js.map +1 -0
- package/build/esm/models/constructor-items/blocks.d.ts +1 -0
- package/build/esm/models/constructor-items/blocks.js +1 -0
- package/build/esm/models/constructor-items/blocks.js.map +1 -1
- package/build/esm/models/constructor.d.ts +4 -1
- package/build/esm/models/constructor.js.map +1 -1
- package/build/esm/models/navigation.d.ts +2 -2
- package/build/esm/models/navigation.js.map +1 -1
- package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +2 -2
- package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
- package/build/esm/navigation/components/Navigation/Navigation.d.ts +2 -2
- package/build/esm/navigation/components/Navigation/Navigation.js +1 -1
- package/build/esm/navigation/components/Navigation/Navigation.js.map +1 -1
- package/build/esm/navigation/components/NavigationItem/NavigationItem.js +4 -1
- package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
- package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
- package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
- package/build/esm/navigation/containers/Layout/Layout.css +0 -1
- package/build/esm/navigation/containers/Layout/Layout.js +2 -1
- package/build/esm/navigation/containers/Layout/Layout.js.map +1 -1
- package/build/esm/navigation/models.d.ts +1 -1
- package/build/esm/navigation/models.js.map +1 -1
- package/build/esm/schema/constants.js +2 -0
- package/build/esm/schema/constants.js.map +1 -1
- package/build/esm/schema/index.d.ts +256 -0
- package/build/esm/schema/index.js +11 -5
- package/build/esm/schema/index.js.map +1 -1
- package/build/esm/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
- package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js +79 -0
- package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -0
- package/build/esm/sub-blocks/BackgroundCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/BackgroundCard/index.js +19 -0
- package/build/esm/sub-blocks/BackgroundCard/index.js.map +1 -0
- package/build/esm/sub-blocks/BannerCard/BannerCard.js +2 -1
- package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
- package/build/esm/sub-blocks/BannerCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/BannerCard/index.js +21 -0
- package/build/esm/sub-blocks/BannerCard/index.js.map +1 -0
- package/build/esm/sub-blocks/BasicCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/BasicCard/index.js +17 -0
- package/build/esm/sub-blocks/BasicCard/index.js.map +1 -0
- package/build/esm/sub-blocks/Content/index.d.ts +3 -0
- package/build/esm/sub-blocks/Content/index.js +17 -0
- package/build/esm/sub-blocks/Content/index.js.map +1 -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/Content/schema.js.map +1 -1
- package/build/esm/sub-blocks/Divider/index.d.ts +3 -0
- package/build/esm/sub-blocks/Divider/index.js +13 -0
- package/build/esm/sub-blocks/Divider/index.js.map +1 -0
- package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
- package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
- package/build/esm/sub-blocks/ImageCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/ImageCard/index.js +17 -0
- package/build/esm/sub-blocks/ImageCard/index.js.map +1 -0
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +1 -1
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
- package/build/esm/sub-blocks/LayoutItem/index.d.ts +3 -0
- package/build/esm/sub-blocks/LayoutItem/index.js +23 -0
- package/build/esm/sub-blocks/LayoutItem/index.js.map +1 -0
- package/build/esm/sub-blocks/LayoutItem/schema.d.ts +211 -206
- package/build/esm/sub-blocks/LayoutItem/schema.js +3 -2
- package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
- package/build/esm/sub-blocks/MediaCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/MediaCard/index.js +20 -0
- package/build/esm/sub-blocks/MediaCard/index.js.map +1 -0
- package/build/esm/sub-blocks/PriceCard/index.d.ts +3 -0
- package/build/esm/sub-blocks/PriceCard/index.js +30 -0
- package/build/esm/sub-blocks/PriceCard/index.js.map +1 -0
- package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
- package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
- package/build/esm/sub-blocks/PriceDetailed/index.d.ts +4 -0
- package/build/esm/sub-blocks/PriceDetailed/index.js +32 -0
- package/build/esm/sub-blocks/PriceDetailed/index.js.map +1 -0
- package/build/esm/sub-blocks/Quote/index.d.ts +3 -0
- package/build/esm/sub-blocks/Quote/index.js +20 -0
- package/build/esm/sub-blocks/Quote/index.js.map +1 -0
- package/build/esm/utils/editor.d.ts +2 -0
- package/build/esm/utils/editor.js +21 -0
- package/build/esm/utils/editor.js.map +1 -0
- package/build/esm/utils/form-generator.d.ts +9 -0
- package/build/esm/utils/form-generator.js +126 -0
- package/build/esm/utils/form-generator.js.map +1 -0
- package/build/esm/utils/index.d.ts +1 -0
- package/build/esm/utils/index.js +1 -0
- package/build/esm/utils/index.js.map +1 -1
- package/build/esm/utils/navigation.d.ts +3 -0
- package/build/esm/utils/navigation.js +9 -0
- package/build/esm/utils/navigation.js.map +1 -0
- package/package.json +15 -3
- package/schema/index.js +1 -1
- package/server/models/constructor-items/blocks.d.ts +1 -0
- package/server/models/constructor-items/blocks.js +1 -0
- package/server/models/constructor.d.ts +4 -1
- package/server/models/navigation.d.ts +2 -2
- package/server/utils/index.d.ts +1 -0
- package/server/utils/index.js +1 -0
- package/server/utils/navigation.d.ts +3 -0
- package/server/utils/navigation.js +15 -0
- package/styles/mixins.scss +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.js","sourceRoot":"../../../../../src","sources":["editor/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","sourceRoot":"../../../../../src","sources":["editor/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAC/B,6CAAiF;AACjF,6CAA+C;AAC/C,0EAAuC;AACvC,sFAA+C;AAE/C,qDAAmD;AACnD,mDAAqC;AACrC,8CAA4C;AAC5C,8CAA2C;AAG3C,8CAAoC;AAIpC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC;AAWxB,MAAM,UAAU,GAAG,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,IAAI,GACU,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,EAAC,KAAK,GAAG,cAAK,CAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAa,CAAC,CAAC;IAE9D,uDAAuD;IACvD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC5C,IAAA,kBAAQ,EAAC,CAAC,OAAe,EAAE,EAAE;QACzB,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,GAAG,CAAC,EACP,CAAC,QAAQ,EAAE,SAAS,CAAC,CACxB,CAAC;IAEF,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,UAAU,EAAE,gBAAgB,EAAC,CAAC,aAC7C,gCAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACvB,uBAAC,cAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,YAE1D,uBAAC,YAAI,IACD,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,+BAAuB,CAAC,CAAC,CAAC,6BAAqB,EACxE,IAAI,EAAE,EAAE,GACV,GACG,GACP,EACN,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,uBAAC,6BAAY,IAET,KAAK,EAAE,IAAI,EACX,QAAQ,EAAC,MAAM,EACf,OAAO,EAAE,mBAAO,EAChB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,KAAK,KAAK,cAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IALzC,MAAM,CAAC,gBAAgB,CAAC,CAM/B,GACA,EACN,gCAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACtB,OAAO,IAAI,CACR,gCAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAClC,gCAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,YAAG,OAAO,CAAC,IAAI,GAAO,GAC1E,CACT,GACC,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AArDW,QAAA,UAAU,cAqDrB","sourcesContent":["import * as React from 'react';\nimport {ChevronsCollapseUpRight, ChevronsExpandUpRight} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport MonacoEditor from 'react-monaco-editor';\n\nimport {PageContent, Theme} from '../../../models';\nimport {block} from '../../../utils';\nimport {EditorContext} from '../../context';\nimport {parseCode} from '../../utils/code';\nimport {CodeEditorMessageProps} from '../../utils/validation';\n\nimport {options} from './constants';\n\nimport './CodeEditor.scss';\n\nconst b = block('code-editor');\n\ninterface CodeEditorProps {\n code: string;\n fullscreenModeOn: boolean;\n validator: (code: string) => CodeEditorMessageProps;\n onFullscreenModeOnUpdate: (fullscreenModeOn: boolean) => void;\n onChange: (content: PageContent) => void;\n message?: CodeEditorMessageProps;\n}\n\nexport const CodeEditor = ({\n onChange,\n validator,\n fullscreenModeOn,\n onFullscreenModeOnUpdate,\n code,\n}: CodeEditorProps) => {\n const [message, setMessage] = React.useState(() => validator(code));\n const {theme = Theme.Light} = React.useContext(EditorContext);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onChangeWithValidation = React.useCallback(\n debounce((newCode: string) => {\n const validationResult = validator(newCode);\n\n setMessage(validationResult);\n onChange(parseCode(newCode));\n }, 200),\n [onChange, validator],\n );\n\n return (\n <div className={b({fullscreen: fullscreenModeOn})}>\n <div className={b('header')}>\n <Button\n view=\"flat-secondary\"\n onClick={() => onFullscreenModeOnUpdate(!fullscreenModeOn)}\n >\n <Icon\n data={fullscreenModeOn ? ChevronsCollapseUpRight : ChevronsExpandUpRight}\n size={16}\n />\n </Button>\n </div>\n <div className={b('code')}>\n <MonacoEditor\n key={String(fullscreenModeOn)}\n value={code}\n language=\"yaml\"\n options={options}\n onChange={onChangeWithValidation}\n theme={theme === Theme.Dark ? 'vs-dark' : 'vs'}\n />\n </div>\n <div className={b('footer')}>\n {message && (\n <div className={b('message-container')}>\n <div className={b('message', {status: message.status})}>{message.text}</div>\n </div>\n )}\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": {
|
|
3
|
+
"type": "test-editor-block",
|
|
4
|
+
"title": "Lorem ipsum dolor sit amet",
|
|
5
|
+
"table": {
|
|
6
|
+
"content": [
|
|
7
|
+
["Lorem", "ipsum 1", "dolor 2", "sit 3"],
|
|
8
|
+
["Lorem 1", "0", "0", "0"],
|
|
9
|
+
["Lorem 2", "0", "0", "1"],
|
|
10
|
+
["Lorem 3", "0", "0", "1"],
|
|
11
|
+
["Lorem 4", "0", "1", "1"],
|
|
12
|
+
["Lorem 5", "1", "1", "1"]
|
|
13
|
+
],
|
|
14
|
+
"legend": ["ipsum 1", "ipsum 2"],
|
|
15
|
+
"justify": ["start", "center", "center", "center"]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnalytics.js","sourceRoot":"../../../src","sources":["hooks/useAnalytics.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,2EAA6D;AAC7D,uEAAyD;AACzD,+CAAoF;AAE7E,MAAM,YAAY,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,MAAe,EAAE,EAAE;IACvD,MAAM,EAAC,UAAU,EAAE,UAAU,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,mCAAgB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,+BAAc,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACD,IAAI;QACA,CAAC,CAAC;YACI,IAAI;YACJ,OAAO;
|
|
1
|
+
{"version":3,"file":"useAnalytics.js","sourceRoot":"../../../src","sources":["hooks/useAnalytics.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,2EAA6D;AAC7D,uEAAyD;AACzD,+CAAoF;AAE7E,MAAM,YAAY,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,MAAe,EAAE,EAAE;IACvD,MAAM,EAAC,UAAU,EAAE,UAAU,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,mCAAgB,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,+BAAc,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACD,IAAI;QACA,CAAC,CAAC;YACI,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,6BAAoB,CAAC,OAAO;YAClC,MAAM,EAAE,MAAM;SACjB;QACH,CAAC,CAAC,SAAS,EACnB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAC1B,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,OAAO,CAAC,CAA8B,EAAE,iBAA0C,EAAE,EAAE;QAClF,IAAI,MAAM,GAAqB,aAAa,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB;YACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnB,GAAG,KAAK;gBACR,GAAG,iBAAiB;aACvB,CAAC,CAAC;YACL,CAAC,CAAC,MAAM,CAAC;QAEb,UAAU,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC,CAAC;AA1CW,QAAA,YAAY,gBA0CvB","sourcesContent":["import * as React from 'react';\n\nimport {AnalyticsContext} from '../context/analyticsContext';\nimport {BlockIdContext} from '../context/blockIdContext';\nimport {AnalyticsEvent, AnalyticsEventsProp, PredefinedEventTypes} from '../models';\n\nexport const useAnalytics = (name = '', target?: string) => {\n const {sendEvents, autoEvents} = React.useContext(AnalyticsContext);\n const context = React.useContext(BlockIdContext);\n const defaultEvent = React.useMemo(\n () =>\n name\n ? {\n name,\n context: String(context),\n type: PredefinedEventTypes.Default,\n target: target,\n }\n : undefined,\n [context, name, target],\n );\n\n if (!sendEvents) {\n return () => {};\n }\n\n const defaultEvents = defaultEvent && autoEvents ? [defaultEvent] : [];\n\n return (e?: AnalyticsEventsProp | null, additionalContext?: Record<string, string>) => {\n let events: AnalyticsEvent[] = defaultEvents;\n\n if (e) {\n events = Array.isArray(e) ? [...events, ...e] : [...events, e];\n }\n\n if (!events) {\n return;\n }\n\n const preparedEvents = additionalContext\n ? events.map((event) => ({\n ...event,\n ...additionalContext,\n }))\n : events;\n\n sendEvents(preparedEvents);\n };\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare const usePCEditorBlockMouseEvents: (arrayIndex: number[], element?: HTMLElement) => {
|
|
3
|
+
onClick: (e: React.MouseEvent) => void;
|
|
4
|
+
onMouseMove: (e: React.MouseEvent) => void;
|
|
5
|
+
onMouseUp: (e: React.MouseEvent) => void;
|
|
6
|
+
onMouseLeave: () => void;
|
|
7
|
+
};
|
|
8
|
+
export default usePCEditorBlockMouseEvents;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const editor_1 = require("../utils/editor.js");
|
|
6
|
+
const usePostMessageAPI_1 = require("./usePostMessageAPI.js");
|
|
7
|
+
const usePCEditorBlockMouseEvents = (arrayIndex, element) => {
|
|
8
|
+
const onMouseUp = React.useCallback((e) => {
|
|
9
|
+
e.stopPropagation();
|
|
10
|
+
if (element) {
|
|
11
|
+
const rect = element.getClientRects().item(0);
|
|
12
|
+
if (rect) {
|
|
13
|
+
const position = (0, editor_1.getCursorPositionOverElement)(rect, e);
|
|
14
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_MOUSE_UP', { path: arrayIndex, rect, position });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}, [arrayIndex, element]);
|
|
18
|
+
const onMouseMove = React.useCallback((e) => {
|
|
19
|
+
e.stopPropagation();
|
|
20
|
+
if (element) {
|
|
21
|
+
const rect = element.getClientRects().item(0);
|
|
22
|
+
if (rect) {
|
|
23
|
+
const position = (0, editor_1.getCursorPositionOverElement)(rect, e);
|
|
24
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_HOVER_BLOCK', { rect, position });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}, [element]);
|
|
28
|
+
const onMouseLeave = React.useCallback(() => {
|
|
29
|
+
if (element) {
|
|
30
|
+
const rect = element.getClientRects().item(0);
|
|
31
|
+
if (rect) {
|
|
32
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_HOVER_BLOCK', {});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}, [element]);
|
|
36
|
+
const onClick = React.useCallback((e) => {
|
|
37
|
+
e.stopPropagation();
|
|
38
|
+
if (element) {
|
|
39
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_CLICK_BLOCK', { path: arrayIndex });
|
|
40
|
+
}
|
|
41
|
+
}, [arrayIndex, element]);
|
|
42
|
+
return {
|
|
43
|
+
onClick,
|
|
44
|
+
onMouseMove,
|
|
45
|
+
onMouseUp,
|
|
46
|
+
onMouseLeave,
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
exports.default = usePCEditorBlockMouseEvents;
|
|
50
|
+
//# sourceMappingURL=usePCEditorBlockMouseEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePCEditorBlockMouseEvents.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorBlockMouseEvents.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAI/B,+CAA6D;AAE7D,8DAAyD;AAEzD,MAAM,2BAA2B,GAAG,CAAC,UAAoB,EAAE,OAAqB,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAA,qCAA4B,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAA,wCAAoB,EAAC,aAAa,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAA,qCAA4B,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,OAAO,CAAC,CACZ,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,OAAO;QACH,OAAO;QACP,WAAW;QACX,SAAS;QACT,YAAY;KACf,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC","sourcesContent":["import * as React from 'react';\n\nimport _ from 'lodash';\n\nimport {getCursorPositionOverElement} from '../utils/editor';\n\nimport {sendEventPostMessage} from './usePostMessageAPI';\n\nconst usePCEditorBlockMouseEvents = (arrayIndex: number[], element?: HTMLElement) => {\n const onMouseUp = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n const position = getCursorPositionOverElement(rect, e);\n sendEventPostMessage('ON_MOUSE_UP', {path: arrayIndex, rect, position});\n }\n }\n },\n [arrayIndex, element],\n );\n\n const onMouseMove = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n const position = getCursorPositionOverElement(rect, e);\n sendEventPostMessage('ON_HOVER_BLOCK', {rect, position});\n }\n }\n },\n [element],\n );\n\n const onMouseLeave = React.useCallback(() => {\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n sendEventPostMessage('ON_HOVER_BLOCK', {});\n }\n }\n }, [element]);\n\n const onClick = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n sendEventPostMessage('ON_CLICK_BLOCK', {path: arrayIndex});\n }\n },\n [arrayIndex, element],\n );\n\n return {\n onClick,\n onMouseMove,\n onMouseUp,\n onMouseLeave,\n };\n};\n\nexport default usePCEditorBlockMouseEvents;\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
6
|
+
const usePCEditorStore_1 = require("./usePCEditorStore.js");
|
|
7
|
+
const usePostMessageAPI_1 = require("./usePostMessageAPI.js");
|
|
8
|
+
const usePCEditorBlockSelection = (arrayIndex, element) => {
|
|
9
|
+
const { selectedBlock } = (0, usePCEditorStore_1.usePCEditorStore)();
|
|
10
|
+
const onResize = React.useCallback(() => {
|
|
11
|
+
if (element && lodash_1.default.isEqual(selectedBlock, arrayIndex)) {
|
|
12
|
+
const rect = element.getClientRects().item(0);
|
|
13
|
+
if (rect) {
|
|
14
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_UPDATE_BLOCK_SELECTION', { rect });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}, [arrayIndex, element, selectedBlock]);
|
|
18
|
+
React.useEffect(() => {
|
|
19
|
+
window.addEventListener('resize', onResize);
|
|
20
|
+
return () => {
|
|
21
|
+
window.removeEventListener('resize', onResize);
|
|
22
|
+
};
|
|
23
|
+
}, [element, onResize]);
|
|
24
|
+
// Update blockBorders when selectedBlock changes
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
onResize();
|
|
27
|
+
}, [onResize]);
|
|
28
|
+
};
|
|
29
|
+
exports.default = usePCEditorBlockSelection;
|
|
30
|
+
//# sourceMappingURL=usePCEditorBlockSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePCEditorBlockSelection.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorBlockSelection.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,4DAAuB;AAEvB,4DAAoD;AACpD,8DAAyD;AAEzD,MAAM,yBAAyB,GAAG,CAAC,UAAoB,EAAE,OAAqB,EAAE,EAAE;IAC9E,MAAM,EAAC,aAAa,EAAC,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,OAAO,IAAI,gBAAC,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,IAAA,wCAAoB,EAAC,2BAA2B,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5C,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,iDAAiD;IACjD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,kBAAe,yBAAyB,CAAC","sourcesContent":["import * as React from 'react';\nimport _ from 'lodash';\n\nimport {usePCEditorStore} from './usePCEditorStore';\nimport {sendEventPostMessage} from './usePostMessageAPI';\n\nconst usePCEditorBlockSelection = (arrayIndex: number[], element?: HTMLElement) => {\n const {selectedBlock} = usePCEditorStore();\n\n const onResize = React.useCallback(() => {\n if (element && _.isEqual(selectedBlock, arrayIndex)) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n sendEventPostMessage('ON_UPDATE_BLOCK_SELECTION', {rect});\n }\n }\n }, [arrayIndex, element, selectedBlock]);\n\n React.useEffect(() => {\n window.addEventListener('resize', onResize);\n\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [element, onResize]);\n\n // Update blockBorders when selectedBlock changes\n React.useEffect(() => {\n onResize();\n }, [onResize]);\n};\n\nexport default usePCEditorBlockSelection;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PageContentWithNavigation } from "../models/index.js";
|
|
2
|
+
interface UseEditorInitializeProps {
|
|
3
|
+
initialContent: PageContentWithNavigation;
|
|
4
|
+
setContent: (content: PageContentWithNavigation) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const usePCEditorInitializeEvents: ({ initialContent, setContent, }: UseEditorInitializeProps) => void;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.usePCEditorInitializeEvents = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
7
|
+
const constructor_items_1 = require("../constructor-items.js");
|
|
8
|
+
const schema_1 = require("../schema/index.js");
|
|
9
|
+
const form_generator_1 = require("../utils/form-generator.js");
|
|
10
|
+
const usePCEditorStore_1 = require("./usePCEditorStore.js");
|
|
11
|
+
const usePostMessageAPI_1 = require("./usePostMessageAPI.js");
|
|
12
|
+
const usePCEditorInitializeEvents = ({ initialContent, setContent, }) => {
|
|
13
|
+
const { manipulateOverlayMode, initialized, content } = (0, usePCEditorStore_1.usePCEditorStore)();
|
|
14
|
+
React.useEffect(() => {
|
|
15
|
+
if (initialized) {
|
|
16
|
+
setContent(content);
|
|
17
|
+
}
|
|
18
|
+
}, [content, initialized, setContent]);
|
|
19
|
+
(0, usePostMessageAPI_1.useInternalPostMessageAPIListener)('GET_INITIAL_CONTENT', () => {
|
|
20
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_INITIAL_CONTENT', initialContent);
|
|
21
|
+
});
|
|
22
|
+
(0, usePostMessageAPI_1.useInternalPostMessageAPIListener)('GET_SUPPORTED_BLOCKS', () => {
|
|
23
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_SUPPORTED_BLOCKS', {
|
|
24
|
+
blocks: Object.entries(constructor_items_1.blockDataMap).reduce((acc, [key, value]) => {
|
|
25
|
+
acc.push({ type: key, schema: value.schema });
|
|
26
|
+
return acc;
|
|
27
|
+
}, []),
|
|
28
|
+
subBlocks: [],
|
|
29
|
+
global: (0, form_generator_1.generateFromAJV)(schema_1.defaultComponentsConfigurationSchema),
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
const onResize = React.useCallback(() => {
|
|
33
|
+
const height = document.documentElement.getBoundingClientRect().height;
|
|
34
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_RESIZE', { height });
|
|
35
|
+
}, []);
|
|
36
|
+
new ResizeObserver(onResize).observe(document.body);
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
const onMouseUp = () => {
|
|
39
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_MOUSE_UP', {});
|
|
40
|
+
};
|
|
41
|
+
const onMouseMove = (event) => {
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
event.stopPropagation();
|
|
44
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_MOUSE_MOVE', { x: event.clientX, y: event.clientY });
|
|
45
|
+
};
|
|
46
|
+
const throttleOnMouseMove = lodash_1.default.throttle(onMouseMove, 10);
|
|
47
|
+
const throttleOnMouseUp = lodash_1.default.throttle(onMouseUp, 10);
|
|
48
|
+
document.addEventListener('mousemove', throttleOnMouseMove);
|
|
49
|
+
document.addEventListener('mouseup', throttleOnMouseUp);
|
|
50
|
+
window.addEventListener('resize', onResize);
|
|
51
|
+
return () => {
|
|
52
|
+
document.removeEventListener('mousemove', throttleOnMouseMove);
|
|
53
|
+
document.removeEventListener('mouseup', throttleOnMouseUp);
|
|
54
|
+
window.removeEventListener('resize', onResize);
|
|
55
|
+
};
|
|
56
|
+
}, [manipulateOverlayMode, onResize]);
|
|
57
|
+
React.useEffect(() => {
|
|
58
|
+
const height = document.documentElement.getBoundingClientRect().height;
|
|
59
|
+
(0, usePostMessageAPI_1.sendEventPostMessage)('ON_INIT', { height });
|
|
60
|
+
}, []);
|
|
61
|
+
};
|
|
62
|
+
exports.usePCEditorInitializeEvents = usePCEditorInitializeEvents;
|
|
63
|
+
//# sourceMappingURL=usePCEditorInitializeEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePCEditorInitializeEvents.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorInitializeEvents.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAG/B,4DAAuB;AAGvB,+DAAkD;AAElD,+CAA+D;AAC/D,+DAAwD;AAExD,4DAAoD;AACpD,8DAA4F;AAOrF,MAAM,2BAA2B,GAAG,CAAC,EACxC,cAAc,EACd,UAAU,GACa,EAAE,EAAE;IAC3B,MAAM,EAAC,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAC,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAEzE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,WAAW,EAAE,CAAC;YACd,UAAU,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,IAAA,qDAAiC,EAAC,qBAAqB,EAAE,GAAG,EAAE;QAC1D,IAAA,wCAAoB,EAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,qDAAiC,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC3D,IAAA,wCAAoB,EAAC,qBAAqB,EAAE;YACxC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,gCAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9D,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;gBAC5C,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAkB,CAAC;YACtB,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,IAAA,gCAAe,EACnB,6CAAqE,CACxE;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QACvE,IAAA,wCAAoB,EAAC,WAAW,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAChD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEpD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,SAAS,GAAG,GAAG,EAAE;YACnB,IAAA,wCAAoB,EAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YACtC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAA,wCAAoB,EAAC,eAAe,EAAE,EAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAC,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,gBAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,iBAAiB,GAAG,gBAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEpD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC5D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE5C,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC/D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAC3D,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QACvE,IAAA,wCAAoB,EAAC,SAAS,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AAjEW,QAAA,2BAA2B,+BAiEtC","sourcesContent":["import * as React from 'react';\n\nimport {JSONSchemaType} from 'ajv';\nimport _ from 'lodash';\n\nimport {ItemConfig} from '../../common/types';\nimport {blockDataMap} from '../constructor-items';\nimport {PageContentWithNavigation} from '../models';\nimport {defaultComponentsConfigurationSchema} from '../schema';\nimport {generateFromAJV} from '../utils/form-generator';\n\nimport {usePCEditorStore} from './usePCEditorStore';\nimport {sendEventPostMessage, useInternalPostMessageAPIListener} from './usePostMessageAPI';\n\ninterface UseEditorInitializeProps {\n initialContent: PageContentWithNavigation;\n setContent: (content: PageContentWithNavigation) => void;\n}\n\nexport const usePCEditorInitializeEvents = ({\n initialContent,\n setContent,\n}: UseEditorInitializeProps) => {\n const {manipulateOverlayMode, initialized, content} = usePCEditorStore();\n\n React.useEffect(() => {\n if (initialized) {\n setContent(content);\n }\n }, [content, initialized, setContent]);\n\n useInternalPostMessageAPIListener('GET_INITIAL_CONTENT', () => {\n sendEventPostMessage('ON_INITIAL_CONTENT', initialContent);\n });\n\n useInternalPostMessageAPIListener('GET_SUPPORTED_BLOCKS', () => {\n sendEventPostMessage('ON_SUPPORTED_BLOCKS', {\n blocks: Object.entries(blockDataMap).reduce((acc, [key, value]) => {\n acc.push({type: key, schema: value.schema});\n return acc;\n }, [] as ItemConfig[]),\n subBlocks: [],\n global: generateFromAJV(\n defaultComponentsConfigurationSchema as unknown as JSONSchemaType<{}>,\n ),\n });\n });\n\n const onResize = React.useCallback(() => {\n const height = document.documentElement.getBoundingClientRect().height;\n sendEventPostMessage('ON_RESIZE', {height});\n }, []);\n\n new ResizeObserver(onResize).observe(document.body);\n\n React.useEffect(() => {\n const onMouseUp = () => {\n sendEventPostMessage('ON_MOUSE_UP', {});\n };\n\n const onMouseMove = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n sendEventPostMessage('ON_MOUSE_MOVE', {x: event.clientX, y: event.clientY});\n };\n\n const throttleOnMouseMove = _.throttle(onMouseMove, 10);\n const throttleOnMouseUp = _.throttle(onMouseUp, 10);\n\n document.addEventListener('mousemove', throttleOnMouseMove);\n document.addEventListener('mouseup', throttleOnMouseUp);\n window.addEventListener('resize', onResize);\n\n return () => {\n document.removeEventListener('mousemove', throttleOnMouseMove);\n document.removeEventListener('mouseup', throttleOnMouseUp);\n window.removeEventListener('resize', onResize);\n };\n }, [manipulateOverlayMode, onResize]);\n\n React.useEffect(() => {\n const height = document.documentElement.getBoundingClientRect().height;\n sendEventPostMessage('ON_INIT', {height});\n }, []);\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare function usePCEditorItemWrap(index?: number): {
|
|
3
|
+
adminBlockMouseEvents: {
|
|
4
|
+
onClick: (e: React.MouseEvent) => void;
|
|
5
|
+
onMouseMove: (e: React.MouseEvent) => void;
|
|
6
|
+
onMouseUp: (e: React.MouseEvent) => void;
|
|
7
|
+
onMouseLeave: () => void;
|
|
8
|
+
};
|
|
9
|
+
blockRef: (node: HTMLElement | null) => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.usePCEditorItemWrap = usePCEditorItemWrap;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const blockIdContext_1 = require("../context/blockIdContext/index.js");
|
|
7
|
+
const usePCEditorBlockMouseEvents_1 = tslib_1.__importDefault(require("./usePCEditorBlockMouseEvents.js"));
|
|
8
|
+
const usePCEditorBlockSelection_1 = tslib_1.__importDefault(require("./usePCEditorBlockSelection.js"));
|
|
9
|
+
function usePCEditorItemWrap(index = 0) {
|
|
10
|
+
const [element, setElement] = React.useState();
|
|
11
|
+
const blockRef = React.useCallback((node) => {
|
|
12
|
+
if (node !== null) {
|
|
13
|
+
setElement(node);
|
|
14
|
+
}
|
|
15
|
+
}, []);
|
|
16
|
+
const parentBlockId = React.useContext(blockIdContext_1.BlockIdContext);
|
|
17
|
+
const adminBlockMouseEvents = (0, usePCEditorBlockMouseEvents_1.default)([...parentBlockId, index], element);
|
|
18
|
+
(0, usePCEditorBlockSelection_1.default)([...parentBlockId, index], element);
|
|
19
|
+
return { adminBlockMouseEvents, blockRef };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=usePCEditorItemWrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePCEditorItemWrap.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorItemWrap.ts"],"names":[],"mappings":";;AAOA,kDAcC;;AArBD,qDAA+B;AAE/B,uEAAyD;AAEzD,2GAAwE;AACxE,uGAAoE;AAEpE,SAAgB,mBAAmB,CAAC,KAAK,GAAG,CAAC;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAA2B,CAAC;IAExE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAwB,EAAE,EAAE;QAC5D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,+BAAc,CAAC,CAAC;IACvD,MAAM,qBAAqB,GAAG,IAAA,qCAA2B,EAAC,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9F,IAAA,mCAAyB,EAAC,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAE9D,OAAO,EAAC,qBAAqB,EAAE,QAAQ,EAAC,CAAC;AAC7C,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {BlockIdContext} from '../context/blockIdContext';\n\nimport usePCEditorBlockMouseEvents from './usePCEditorBlockMouseEvents';\nimport usePCEditorBlockSelection from './usePCEditorBlockSelection';\n\nexport function usePCEditorItemWrap(index = 0) {\n const [element, setElement] = React.useState<HTMLElement | undefined>();\n\n const blockRef = React.useCallback((node: HTMLElement | null) => {\n if (node !== null) {\n setElement(node);\n }\n }, []);\n\n const parentBlockId = React.useContext(BlockIdContext);\n const adminBlockMouseEvents = usePCEditorBlockMouseEvents([...parentBlockId, index], element);\n usePCEditorBlockSelection([...parentBlockId, index], element);\n\n return {adminBlockMouseEvents, blockRef};\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const usePCEditorStore: () => import("../../common/store.js").EditorState;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.usePCEditorStore = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const zustand_1 = require("zustand");
|
|
7
|
+
const editorStoreContext_1 = require("../context/editorStoreContext/index.js");
|
|
8
|
+
const usePCEditorStore = () => {
|
|
9
|
+
const { state } = React.useContext(editorStoreContext_1.PCEditorStoreContext);
|
|
10
|
+
return (0, zustand_1.useStore)(state);
|
|
11
|
+
};
|
|
12
|
+
exports.usePCEditorStore = usePCEditorStore;
|
|
13
|
+
//# sourceMappingURL=usePCEditorStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePCEditorStore.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorStore.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,qCAAiC;AAEjC,+EAAmE;AAE5D,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,yCAAoB,CAAC,CAAC;IACvD,OAAO,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B","sourcesContent":["import * as React from 'react';\n\nimport {useStore} from 'zustand';\n\nimport {PCEditorStoreContext} from '../context/editorStoreContext';\n\nexport const usePCEditorStore = () => {\n const {state} = React.useContext(PCEditorStoreContext);\n return useStore(state);\n};\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ActionMessageTypes, EventMessageTypes } from "../../common/types/actions.js";
|
|
2
|
+
export declare function sendEventPostMessage<K extends keyof EventMessageTypes>(action: K, data: EventMessageTypes[K]): void;
|
|
3
|
+
export declare function listenPostMessageActions<K extends keyof ActionMessageTypes>(action: K, callback: (data: ActionMessageTypes[K]) => void): () => void;
|
|
4
|
+
export declare function useInternalPostMessageAPIListener<K extends keyof ActionMessageTypes>(action: K, callback: (data: ActionMessageTypes[K]) => void): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendEventPostMessage = sendEventPostMessage;
|
|
4
|
+
exports.listenPostMessageActions = listenPostMessageActions;
|
|
5
|
+
exports.useInternalPostMessageAPIListener = useInternalPostMessageAPIListener;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const React = tslib_1.__importStar(require("react"));
|
|
8
|
+
function sendEventPostMessage(action, data) {
|
|
9
|
+
const message = { action, data };
|
|
10
|
+
window.parent.postMessage(message);
|
|
11
|
+
}
|
|
12
|
+
function listenPostMessageActions(action, callback) {
|
|
13
|
+
const onMessage = (e) => {
|
|
14
|
+
const message = e.data;
|
|
15
|
+
if ('action' in message && message.action === action) {
|
|
16
|
+
return callback(message.data);
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
};
|
|
20
|
+
window.addEventListener('message', onMessage);
|
|
21
|
+
return () => {
|
|
22
|
+
window.removeEventListener('message', onMessage);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function useInternalPostMessageAPIListener(action, callback) {
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
return listenPostMessageActions(action, callback);
|
|
28
|
+
}, [action, callback]);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=usePostMessageAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePostMessageAPI.js","sourceRoot":"../../../src","sources":["hooks/usePostMessageAPI.ts"],"names":[],"mappings":";;AAKA,oDAMC;AAED,4DAmBC;AAED,8EAOC;;AAzCD,qDAA+B;AAK/B,SAAgB,oBAAoB,CAChC,MAAS,EACT,IAA0B;IAE1B,MAAM,OAAO,GAAG,EAAC,MAAM,EAAE,IAAI,EAA6B,CAAC;IAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,wBAAwB,CACpC,MAAS,EACT,QAA+C;IAE/C,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAgC,CAAC;QAEnD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,GAAG,EAAE;QACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,iCAAiC,CAC7C,MAAS,EACT,QAA+C;IAE/C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {PostMessageAPIMessage} from '../../common/types';\nimport {ActionMessageTypes, EventMessageTypes} from '../../common/types/actions';\n\nexport function sendEventPostMessage<K extends keyof EventMessageTypes>(\n action: K,\n data: EventMessageTypes[K],\n) {\n const message = {action, data} as PostMessageAPIMessage<K>;\n window.parent.postMessage(message);\n}\n\nexport function listenPostMessageActions<K extends keyof ActionMessageTypes>(\n action: K,\n callback: (data: ActionMessageTypes[K]) => void,\n) {\n const onMessage = (e: MessageEvent) => {\n const message = e.data as PostMessageAPIMessage<K>;\n\n if ('action' in message && message.action === action) {\n return callback(message.data);\n }\n\n return undefined;\n };\n\n window.addEventListener('message', onMessage);\n\n return () => {\n window.removeEventListener('message', onMessage);\n };\n}\n\nexport function useInternalPostMessageAPIListener<K extends keyof ActionMessageTypes>(\n action: K,\n callback: (data: ActionMessageTypes[K]) => void,\n) {\n React.useEffect(() => {\n return listenPostMessageActions(action, callback);\n }, [action, callback]);\n}\n"]}
|
|
@@ -23,6 +23,7 @@ var BlockType;
|
|
|
23
23
|
BlockType["FilterBlock"] = "filter-block";
|
|
24
24
|
BlockType["FormBlock"] = "form-block";
|
|
25
25
|
// unstable
|
|
26
|
+
BlockType["TestEditorBlock"] = "test-editor-block";
|
|
26
27
|
BlockType["SliderNewBlock"] = "slider-new-block";
|
|
27
28
|
})(BlockType || (exports.BlockType = BlockType = {}));
|
|
28
29
|
exports.BlockTypes = Object.values(BlockType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["models/constructor-items/blocks.ts"],"names":[],"mappings":";;;AA2CA,IAAY,SAsBX;AAtBD,WAAY,SAAS;IACjB,wDAA2C,CAAA;IAC3C,8DAAiD,CAAA;IACjD,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,sDAAyC,CAAA;IACzC,yCAA4B,CAAA;IAC5B,uCAA0B,CAAA;IAC1B,kDAAqC,CAAA;IACrC,wDAA2C,CAAA;IAC3C,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,yCAA4B,CAAA;IAC5B,qCAAwB,CAAA;IACxB,WAAW;IACX,gDAAmC,CAAA;AACvC,CAAC,EAtBW,SAAS,yBAAT,SAAS,QAsBpB;AAEY,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,gBAAgB,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAgCrF,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;AACb,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,sCAAwB,CAAA;IACxB,wCAA0B,CAAA;AAC9B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AA+SD,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,iCAAS,CAAA;IACT,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;AACzB,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AAOD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,kDAA4B,CAAA;IAC5B,kDAA4B,CAAA;IAC5B,uCAAiB,CAAA;AACrB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B","sourcesContent":["import * as React from 'react';\n\nimport {ButtonSize} from '@gravity-ui/uikit';\n\nimport {GridColumnSize, GridColumnSizesType, IndentValue} from '../../grid/types';\nimport {ThemeSupporting} from '../../utils';\nimport {AnalyticsEventsBase} from '../common';\n\nimport {\n AnchorProps,\n Animatable,\n BackgroundImageProps,\n ButtonProps,\n CardBorder,\n ContentSize,\n ContentTextSize,\n ContentTheme,\n FileLinkProps,\n HeaderBreadCrumbsProps,\n HeaderImageSize,\n HeaderOffset,\n HeaderWidth,\n ImageDeviceProps,\n ImageProps,\n Justify,\n LegendTableMarkerType,\n LinkProps,\n MapProps,\n MediaDirection,\n MediaProps,\n MediaView,\n TextSize,\n TextTheme,\n ThemedImage,\n ThemedMediaProps,\n ThemedMediaVideoProps,\n TitleItemBaseProps,\n TitleItemProps,\n WithBorder,\n YandexFormProps,\n} from './common';\nimport {BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels} from './sub-blocks';\n\nexport enum BlockType {\n PromoFeaturesBlock = 'promo-features-block',\n ExtendedFeaturesBlock = 'extended-features-block',\n SliderBlock = 'slider-block',\n QuestionsBlock = 'questions-block',\n BannerBlock = 'banner-block',\n CompaniesBlock = 'companies-block',\n MediaBlock = 'media-block',\n InfoBlock = 'info-block',\n TableBlock = 'table-block',\n TabsBlock = 'tabs-block',\n HeaderSliderBlock = 'header-slider-block',\n HeaderBlock = 'header-block',\n IconsBlock = 'icons-block',\n CardLayoutBlock = 'card-layout-block',\n ContentLayoutBlock = 'content-layout-block',\n ShareBlock = 'share-block',\n MapBlock = 'map-block',\n FilterBlock = 'filter-block',\n FormBlock = 'form-block',\n // unstable\n SliderNewBlock = 'slider-new-block',\n}\n\nexport const BlockTypes = Object.values(BlockType);\nexport const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];\n\nexport interface Childable {\n children?: SubBlock[];\n}\n\n//block props\nexport interface BlockBaseProps {\n anchor?: AnchorProps;\n visible?: GridColumnSize;\n /** @deprecated */\n resetPaddings?: boolean;\n indent?: {\n top?: IndentValue;\n bottom?: IndentValue;\n };\n qa?: string;\n}\n\nexport interface LoadableProps {\n source: string;\n /**\n * @deprecated Will be moved to params\n */\n serviceId?: number;\n params?: Record<string, string | number | boolean | object>;\n}\n\nexport interface LoadableChildren {\n loadable?: LoadableProps;\n}\n\nexport enum SliderBreakpointNames {\n Sm = 'sm',\n Md = 'md',\n Lg = 'lg',\n Xl = 'xl',\n}\n\nexport enum SliderType {\n MediaCard = 'media-card',\n HeaderCard = 'header-card',\n}\n\nexport type SliderBreakpointParams = Record<SliderBreakpointNames, number>;\nexport type SlidesToShow = Partial<SliderBreakpointParams> | number;\n\nexport interface SliderProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n adaptive?: boolean;\n}\n\nexport interface SliderNewProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n}\n\nexport interface HeaderSliderBlockProps extends Omit<SliderProps, 'title' | 'description'> {\n items: HeaderBlockProps[];\n}\n\ninterface HeaderBackgroundProps {\n /** @deprecated replaced by Media Props image */\n url?: string;\n /** @deprecated replaced by Media Props image */\n disableCompress?: boolean;\n}\n\nexport interface HeaderBlockBackground extends Partial<HeaderBackgroundProps>, Partial<MediaProps> {\n fullWidth?: boolean;\n fullWidthMedia?: boolean;\n}\n\nexport type ThemedHeaderBlockBackground = ThemeSupporting<HeaderBlockBackground>;\n\nexport interface HeaderBlockProps {\n title: string;\n overtitle?: string | JSX.Element;\n description?: string;\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];\n width?: HeaderWidth;\n /** @deprecated imageSize now depends on width */\n imageSize?: HeaderImageSize;\n /**\n * @deprecated used only on the main page\n * TODO: delete after the possibility to remove padding-bottom in the block\n */\n offset?: HeaderOffset;\n image?: ThemedImage;\n video?: ThemedMediaVideoProps;\n mediaView?: MediaView;\n centered?: boolean;\n background?: ThemedHeaderBlockBackground;\n theme?: 'light' | 'dark';\n verticalOffset?: '0' | 's' | 'm' | 'l' | 'xl';\n breadcrumbs?: HeaderBreadCrumbsProps;\n status?: JSX.Element;\n renderTitle?: (title: string) => React.ReactNode;\n}\n\nexport interface ExtendedFeaturesItem\n extends Omit<ContentBlockProps, 'theme' | 'centered' | 'colSizes' | 'size' | 'title'> {\n title: string;\n label?: string;\n icon?: ThemedImage;\n /** @deprecated **/\n link?: LinkProps;\n}\n\nexport interface ExtendedFeaturesProps extends Animatable {\n items: ExtendedFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n colSizes?: GridColumnSizesType;\n}\n\nexport interface PromoFeaturesItem {\n title: string;\n text: string;\n theme?: 'accent' | 'accent-light' | 'primary';\n media?: ThemeSupporting<MediaProps>;\n}\n\nexport interface PromoFeaturesProps extends Animatable {\n items: PromoFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n theme?: 'grey' | 'default';\n}\n\nexport interface QuestionItem {\n title: string;\n text: string;\n listStyle?: 'dash' | 'disk';\n link?: LinkProps;\n}\n\nexport interface QuestionsProps\n extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {\n items: QuestionItem[];\n}\n\nexport interface QuestionBlockItemProps extends QuestionItem {\n isOpened: boolean;\n onClick: () => void;\n}\n\nexport interface BannerBlockProps extends BannerCardProps, Animatable {}\n\nexport interface CompaniesBlockProps extends Animatable {\n title: string;\n description?: string;\n images: ThemeSupporting<ImageDeviceProps>;\n}\n\nexport interface MediaBaseBlockProps extends Animatable, MediaContentProps {\n direction?: MediaDirection;\n mobileDirection?: MediaDirection;\n largeMedia?: boolean;\n mediaOnly?: boolean;\n mediaOnlyColSizes?: GridColumnSizesType;\n}\n\nexport interface MediaContentProps\n extends Omit<ContentBlockProps, 'colSizes' | 'text' | 'title' | 'theme' | 'centered'> {\n title: string;\n description?: string;\n /** @deprecated Use array of buttons from ContentBlockProps instead**/\n button?: ButtonProps;\n}\n\nexport interface MediaBlockProps extends MediaBaseBlockProps, WithBorder {\n media: ThemeSupporting<MediaProps>;\n}\n\nexport interface MapBlockProps extends MediaBaseBlockProps, WithBorder {\n map: MapProps;\n}\n\nexport interface InfoBlockProps {\n theme?: TextTheme;\n backgroundColor?: ThemeSupporting<string>;\n /** @deprecated **/\n title?: string;\n /** @deprecated **/\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme'>[];\n /** @deprecated **/\n sectionsTitle?: string;\n /** @deprecated **/\n links?: Pick<LinkProps, 'text' | 'url'>[];\n leftContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n rightContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n}\n\nexport interface TableProps {\n content: string[][];\n legend?: string[];\n hideLegend?: boolean;\n justify?: Justify[];\n marker?: LegendTableMarkerType;\n /**\n * Only as accessible name, not displayed explicitly\n */\n caption?: string;\n}\n\nexport interface TableBlockProps {\n title: string;\n table: TableProps;\n}\n\nexport interface TabsBlockItem\n extends Omit<ContentBlockProps, 'size' | 'colSizes' | 'centered' | 'theme'>,\n WithBorder {\n tabName: string;\n /**\n * @deprecated Use array links from ContentBlockProps instead\n */\n link?: LinkProps;\n image?: ThemedImage;\n caption?: string;\n media?: ThemedMediaProps;\n}\n\nexport interface TabsBlockProps extends Animatable {\n title?: TitleItemProps | string;\n description?: string;\n tabsColSizes?: GridColumnSizesType;\n centered?: boolean;\n direction?: MediaDirection;\n items: TabsBlockItem[];\n contentSize?: ContentSize;\n}\n\nexport interface CardLayoutBlockProps extends Childable, Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n titleClassName?: string;\n description?: string;\n colSizes?: GridColumnSizesType;\n background?: ThemeSupporting<\n BackgroundImageProps & {\n border?: CardBorder;\n }\n >;\n}\n\nexport type FilterTag = {\n id: string;\n label: string;\n};\n\nexport type FilterItem = {\n tags: string[];\n card: SubBlockModels;\n};\n\nexport interface FilterBlockProps extends Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n description?: string;\n tags: FilterTag[];\n items: FilterItem[];\n tagButtonSize?: ButtonSize;\n allTag?: boolean | string;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n}\n\nexport interface IconsBlockItemProps extends AnalyticsEventsBase {\n url: string;\n text: string;\n src: ThemeSupporting<string>;\n}\n\nexport interface IconsBlockProps {\n title?: string;\n description?: string;\n size?: 's' | 'm' | 'l';\n items: IconsBlockItemProps[];\n colSizes?: GridColumnSizesType;\n}\n\ninterface ContentLayoutBlockParams {\n size?: ContentSize;\n background?: ThemeSupporting<BackgroundImageProps>;\n centered?: boolean;\n theme?: ContentTheme;\n textWidth?: ContentTextSize;\n}\n\nexport interface ContentLayoutBlockProps extends ContentLayoutBlockParams {\n textContent: ContentBlockProps;\n fileContent?: FileLinkProps[];\n}\n\nexport type SVGIcon = React.FC<React.SVGProps<SVGSVGElement>>;\n\nexport interface ContentItemProps {\n title?: string;\n text?: string;\n icon: ThemeSupporting<ImageProps | SVGIcon>;\n}\n\nexport interface ContentListProps {\n list: ContentItemProps[];\n size: ContentSize;\n theme?: ContentTheme;\n}\n\nexport interface ContentBlockProps {\n title?: TitleItemBaseProps | string;\n titleId?: string;\n text?: string;\n textId?: string;\n additionalInfo?: string;\n links?: LinkProps[];\n buttons?: ButtonProps[];\n size?: ContentSize;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n theme?: ContentTheme;\n list?: ContentItemProps[];\n controlPosition?: 'default' | 'bottom';\n}\n\nexport enum PCShareSocialNetwork {\n Vk = 'vk',\n Telegram = 'telegram',\n Twitter = 'twitter',\n Facebook = 'facebook',\n LinkedIn = 'linkedin',\n}\n\nexport interface ShareBlockProps {\n items: PCShareSocialNetwork[];\n title?: string;\n}\n\nexport enum FormBlockDataTypes {\n YANDEX = 'yandex',\n HUBSPOT = 'hubspot',\n}\n\nexport enum FormBlockDirection {\n FormContent = 'form-content',\n ContentForm = 'content-form',\n Center = 'center',\n}\n\nexport interface FormBlockYandexData {\n yandex: ThemeSupporting<YandexFormProps>;\n}\n\nexport interface FormBlockHubspotData {\n hubspot: ThemeSupporting<HubspotFormProps>;\n}\n\nexport type FormBlockData = FormBlockYandexData | FormBlockHubspotData;\n\nexport interface FormBlockProps {\n formData: FormBlockData;\n title?: string;\n textContent?: Omit<ContentBlockProps, 'centered' | 'colSizes' | 'size'>;\n direction?: FormBlockDirection;\n background?: ThemeSupporting<BackgroundImageProps>;\n}\n\n//block models\nexport type HeaderBlockModel = {\n type: BlockType.HeaderBlock;\n} & HeaderBlockProps;\n\nexport type SliderBlockModel = {\n type: BlockType.SliderBlock;\n} & SliderProps;\n\nexport type ExtendedFeaturesBlockModel = {\n type: BlockType.ExtendedFeaturesBlock;\n} & ExtendedFeaturesProps;\n\nexport type PromoFeaturesBlockModel = {\n type: BlockType.PromoFeaturesBlock;\n} & PromoFeaturesProps;\n\nexport type QuestionsBlockModel = {\n type: BlockType.QuestionsBlock;\n} & QuestionsProps;\n\nexport type BannerBlockModel = {\n type: BlockType.BannerBlock;\n} & BannerBlockProps;\n\nexport type CompaniesBlockModel = {\n type: BlockType.CompaniesBlock;\n} & CompaniesBlockProps;\n\nexport type MediaBlockModel = {\n type: BlockType.MediaBlock;\n} & MediaBlockProps;\n\nexport type MapBlockModel = {\n type: BlockType.MapBlock;\n} & MapBlockProps;\n\nexport type InfoBlockModel = {\n type: BlockType.InfoBlock;\n} & InfoBlockProps;\n\nexport type TableBlockModel = {\n type: BlockType.TableBlock;\n} & TableBlockProps;\n\nexport type TabsBlockModel = {\n type: BlockType.TabsBlock;\n} & TabsBlockProps;\n\nexport type CardLayoutBlockModel = {\n type: BlockType.CardLayoutBlock;\n} & CardLayoutBlockProps;\n\nexport type FilterBlockModel = {\n type: BlockType.FilterBlock;\n} & FilterBlockProps;\n\nexport type IconsBlockModel = {\n type: BlockType.IconsBlock;\n} & IconsBlockProps;\n\nexport type HeaderSliderBlockModel = {\n type: BlockType.HeaderSliderBlock;\n} & HeaderSliderBlockProps;\n\nexport type ContentLayoutBlockModel = {\n type: BlockType.ContentLayoutBlock;\n} & ContentLayoutBlockProps;\n\nexport type ShareBLockModel = {\n type: BlockType.ShareBlock;\n} & ShareBlockProps;\n\nexport type FormBlockModel = {\n type: BlockType.FormBlock;\n} & FormBlockProps;\n\n// unstable block models\nexport type SliderNewBlockModel = {\n type: BlockType.SliderNewBlock;\n} & SliderNewProps;\n\ntype BlockModels =\n | SliderBlockModel\n | ExtendedFeaturesBlockModel\n | PromoFeaturesBlockModel\n | QuestionsBlockModel\n | BannerBlockModel\n | CompaniesBlockModel\n | MediaBlockModel\n | MapBlockModel\n | InfoBlockModel\n | TableBlockModel\n | TabsBlockModel\n | HeaderBlockModel\n | IconsBlockModel\n | HeaderSliderBlockModel\n | CardLayoutBlockModel\n | ContentLayoutBlockModel\n | ShareBLockModel\n | FilterBlockModel\n | FormBlockModel;\n\ntype UnstableBlockModels = SliderNewBlockModel;\n\nexport type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;\n"]}
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["models/constructor-items/blocks.ts"],"names":[],"mappings":";;;AA2CA,IAAY,SAuBX;AAvBD,WAAY,SAAS;IACjB,wDAA2C,CAAA;IAC3C,8DAAiD,CAAA;IACjD,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,sDAAyC,CAAA;IACzC,yCAA4B,CAAA;IAC5B,uCAA0B,CAAA;IAC1B,kDAAqC,CAAA;IACrC,wDAA2C,CAAA;IAC3C,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,yCAA4B,CAAA;IAC5B,qCAAwB,CAAA;IACxB,WAAW;IACX,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;AACvC,CAAC,EAvBW,SAAS,yBAAT,SAAS,QAuBpB;AAEY,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,gBAAgB,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAgCrF,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;AACb,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,sCAAwB,CAAA;IACxB,wCAA0B,CAAA;AAC9B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AA+SD,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,iCAAS,CAAA;IACT,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;AACzB,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AAOD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,kDAA4B,CAAA;IAC5B,kDAA4B,CAAA;IAC5B,uCAAiB,CAAA;AACrB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B","sourcesContent":["import * as React from 'react';\n\nimport {ButtonSize} from '@gravity-ui/uikit';\n\nimport {GridColumnSize, GridColumnSizesType, IndentValue} from '../../grid/types';\nimport {ThemeSupporting} from '../../utils';\nimport {AnalyticsEventsBase} from '../common';\n\nimport {\n AnchorProps,\n Animatable,\n BackgroundImageProps,\n ButtonProps,\n CardBorder,\n ContentSize,\n ContentTextSize,\n ContentTheme,\n FileLinkProps,\n HeaderBreadCrumbsProps,\n HeaderImageSize,\n HeaderOffset,\n HeaderWidth,\n ImageDeviceProps,\n ImageProps,\n Justify,\n LegendTableMarkerType,\n LinkProps,\n MapProps,\n MediaDirection,\n MediaProps,\n MediaView,\n TextSize,\n TextTheme,\n ThemedImage,\n ThemedMediaProps,\n ThemedMediaVideoProps,\n TitleItemBaseProps,\n TitleItemProps,\n WithBorder,\n YandexFormProps,\n} from './common';\nimport {BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels} from './sub-blocks';\n\nexport enum BlockType {\n PromoFeaturesBlock = 'promo-features-block',\n ExtendedFeaturesBlock = 'extended-features-block',\n SliderBlock = 'slider-block',\n QuestionsBlock = 'questions-block',\n BannerBlock = 'banner-block',\n CompaniesBlock = 'companies-block',\n MediaBlock = 'media-block',\n InfoBlock = 'info-block',\n TableBlock = 'table-block',\n TabsBlock = 'tabs-block',\n HeaderSliderBlock = 'header-slider-block',\n HeaderBlock = 'header-block',\n IconsBlock = 'icons-block',\n CardLayoutBlock = 'card-layout-block',\n ContentLayoutBlock = 'content-layout-block',\n ShareBlock = 'share-block',\n MapBlock = 'map-block',\n FilterBlock = 'filter-block',\n FormBlock = 'form-block',\n // unstable\n TestEditorBlock = 'test-editor-block',\n SliderNewBlock = 'slider-new-block',\n}\n\nexport const BlockTypes = Object.values(BlockType);\nexport const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];\n\nexport interface Childable {\n children?: SubBlock[];\n}\n\n//block props\nexport interface BlockBaseProps {\n anchor?: AnchorProps;\n visible?: GridColumnSize;\n /** @deprecated */\n resetPaddings?: boolean;\n indent?: {\n top?: IndentValue;\n bottom?: IndentValue;\n };\n qa?: string;\n}\n\nexport interface LoadableProps {\n source: string;\n /**\n * @deprecated Will be moved to params\n */\n serviceId?: number;\n params?: Record<string, string | number | boolean | object>;\n}\n\nexport interface LoadableChildren {\n loadable?: LoadableProps;\n}\n\nexport enum SliderBreakpointNames {\n Sm = 'sm',\n Md = 'md',\n Lg = 'lg',\n Xl = 'xl',\n}\n\nexport enum SliderType {\n MediaCard = 'media-card',\n HeaderCard = 'header-card',\n}\n\nexport type SliderBreakpointParams = Record<SliderBreakpointNames, number>;\nexport type SlidesToShow = Partial<SliderBreakpointParams> | number;\n\nexport interface SliderProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n adaptive?: boolean;\n}\n\nexport interface SliderNewProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n}\n\nexport interface HeaderSliderBlockProps extends Omit<SliderProps, 'title' | 'description'> {\n items: HeaderBlockProps[];\n}\n\ninterface HeaderBackgroundProps {\n /** @deprecated replaced by Media Props image */\n url?: string;\n /** @deprecated replaced by Media Props image */\n disableCompress?: boolean;\n}\n\nexport interface HeaderBlockBackground extends Partial<HeaderBackgroundProps>, Partial<MediaProps> {\n fullWidth?: boolean;\n fullWidthMedia?: boolean;\n}\n\nexport type ThemedHeaderBlockBackground = ThemeSupporting<HeaderBlockBackground>;\n\nexport interface HeaderBlockProps {\n title: string;\n overtitle?: string | JSX.Element;\n description?: string;\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];\n width?: HeaderWidth;\n /** @deprecated imageSize now depends on width */\n imageSize?: HeaderImageSize;\n /**\n * @deprecated used only on the main page\n * TODO: delete after the possibility to remove padding-bottom in the block\n */\n offset?: HeaderOffset;\n image?: ThemedImage;\n video?: ThemedMediaVideoProps;\n mediaView?: MediaView;\n centered?: boolean;\n background?: ThemedHeaderBlockBackground;\n theme?: 'light' | 'dark';\n verticalOffset?: '0' | 's' | 'm' | 'l' | 'xl';\n breadcrumbs?: HeaderBreadCrumbsProps;\n status?: JSX.Element;\n renderTitle?: (title: string) => React.ReactNode;\n}\n\nexport interface ExtendedFeaturesItem\n extends Omit<ContentBlockProps, 'theme' | 'centered' | 'colSizes' | 'size' | 'title'> {\n title: string;\n label?: string;\n icon?: ThemedImage;\n /** @deprecated **/\n link?: LinkProps;\n}\n\nexport interface ExtendedFeaturesProps extends Animatable {\n items: ExtendedFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n colSizes?: GridColumnSizesType;\n}\n\nexport interface PromoFeaturesItem {\n title: string;\n text: string;\n theme?: 'accent' | 'accent-light' | 'primary';\n media?: ThemeSupporting<MediaProps>;\n}\n\nexport interface PromoFeaturesProps extends Animatable {\n items: PromoFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n theme?: 'grey' | 'default';\n}\n\nexport interface QuestionItem {\n title: string;\n text: string;\n listStyle?: 'dash' | 'disk';\n link?: LinkProps;\n}\n\nexport interface QuestionsProps\n extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {\n items: QuestionItem[];\n}\n\nexport interface QuestionBlockItemProps extends QuestionItem {\n isOpened: boolean;\n onClick: () => void;\n}\n\nexport interface BannerBlockProps extends BannerCardProps, Animatable {}\n\nexport interface CompaniesBlockProps extends Animatable {\n title: string;\n description?: string;\n images: ThemeSupporting<ImageDeviceProps>;\n}\n\nexport interface MediaBaseBlockProps extends Animatable, MediaContentProps {\n direction?: MediaDirection;\n mobileDirection?: MediaDirection;\n largeMedia?: boolean;\n mediaOnly?: boolean;\n mediaOnlyColSizes?: GridColumnSizesType;\n}\n\nexport interface MediaContentProps\n extends Omit<ContentBlockProps, 'colSizes' | 'text' | 'title' | 'theme' | 'centered'> {\n title: string;\n description?: string;\n /** @deprecated Use array of buttons from ContentBlockProps instead**/\n button?: ButtonProps;\n}\n\nexport interface MediaBlockProps extends MediaBaseBlockProps, WithBorder {\n media: ThemeSupporting<MediaProps>;\n}\n\nexport interface MapBlockProps extends MediaBaseBlockProps, WithBorder {\n map: MapProps;\n}\n\nexport interface InfoBlockProps {\n theme?: TextTheme;\n backgroundColor?: ThemeSupporting<string>;\n /** @deprecated **/\n title?: string;\n /** @deprecated **/\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme'>[];\n /** @deprecated **/\n sectionsTitle?: string;\n /** @deprecated **/\n links?: Pick<LinkProps, 'text' | 'url'>[];\n leftContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n rightContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n}\n\nexport interface TableProps {\n content: string[][];\n legend?: string[];\n hideLegend?: boolean;\n justify?: Justify[];\n marker?: LegendTableMarkerType;\n /**\n * Only as accessible name, not displayed explicitly\n */\n caption?: string;\n}\n\nexport interface TableBlockProps {\n title: string;\n table: TableProps;\n}\n\nexport interface TabsBlockItem\n extends Omit<ContentBlockProps, 'size' | 'colSizes' | 'centered' | 'theme'>,\n WithBorder {\n tabName: string;\n /**\n * @deprecated Use array links from ContentBlockProps instead\n */\n link?: LinkProps;\n image?: ThemedImage;\n caption?: string;\n media?: ThemedMediaProps;\n}\n\nexport interface TabsBlockProps extends Animatable {\n title?: TitleItemProps | string;\n description?: string;\n tabsColSizes?: GridColumnSizesType;\n centered?: boolean;\n direction?: MediaDirection;\n items: TabsBlockItem[];\n contentSize?: ContentSize;\n}\n\nexport interface CardLayoutBlockProps extends Childable, Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n titleClassName?: string;\n description?: string;\n colSizes?: GridColumnSizesType;\n background?: ThemeSupporting<\n BackgroundImageProps & {\n border?: CardBorder;\n }\n >;\n}\n\nexport type FilterTag = {\n id: string;\n label: string;\n};\n\nexport type FilterItem = {\n tags: string[];\n card: SubBlockModels;\n};\n\nexport interface FilterBlockProps extends Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n description?: string;\n tags: FilterTag[];\n items: FilterItem[];\n tagButtonSize?: ButtonSize;\n allTag?: boolean | string;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n}\n\nexport interface IconsBlockItemProps extends AnalyticsEventsBase {\n url: string;\n text: string;\n src: ThemeSupporting<string>;\n}\n\nexport interface IconsBlockProps {\n title?: string;\n description?: string;\n size?: 's' | 'm' | 'l';\n items: IconsBlockItemProps[];\n colSizes?: GridColumnSizesType;\n}\n\ninterface ContentLayoutBlockParams {\n size?: ContentSize;\n background?: ThemeSupporting<BackgroundImageProps>;\n centered?: boolean;\n theme?: ContentTheme;\n textWidth?: ContentTextSize;\n}\n\nexport interface ContentLayoutBlockProps extends ContentLayoutBlockParams {\n textContent: ContentBlockProps;\n fileContent?: FileLinkProps[];\n}\n\nexport type SVGIcon = React.FC<React.SVGProps<SVGSVGElement>>;\n\nexport interface ContentItemProps {\n title?: string;\n text?: string;\n icon: ThemeSupporting<ImageProps | SVGIcon>;\n}\n\nexport interface ContentListProps {\n list: ContentItemProps[];\n size: ContentSize;\n theme?: ContentTheme;\n}\n\nexport interface ContentBlockProps {\n title?: TitleItemBaseProps | string;\n titleId?: string;\n text?: string;\n textId?: string;\n additionalInfo?: string;\n links?: LinkProps[];\n buttons?: ButtonProps[];\n size?: ContentSize;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n theme?: ContentTheme;\n list?: ContentItemProps[];\n controlPosition?: 'default' | 'bottom';\n}\n\nexport enum PCShareSocialNetwork {\n Vk = 'vk',\n Telegram = 'telegram',\n Twitter = 'twitter',\n Facebook = 'facebook',\n LinkedIn = 'linkedin',\n}\n\nexport interface ShareBlockProps {\n items: PCShareSocialNetwork[];\n title?: string;\n}\n\nexport enum FormBlockDataTypes {\n YANDEX = 'yandex',\n HUBSPOT = 'hubspot',\n}\n\nexport enum FormBlockDirection {\n FormContent = 'form-content',\n ContentForm = 'content-form',\n Center = 'center',\n}\n\nexport interface FormBlockYandexData {\n yandex: ThemeSupporting<YandexFormProps>;\n}\n\nexport interface FormBlockHubspotData {\n hubspot: ThemeSupporting<HubspotFormProps>;\n}\n\nexport type FormBlockData = FormBlockYandexData | FormBlockHubspotData;\n\nexport interface FormBlockProps {\n formData: FormBlockData;\n title?: string;\n textContent?: Omit<ContentBlockProps, 'centered' | 'colSizes' | 'size'>;\n direction?: FormBlockDirection;\n background?: ThemeSupporting<BackgroundImageProps>;\n}\n\n//block models\nexport type HeaderBlockModel = {\n type: BlockType.HeaderBlock;\n} & HeaderBlockProps;\n\nexport type SliderBlockModel = {\n type: BlockType.SliderBlock;\n} & SliderProps;\n\nexport type ExtendedFeaturesBlockModel = {\n type: BlockType.ExtendedFeaturesBlock;\n} & ExtendedFeaturesProps;\n\nexport type PromoFeaturesBlockModel = {\n type: BlockType.PromoFeaturesBlock;\n} & PromoFeaturesProps;\n\nexport type QuestionsBlockModel = {\n type: BlockType.QuestionsBlock;\n} & QuestionsProps;\n\nexport type BannerBlockModel = {\n type: BlockType.BannerBlock;\n} & BannerBlockProps;\n\nexport type CompaniesBlockModel = {\n type: BlockType.CompaniesBlock;\n} & CompaniesBlockProps;\n\nexport type MediaBlockModel = {\n type: BlockType.MediaBlock;\n} & MediaBlockProps;\n\nexport type MapBlockModel = {\n type: BlockType.MapBlock;\n} & MapBlockProps;\n\nexport type InfoBlockModel = {\n type: BlockType.InfoBlock;\n} & InfoBlockProps;\n\nexport type TableBlockModel = {\n type: BlockType.TableBlock;\n} & TableBlockProps;\n\nexport type TabsBlockModel = {\n type: BlockType.TabsBlock;\n} & TabsBlockProps;\n\nexport type CardLayoutBlockModel = {\n type: BlockType.CardLayoutBlock;\n} & CardLayoutBlockProps;\n\nexport type FilterBlockModel = {\n type: BlockType.FilterBlock;\n} & FilterBlockProps;\n\nexport type IconsBlockModel = {\n type: BlockType.IconsBlock;\n} & IconsBlockProps;\n\nexport type HeaderSliderBlockModel = {\n type: BlockType.HeaderSliderBlock;\n} & HeaderSliderBlockProps;\n\nexport type ContentLayoutBlockModel = {\n type: BlockType.ContentLayoutBlock;\n} & ContentLayoutBlockProps;\n\nexport type ShareBLockModel = {\n type: BlockType.ShareBlock;\n} & ShareBlockProps;\n\nexport type FormBlockModel = {\n type: BlockType.FormBlock;\n} & FormBlockProps;\n\n// unstable block models\nexport type SliderNewBlockModel = {\n type: BlockType.SliderNewBlock;\n} & SliderNewProps;\n\ntype BlockModels =\n | SliderBlockModel\n | ExtendedFeaturesBlockModel\n | PromoFeaturesBlockModel\n | QuestionsBlockModel\n | BannerBlockModel\n | CompaniesBlockModel\n | MediaBlockModel\n | MapBlockModel\n | InfoBlockModel\n | TableBlockModel\n | TabsBlockModel\n | HeaderBlockModel\n | IconsBlockModel\n | HeaderSliderBlockModel\n | CardLayoutBlockModel\n | ContentLayoutBlockModel\n | ShareBLockModel\n | FilterBlockModel\n | FormBlockModel;\n\ntype UnstableBlockModels = SliderNewBlockModel;\n\nexport type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Animatable, BlockDecorationProps, ConstructorItem, ThemedMediaProps } from "./index.js";
|
|
2
|
+
import { Animatable, BlockDecorationProps, ConstructorItem, NavigationData, ThemedMediaProps } from "./index.js";
|
|
3
3
|
export interface PageData {
|
|
4
4
|
content: PageContent;
|
|
5
5
|
}
|
|
@@ -12,6 +12,9 @@ export interface PageContent extends Animatable {
|
|
|
12
12
|
menu?: Menu;
|
|
13
13
|
background?: ThemedMediaProps;
|
|
14
14
|
}
|
|
15
|
+
export interface PageContentWithNavigation extends PageContent {
|
|
16
|
+
navigation?: NavigationData;
|
|
17
|
+
}
|
|
15
18
|
export interface InitConstrucorState {
|
|
16
19
|
hasMenu: boolean;
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constructor.js","sourceRoot":"../../../src","sources":["models/constructor.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nimport {Animatable
|
|
1
|
+
{"version":3,"file":"constructor.js","sourceRoot":"../../../src","sources":["models/constructor.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nimport {\n Animatable,\n BlockDecorationProps,\n ConstructorItem,\n NavigationData,\n ThemedMediaProps,\n} from './';\n\nexport interface PageData {\n content: PageContent;\n}\n\nexport interface Menu {\n title: string;\n}\n\nexport type ConstructorBlock = ConstructorItem | CustomBlock;\n\nexport interface PageContent extends Animatable {\n blocks: ConstructorBlock[];\n menu?: Menu;\n background?: ThemedMediaProps;\n}\n\nexport interface PageContentWithNavigation extends PageContent {\n navigation?: NavigationData;\n}\n\nexport interface InitConstrucorState {\n hasMenu: boolean;\n}\n\nexport interface CustomBlock {\n type: string;\n\n [key: string]: unknown;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type LoadableData = any;\nexport type FetchLoadableDataParams = {\n blockKey: string;\n serviceId?: number;\n};\nexport type FetchLoadableData<TData = LoadableData> = (\n params: FetchLoadableDataParams,\n) => Promise<TData>;\nexport type ShouldRenderBlock = (block: ConstructorBlock, blockKey: string) => Boolean;\nexport type OnInit = (data: InitConstrucorState) => void;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ComponentProps = React.ComponentProps<React.ComponentClass<any>>;\nexport type CustomItem =\n | React.PropsWithChildren<ComponentProps>\n | React.ComponentType<React.PropsWithChildren<ComponentProps>>;\nexport type CustomItems = Record<string, CustomItem>;\n\nexport interface LoadableConfigItem {\n fetch: FetchLoadableData;\n component: CustomItem;\n}\n\nexport type LoadableConfig = Record<string, LoadableConfigItem>;\n\nexport interface CustomConfig {\n blocks?: CustomItems;\n subBlocks?: CustomItems;\n headers?: CustomItems;\n navigation?: CustomItems;\n loadable?: LoadableConfig;\n decorators?: {\n block?: ((props: BlockDecorationProps) => React.ReactElement)[];\n };\n}\n"]}
|
|
@@ -93,8 +93,8 @@ export interface FooterData {
|
|
|
93
93
|
underline?: FooterUnderline;
|
|
94
94
|
}
|
|
95
95
|
export interface NavigationData {
|
|
96
|
-
logo
|
|
97
|
-
header
|
|
96
|
+
logo?: ThemedNavigationLogoData;
|
|
97
|
+
header?: HeaderData;
|
|
98
98
|
footer?: FooterData;
|
|
99
99
|
renderNavigation?: () => React.ReactNode;
|
|
100
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"../../../src","sources":["models/navigation.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,oDAA8B,CAAA;AAClC,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAEY,QAAA,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AASrE,IAAY,0BAWX;AAXD,WAAY,0BAA0B;IAClC,qDAAuB,CAAA;IACvB,iDAAmB,CAAA;IACnB,mDAAqB,CAAA;IACrB,0DAA4B,CAAA;IAC5B,4DAA8B,CAAA;IAC9B,oEAAsC,CAAA;IACtC,2DAA6B,CAAA;IAC7B,yDAA2B,CAAA;IAC3B,gEAAkC,CAAA;IAClC,mDAAqB,CAAA;AACzB,CAAC,EAXW,0BAA0B,0CAA1B,0BAA0B,QAWrC","sourcesContent":["import {ThemeSupporting} from '../utils';\n\nimport {ButtonProps, ImageProps} from './constructor-items';\n\nexport enum NavigationItemType {\n Link = 'link',\n Dropdown = 'dropdown',\n Button = 'button',\n Social = 'social',\n GithubButton = 'github-button',\n}\n\nexport const NavigationItemTypes = Object.values(NavigationItemType);\n\nexport interface NavigationItemBase {\n text: string;\n icon?: ImageProps;\n url?: string;\n iconSize?: number;\n}\n\nexport enum NavigationGithubButtonIcon {\n heart = 'octicon-heart',\n eye = 'octicon-eye',\n star = 'octicon-star',\n fork = 'octicon-repo-forked',\n issue = 'octicon-issue-opened',\n comment = 'octicon-comment-discussion',\n download = 'octicon-download',\n package = 'octicon-package',\n template = 'octicon-repo-template',\n play = 'octicon-play',\n}\n\nexport interface NavigationGithubButton extends Omit<NavigationItemBase, 'icon'> {\n type: NavigationItemType.GithubButton;\n url: string;\n urlTitle?: string;\n label?: string;\n icon?: keyof typeof NavigationGithubButtonIcon;\n size?: string;\n}\n\nexport interface NavigationLinkItem extends Omit<NavigationItemBase, 'url'> {\n type: NavigationItemType.Link;\n url: string;\n urlTitle?: string;\n arrow?: boolean;\n target?: string;\n}\n\nexport interface NavigationButtonItem extends ButtonProps {\n type: NavigationItemType.Button;\n}\n\nexport interface NavigationDropdownItem extends NavigationItemBase {\n type: NavigationItemType.Dropdown;\n items: NavigationLinkItem[];\n hidePopup: () => void;\n isActive: boolean;\n}\n\nexport interface NavigationSocialItem extends Omit<NavigationItemBase, 'text'> {\n type: NavigationItemType.Social;\n icon: ImageProps;\n url: string;\n urlTitle?: string;\n}\n\nexport type NavigationItemModel =\n | NavigationLinkItem\n | NavigationButtonItem\n | NavigationDropdownItem;\n\nexport type NavigationItemData =\n | NavigationLinkItem\n | NavigationButtonItem\n | NavigationSocialItem\n | NavigationDropdownItem;\n\nexport interface NavigationLogoData {\n icon: ImageProps;\n text?: string;\n url?: string;\n urlTitle?: string;\n alt?: string;\n}\n\nexport type ThemedNavigationLogoData = NavigationLogoData & ThemeSupporting<NavigationLogoData>;\n\nexport interface HeaderData {\n leftItems: NavigationItemModel[];\n rightItems?: NavigationItemModel[];\n\n /**\n * Items for the navigation header on mobile devices.\n * They are located to the right of the Logo and to the left of the MobileMenuButton.\n * @type {NavigationItemModel[]}\n */\n customMobileHeaderItems?: NavigationItemModel[];\n iconSize?: number;\n withBorder?: boolean;\n withBorderOnScroll?: boolean;\n}\n\nexport interface FooterColumn {\n title: string;\n links: NavigationItemModel[];\n}\n\nexport interface FooterUnderline {\n links?: NavigationItemModel[];\n copyright?: string;\n}\n\nexport interface FooterData {\n columns: FooterColumn[];\n social?: NavigationSocialItem[];\n underline?: FooterUnderline;\n}\n\nexport interface NavigationData {\n logo
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"../../../src","sources":["models/navigation.ts"],"names":[],"mappings":";;;AAIA,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,oDAA8B,CAAA;AAClC,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAEY,QAAA,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AASrE,IAAY,0BAWX;AAXD,WAAY,0BAA0B;IAClC,qDAAuB,CAAA;IACvB,iDAAmB,CAAA;IACnB,mDAAqB,CAAA;IACrB,0DAA4B,CAAA;IAC5B,4DAA8B,CAAA;IAC9B,oEAAsC,CAAA;IACtC,2DAA6B,CAAA;IAC7B,yDAA2B,CAAA;IAC3B,gEAAkC,CAAA;IAClC,mDAAqB,CAAA;AACzB,CAAC,EAXW,0BAA0B,0CAA1B,0BAA0B,QAWrC","sourcesContent":["import {ThemeSupporting} from '../utils';\n\nimport {ButtonProps, ImageProps} from './constructor-items';\n\nexport enum NavigationItemType {\n Link = 'link',\n Dropdown = 'dropdown',\n Button = 'button',\n Social = 'social',\n GithubButton = 'github-button',\n}\n\nexport const NavigationItemTypes = Object.values(NavigationItemType);\n\nexport interface NavigationItemBase {\n text: string;\n icon?: ImageProps;\n url?: string;\n iconSize?: number;\n}\n\nexport enum NavigationGithubButtonIcon {\n heart = 'octicon-heart',\n eye = 'octicon-eye',\n star = 'octicon-star',\n fork = 'octicon-repo-forked',\n issue = 'octicon-issue-opened',\n comment = 'octicon-comment-discussion',\n download = 'octicon-download',\n package = 'octicon-package',\n template = 'octicon-repo-template',\n play = 'octicon-play',\n}\n\nexport interface NavigationGithubButton extends Omit<NavigationItemBase, 'icon'> {\n type: NavigationItemType.GithubButton;\n url: string;\n urlTitle?: string;\n label?: string;\n icon?: keyof typeof NavigationGithubButtonIcon;\n size?: string;\n}\n\nexport interface NavigationLinkItem extends Omit<NavigationItemBase, 'url'> {\n type: NavigationItemType.Link;\n url: string;\n urlTitle?: string;\n arrow?: boolean;\n target?: string;\n}\n\nexport interface NavigationButtonItem extends ButtonProps {\n type: NavigationItemType.Button;\n}\n\nexport interface NavigationDropdownItem extends NavigationItemBase {\n type: NavigationItemType.Dropdown;\n items: NavigationLinkItem[];\n hidePopup: () => void;\n isActive: boolean;\n}\n\nexport interface NavigationSocialItem extends Omit<NavigationItemBase, 'text'> {\n type: NavigationItemType.Social;\n icon: ImageProps;\n url: string;\n urlTitle?: string;\n}\n\nexport type NavigationItemModel =\n | NavigationLinkItem\n | NavigationButtonItem\n | NavigationDropdownItem;\n\nexport type NavigationItemData =\n | NavigationLinkItem\n | NavigationButtonItem\n | NavigationSocialItem\n | NavigationDropdownItem;\n\nexport interface NavigationLogoData {\n icon: ImageProps;\n text?: string;\n url?: string;\n urlTitle?: string;\n alt?: string;\n}\n\nexport type ThemedNavigationLogoData = NavigationLogoData & ThemeSupporting<NavigationLogoData>;\n\nexport interface HeaderData {\n leftItems: NavigationItemModel[];\n rightItems?: NavigationItemModel[];\n\n /**\n * Items for the navigation header on mobile devices.\n * They are located to the right of the Logo and to the left of the MobileMenuButton.\n * @type {NavigationItemModel[]}\n */\n customMobileHeaderItems?: NavigationItemModel[];\n iconSize?: number;\n withBorder?: boolean;\n withBorderOnScroll?: boolean;\n}\n\nexport interface FooterColumn {\n title: string;\n links: NavigationItemModel[];\n}\n\nexport interface FooterUnderline {\n links?: NavigationItemModel[];\n copyright?: string;\n}\n\nexport interface FooterData {\n columns: FooterColumn[];\n social?: NavigationSocialItem[];\n underline?: FooterUnderline;\n}\n\nexport interface NavigationData {\n logo?: ThemedNavigationLogoData;\n header?: HeaderData;\n footer?: FooterData;\n renderNavigation?: () => React.ReactNode;\n}\n"]}
|
|
@@ -10,7 +10,7 @@ const Logo_1 = tslib_1.__importDefault(require("../Logo/Logo.js"));
|
|
|
10
10
|
const MobileMenuButton_1 = require("../MobileMenuButton/MobileMenuButton.js");
|
|
11
11
|
const NavigationList_1 = require("../NavigationList/NavigationList.js");
|
|
12
12
|
const b = (0, utils_1.block)('desktop-navigation');
|
|
13
|
-
const DesktopNavigation = ({ logo, leftItemsWithIconSize, rightItemsWithIconSize, customMobileHeaderItems, isSidebarOpened, onSidebarOpenedChange, onActiveItemChange, activeItemId, }) => ((0, jsx_runtime_1.jsxs)("div", { className: b('wrapper'), children: [logo && ((0, jsx_runtime_1.jsx)("div", { className: b('left'), children: (0, jsx_runtime_1.jsx)(Logo_1.default, { ...logo, className: b('logo') }) })), (0, jsx_runtime_1.jsx)("div", { className: b('navigation-container'), children: (0, jsx_runtime_1.jsx)(OverflowScroller_1.default, { className: b('navigation'), onScrollStart: onActiveItemChange, children: (0, jsx_runtime_1.jsx)(NavigationList_1.NavigationList, { items: leftItemsWithIconSize, onActiveItemChange: onActiveItemChange, className: b('links'), itemClassName: b('item'), column: models_1.ItemColumnName.Left, activeItemId: activeItemId, menuLayout: models_1.NavigationLayout.Desktop }) }) }), (0, jsx_runtime_1.jsxs)("div", { className: b('right'), children: [customMobileHeaderItems && ((0, jsx_runtime_1.jsx)("div", { className: b('mobile-navigation-container'), children: (0, jsx_runtime_1.jsx)(OverflowScroller_1.default, { className: b('mobile-navigation'), onScrollStart: onActiveItemChange, arrowSize: 18, children: (0, jsx_runtime_1.jsx)(NavigationList_1.NavigationList, { items: customMobileHeaderItems, onActiveItemChange: onActiveItemChange, className: b('mobile-buttons'), itemClassName: b('item'), column: models_1.ItemColumnName.Left, activeItemId: activeItemId, menuLayout: models_1.NavigationLayout.Dropdown }) }) })), (0, jsx_runtime_1.jsx)(MobileMenuButton_1.MobileMenuButton, { isSidebarOpened: isSidebarOpened, onSidebarOpenedChange: onSidebarOpenedChange }), rightItemsWithIconSize && ((0, jsx_runtime_1.jsx)(NavigationList_1.NavigationList, { onActiveItemChange: onActiveItemChange, column: models_1.ItemColumnName.Right, items: rightItemsWithIconSize, activeItemId: activeItemId, className: b('buttons'), itemClassName: b('item'), menuLayout: models_1.NavigationLayout.Desktop }))] })] }));
|
|
13
|
+
const DesktopNavigation = ({ logo, leftItemsWithIconSize, rightItemsWithIconSize, customMobileHeaderItems, isSidebarOpened, onSidebarOpenedChange, onActiveItemChange, activeItemId, }) => ((0, jsx_runtime_1.jsxs)("div", { className: b('wrapper'), children: [(0, utils_1.isLogoSet)(logo) && ((0, jsx_runtime_1.jsx)("div", { className: b('left'), children: (0, jsx_runtime_1.jsx)(Logo_1.default, { ...logo, className: b('logo') }) })), (0, jsx_runtime_1.jsx)("div", { className: b('navigation-container'), children: (0, jsx_runtime_1.jsx)(OverflowScroller_1.default, { className: b('navigation'), onScrollStart: onActiveItemChange, children: (0, jsx_runtime_1.jsx)(NavigationList_1.NavigationList, { items: leftItemsWithIconSize, onActiveItemChange: onActiveItemChange, className: b('links'), itemClassName: b('item'), column: models_1.ItemColumnName.Left, activeItemId: activeItemId, menuLayout: models_1.NavigationLayout.Desktop }) }) }), (0, jsx_runtime_1.jsxs)("div", { className: b('right'), children: [customMobileHeaderItems && ((0, jsx_runtime_1.jsx)("div", { className: b('mobile-navigation-container'), children: (0, jsx_runtime_1.jsx)(OverflowScroller_1.default, { className: b('mobile-navigation'), onScrollStart: onActiveItemChange, arrowSize: 18, children: (0, jsx_runtime_1.jsx)(NavigationList_1.NavigationList, { items: customMobileHeaderItems, onActiveItemChange: onActiveItemChange, className: b('mobile-buttons'), itemClassName: b('item'), column: models_1.ItemColumnName.Left, activeItemId: activeItemId, menuLayout: models_1.NavigationLayout.Dropdown }) }) })), (0, jsx_runtime_1.jsx)(MobileMenuButton_1.MobileMenuButton, { isSidebarOpened: isSidebarOpened, onSidebarOpenedChange: onSidebarOpenedChange }), rightItemsWithIconSize && ((0, jsx_runtime_1.jsx)(NavigationList_1.NavigationList, { onActiveItemChange: onActiveItemChange, column: models_1.ItemColumnName.Right, items: rightItemsWithIconSize, activeItemId: activeItemId, className: b('buttons'), itemClassName: b('item'), menuLayout: models_1.NavigationLayout.Desktop }))] })] }));
|
|
14
14
|
exports.DesktopNavigation = DesktopNavigation;
|
|
15
15
|
exports.default = exports.DesktopNavigation;
|
|
16
16
|
//# sourceMappingURL=DesktopNavigation.js.map
|