@gravity-ui/page-constructor 3.5.0-alpha.0 → 3.6.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/CHANGELOG.md +46 -0
- package/README.md +2 -0
- package/build/cjs/blocks/Banner/schema.d.ts +63 -21
- package/build/cjs/blocks/CardLayout/schema.d.ts +10 -4
- package/build/cjs/blocks/Companies/schema.d.ts +5 -2
- package/build/cjs/blocks/ContentLayout/ContentLayout.js +3 -2
- package/build/cjs/blocks/ContentLayout/schema.d.ts +107 -61
- package/build/cjs/blocks/ContentLayout/schema.js +23 -18
- package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +31 -4
- package/build/cjs/blocks/ExtendedFeatures/schema.js +2 -3
- package/build/cjs/blocks/FilterBlock/schema.d.ts +13 -5
- package/build/cjs/blocks/FilterBlock/schema.js +13 -2
- package/build/cjs/blocks/Header/Header.css +6 -7
- package/build/cjs/blocks/Header/schema.d.ts +92 -36
- package/build/cjs/blocks/Header/schema.js +1 -0
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +48 -53
- package/build/cjs/blocks/HeaderSlider/schema.js +3 -1
- package/build/cjs/blocks/Icons/schema.d.ts +3 -1
- package/build/cjs/blocks/Icons/schema.js +2 -1
- package/build/cjs/blocks/Info/schema.d.ts +19 -8
- package/build/cjs/blocks/Map/schema.d.ts +17 -6
- package/build/cjs/blocks/Media/schema.d.ts +204 -152
- package/build/cjs/blocks/Media/schema.js +1 -1
- package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +22 -8
- package/build/cjs/blocks/PromoFeaturesBlock/schema.js +1 -0
- package/build/cjs/blocks/Questions/schema.d.ts +7 -3
- package/build/cjs/blocks/Slider/schema.d.ts +13 -18
- package/build/cjs/blocks/Slider/schema.js +4 -5
- package/build/cjs/blocks/Table/schema.d.ts +5 -2
- package/build/cjs/blocks/Table/schema.js +12 -2
- package/build/cjs/blocks/Tabs/schema.d.ts +43 -16
- package/build/cjs/components/BlockBase/BlockBase.js +2 -2
- package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
- package/build/cjs/components/Image/schema.d.ts +1 -0
- package/build/cjs/components/Image/schema.js +3 -2
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
- package/build/cjs/customization/BlockDecoration.d.ts +1 -1
- package/build/cjs/customization/BlockDecoration.js +5 -6
- package/build/cjs/editor/{Components → components}/AddBlock/AddBlock.css +1 -1
- package/build/cjs/editor/components/AddBlock/AddBlock.d.ts +7 -0
- package/build/cjs/editor/{Components → components}/AddBlock/AddBlock.js +2 -2
- package/build/cjs/editor/components/BlockForm/BlockForm.d.ts +12 -0
- package/build/cjs/editor/components/BlockForm/BlockForm.js +33 -0
- package/build/cjs/editor/components/ControlPanel/ControlPanel.css +26 -0
- package/build/cjs/editor/components/ControlPanel/ControlPanel.d.ts +8 -0
- package/build/cjs/editor/components/ControlPanel/ControlPanel.js +25 -0
- package/build/cjs/editor/components/ControlPanel/i18n/en.json +3 -0
- package/build/cjs/editor/components/ControlPanel/i18n/index.d.ts +2 -0
- package/build/cjs/editor/components/ControlPanel/i18n/index.js +8 -0
- package/build/cjs/editor/components/ControlPanel/i18n/ru.json +3 -0
- package/build/cjs/editor/components/EditBlock/EditBlock.d.ts +13 -0
- package/build/cjs/editor/components/EditBlock/EditBlock.js +44 -0
- package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.css +27 -0
- package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.d.ts +13 -0
- package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +35 -0
- package/build/cjs/editor/components/ErrorBoundary/i18n/en.json +4 -0
- package/build/cjs/editor/components/ErrorBoundary/i18n/index.d.ts +2 -0
- package/build/cjs/editor/components/ErrorBoundary/i18n/index.js +8 -0
- package/build/cjs/editor/components/ErrorBoundary/i18n/ru.json +4 -0
- package/build/cjs/editor/components/Layout/Layout.css +39 -0
- package/build/cjs/editor/components/Layout/Layout.d.ts +16 -0
- package/build/cjs/editor/components/Layout/Layout.js +34 -0
- package/build/cjs/editor/components/PagePropsForm/PagePropsForm.d.ts +10 -0
- package/build/cjs/editor/components/PagePropsForm/PagePropsForm.js +17 -0
- package/build/cjs/editor/containers/Editor/Editor.d.ts +2 -0
- package/build/cjs/editor/containers/Editor/Editor.js +40 -0
- package/build/cjs/editor/containers/Form/Form.css +94 -0
- package/build/cjs/editor/containers/Form/Form.d.ts +11 -0
- package/build/cjs/editor/containers/Form/Form.js +47 -0
- package/build/cjs/editor/containers/Form/dynamic-form-custom.css +0 -0
- package/build/cjs/editor/data/templates/banner-block.json +25 -0
- package/build/cjs/editor/data/templates/card-layout-block.json +39 -0
- package/build/cjs/editor/data/templates/companies-block.json +20 -0
- package/build/cjs/editor/data/templates/content-layout-block.json +56 -0
- package/build/cjs/editor/data/templates/extended-features-block.json +56 -0
- package/build/cjs/editor/data/templates/filter-block.json +62 -0
- package/build/cjs/editor/data/templates/header-block.json +19 -0
- package/build/cjs/editor/data/templates/header-slider-block.json +69 -0
- package/build/cjs/editor/data/templates/icons-block.json +32 -0
- package/build/cjs/editor/data/templates/info-block.json +40 -0
- package/build/cjs/editor/data/templates/link-table-block.json +10 -0
- package/build/cjs/editor/data/templates/map-block.json +48 -0
- package/build/cjs/editor/data/templates/media-block.json +15 -0
- package/build/cjs/editor/data/templates/preview-block.json +38 -0
- package/build/cjs/editor/data/templates/promo-features-block.json +52 -0
- package/build/cjs/editor/data/templates/questions-block.json +105 -0
- package/build/cjs/editor/data/templates/security-block.json +36 -0
- package/build/cjs/editor/data/templates/share-block.json +6 -0
- package/build/cjs/editor/data/templates/simple-block.json +7 -0
- package/build/cjs/editor/data/templates/slider-block.json +46 -0
- package/build/cjs/editor/data/templates/table-block.json +18 -0
- package/build/cjs/editor/data/templates/tabs-block.json +90 -0
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +27 -0
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.d.ts +19 -0
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +72 -0
- package/build/cjs/editor/dynamic-forms-custom/config.d.ts +2 -0
- package/build/cjs/editor/dynamic-forms-custom/config.js +13 -0
- package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.d.ts +12 -0
- package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +75 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/detect.d.ts +9 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/detect.js +36 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/index.d.ts +28 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/index.js +188 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/types.d.ts +29 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/types.js +2 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/views.d.ts +37 -0
- package/build/cjs/editor/dynamic-forms-custom/parser/views.js +46 -0
- package/build/cjs/editor/hooks/useFormSpec.d.ts +2 -0
- package/build/cjs/editor/hooks/useFormSpec.js +13 -0
- package/build/cjs/editor/hooks/usePreviousValue.d.ts +1 -0
- package/build/cjs/editor/hooks/usePreviousValue.js +11 -0
- package/build/cjs/editor/index.d.ts +1 -1
- package/build/cjs/editor/index.js +1 -1
- package/build/cjs/editor/store/index.d.ts +10 -11
- package/build/cjs/editor/store/index.js +66 -15
- package/build/cjs/editor/store/reducer.d.ts +24 -9
- package/build/cjs/editor/store/reducer.js +17 -31
- package/build/cjs/editor/store/utils.d.ts +1 -0
- package/build/cjs/editor/store/utils.js +3 -1
- package/build/cjs/editor/styles/root.css +5 -0
- package/build/cjs/editor/types/index.d.ts +15 -9
- package/build/cjs/editor/types/index.js +6 -0
- package/build/cjs/editor/utils/index.d.ts +4 -3
- package/build/cjs/editor/utils/index.js +6 -4
- package/build/cjs/grid/Col/Col.d.ts +1 -1
- package/build/cjs/models/constructor-items/blocks.d.ts +13 -8
- package/build/cjs/models/constructor.d.ts +2 -2
- package/build/cjs/models/customization.d.ts +3 -8
- package/build/cjs/models/navigation.d.ts +1 -0
- package/build/cjs/navigation/components/Header/Header.css +2 -0
- package/build/cjs/navigation/components/Header/Header.js +15 -4
- package/build/cjs/navigation/schema.d.ts +1 -0
- package/build/cjs/schema/constants.d.ts +908 -0
- package/build/cjs/schema/constants.js +42 -0
- package/build/cjs/schema/index.d.ts +9 -228
- package/build/cjs/schema/index.js +8 -46
- package/build/cjs/schema/validators/common.d.ts +71 -27
- package/build/cjs/schema/validators/common.js +50 -17
- package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +12 -5
- package/build/cjs/sub-blocks/BasicCard/schema.d.ts +8 -3
- package/build/cjs/sub-blocks/Content/schema.d.ts +14 -6
- package/build/cjs/sub-blocks/Content/schema.js +9 -1
- package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +23 -9
- package/build/cjs/sub-blocks/MediaCard/schema.d.ts +16 -6
- package/build/cjs/sub-blocks/PriceDetailed/schema.d.ts +1 -0
- package/build/cjs/sub-blocks/PriceDetailed/schema.js +5 -1
- package/build/cjs/sub-blocks/Quote/schema.d.ts +6 -2
- package/build/esm/blocks/Banner/schema.d.ts +63 -21
- package/build/esm/blocks/CardLayout/schema.d.ts +10 -4
- package/build/esm/blocks/Companies/schema.d.ts +5 -2
- package/build/esm/blocks/ContentLayout/ContentLayout.js +3 -2
- package/build/esm/blocks/ContentLayout/schema.d.ts +107 -61
- package/build/esm/blocks/ContentLayout/schema.js +23 -18
- package/build/esm/blocks/ExtendedFeatures/schema.d.ts +31 -4
- package/build/esm/blocks/ExtendedFeatures/schema.js +3 -4
- package/build/esm/blocks/FilterBlock/schema.d.ts +13 -5
- package/build/esm/blocks/FilterBlock/schema.js +13 -2
- package/build/esm/blocks/Header/Header.css +6 -7
- package/build/esm/blocks/Header/schema.d.ts +92 -36
- package/build/esm/blocks/Header/schema.js +1 -0
- package/build/esm/blocks/HeaderSlider/schema.d.ts +48 -53
- package/build/esm/blocks/HeaderSlider/schema.js +2 -1
- package/build/esm/blocks/Icons/schema.d.ts +3 -1
- package/build/esm/blocks/Icons/schema.js +2 -1
- package/build/esm/blocks/Info/schema.d.ts +19 -8
- package/build/esm/blocks/Map/schema.d.ts +17 -6
- package/build/esm/blocks/Media/schema.d.ts +204 -152
- package/build/esm/blocks/Media/schema.js +2 -2
- package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +22 -8
- package/build/esm/blocks/PromoFeaturesBlock/schema.js +1 -0
- package/build/esm/blocks/Questions/schema.d.ts +7 -3
- package/build/esm/blocks/Slider/schema.d.ts +13 -18
- package/build/esm/blocks/Slider/schema.js +4 -5
- package/build/esm/blocks/Table/schema.d.ts +5 -2
- package/build/esm/blocks/Table/schema.js +12 -2
- package/build/esm/blocks/Tabs/schema.d.ts +43 -16
- package/build/esm/components/BlockBase/BlockBase.js +2 -2
- package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
- package/build/esm/components/Image/schema.d.ts +1 -0
- package/build/esm/components/Image/schema.js +3 -2
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
- package/build/esm/customization/BlockDecoration.d.ts +1 -1
- package/build/esm/customization/BlockDecoration.js +6 -6
- package/build/esm/editor/{Components → components}/AddBlock/AddBlock.css +1 -1
- package/build/esm/editor/components/AddBlock/AddBlock.d.ts +8 -0
- package/build/esm/editor/{Components → components}/AddBlock/AddBlock.js +2 -2
- package/build/esm/editor/components/BlockForm/BlockForm.d.ts +12 -0
- package/build/esm/editor/components/BlockForm/BlockForm.js +30 -0
- package/build/esm/editor/components/ControlPanel/ControlPanel.css +26 -0
- package/build/esm/editor/components/ControlPanel/ControlPanel.d.ts +9 -0
- package/build/esm/editor/components/ControlPanel/ControlPanel.js +23 -0
- package/build/esm/editor/components/ControlPanel/i18n/en.json +3 -0
- package/build/esm/editor/components/ControlPanel/i18n/index.d.ts +2 -0
- package/build/esm/editor/components/ControlPanel/i18n/index.js +5 -0
- package/build/esm/editor/components/ControlPanel/i18n/ru.json +3 -0
- package/build/esm/editor/components/EditBlock/EditBlock.d.ts +14 -0
- package/build/esm/editor/components/EditBlock/EditBlock.js +41 -0
- package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.css +27 -0
- package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.d.ts +14 -0
- package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +31 -0
- package/build/esm/editor/components/ErrorBoundary/i18n/en.json +4 -0
- package/build/esm/editor/components/ErrorBoundary/i18n/index.d.ts +2 -0
- package/build/esm/editor/components/ErrorBoundary/i18n/index.js +5 -0
- package/build/esm/editor/components/ErrorBoundary/i18n/ru.json +4 -0
- package/build/esm/editor/components/Layout/Layout.css +39 -0
- package/build/esm/editor/components/Layout/Layout.d.ts +17 -0
- package/build/esm/editor/components/Layout/Layout.js +32 -0
- package/build/esm/editor/components/PagePropsForm/PagePropsForm.d.ts +10 -0
- package/build/esm/editor/components/PagePropsForm/PagePropsForm.js +13 -0
- package/build/esm/editor/containers/Editor/Editor.d.ts +2 -0
- package/build/esm/editor/containers/Editor/Editor.js +36 -0
- package/build/esm/editor/containers/Form/Form.css +94 -0
- package/build/esm/editor/containers/Form/Form.d.ts +12 -0
- package/build/esm/editor/containers/Form/Form.js +45 -0
- package/build/esm/editor/containers/Form/dynamic-form-custom.css +0 -0
- package/build/esm/editor/data/templates/banner-block.json +25 -0
- package/build/esm/editor/data/templates/card-layout-block.json +39 -0
- package/build/esm/editor/data/templates/companies-block.json +20 -0
- package/build/esm/editor/data/templates/content-layout-block.json +56 -0
- package/build/esm/editor/data/templates/extended-features-block.json +56 -0
- package/build/esm/editor/data/templates/filter-block.json +62 -0
- package/build/esm/editor/data/templates/header-block.json +19 -0
- package/build/esm/editor/data/templates/header-slider-block.json +69 -0
- package/build/esm/editor/data/templates/icons-block.json +32 -0
- package/build/esm/editor/data/templates/info-block.json +40 -0
- package/build/esm/editor/data/templates/link-table-block.json +10 -0
- package/build/esm/editor/data/templates/map-block.json +48 -0
- package/build/esm/editor/data/templates/media-block.json +15 -0
- package/build/esm/editor/data/templates/preview-block.json +38 -0
- package/build/esm/editor/data/templates/promo-features-block.json +52 -0
- package/build/esm/editor/data/templates/questions-block.json +105 -0
- package/build/esm/editor/data/templates/security-block.json +36 -0
- package/build/esm/editor/data/templates/share-block.json +6 -0
- package/build/esm/editor/data/templates/simple-block.json +7 -0
- package/build/esm/editor/data/templates/slider-block.json +46 -0
- package/build/esm/editor/data/templates/table-block.json +18 -0
- package/build/esm/editor/data/templates/tabs-block.json +90 -0
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +27 -0
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.d.ts +20 -0
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +68 -0
- package/build/esm/editor/dynamic-forms-custom/config.d.ts +2 -0
- package/build/esm/editor/dynamic-forms-custom/config.js +9 -0
- package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.d.ts +12 -0
- package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +69 -0
- package/build/esm/editor/dynamic-forms-custom/parser/detect.d.ts +9 -0
- package/build/esm/editor/dynamic-forms-custom/parser/detect.js +32 -0
- package/build/esm/editor/dynamic-forms-custom/parser/index.d.ts +28 -0
- package/build/esm/editor/dynamic-forms-custom/parser/index.js +186 -0
- package/build/esm/editor/dynamic-forms-custom/parser/types.d.ts +29 -0
- package/build/esm/editor/dynamic-forms-custom/parser/types.js +1 -0
- package/build/esm/editor/dynamic-forms-custom/parser/views.d.ts +37 -0
- package/build/esm/editor/dynamic-forms-custom/parser/views.js +39 -0
- package/build/esm/editor/hooks/useFormSpec.d.ts +2 -0
- package/build/esm/editor/hooks/useFormSpec.js +9 -0
- package/build/esm/editor/hooks/usePreviousValue.d.ts +1 -0
- package/build/esm/editor/hooks/usePreviousValue.js +8 -0
- package/build/esm/editor/index.d.ts +1 -1
- package/build/esm/editor/index.js +1 -1
- package/build/esm/editor/store/index.d.ts +10 -11
- package/build/esm/editor/store/index.js +68 -17
- package/build/esm/editor/store/reducer.d.ts +24 -9
- package/build/esm/editor/store/reducer.js +15 -29
- package/build/esm/editor/store/utils.d.ts +1 -0
- package/build/esm/editor/store/utils.js +1 -0
- package/build/esm/editor/styles/root.css +5 -0
- package/build/esm/editor/types/index.d.ts +15 -9
- package/build/esm/editor/types/index.js +5 -1
- package/build/esm/editor/utils/index.d.ts +4 -3
- package/build/esm/editor/utils/index.js +4 -3
- package/build/esm/grid/Col/Col.d.ts +1 -1
- package/build/esm/models/constructor-items/blocks.d.ts +13 -8
- package/build/esm/models/constructor.d.ts +2 -2
- package/build/esm/models/customization.d.ts +3 -8
- package/build/esm/models/navigation.d.ts +1 -0
- package/build/esm/navigation/components/Header/Header.css +2 -0
- package/build/esm/navigation/components/Header/Header.js +16 -5
- package/build/esm/navigation/schema.d.ts +1 -0
- package/build/esm/schema/constants.d.ts +908 -0
- package/build/esm/schema/constants.js +39 -0
- package/build/esm/schema/index.d.ts +9 -228
- package/build/esm/schema/index.js +4 -42
- package/build/esm/schema/validators/common.d.ts +71 -27
- package/build/esm/schema/validators/common.js +49 -16
- package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +12 -5
- package/build/esm/sub-blocks/BasicCard/schema.d.ts +8 -3
- package/build/esm/sub-blocks/Content/schema.d.ts +14 -6
- package/build/esm/sub-blocks/Content/schema.js +9 -1
- package/build/esm/sub-blocks/LayoutItem/schema.d.ts +23 -9
- package/build/esm/sub-blocks/MediaCard/schema.d.ts +16 -6
- package/build/esm/sub-blocks/PriceDetailed/schema.d.ts +1 -0
- package/build/esm/sub-blocks/PriceDetailed/schema.js +5 -1
- package/build/esm/sub-blocks/Quote/schema.d.ts +6 -2
- package/package.json +39 -7
- package/server/models/constructor-items/blocks.d.ts +13 -8
- package/server/models/constructor.d.ts +2 -2
- package/server/models/customization.d.ts +3 -8
- package/server/models/navigation.d.ts +1 -0
- package/build/cjs/editor/Components/AddBlock/AddBlock.d.ts +0 -7
- package/build/cjs/editor/Components/EditBlock/EditBlock.d.ts +0 -4
- package/build/cjs/editor/Components/EditBlock/EditBlock.js +0 -32
- package/build/cjs/editor/Containers/Editor.d.ts +0 -2
- package/build/cjs/editor/Containers/Editor.js +0 -24
- package/build/esm/editor/Components/AddBlock/AddBlock.d.ts +0 -8
- package/build/esm/editor/Components/EditBlock/EditBlock.d.ts +0 -5
- package/build/esm/editor/Components/EditBlock/EditBlock.js +0 -30
- package/build/esm/editor/Containers/Editor.d.ts +0 -2
- package/build/esm/editor/Containers/Editor.js +0 -20
- /package/build/cjs/editor/{Components → components}/EditBlock/EditBlock.css +0 -0
- /package/build/esm/editor/{Components → components}/EditBlock/EditBlock.css +0 -0
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { PageConstructorProps } from '../../containers/PageConstructor';
|
|
3
|
-
import {
|
|
3
|
+
import { BlockDecorationProps, PageContent } from '../../models';
|
|
4
|
+
import { SchemaCustomConfig } from '../../schema';
|
|
5
|
+
import { EditBlockActions } from '../components/EditBlock/EditBlock';
|
|
4
6
|
export type EditorBlockId = number | string;
|
|
5
7
|
export interface EditorProps extends Required<Pick<PageConstructorProps, 'content'>>, Partial<Omit<PageConstructorProps, 'content'>> {
|
|
6
8
|
children: (props: Partial<PageConstructorProps>) => React.ReactNode;
|
|
7
|
-
onChange?: (data:
|
|
9
|
+
onChange?: (data: PageContent) => void;
|
|
10
|
+
customSchema?: SchemaCustomConfig;
|
|
8
11
|
}
|
|
9
12
|
export interface EditBlockEditorProps {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
isActive?: boolean;
|
|
14
|
+
onSelect: () => void;
|
|
15
|
+
actions: EditBlockActions;
|
|
16
|
+
}
|
|
17
|
+
export interface EditBlockProps extends EditBlockEditorProps, BlockDecorationProps {
|
|
18
|
+
isHeader?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare enum ViewModeItem {
|
|
21
|
+
Edititng = "editing",
|
|
22
|
+
View = "view"
|
|
16
23
|
}
|
|
17
|
-
export type EditBlockProps = EditBlockEditorProps & BlockDecoratorProps;
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ViewModeItem = void 0;
|
|
4
|
+
var ViewModeItem;
|
|
5
|
+
(function (ViewModeItem) {
|
|
6
|
+
ViewModeItem["Edititng"] = "editing";
|
|
7
|
+
ViewModeItem["View"] = "view";
|
|
8
|
+
})(ViewModeItem = exports.ViewModeItem || (exports.ViewModeItem = {}));
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { BlockDecorator, CustomConfig } from '../../models';
|
|
1
|
+
import { BlockDecorationProps, BlockDecorator, CustomConfig } from '../../models';
|
|
2
2
|
export declare const formatBlockName: (name: string) => string;
|
|
3
|
-
export declare const addCustomDecorator: (
|
|
3
|
+
export declare const addCustomDecorator: (decorators: BlockDecorator[], custom?: CustomConfig) => {
|
|
4
4
|
decorators: {
|
|
5
|
-
block: ((props:
|
|
5
|
+
block: ((props: BlockDecorationProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>)[];
|
|
6
6
|
};
|
|
7
7
|
blocks?: import("../../models").CustomItems | undefined;
|
|
8
8
|
subBlocks?: import("../../models").CustomItems | undefined;
|
|
9
9
|
headers?: import("../../models").CustomItems | undefined;
|
|
10
10
|
loadable?: import("../../models").LoadableConfig | undefined;
|
|
11
11
|
};
|
|
12
|
+
export declare const getBlockId: ({ index, type }: BlockDecorationProps) => string;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addCustomDecorator = exports.formatBlockName = void 0;
|
|
3
|
+
exports.getBlockId = exports.addCustomDecorator = exports.formatBlockName = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
6
6
|
const formatBlockName = (name) => lodash_1.default.capitalize(name).replace(/(block|-)/g, ' ');
|
|
7
7
|
exports.formatBlockName = formatBlockName;
|
|
8
|
-
const addCustomDecorator = (
|
|
9
|
-
const
|
|
10
|
-
return Object.assign(Object.assign({}, custom), { decorators: Object.assign(Object.assign({},
|
|
8
|
+
const addCustomDecorator = (decorators, custom = {}) => {
|
|
9
|
+
const customDecorators = custom.decorators || {};
|
|
10
|
+
return Object.assign(Object.assign({}, custom), { decorators: Object.assign(Object.assign({}, customDecorators), { block: [...(customDecorators.block || []), ...decorators] }) });
|
|
11
11
|
};
|
|
12
12
|
exports.addCustomDecorator = addCustomDecorator;
|
|
13
|
+
const getBlockId = ({ index, type }) => `${type}${index === undefined ? '' : `-${index}`}`;
|
|
14
|
+
exports.getBlockId = getBlockId;
|
|
@@ -7,4 +7,4 @@ export interface GridColumnProps extends GridColumnClassParams, Refable<HTMLDivE
|
|
|
7
7
|
dataQa?: string;
|
|
8
8
|
children?: React.ReactNode;
|
|
9
9
|
}
|
|
10
|
-
export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "className" | "
|
|
10
|
+
export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "className" | "visible" | "reset" | "sizes" | "offsets" | "orders" | "hidden" | "alignSelf" | "justifyContent" | "dataQa"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -30,6 +30,7 @@ export interface Childable {
|
|
|
30
30
|
children?: SubBlock[];
|
|
31
31
|
}
|
|
32
32
|
export interface BlockBaseProps {
|
|
33
|
+
type: BlockType;
|
|
33
34
|
index?: number;
|
|
34
35
|
anchor?: AnchorProps;
|
|
35
36
|
visible?: GridColumnSize;
|
|
@@ -244,14 +245,18 @@ export interface IconsBlockProps {
|
|
|
244
245
|
src: string;
|
|
245
246
|
}[];
|
|
246
247
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
248
|
+
interface ContentLayoutBlockParams {
|
|
249
|
+
size?: ContentSize;
|
|
250
|
+
background?: BackgroundImageProps;
|
|
251
|
+
centered?: boolean;
|
|
252
|
+
theme?: ContentTheme;
|
|
253
|
+
textWidth?: ContentTextSize;
|
|
254
|
+
}
|
|
255
|
+
export interface ContentLayoutBlockProps extends ContentLayoutBlockParams {
|
|
256
|
+
/**
|
|
257
|
+
* @deprecated Use params on top level instead
|
|
258
|
+
*/
|
|
259
|
+
properties?: ContentLayoutBlockParams;
|
|
255
260
|
textContent: ContentBlockProps;
|
|
256
261
|
fileContent?: FileLinkProps[];
|
|
257
262
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import { Animatable, Block,
|
|
2
|
+
import { Animatable, Block, BlockDecorationProps, ConstructorItem, ThemedMediaProps, WithChildren } from './';
|
|
3
3
|
export interface PageData {
|
|
4
4
|
content: PageContent;
|
|
5
5
|
}
|
|
@@ -41,7 +41,7 @@ export interface CustomConfig {
|
|
|
41
41
|
headers?: CustomItems;
|
|
42
42
|
loadable?: LoadableConfig;
|
|
43
43
|
decorators?: {
|
|
44
|
-
block?: ((props:
|
|
44
|
+
block?: ((props: BlockDecorationProps) => React.ReactElement)[];
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
export {};
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export interface BlockDecoratorProps extends PropsWithChildren {
|
|
6
|
-
id: string | number;
|
|
7
|
-
isHeader?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export type BlockDecorator = (props: BlockDecoratorProps) => React.ReactElement;
|
|
2
|
+
import { BlockBaseProps } from './constructor-items';
|
|
3
|
+
export type BlockDecorationProps = Pick<BlockBaseProps, 'index' | 'type'> & PropsWithChildren;
|
|
4
|
+
export type BlockDecorator = (props: BlockDecorationProps) => React.ReactElement;
|
|
@@ -9,6 +9,8 @@ unpredictable css rules order in build */
|
|
|
9
9
|
align-items: center;
|
|
10
10
|
height: var(--header-height);
|
|
11
11
|
background-color: var(--yc-color-base-background);
|
|
12
|
+
}
|
|
13
|
+
.pc-header_with-border {
|
|
12
14
|
box-shadow: inset 0 -1px 0 var(--yc-color-line-generic);
|
|
13
15
|
}
|
|
14
16
|
.pc-header__wrapper {
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Header = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
6
7
|
const Control_1 = tslib_1.__importDefault(require("../../../components/Control/Control"));
|
|
7
8
|
const OutsideClick_1 = tslib_1.__importDefault(require("../../../components/OutsideClick/OutsideClick"));
|
|
8
9
|
const grid_1 = require("../../../grid");
|
|
@@ -30,9 +31,10 @@ const iconSizeKey = 'iconSize';
|
|
|
30
31
|
const isButtonItem = (item) => item.type === models_1.NavigationItemType.Button;
|
|
31
32
|
const isDropdownItem = (item) => item.type === models_1.NavigationItemType.Dropdown;
|
|
32
33
|
const Header = ({ data, logo }) => {
|
|
33
|
-
const { leftItems, rightItems, iconSize = 20 } = data;
|
|
34
|
+
const { leftItems, rightItems, iconSize = 20, withBorder = false } = data;
|
|
34
35
|
const [isSidebarOpened, setIsSidebarOpened] = (0, react_1.useState)(false);
|
|
35
|
-
const [activeItemId,
|
|
36
|
+
const [activeItemId, setActiveItemId] = (0, react_1.useState)(undefined);
|
|
37
|
+
const [showBorder, setShowBorder] = (0, react_1.useState)(withBorder);
|
|
36
38
|
const getNavigationItemWithIconSize = (0, react_1.useCallback)((item) => {
|
|
37
39
|
const newItem = Object.assign({}, item);
|
|
38
40
|
if ('items' in newItem && isDropdownItem(newItem)) {
|
|
@@ -46,7 +48,7 @@ const Header = ({ data, logo }) => {
|
|
|
46
48
|
const leftItemsWithIconSize = (0, react_1.useMemo)(() => leftItems.map(getNavigationItemWithIconSize), [getNavigationItemWithIconSize, leftItems]);
|
|
47
49
|
const rightItemsWithIconSize = (0, react_1.useMemo)(() => rightItems === null || rightItems === void 0 ? void 0 : rightItems.map(getNavigationItemWithIconSize), [getNavigationItemWithIconSize, rightItems]);
|
|
48
50
|
const onActiveItemChange = (0, react_1.useCallback)((id) => {
|
|
49
|
-
|
|
51
|
+
setActiveItemId(id);
|
|
50
52
|
}, []);
|
|
51
53
|
const hidePopup = (0, react_1.useCallback)(() => {
|
|
52
54
|
onActiveItemChange();
|
|
@@ -57,7 +59,16 @@ const Header = ({ data, logo }) => {
|
|
|
57
59
|
const hideSidebar = (0, react_1.useCallback)(() => {
|
|
58
60
|
setIsSidebarOpened(false);
|
|
59
61
|
}, []);
|
|
60
|
-
|
|
62
|
+
(0, react_1.useEffect)(() => {
|
|
63
|
+
const showBorderOnScroll = () => {
|
|
64
|
+
if (!showBorder) {
|
|
65
|
+
setShowBorder(window.scrollY > 0);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
window.addEventListener('scroll', lodash_1.default.debounce(showBorderOnScroll, 20), { passive: true });
|
|
69
|
+
return () => window.removeEventListener('scroll', lodash_1.default.debounce(showBorderOnScroll, 20));
|
|
70
|
+
});
|
|
71
|
+
return (react_1.default.createElement(grid_1.Grid, { className: b({ 'with-border': showBorder }) },
|
|
61
72
|
react_1.default.createElement(grid_1.Row, null,
|
|
62
73
|
react_1.default.createElement(grid_1.Col, null,
|
|
63
74
|
react_1.default.createElement("header", { className: b('wrapper') },
|