@gravity-ui/page-constructor 2.20.1 → 2.22.0-alpha
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 +0 -46
- package/README.md +1 -1
- package/build/cjs/blocks/Header/schema.d.ts +18 -0
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +6 -0
- package/build/cjs/blocks/Media/schema.d.ts +12 -0
- package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
- package/build/cjs/blocks/Security/schema.d.ts +6 -0
- package/build/cjs/blocks/Tabs/schema.d.ts +6 -0
- package/build/cjs/components/Anchor/Anchor.d.ts +2 -2
- package/build/cjs/components/Anchor/Anchor.js +1 -1
- package/build/cjs/components/Anchor/__tests__/Anchor.test.js +21 -0
- package/build/cjs/components/AnimateBlock/__tests__/AnimateBlock.test.js +36 -0
- package/build/cjs/components/Author/__tests__/Author.test.d.ts +1 -0
- package/build/cjs/components/Author/__tests__/Author.test.js +49 -0
- package/build/cjs/components/BackLink/__tests__/BackLink.test.d.ts +1 -0
- package/build/cjs/components/BackLink/__tests__/BackLink.test.js +63 -0
- package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
- package/build/cjs/components/BlockBase/BlockBase.d.ts +2 -3
- package/build/cjs/components/BlockBase/BlockBase.js +2 -4
- package/build/cjs/components/BlockBase/__tests__/BlockBase.test.d.ts +1 -0
- package/build/cjs/components/BlockBase/__tests__/BlockBase.test.js +44 -0
- package/build/cjs/components/Button/Button.css +0 -3
- package/build/cjs/components/Button/Button.js +4 -5
- package/build/cjs/components/Button/__tests__/Button.test.d.ts +1 -0
- package/build/cjs/components/Button/__tests__/Button.test.js +91 -0
- package/build/cjs/components/ButtonTabs/__tests__/ButtonTabs.test.d.ts +1 -0
- package/build/cjs/components/ButtonTabs/__tests__/ButtonTabs.test.js +58 -0
- package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +2 -2
- package/build/cjs/components/FullscreenImage/FullscreenImage.js +5 -5
- package/build/cjs/components/FullscreenMedia/FullscreenMedia.d.ts +13 -0
- package/build/cjs/components/FullscreenMedia/{FullScreenMedia.js → FullscreenMedia.js} +3 -3
- package/build/cjs/components/Image/Image.d.ts +0 -1
- package/build/cjs/components/Image/Image.js +2 -2
- package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.d.ts +4 -0
- package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +10 -0
- package/build/cjs/components/Media/Image/Image.d.ts +1 -0
- package/build/cjs/components/Media/Image/Image.js +10 -3
- package/build/cjs/components/Media/Media.js +25 -4
- package/build/cjs/components/Media/Video/Video.d.ts +1 -1
- package/build/cjs/components/VideoBlock/VideoBlock.d.ts +4 -0
- package/build/cjs/components/VideoBlock/VideoBlock.js +3 -3
- package/build/cjs/components/index.d.ts +1 -1
- package/build/cjs/components/index.js +2 -2
- package/build/cjs/constructor-items.d.ts +1 -1
- package/build/cjs/containers/Loadable/Loadable.d.ts +2 -2
- package/build/cjs/containers/PageConstructor/PageConstructor.js +3 -5
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +2 -3
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -5
- package/build/cjs/context/innerContext/InnerContext.d.ts +1 -2
- package/build/cjs/grid/Col/Col.d.ts +1 -1
- package/build/cjs/internal-typings/global.d.ts +16 -18
- package/build/cjs/models/constructor-items/blocks.d.ts +11 -1
- package/build/cjs/models/constructor-items/blocks.js +2 -0
- package/build/cjs/models/constructor-items/common.d.ts +7 -3
- package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -0
- package/build/cjs/models/constructor.d.ts +1 -4
- package/build/cjs/models/index.d.ts +0 -1
- package/build/cjs/models/index.js +0 -1
- package/build/cjs/schema/validators/common.d.ts +6 -0
- package/build/cjs/schema/validators/common.js +6 -0
- package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -2
- package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +2 -5
- package/build/cjs/sub-blocks/HubspotForm/index.d.ts +1 -1
- package/build/cjs/sub-blocks/HubspotForm/index.js +5 -6
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +4 -4
- package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +9 -0
- package/build/cjs/sub-blocks/LayoutItem/schema.js +2 -0
- package/build/cjs/sub-blocks/LayoutItem/utils.d.ts +2 -2
- package/build/cjs/sub-blocks/LayoutItem/utils.js +5 -5
- package/build/cjs/sub-blocks/MediaCard/schema.d.ts +6 -0
- package/build/cjs/utils/blocks.d.ts +1 -4
- package/build/cjs/utils/blocks.js +1 -11
- package/build/esm/blocks/Header/schema.d.ts +18 -0
- package/build/esm/blocks/HeaderSlider/schema.d.ts +6 -0
- package/build/esm/blocks/Media/schema.d.ts +12 -0
- package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
- package/build/esm/blocks/Security/schema.d.ts +6 -0
- package/build/esm/blocks/Tabs/Tabs.js +2 -2
- package/build/esm/blocks/Tabs/schema.d.ts +6 -0
- package/build/esm/components/Anchor/Anchor.d.ts +2 -2
- package/build/esm/components/Anchor/Anchor.js +1 -1
- package/build/esm/components/Anchor/__tests__/Anchor.test.d.ts +1 -0
- package/build/esm/components/Anchor/__tests__/Anchor.test.js +18 -0
- package/build/esm/components/AnimateBlock/__tests__/AnimateBlock.test.d.ts +1 -0
- package/build/esm/components/AnimateBlock/__tests__/AnimateBlock.test.js +33 -0
- package/build/esm/components/Author/__tests__/Author.test.d.ts +1 -0
- package/build/esm/components/Author/__tests__/Author.test.js +46 -0
- package/build/esm/components/BackLink/__tests__/BackLink.test.d.ts +1 -0
- package/build/esm/components/BackLink/__tests__/BackLink.test.js +60 -0
- package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
- package/build/esm/components/BlockBase/BlockBase.d.ts +2 -3
- package/build/esm/components/BlockBase/BlockBase.js +2 -4
- package/build/esm/components/BlockBase/__tests__/BlockBase.test.d.ts +1 -0
- package/build/esm/components/BlockBase/__tests__/BlockBase.test.js +41 -0
- package/build/esm/components/Button/Button.css +0 -3
- package/build/esm/components/Button/Button.js +4 -5
- package/build/esm/components/Button/__tests__/Button.test.d.ts +1 -0
- package/build/esm/components/Button/__tests__/Button.test.js +88 -0
- package/build/esm/components/ButtonTabs/__tests__/ButtonTabs.test.d.ts +1 -0
- package/build/esm/components/ButtonTabs/__tests__/ButtonTabs.test.js +55 -0
- package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +3 -3
- package/build/esm/components/FullscreenImage/FullscreenImage.js +6 -6
- package/build/esm/components/FullscreenMedia/FullscreenMedia.d.ts +14 -0
- package/build/esm/components/FullscreenMedia/{FullScreenMedia.js → FullscreenMedia.js} +4 -4
- package/build/esm/components/Image/Image.d.ts +0 -1
- package/build/esm/components/Image/Image.js +2 -2
- package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.d.ts +4 -0
- package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +7 -0
- package/build/esm/components/Media/Image/Image.d.ts +1 -0
- package/build/esm/components/Media/Image/Image.js +12 -5
- package/build/esm/components/Media/Media.js +25 -4
- package/build/esm/components/Media/Video/Video.d.ts +1 -1
- package/build/esm/components/VideoBlock/VideoBlock.d.ts +4 -0
- package/build/esm/components/VideoBlock/VideoBlock.js +3 -3
- package/build/esm/components/index.d.ts +1 -1
- package/build/esm/components/index.js +1 -1
- package/build/esm/constructor-items.d.ts +1 -1
- package/build/esm/containers/Loadable/Loadable.d.ts +2 -2
- package/build/esm/containers/PageConstructor/PageConstructor.js +4 -6
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +2 -3
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -5
- package/build/esm/context/innerContext/InnerContext.d.ts +1 -2
- package/build/esm/grid/Col/Col.d.ts +1 -1
- package/build/esm/internal-typings/global.d.ts +16 -18
- package/build/esm/models/constructor-items/blocks.d.ts +11 -1
- package/build/esm/models/constructor-items/blocks.js +2 -0
- package/build/esm/models/constructor-items/common.d.ts +7 -3
- package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -0
- package/build/esm/models/constructor.d.ts +1 -4
- package/build/esm/models/index.d.ts +0 -1
- package/build/esm/models/index.js +0 -1
- package/build/esm/schema/validators/common.d.ts +6 -0
- package/build/esm/schema/validators/common.js +6 -0
- package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -2
- package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +3 -6
- package/build/esm/sub-blocks/HubspotForm/index.d.ts +1 -1
- package/build/esm/sub-blocks/HubspotForm/index.js +6 -7
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +5 -5
- package/build/esm/sub-blocks/LayoutItem/schema.d.ts +9 -0
- package/build/esm/sub-blocks/LayoutItem/schema.js +2 -0
- package/build/esm/sub-blocks/LayoutItem/utils.d.ts +2 -2
- package/build/esm/sub-blocks/LayoutItem/utils.js +2 -2
- package/build/esm/sub-blocks/MediaCard/schema.d.ts +6 -0
- package/build/esm/utils/blocks.d.ts +1 -4
- package/build/esm/utils/blocks.js +0 -7
- package/package.json +6 -4
- package/server/models/constructor-items/blocks.d.ts +11 -1
- package/server/models/constructor-items/blocks.js +2 -0
- package/server/models/constructor-items/common.d.ts +7 -3
- package/server/models/constructor-items/sub-blocks.d.ts +4 -0
- package/server/models/constructor.d.ts +1 -4
- package/server/models/index.d.ts +0 -1
- package/server/models/index.js +0 -1
- package/server/utils/blocks.d.ts +1 -4
- package/server/utils/blocks.js +1 -11
- package/build/cjs/components/FullscreenMedia/FullScreenMedia.d.ts +0 -9
- package/build/cjs/customization/BlockDecoration.d.ts +0 -3
- package/build/cjs/customization/BlockDecoration.js +0 -22
- package/build/cjs/editor/Components/AddBlock/AddBlock.css +0 -82
- package/build/cjs/editor/Components/AddBlock/AddBlock.d.ts +0 -7
- package/build/cjs/editor/Components/AddBlock/AddBlock.js +0 -43
- package/build/cjs/editor/Components/EditBlock/EditBlock.css +0 -47
- 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/cjs/editor/data/index.d.ts +0 -13
- package/build/cjs/editor/data/index.js +0 -27
- package/build/cjs/editor/data/previews/default-preview.d.ts +0 -3
- package/build/cjs/editor/data/previews/default-preview.js +0 -18
- package/build/cjs/editor/data/previews/header-block.d.ts +0 -3
- package/build/cjs/editor/data/previews/header-block.js +0 -19
- package/build/cjs/editor/index.d.ts +0 -2
- package/build/cjs/editor/index.js +0 -7
- package/build/cjs/editor/store/index.d.ts +0 -15
- package/build/cjs/editor/store/index.js +0 -32
- package/build/cjs/editor/store/reducer.d.ts +0 -41
- package/build/cjs/editor/store/reducer.js +0 -59
- package/build/cjs/editor/store/utils.d.ts +0 -13
- package/build/cjs/editor/store/utils.js +0 -34
- package/build/cjs/editor/styles/mixins.css +0 -0
- package/build/cjs/editor/styles/variables.css +0 -0
- package/build/cjs/editor/types/index.d.ts +0 -17
- package/build/cjs/editor/types/index.js +0 -2
- package/build/cjs/editor/utils/index.d.ts +0 -11
- package/build/cjs/editor/utils/index.js +0 -12
- package/build/cjs/models/customization.d.ts +0 -9
- package/build/cjs/models/customization.js +0 -2
- package/build/esm/components/FullscreenMedia/FullScreenMedia.d.ts +0 -10
- package/build/esm/customization/BlockDecoration.d.ts +0 -3
- package/build/esm/customization/BlockDecoration.js +0 -17
- package/build/esm/editor/Components/AddBlock/AddBlock.css +0 -82
- package/build/esm/editor/Components/AddBlock/AddBlock.d.ts +0 -8
- package/build/esm/editor/Components/AddBlock/AddBlock.js +0 -41
- package/build/esm/editor/Components/EditBlock/EditBlock.css +0 -47
- 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/esm/editor/data/index.d.ts +0 -13
- package/build/esm/editor/data/index.js +0 -24
- package/build/esm/editor/data/previews/default-preview.d.ts +0 -3
- package/build/esm/editor/data/previews/default-preview.js +0 -15
- package/build/esm/editor/data/previews/header-block.d.ts +0 -3
- package/build/esm/editor/data/previews/header-block.js +0 -16
- package/build/esm/editor/index.d.ts +0 -2
- package/build/esm/editor/index.js +0 -2
- package/build/esm/editor/store/index.d.ts +0 -15
- package/build/esm/editor/store/index.js +0 -28
- package/build/esm/editor/store/reducer.d.ts +0 -41
- package/build/esm/editor/store/reducer.js +0 -55
- package/build/esm/editor/store/utils.d.ts +0 -13
- package/build/esm/editor/store/utils.js +0 -26
- package/build/esm/editor/styles/mixins.css +0 -0
- package/build/esm/editor/styles/variables.css +0 -0
- package/build/esm/editor/types/index.d.ts +0 -17
- package/build/esm/editor/utils/index.d.ts +0 -11
- package/build/esm/editor/utils/index.js +0 -6
- package/build/esm/models/customization.d.ts +0 -9
- package/server/models/customization.d.ts +0 -9
- package/server/models/customization.js +0 -2
- /package/build/{esm/editor/types/index.js → cjs/components/Anchor/__tests__/Anchor.test.d.ts} +0 -0
- /package/build/{esm/models/customization.js → cjs/components/AnimateBlock/__tests__/AnimateBlock.test.d.ts} +0 -0
- /package/build/cjs/components/FullscreenImage/{FullScreenImage.css → FullscreenImage.css} +0 -0
- /package/build/cjs/components/FullscreenMedia/{FullScreenMedia.css → FullscreenMedia.css} +0 -0
- /package/build/esm/components/FullscreenImage/{FullScreenImage.css → FullscreenImage.css} +0 -0
- /package/build/esm/components/FullscreenMedia/{FullScreenMedia.css → FullscreenMedia.css} +0 -0
|
@@ -9,7 +9,7 @@ import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
|
|
|
9
9
|
import { Grid } from '../../grid';
|
|
10
10
|
import { BlockType, BlockTypes, HeaderBlockTypes, SubBlockTypes, } from '../../models';
|
|
11
11
|
import Layout from '../../navigation/containers/Layout/Layout';
|
|
12
|
-
import { block as cnBlock, getCustomBlockTypes, getCustomHeaderTypes, getCustomItems, getCustomSubBlockTypes,
|
|
12
|
+
import { block as cnBlock, getCustomBlockTypes, getCustomHeaderTypes, getCustomItems, getCustomSubBlockTypes, getThemedValue, } from '../../utils';
|
|
13
13
|
import { ConstructorBlocks } from './components/ConstructorBlocks';
|
|
14
14
|
import { ConstructorFootnotes } from './components/ConstructorFootnotes';
|
|
15
15
|
import { ConstructorHeader } from './components/ConstructorItem';
|
|
@@ -26,15 +26,13 @@ export const Constructor = (props) => {
|
|
|
26
26
|
itemMap: Object.assign(Object.assign(Object.assign({}, blockMap), subBlockMap), getCustomItems(custom)),
|
|
27
27
|
loadables: custom === null || custom === void 0 ? void 0 : custom.loadable,
|
|
28
28
|
shouldRenderBlock,
|
|
29
|
-
customization: {
|
|
30
|
-
decorators: custom === null || custom === void 0 ? void 0 : custom.decorators,
|
|
31
|
-
},
|
|
32
29
|
},
|
|
33
30
|
}), [custom, shouldRenderBlock]);
|
|
34
31
|
const { themeValue: theme } = useContext(ThemeValueContext);
|
|
35
32
|
const hasFootnotes = footnotes.length > 0;
|
|
36
|
-
const
|
|
37
|
-
const
|
|
33
|
+
const isHeaderBlock = (block) => context.headerBlockTypes.includes(block.type);
|
|
34
|
+
const header = blocks === null || blocks === void 0 ? void 0 : blocks.find(isHeaderBlock);
|
|
35
|
+
const restBlocks = blocks === null || blocks === void 0 ? void 0 : blocks.filter((block) => !isHeaderBlock(block));
|
|
38
36
|
const themedBackground = getThemedValue(background, theme);
|
|
39
37
|
return (React.createElement(InnerContext.Provider, { value: context },
|
|
40
38
|
React.createElement("div", { className: b() },
|
package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { Fragment, useContext } from 'react';
|
|
2
2
|
import _ from 'lodash';
|
|
3
|
-
import { BlockIdContext } from '../../../../context/blockIdContext';
|
|
4
3
|
import { InnerContext } from '../../../../context/innerContext';
|
|
5
4
|
import { getBlockKey } from '../../../../utils';
|
|
6
5
|
import { ConstructorBlock } from '../ConstructorBlock/ConstructorBlock';
|
|
@@ -31,9 +30,9 @@ export const ConstructorBlocks = ({ items }) => {
|
|
|
31
30
|
if ('children' in item && item.children) {
|
|
32
31
|
children = item.children.map(renderer.bind(null, blockId));
|
|
33
32
|
}
|
|
34
|
-
itemElement = (React.createElement(ConstructorItem, { data: item, blockKey: blockId }, children));
|
|
33
|
+
itemElement = (React.createElement(ConstructorItem, { data: item, key: blockId, blockKey: blockId }, children));
|
|
35
34
|
}
|
|
36
|
-
return
|
|
35
|
+
return blockTypes.includes(item.type) ? (React.createElement(ConstructorBlock, { data: item, key: blockId }, itemElement)) : (itemElement);
|
|
37
36
|
};
|
|
38
37
|
return React.createElement(Fragment, null, items.map(renderer.bind(null, '')));
|
|
39
38
|
};
|
package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export interface ConstructorItemProps {
|
|
|
3
3
|
data: ConstructorItemType;
|
|
4
4
|
blockKey: string;
|
|
5
5
|
}
|
|
6
|
-
export declare const ConstructorItem: ({ data, children }: WithChildren<ConstructorItemProps>) => JSX.Element;
|
|
6
|
+
export declare const ConstructorItem: ({ data, blockKey, children }: WithChildren<ConstructorItemProps>) => JSX.Element;
|
|
7
7
|
export declare const ConstructorHeader: ({ data, blockKey, }: Pick<ConstructorItemProps, 'data' | 'blockKey'>) => JSX.Element;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import React, { useContext } from 'react';
|
|
3
|
+
import { BlockIdContext } from '../../../../context/blockIdContext';
|
|
3
4
|
import { InnerContext } from '../../../../context/innerContext';
|
|
4
|
-
|
|
5
|
-
export const ConstructorItem = ({ data, children }) => {
|
|
5
|
+
export const ConstructorItem = ({ data, blockKey, children }) => {
|
|
6
6
|
const { itemMap } = useContext(InnerContext);
|
|
7
7
|
const { type } = data, rest = __rest(data, ["type"]);
|
|
8
8
|
const Component = itemMap[type];
|
|
9
|
-
return React.createElement(
|
|
9
|
+
return (React.createElement(BlockIdContext.Provider, { value: blockKey },
|
|
10
|
+
React.createElement(Component, Object.assign({}, rest), children)));
|
|
10
11
|
};
|
|
11
|
-
export const ConstructorHeader = ({ data, blockKey, }) => (React.createElement(
|
|
12
|
-
React.createElement(ConstructorItem, { data: data, key: data.type, blockKey: blockKey })));
|
|
12
|
+
export const ConstructorHeader = ({ data, blockKey, }) => (React.createElement(ConstructorItem, { data: data, key: data.type, blockKey: blockKey }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ItemMap } from '../../containers/PageConstructor/PageConstructor';
|
|
3
|
-
import {
|
|
3
|
+
import { LoadableConfig, ShouldRenderBlock } from '../../models';
|
|
4
4
|
export interface InnerContextType {
|
|
5
5
|
blockTypes: string[];
|
|
6
6
|
subBlockTypes: string[];
|
|
@@ -8,6 +8,5 @@ export interface InnerContextType {
|
|
|
8
8
|
itemMap: ItemMap;
|
|
9
9
|
loadables?: LoadableConfig;
|
|
10
10
|
shouldRenderBlock?: ShouldRenderBlock;
|
|
11
|
-
customization?: Pick<CustomConfig, 'decorators'>;
|
|
12
11
|
}
|
|
13
12
|
export declare const InnerContext: React.Context<InnerContextType>;
|
|
@@ -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" | "dataQa" | "reset" | "visible" | "sizes" | "offsets" | "orders" | "hidden" | "alignSelf" | "justifyContent"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -10,17 +10,22 @@ declare module '*.svg' {
|
|
|
10
10
|
export default path;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
interface CreateFormProps {
|
|
14
|
+
portalId: string;
|
|
15
|
+
formId: string;
|
|
16
|
+
region?: string;
|
|
17
|
+
target?: string;
|
|
18
|
+
cssClass?: string;
|
|
19
|
+
formInstanceId?: string;
|
|
20
|
+
}
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
formInstanceId?: string;
|
|
23
|
-
}
|
|
22
|
+
interface Window {
|
|
23
|
+
hbspt?: {
|
|
24
|
+
forms: {
|
|
25
|
+
create: (args: CreateFormProps) => unknown;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
ymaps: Ymaps;
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
declare namespace Ymaps {
|
|
@@ -58,11 +63,4 @@ declare namespace Ymaps {
|
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
hbspt?: {
|
|
63
|
-
forms: {
|
|
64
|
-
create: (args: Hbspt.CreateFormProps) => unknown;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
ymaps: Ymaps;
|
|
68
|
-
}
|
|
66
|
+
declare module '*.md';
|
|
@@ -8,6 +8,8 @@ export declare enum BlockType {
|
|
|
8
8
|
PromoFeaturesBlock = "promo-features-block",
|
|
9
9
|
ExtendedFeaturesBlock = "extended-features-block",
|
|
10
10
|
SliderBlock = "slider-block",
|
|
11
|
+
CalculatorBlock = "calculator-block",
|
|
12
|
+
ServiceDemoBlock = "service-demo-block",
|
|
11
13
|
QuestionsBlock = "questions-block",
|
|
12
14
|
BannerBlock = "banner-block",
|
|
13
15
|
CompaniesBlock = "companies-block",
|
|
@@ -50,6 +52,7 @@ export interface LoadableProps {
|
|
|
50
52
|
export interface LoadableChildren {
|
|
51
53
|
loadable?: LoadableProps;
|
|
52
54
|
}
|
|
55
|
+
export type ServiceDemoProps = Animatable;
|
|
53
56
|
export declare enum SliderBreakpointNames {
|
|
54
57
|
Sm = "sm",
|
|
55
58
|
Md = "md",
|
|
@@ -111,6 +114,7 @@ export interface HeaderBlockProps {
|
|
|
111
114
|
breadcrumbs?: HeaderBreadCrumbsProps;
|
|
112
115
|
status?: JSX.Element;
|
|
113
116
|
}
|
|
117
|
+
export type CalculatorProps = Animatable;
|
|
114
118
|
export interface SimpleBlockProps extends Animatable, Childable {
|
|
115
119
|
title: TitleBaseProps;
|
|
116
120
|
description: string;
|
|
@@ -313,9 +317,15 @@ export interface ShareBlockProps {
|
|
|
313
317
|
export type HeaderBlockModel = {
|
|
314
318
|
type: BlockType.HeaderBlock;
|
|
315
319
|
} & HeaderBlockProps;
|
|
320
|
+
export type CalculatorBlockModel = {
|
|
321
|
+
type: BlockType.CalculatorBlock;
|
|
322
|
+
} & CalculatorProps;
|
|
316
323
|
export type SliderBlockModel = {
|
|
317
324
|
type: BlockType.SliderBlock;
|
|
318
325
|
} & SliderProps;
|
|
326
|
+
export type ServiceDemoBlockModel = {
|
|
327
|
+
type: BlockType.ServiceDemoBlock;
|
|
328
|
+
} & ServiceDemoProps;
|
|
319
329
|
export type ExtendedFeaturesBlockModel = {
|
|
320
330
|
type: BlockType.ExtendedFeaturesBlock;
|
|
321
331
|
} & ExtendedFeaturesProps;
|
|
@@ -376,6 +386,6 @@ export type ContentLayoutBlockModel = {
|
|
|
376
386
|
export type ShareBLockModel = {
|
|
377
387
|
type: BlockType.ShareBlock;
|
|
378
388
|
} & ShareBlockProps;
|
|
379
|
-
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel;
|
|
389
|
+
type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel;
|
|
380
390
|
export type Block = BlockModels & BlockBaseProps;
|
|
381
391
|
export {};
|
|
@@ -3,6 +3,8 @@ export var BlockType;
|
|
|
3
3
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
4
4
|
BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
|
|
5
5
|
BlockType["SliderBlock"] = "slider-block";
|
|
6
|
+
BlockType["CalculatorBlock"] = "calculator-block";
|
|
7
|
+
BlockType["ServiceDemoBlock"] = "service-demo-block";
|
|
6
8
|
BlockType["QuestionsBlock"] = "questions-block";
|
|
7
9
|
BlockType["BannerBlock"] = "banner-block";
|
|
8
10
|
BlockType["CompaniesBlock"] = "companies-block";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ButtonSize, ButtonView } from '@gravity-ui/uikit';
|
|
3
3
|
import { ThemeSupporting } from '../../utils/theme';
|
|
4
4
|
import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
|
|
5
5
|
export declare enum AuthorType {
|
|
@@ -99,7 +99,6 @@ export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, P
|
|
|
99
99
|
style?: CSSProperties;
|
|
100
100
|
imageClassName?: string;
|
|
101
101
|
hide?: boolean;
|
|
102
|
-
qa?: string;
|
|
103
102
|
}
|
|
104
103
|
export interface MediaVideoProps extends AnalyticsEventsBase {
|
|
105
104
|
src: string[];
|
|
@@ -132,10 +131,11 @@ export interface FileLinkProps extends ClassNameProps {
|
|
|
132
131
|
onClick?: () => void;
|
|
133
132
|
}
|
|
134
133
|
export type ButtonTheme = ButtonView | 'github' | 'app-store' | 'google-play' | 'scale' | 'monochrome';
|
|
135
|
-
export interface ButtonProps extends AnalyticsEventsBase
|
|
134
|
+
export interface ButtonProps extends AnalyticsEventsBase {
|
|
136
135
|
text: string;
|
|
137
136
|
url: string;
|
|
138
137
|
primary?: boolean;
|
|
138
|
+
size?: ButtonSize;
|
|
139
139
|
theme?: ButtonTheme;
|
|
140
140
|
img?: ButtonImageProps | string;
|
|
141
141
|
metrikaGoals?: MetrikaGoal;
|
|
@@ -174,7 +174,11 @@ export interface MediaComponentVideoProps extends AnalyticsEventsBase {
|
|
|
174
174
|
export interface MediaComponentYoutubeProps {
|
|
175
175
|
youtube: string;
|
|
176
176
|
previewImg?: string;
|
|
177
|
+
/**
|
|
178
|
+
* @deprecated use fullscreen
|
|
179
|
+
*/
|
|
177
180
|
fullScreen?: boolean;
|
|
181
|
+
fullscreen?: boolean;
|
|
178
182
|
}
|
|
179
183
|
export interface MediaComponentImageProps {
|
|
180
184
|
image: ImageProps | ImageProps[] | ImageDeviceProps;
|
|
@@ -136,7 +136,11 @@ export interface LayoutItemProps extends ClassNameProps {
|
|
|
136
136
|
media: MediaProps;
|
|
137
137
|
metaInfo?: string[];
|
|
138
138
|
border?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* @deprecated use fullscreen
|
|
141
|
+
*/
|
|
139
142
|
fullScreen?: boolean;
|
|
143
|
+
fullscreen?: boolean;
|
|
140
144
|
}
|
|
141
145
|
export type DividerModel = {
|
|
142
146
|
type: SubBlockType.Divider;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import { Animatable, Block,
|
|
2
|
+
import { Animatable, Block, ConstructorItem, ThemedMediaProps, WithChildren } from './';
|
|
3
3
|
export interface PageData {
|
|
4
4
|
content: PageContent;
|
|
5
5
|
}
|
|
@@ -41,8 +41,5 @@ export interface CustomConfig {
|
|
|
41
41
|
subBlocks?: CustomItems;
|
|
42
42
|
headers?: CustomItems;
|
|
43
43
|
loadable?: LoadableConfig;
|
|
44
|
-
decorators?: {
|
|
45
|
-
block?: ((props: BlockDecoratorProps) => React.ReactElement)[];
|
|
46
|
-
};
|
|
47
44
|
}
|
|
48
45
|
export {};
|
|
@@ -1114,6 +1114,12 @@ export declare const MediaProps: {
|
|
|
1114
1114
|
type: string;
|
|
1115
1115
|
})[];
|
|
1116
1116
|
};
|
|
1117
|
+
fullScreen: {
|
|
1118
|
+
type: string;
|
|
1119
|
+
};
|
|
1120
|
+
fullscreen: {
|
|
1121
|
+
type: string;
|
|
1122
|
+
};
|
|
1117
1123
|
};
|
|
1118
1124
|
export declare const YMapMarkerLabel: {
|
|
1119
1125
|
type: string;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { HubspotFormProps } from '../../models';
|
|
3
2
|
type HubspotFormContainerPropsKeys = 'className' | 'formId' | 'formInstanceId' | 'portalId' | 'region' | 'formClassName' | 'createDOMElement';
|
|
4
3
|
type HubspotFormContainerProps = Pick<HubspotFormProps, HubspotFormContainerPropsKeys>;
|
|
5
|
-
declare const HubspotFormContainer:
|
|
4
|
+
declare const HubspotFormContainer: (props: HubspotFormContainerProps) => JSX.Element;
|
|
6
5
|
export default HubspotFormContainer;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useRef } from 'react';
|
|
2
2
|
import { useMount } from '../../hooks';
|
|
3
3
|
import loadHubspotScript from './loadHubspotScript';
|
|
4
|
-
const HubspotFormContainer =
|
|
4
|
+
const HubspotFormContainer = (props) => {
|
|
5
5
|
const { className, formId, formInstanceId, portalId, region, formClassName, createDOMElement, } = props;
|
|
6
6
|
const containerRef = useRef(null);
|
|
7
7
|
const hsContainerRef = useRef();
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
9
|
-
useImperativeHandle(ref, () => containerRef.current);
|
|
10
8
|
const containerId = formInstanceId
|
|
11
9
|
? `hubspot-form-${formId}-${formInstanceId}`
|
|
12
10
|
: `hubspot-form-${formId}`;
|
|
@@ -44,6 +42,5 @@ const HubspotFormContainer = forwardRef((props, ref) => {
|
|
|
44
42
|
};
|
|
45
43
|
});
|
|
46
44
|
return React.createElement("div", { className: className, id: containerId, ref: containerRef });
|
|
47
|
-
}
|
|
48
|
-
HubspotFormContainer.displayName = 'HubspotFormContainer';
|
|
45
|
+
};
|
|
49
46
|
export default HubspotFormContainer;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { HubspotFormProps } from '../../models';
|
|
3
3
|
import './HubspotForm.css';
|
|
4
|
-
declare const HubspotForm: React.
|
|
4
|
+
declare const HubspotForm: React.FunctionComponent<HubspotFormProps>;
|
|
5
5
|
export default HubspotForm;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useContext, useMemo } from 'react';
|
|
2
2
|
import { MobileContext } from '../../context/mobileContext';
|
|
3
3
|
import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
|
|
4
4
|
import { useAnalytics, useHandleHubspotEvents } from '../../hooks';
|
|
@@ -8,7 +8,7 @@ import { block } from '../../utils';
|
|
|
8
8
|
import HubspotFormContainer from './HubspotFormContainer';
|
|
9
9
|
import './HubspotForm.css';
|
|
10
10
|
const b = block('hubspot-form');
|
|
11
|
-
const HubspotForm =
|
|
11
|
+
const HubspotForm = (props) => {
|
|
12
12
|
const { className, theme: themeProp, isMobile: isMobileProp, formId, formInstanceId, portalId, region, formClassName, pixelEvents,
|
|
13
13
|
// hubspotEvents, // TODO: decide how to handle them
|
|
14
14
|
analyticsEvents, onBeforeSubmit, onSubmit, onBeforeLoad, onLoad, createDOMElement, onSubmitError, } = props;
|
|
@@ -23,10 +23,10 @@ const HubspotForm = forwardRef((props, ref) => {
|
|
|
23
23
|
onBeforeSubmit,
|
|
24
24
|
onLoad,
|
|
25
25
|
onSubmitError,
|
|
26
|
-
onSubmit: (
|
|
26
|
+
onSubmit: (e) => {
|
|
27
27
|
handleMetrika === null || handleMetrika === void 0 ? void 0 : handleMetrika({ pixelEvents });
|
|
28
28
|
handleAnalytics(analyticsEvents);
|
|
29
|
-
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(
|
|
29
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(e);
|
|
30
30
|
},
|
|
31
31
|
}), [
|
|
32
32
|
onBeforeLoad,
|
|
@@ -40,7 +40,6 @@ const HubspotForm = forwardRef((props, ref) => {
|
|
|
40
40
|
onSubmitError,
|
|
41
41
|
]);
|
|
42
42
|
useHandleHubspotEvents(handlers, formId);
|
|
43
|
-
return (React.createElement(HubspotFormContainer, { createDOMElement: createDOMElement, key: [formClassName, formId, formInstanceId, portalId, region].join(), className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region
|
|
44
|
-
}
|
|
45
|
-
HubspotForm.displayName = 'HubspotForm';
|
|
43
|
+
return (React.createElement(HubspotFormContainer, { createDOMElement: createDOMElement, key: [formClassName, formId, formInstanceId, portalId, region].join(), className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region }));
|
|
44
|
+
};
|
|
46
45
|
export default HubspotForm;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { LayoutItemProps } from '../../models';
|
|
2
2
|
import './LayoutItem.css';
|
|
3
|
-
declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullScreen, className, }: LayoutItemProps) => JSX.Element;
|
|
3
|
+
declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullScreen, fullscreen, className, }: LayoutItemProps) => JSX.Element;
|
|
4
4
|
export default LayoutItem;
|
|
@@ -3,15 +3,15 @@ import React from 'react';
|
|
|
3
3
|
import { Content } from '..';
|
|
4
4
|
import { FullScreenMedia, Media, MetaInfo } from '../../components';
|
|
5
5
|
import { block } from '../../utils';
|
|
6
|
-
import { getLayoutItemLinks,
|
|
6
|
+
import { getLayoutItemLinks, hasFullscreen, showFullscreenIcon } from './utils';
|
|
7
7
|
import './LayoutItem.css';
|
|
8
8
|
const b = block('layout-item');
|
|
9
9
|
const LayoutItem = (_a) => {
|
|
10
|
-
var _b = _a.content, { links } = _b, content = __rest(_b, ["links"]), { metaInfo, media, border, fullScreen, className } = _a;
|
|
10
|
+
var _b = _a.content, { links } = _b, content = __rest(_b, ["links"]), { metaInfo, media, border, fullScreen, fullscreen, className } = _a;
|
|
11
11
|
return (React.createElement("div", { className: b(null, className) },
|
|
12
|
-
fullScreen &&
|
|
13
|
-
var { className: mediaClassName } = _a,
|
|
14
|
-
return (React.createElement(Media, Object.assign({}, media,
|
|
12
|
+
(fullScreen || fullscreen) && hasFullscreen(media) ? (React.createElement(FullScreenMedia, { showFullscreenIcon: showFullscreenIcon(media) }, (_a = {}) => {
|
|
13
|
+
var { className: mediaClassName, fullScreen: _fullScreen } = _a, fullscreenMediaProps = __rest(_a, ["className", "fullScreen"]);
|
|
14
|
+
return (React.createElement(Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName) })));
|
|
15
15
|
})) : (React.createElement(Media, Object.assign({}, media, { className: b('media', { border }) }))),
|
|
16
16
|
metaInfo && React.createElement(MetaInfo, { items: metaInfo, className: b('meta-info') }),
|
|
17
17
|
React.createElement("div", { className: b('content') },
|
|
@@ -132,6 +132,12 @@ export declare const LayoutItem: {
|
|
|
132
132
|
type: string;
|
|
133
133
|
})[];
|
|
134
134
|
};
|
|
135
|
+
fullScreen: {
|
|
136
|
+
type: string;
|
|
137
|
+
};
|
|
138
|
+
fullscreen: {
|
|
139
|
+
type: string;
|
|
140
|
+
};
|
|
135
141
|
};
|
|
136
142
|
content: Partial<{
|
|
137
143
|
title: {
|
|
@@ -212,6 +218,9 @@ export declare const LayoutItem: {
|
|
|
212
218
|
fullScreen: {
|
|
213
219
|
type: string;
|
|
214
220
|
};
|
|
221
|
+
fullscreen: {
|
|
222
|
+
type: string;
|
|
223
|
+
};
|
|
215
224
|
type: {};
|
|
216
225
|
when: {};
|
|
217
226
|
};
|
|
@@ -24,5 +24,5 @@ export declare const getLayoutItemLinks: (links: LayoutItemProps['content']['lin
|
|
|
24
24
|
}[] | undefined;
|
|
25
25
|
className?: string | undefined;
|
|
26
26
|
}[] | undefined;
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
27
|
+
export declare const hasFullscreen: ({ dataLens, image }: MediaProps) => boolean;
|
|
28
|
+
export declare const showFullscreenIcon: ({ youtube }: MediaProps) => boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const getLayoutItemLinks = (links) => links === null || links === void 0 ? void 0 : links.map((link) => (Object.assign({ theme: 'normal' }, link)));
|
|
2
|
-
export const
|
|
2
|
+
export const hasFullscreen = ({ dataLens, image }) => {
|
|
3
3
|
// datalens and slider media card don't support fullScreen mode
|
|
4
4
|
return !(dataLens || Array.isArray(image));
|
|
5
5
|
};
|
|
6
|
-
export const
|
|
6
|
+
export const showFullscreenIcon = ({ youtube }) => !youtube;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CustomConfig, PCShareSocialNetwork, TextSize } from '../models';
|
|
2
2
|
import { ConstructorBlock } from '../models/constructor';
|
|
3
3
|
export declare function getHeaderTag(size: TextSize): "h1" | "h2" | "h4" | "h5";
|
|
4
4
|
export declare function getBlockKey(block: ConstructorBlock, index: number): string;
|
|
@@ -8,7 +8,4 @@ export declare const getCustomItems: ({ blocks, headers, subBlocks }?: CustomCon
|
|
|
8
8
|
};
|
|
9
9
|
export declare const getCustomSubBlockTypes: (customBlocks?: CustomConfig) => string[];
|
|
10
10
|
export declare const getCustomHeaderTypes: (customBlocks?: CustomConfig) => string[];
|
|
11
|
-
export declare const getOrderedBlocks: (blocks: Block[], headerBlockTypes?: string[]) => Block[];
|
|
12
|
-
export declare const getHeaderBlock: (blocks: Block[], headerBlockTypes?: string[]) => Block | undefined;
|
|
13
11
|
export declare const getShareLink: (url: string, type: PCShareSocialNetwork, title?: string, text?: string) => string | undefined;
|
|
14
|
-
export declare const getBlockIndexFromId: (blockId?: string) => number;
|
|
@@ -37,12 +37,6 @@ const getShareUrlWithParams = (url, params = {}) => {
|
|
|
37
37
|
});
|
|
38
38
|
return result.toString();
|
|
39
39
|
};
|
|
40
|
-
export const getOrderedBlocks = (blocks, headerBlockTypes = []) => {
|
|
41
|
-
return blocks.filter(({ type }) => !headerBlockTypes.includes(type));
|
|
42
|
-
};
|
|
43
|
-
export const getHeaderBlock = (blocks, headerBlockTypes = []) => {
|
|
44
|
-
return blocks.find(({ type }) => headerBlockTypes.includes(type));
|
|
45
|
-
};
|
|
46
40
|
export const getShareLink = (url, type, title, text) => {
|
|
47
41
|
// https://github.com/bradvin/social-share-urls
|
|
48
42
|
switch (type) {
|
|
@@ -71,4 +65,3 @@ export const getShareLink = (url, type, title, text) => {
|
|
|
71
65
|
return undefined;
|
|
72
66
|
}
|
|
73
67
|
};
|
|
74
|
-
export const getBlockIndexFromId = (blockId) => { var _a; return Number((_a = blockId === null || blockId === void 0 ? void 0 : blockId.split('-')) === null || _a === void 0 ? void 0 : _a.slice(-1).pop()); };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/page-constructor",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.22.0-alpha",
|
|
4
4
|
"description": "Gravity UI Page Constructor",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -61,16 +61,15 @@
|
|
|
61
61
|
"uuid": "^9.0.0"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"
|
|
64
|
+
"react": "^16.0.0 || ^17.0.0 || ^18.0.0",
|
|
65
65
|
"@gravity-ui/uikit": "^4.1.0",
|
|
66
|
-
"
|
|
66
|
+
"@doc-tools/transform": "^2.6.1"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@commitlint/cli": "^17.1.2",
|
|
70
70
|
"@commitlint/config-conventional": "^17.1.0",
|
|
71
71
|
"@doc-tools/transform": "2.12.0",
|
|
72
72
|
"@gravity-ui/eslint-config": "^2.0.0",
|
|
73
|
-
"@gravity-ui/icons": "^2.1.0",
|
|
74
73
|
"@gravity-ui/prettier-config": "^1.0.1",
|
|
75
74
|
"@gravity-ui/stylelint-config": "^1.0.0",
|
|
76
75
|
"@gravity-ui/tsconfig": "^1.0.0",
|
|
@@ -139,5 +138,8 @@
|
|
|
139
138
|
"*.{json,yaml,yml,md}": [
|
|
140
139
|
"prettier --write"
|
|
141
140
|
]
|
|
141
|
+
},
|
|
142
|
+
"publishConfig": {
|
|
143
|
+
"tag": "alpha"
|
|
142
144
|
}
|
|
143
145
|
}
|
|
@@ -8,6 +8,8 @@ export declare enum BlockType {
|
|
|
8
8
|
PromoFeaturesBlock = "promo-features-block",
|
|
9
9
|
ExtendedFeaturesBlock = "extended-features-block",
|
|
10
10
|
SliderBlock = "slider-block",
|
|
11
|
+
CalculatorBlock = "calculator-block",
|
|
12
|
+
ServiceDemoBlock = "service-demo-block",
|
|
11
13
|
QuestionsBlock = "questions-block",
|
|
12
14
|
BannerBlock = "banner-block",
|
|
13
15
|
CompaniesBlock = "companies-block",
|
|
@@ -50,6 +52,7 @@ export interface LoadableProps {
|
|
|
50
52
|
export interface LoadableChildren {
|
|
51
53
|
loadable?: LoadableProps;
|
|
52
54
|
}
|
|
55
|
+
export type ServiceDemoProps = Animatable;
|
|
53
56
|
export declare enum SliderBreakpointNames {
|
|
54
57
|
Sm = "sm",
|
|
55
58
|
Md = "md",
|
|
@@ -111,6 +114,7 @@ export interface HeaderBlockProps {
|
|
|
111
114
|
breadcrumbs?: HeaderBreadCrumbsProps;
|
|
112
115
|
status?: JSX.Element;
|
|
113
116
|
}
|
|
117
|
+
export type CalculatorProps = Animatable;
|
|
114
118
|
export interface SimpleBlockProps extends Animatable, Childable {
|
|
115
119
|
title: TitleBaseProps;
|
|
116
120
|
description: string;
|
|
@@ -313,9 +317,15 @@ export interface ShareBlockProps {
|
|
|
313
317
|
export type HeaderBlockModel = {
|
|
314
318
|
type: BlockType.HeaderBlock;
|
|
315
319
|
} & HeaderBlockProps;
|
|
320
|
+
export type CalculatorBlockModel = {
|
|
321
|
+
type: BlockType.CalculatorBlock;
|
|
322
|
+
} & CalculatorProps;
|
|
316
323
|
export type SliderBlockModel = {
|
|
317
324
|
type: BlockType.SliderBlock;
|
|
318
325
|
} & SliderProps;
|
|
326
|
+
export type ServiceDemoBlockModel = {
|
|
327
|
+
type: BlockType.ServiceDemoBlock;
|
|
328
|
+
} & ServiceDemoProps;
|
|
319
329
|
export type ExtendedFeaturesBlockModel = {
|
|
320
330
|
type: BlockType.ExtendedFeaturesBlock;
|
|
321
331
|
} & ExtendedFeaturesProps;
|
|
@@ -376,6 +386,6 @@ export type ContentLayoutBlockModel = {
|
|
|
376
386
|
export type ShareBLockModel = {
|
|
377
387
|
type: BlockType.ShareBlock;
|
|
378
388
|
} & ShareBlockProps;
|
|
379
|
-
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel;
|
|
389
|
+
type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel;
|
|
380
390
|
export type Block = BlockModels & BlockBaseProps;
|
|
381
391
|
export {};
|
|
@@ -6,6 +6,8 @@ var BlockType;
|
|
|
6
6
|
BlockType["PromoFeaturesBlock"] = "promo-features-block";
|
|
7
7
|
BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
|
|
8
8
|
BlockType["SliderBlock"] = "slider-block";
|
|
9
|
+
BlockType["CalculatorBlock"] = "calculator-block";
|
|
10
|
+
BlockType["ServiceDemoBlock"] = "service-demo-block";
|
|
9
11
|
BlockType["QuestionsBlock"] = "questions-block";
|
|
10
12
|
BlockType["BannerBlock"] = "banner-block";
|
|
11
13
|
BlockType["CompaniesBlock"] = "companies-block";
|