@doyourjob/gravity-ui-page-constructor 5.31.58 → 5.31.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/blocks/FormWallBlock/FormWallBlock.css +11 -0
- package/build/cjs/blocks/FormWallBlock/FormWallBlock.d.ts +4 -0
- package/build/cjs/blocks/FormWallBlock/FormWallBlock.js +55 -0
- package/build/cjs/blocks/FormWallBlock/schema.d.ts +52 -0
- package/build/cjs/blocks/FormWallBlock/schema.js +19 -0
- package/build/cjs/blocks/index.d.ts +1 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/constructor-items.d.ts +1 -0
- package/build/cjs/constructor-items.js +1 -0
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +3 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +9 -1
- package/build/cjs/models/constructor-items/blocks.js +1 -0
- package/build/cjs/schema/constants.js +2 -1
- package/build/cjs/schema/validators/blocks.d.ts +1 -0
- package/build/cjs/schema/validators/blocks.js +1 -0
- package/build/esm/blocks/FormWallBlock/FormWallBlock.css +11 -0
- package/build/esm/blocks/FormWallBlock/FormWallBlock.d.ts +5 -0
- package/build/esm/blocks/FormWallBlock/FormWallBlock.js +52 -0
- package/build/esm/blocks/FormWallBlock/schema.d.ts +52 -0
- package/build/esm/blocks/FormWallBlock/schema.js +16 -0
- package/build/esm/blocks/index.d.ts +1 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/constructor-items.d.ts +1 -0
- package/build/esm/constructor-items.js +2 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +3 -0
- package/build/esm/models/constructor-items/blocks.d.ts +9 -1
- package/build/esm/models/constructor-items/blocks.js +1 -0
- package/build/esm/schema/constants.js +3 -2
- package/build/esm/schema/validators/blocks.d.ts +1 -0
- package/build/esm/schema/validators/blocks.js +1 -0
- package/package.json +1 -1
- package/schema/index.js +1 -1
- package/server/models/constructor-items/blocks.d.ts +9 -1
- package/server/models/constructor-items/blocks.js +1 -0
- package/widget/index.js +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
.pc-form-wall-block {
|
|
4
|
+
backdrop-filter: blur(5px);
|
|
5
|
+
}
|
|
6
|
+
.pc-form-wall-block__container {
|
|
7
|
+
background-color: var(--g-color-base-background);
|
|
8
|
+
border-radius: var(--pc-border-radius);
|
|
9
|
+
padding: 32px;
|
|
10
|
+
height: 100%;
|
|
11
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FORM_WALL_BLOCK_STORAGE_KEY = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
+
const formListContext_1 = require("../../context/formListContext");
|
|
8
|
+
const formsContext_1 = require("../../context/formsContext");
|
|
9
|
+
const theme_1 = require("../../context/theme");
|
|
10
|
+
const sub_blocks_1 = require("../../sub-blocks");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
exports.FORM_WALL_BLOCK_STORAGE_KEY = 'FORM_WALL_BLOCK_STORAGE_KEY';
|
|
13
|
+
const b = (0, utils_1.block)('form-wall-block');
|
|
14
|
+
const FormWallBlock = (props) => {
|
|
15
|
+
const [showForm, setShowForm] = (0, react_1.useState)(false);
|
|
16
|
+
const { formData, slug } = props;
|
|
17
|
+
const formList = (0, react_1.useContext)(formListContext_1.FormListContext);
|
|
18
|
+
const formsConfig = (0, react_1.useContext)(formsContext_1.FormsContext);
|
|
19
|
+
const form = (0, react_1.useMemo)(() => formList.items.find((item) => item.slug === slug), [slug, formList.items]);
|
|
20
|
+
const theme = (0, theme_1.useTheme)();
|
|
21
|
+
const localStorageKey = (0, react_1.useMemo)(() => { var _a; return String(slug || ((_a = formData === null || formData === void 0 ? void 0 : formData.hubspot) === null || _a === void 0 ? void 0 : _a.formId) || window.location.pathname); }, [slug, formData]);
|
|
22
|
+
const handleSubmit = (0, react_1.useCallback)(() => {
|
|
23
|
+
setShowForm(false);
|
|
24
|
+
try {
|
|
25
|
+
const storageData = JSON.parse(window.localStorage.getItem(exports.FORM_WALL_BLOCK_STORAGE_KEY) || '{}');
|
|
26
|
+
storageData[localStorageKey] = true;
|
|
27
|
+
window.localStorage.setItem(exports.FORM_WALL_BLOCK_STORAGE_KEY, JSON.stringify(storageData));
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
console.log(e);
|
|
32
|
+
}
|
|
33
|
+
}, [localStorageKey]);
|
|
34
|
+
const data = (0, react_1.useMemo)(() => {
|
|
35
|
+
return form ? form : formData.hubspot;
|
|
36
|
+
}, [form, formData.hubspot]);
|
|
37
|
+
(0, react_1.useEffect)(() => {
|
|
38
|
+
try {
|
|
39
|
+
const storageData = JSON.parse(window.localStorage.getItem(exports.FORM_WALL_BLOCK_STORAGE_KEY) || '{}');
|
|
40
|
+
if (!storageData[localStorageKey]) {
|
|
41
|
+
setShowForm(true);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
// eslint-disable-next-line no-console
|
|
46
|
+
console.log(e);
|
|
47
|
+
}
|
|
48
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
|
+
}, []);
|
|
50
|
+
const themedFormData = (0, utils_1.getThemedValue)(data, theme);
|
|
51
|
+
return (react_1.default.createElement(uikit_1.Modal, { open: showForm, className: b(), disableEscapeKeyDown: true, disableOutsideClick: true },
|
|
52
|
+
react_1.default.createElement("div", { className: b('container') },
|
|
53
|
+
react_1.default.createElement(sub_blocks_1.HubspotForm, Object.assign({ createDOMElement: true }, formsConfig.hubspot, themedFormData, { onSubmit: handleSubmit })))));
|
|
54
|
+
};
|
|
55
|
+
exports.default = FormWallBlock;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const FormWallBlock: {
|
|
2
|
+
'form-wall-block': {
|
|
3
|
+
additionalProperties: boolean;
|
|
4
|
+
properties: {
|
|
5
|
+
slug: {
|
|
6
|
+
type: string;
|
|
7
|
+
};
|
|
8
|
+
formData: {
|
|
9
|
+
type: string;
|
|
10
|
+
optionName: string;
|
|
11
|
+
properties: {
|
|
12
|
+
hubspot: {
|
|
13
|
+
oneOf: (({
|
|
14
|
+
type: string;
|
|
15
|
+
required: string[];
|
|
16
|
+
properties: {
|
|
17
|
+
region: {
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
portalId: {
|
|
21
|
+
type: string;
|
|
22
|
+
};
|
|
23
|
+
formId: {
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
formInstanceId: {
|
|
27
|
+
type: string;
|
|
28
|
+
};
|
|
29
|
+
type: {};
|
|
30
|
+
when: {
|
|
31
|
+
type: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
} & {
|
|
35
|
+
optionName: string;
|
|
36
|
+
}) | {
|
|
37
|
+
type: string;
|
|
38
|
+
additionalProperties: boolean;
|
|
39
|
+
required: import("../..").Theme[];
|
|
40
|
+
properties: {};
|
|
41
|
+
optionName: string;
|
|
42
|
+
})[];
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
type: {};
|
|
47
|
+
when: {
|
|
48
|
+
type: string;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormWallBlock = void 0;
|
|
4
|
+
const common_1 = require("../../schema/validators/common");
|
|
5
|
+
const schema_1 = require("../../sub-blocks/HubspotForm/schema");
|
|
6
|
+
exports.FormWallBlock = {
|
|
7
|
+
'form-wall-block': {
|
|
8
|
+
additionalProperties: false,
|
|
9
|
+
properties: Object.assign(Object.assign({}, common_1.BaseProps), { slug: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
}, formData: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
optionName: 'hubspot',
|
|
14
|
+
properties: {
|
|
15
|
+
hubspot: (0, common_1.withTheme)(schema_1.HubspotFormProps),
|
|
16
|
+
},
|
|
17
|
+
} }),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
@@ -21,6 +21,7 @@ export { default as MarqueeLinksBlock } from './MarqueeLinks/MarqueeLinks';
|
|
|
21
21
|
export { default as SolutionsBlock } from './Solutions/Solutions';
|
|
22
22
|
export { default as ServicesBlock } from './Services/Services';
|
|
23
23
|
export { default as QuotesBlock } from './Quotes/Quotes';
|
|
24
|
+
export { default as FormWallBlock } from './FormWallBlock/FormWallBlock';
|
|
24
25
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
25
26
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
26
27
|
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
|
|
6
|
+
exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterBlock = exports.ShareBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.BannerBlock = void 0;
|
|
7
7
|
var Banner_1 = require("./Banner/Banner");
|
|
8
8
|
Object.defineProperty(exports, "BannerBlock", { enumerable: true, get: function () { return __importDefault(Banner_1).default; } });
|
|
9
9
|
var Companies_1 = require("./Companies/Companies");
|
|
@@ -50,6 +50,8 @@ var Services_1 = require("./Services/Services");
|
|
|
50
50
|
Object.defineProperty(exports, "ServicesBlock", { enumerable: true, get: function () { return __importDefault(Services_1).default; } });
|
|
51
51
|
var Quotes_1 = require("./Quotes/Quotes");
|
|
52
52
|
Object.defineProperty(exports, "QuotesBlock", { enumerable: true, get: function () { return __importDefault(Quotes_1).default; } });
|
|
53
|
+
var FormWallBlock_1 = require("./FormWallBlock/FormWallBlock");
|
|
54
|
+
Object.defineProperty(exports, "FormWallBlock", { enumerable: true, get: function () { return __importDefault(FormWallBlock_1).default; } });
|
|
53
55
|
var LinkTable_1 = require("./LinkTable/LinkTable");
|
|
54
56
|
Object.defineProperty(exports, "LinkTableBlock", { enumerable: true, get: function () { return __importDefault(LinkTable_1).default; } });
|
|
55
57
|
var EventsFeed_1 = require("./EventsFeed/EventsFeed");
|
|
@@ -28,6 +28,7 @@ export declare const blockMap: {
|
|
|
28
28
|
"link-table-block": ({ title, items }: import("./models").LinkTableBlockProps) => JSX.Element;
|
|
29
29
|
"services-block": ({ title, serviceLinkType }: import("./models").ServicesBlockProps) => JSX.Element;
|
|
30
30
|
"quotes-block": ({ theme: localTheme, items, background, backgroundColor, }: import("./models").QuotesBlockProps) => JSX.Element;
|
|
31
|
+
"form-wall-block": (props: import("./models").FormWallBlockProps) => JSX.Element;
|
|
31
32
|
"slider-new-block": ({ animated, title, description, type, anchorId, arrows, adaptive, autoplay: autoplayMs, dots, className, dotsClassName, disclaimer, children, blockClassName, arrowSize, slidesToShow, onSlideChange, onSlideChangeTransitionStart, onSlideChangeTransitionEnd, onActiveIndexChange, onBreakpoint, }: import("react").PropsWithChildren<import("./blocks/SliderNew/Slider").SliderNewProps>) => JSX.Element;
|
|
32
33
|
};
|
|
33
34
|
export declare const subBlockMap: {
|
|
@@ -38,6 +38,7 @@ exports.blockMap = {
|
|
|
38
38
|
[models_1.BlockType.LinkTableBlock]: blocks_1.LinkTableBlock,
|
|
39
39
|
[models_1.BlockType.ServicesBlock]: blocks_1.ServicesBlock,
|
|
40
40
|
[models_1.BlockType.QuotesBlock]: blocks_1.QuotesBlock,
|
|
41
|
+
[models_1.BlockType.FormWallBlock]: blocks_1.FormWallBlock,
|
|
41
42
|
// unstable
|
|
42
43
|
[models_1.BlockType.SliderNewBlock]: unstable_1.SliderNewBlock,
|
|
43
44
|
};
|
package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js
CHANGED
|
@@ -48,6 +48,9 @@ const ConstructorBlocks = ({ items }) => {
|
|
|
48
48
|
}
|
|
49
49
|
const styles = (0, utils_1.getBlockBackgroundStyles)(('blockBackground' in item &&
|
|
50
50
|
item.blockBackground));
|
|
51
|
+
if (item.type === models_1.BlockType.FormWallBlock) {
|
|
52
|
+
return react_1.default.createElement(react_1.default.Fragment, { key: blockId }, itemElement);
|
|
53
|
+
}
|
|
51
54
|
return (react_1.default.createElement(grid_1.Grid, { key: blockId, className: b({
|
|
52
55
|
'no-horizontal-scroll': item.type === models_1.BlockType.QuotesBlock ||
|
|
53
56
|
('backgroundFull' in item && Boolean(item.backgroundFull)),
|
|
@@ -29,6 +29,7 @@ export declare enum BlockType {
|
|
|
29
29
|
SolutionsBlock = "solutions-block",
|
|
30
30
|
ServicesBlock = "services-block",
|
|
31
31
|
QuotesBlock = "quotes-block",
|
|
32
|
+
FormWallBlock = "form-wall-block",
|
|
32
33
|
LinkTableBlock = "link-table-block",
|
|
33
34
|
EventsFeedBlock = "events-feed-block",
|
|
34
35
|
BlogFeedBlock = "blog-feed-block",
|
|
@@ -292,6 +293,10 @@ export interface TableBlockProps {
|
|
|
292
293
|
links?: LinkProps[];
|
|
293
294
|
buttons?: ButtonProps[];
|
|
294
295
|
}
|
|
296
|
+
export interface FormWallBlockProps {
|
|
297
|
+
formData: FormBlockHubspotData;
|
|
298
|
+
slug?: string;
|
|
299
|
+
}
|
|
295
300
|
export interface HighlightTableData {
|
|
296
301
|
content: string[][];
|
|
297
302
|
customColumnWidth?: (12 | 6 | 4 | 3 | 2)[];
|
|
@@ -582,10 +587,13 @@ export type RelevantPostsBlockModel = {
|
|
|
582
587
|
export type PressReleasesBlockModel = {
|
|
583
588
|
type: BlockType.PressReleasesBlock;
|
|
584
589
|
} & PressReleasesBlockProps;
|
|
590
|
+
export type FormWallBlockModel = {
|
|
591
|
+
type: BlockType.FormWallBlock;
|
|
592
|
+
} & FormWallBlockProps;
|
|
585
593
|
export type SliderNewBlockModel = {
|
|
586
594
|
type: BlockType.SliderNewBlock;
|
|
587
595
|
} & SliderNewProps;
|
|
588
|
-
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | PressReleasesBlockModel;
|
|
596
|
+
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | PressReleasesBlockModel | FormWallBlockModel;
|
|
589
597
|
type UnstableBlockModels = SliderNewBlockModel;
|
|
590
598
|
export type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;
|
|
591
599
|
export {};
|
|
@@ -26,6 +26,7 @@ var BlockType;
|
|
|
26
26
|
BlockType["SolutionsBlock"] = "solutions-block";
|
|
27
27
|
BlockType["ServicesBlock"] = "services-block";
|
|
28
28
|
BlockType["QuotesBlock"] = "quotes-block";
|
|
29
|
+
BlockType["FormWallBlock"] = "form-wall-block";
|
|
29
30
|
BlockType["LinkTableBlock"] = "link-table-block";
|
|
30
31
|
BlockType["EventsFeedBlock"] = "events-feed-block";
|
|
31
32
|
BlockType["BlogFeedBlock"] = "blog-feed-block";
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
|
|
4
4
|
const blocks_1 = require("./validators/blocks");
|
|
5
5
|
const sub_blocks_1 = require("./validators/sub-blocks");
|
|
6
|
-
exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.PressReleasesBlock);
|
|
6
|
+
exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock);
|
|
7
7
|
exports.cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard), sub_blocks_1.PriceCardBlock), sub_blocks_1.ImageCard), sub_blocks_1.ContentLayoutCard), sub_blocks_1.Card), sub_blocks_1.PostCard), sub_blocks_1.FeedCard), sub_blocks_1.EventPersonCard), sub_blocks_1.AttachmentCard), sub_blocks_1.CaseStudyCard);
|
|
8
8
|
exports.constructorBlockSchemaNames = [
|
|
9
9
|
'divider',
|
|
@@ -20,6 +20,7 @@ exports.constructorBlockSchemaNames = [
|
|
|
20
20
|
'media-block',
|
|
21
21
|
'map-block',
|
|
22
22
|
'info-block',
|
|
23
|
+
'form-wall-block',
|
|
23
24
|
'table-block',
|
|
24
25
|
'tabs-block',
|
|
25
26
|
'marquee-links-block',
|
|
@@ -26,5 +26,6 @@ export * from '../../blocks/LinkTable/schema';
|
|
|
26
26
|
export * from '../../blocks/EventsFeed/schema';
|
|
27
27
|
export * from '../../blocks/BlogFeed/schema';
|
|
28
28
|
export * from '../../blocks/RelevantPosts/schema';
|
|
29
|
+
export * from '../../blocks/FormWallBlock/schema';
|
|
29
30
|
export * from '../../blocks/PressReleases/schema';
|
|
30
31
|
export * from '../../blocks/HighlightTable/schema';
|
|
@@ -29,5 +29,6 @@ tslib_1.__exportStar(require("../../blocks/LinkTable/schema"), exports);
|
|
|
29
29
|
tslib_1.__exportStar(require("../../blocks/EventsFeed/schema"), exports);
|
|
30
30
|
tslib_1.__exportStar(require("../../blocks/BlogFeed/schema"), exports);
|
|
31
31
|
tslib_1.__exportStar(require("../../blocks/RelevantPosts/schema"), exports);
|
|
32
|
+
tslib_1.__exportStar(require("../../blocks/FormWallBlock/schema"), exports);
|
|
32
33
|
tslib_1.__exportStar(require("../../blocks/PressReleases/schema"), exports);
|
|
33
34
|
tslib_1.__exportStar(require("../../blocks/HighlightTable/schema"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
.pc-form-wall-block {
|
|
4
|
+
backdrop-filter: blur(5px);
|
|
5
|
+
}
|
|
6
|
+
.pc-form-wall-block__container {
|
|
7
|
+
background-color: var(--g-color-base-background);
|
|
8
|
+
border-radius: var(--pc-border-radius);
|
|
9
|
+
padding: 32px;
|
|
10
|
+
height: 100%;
|
|
11
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FormWallBlockProps } from '../../models';
|
|
2
|
+
import './FormWallBlock.css';
|
|
3
|
+
export declare const FORM_WALL_BLOCK_STORAGE_KEY = "FORM_WALL_BLOCK_STORAGE_KEY";
|
|
4
|
+
declare const FormWallBlock: (props: FormWallBlockProps) => JSX.Element;
|
|
5
|
+
export default FormWallBlock;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { Modal } from '@gravity-ui/uikit';
|
|
3
|
+
import { FormListContext } from '../../context/formListContext';
|
|
4
|
+
import { FormsContext } from '../../context/formsContext';
|
|
5
|
+
import { useTheme } from '../../context/theme';
|
|
6
|
+
import { HubspotForm } from '../../sub-blocks';
|
|
7
|
+
import { block, getThemedValue } from '../../utils';
|
|
8
|
+
import './FormWallBlock.css';
|
|
9
|
+
export const FORM_WALL_BLOCK_STORAGE_KEY = 'FORM_WALL_BLOCK_STORAGE_KEY';
|
|
10
|
+
const b = block('form-wall-block');
|
|
11
|
+
const FormWallBlock = (props) => {
|
|
12
|
+
const [showForm, setShowForm] = useState(false);
|
|
13
|
+
const { formData, slug } = props;
|
|
14
|
+
const formList = useContext(FormListContext);
|
|
15
|
+
const formsConfig = useContext(FormsContext);
|
|
16
|
+
const form = useMemo(() => formList.items.find((item) => item.slug === slug), [slug, formList.items]);
|
|
17
|
+
const theme = useTheme();
|
|
18
|
+
const localStorageKey = useMemo(() => { var _a; return String(slug || ((_a = formData === null || formData === void 0 ? void 0 : formData.hubspot) === null || _a === void 0 ? void 0 : _a.formId) || window.location.pathname); }, [slug, formData]);
|
|
19
|
+
const handleSubmit = useCallback(() => {
|
|
20
|
+
setShowForm(false);
|
|
21
|
+
try {
|
|
22
|
+
const storageData = JSON.parse(window.localStorage.getItem(FORM_WALL_BLOCK_STORAGE_KEY) || '{}');
|
|
23
|
+
storageData[localStorageKey] = true;
|
|
24
|
+
window.localStorage.setItem(FORM_WALL_BLOCK_STORAGE_KEY, JSON.stringify(storageData));
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
// eslint-disable-next-line no-console
|
|
28
|
+
console.log(e);
|
|
29
|
+
}
|
|
30
|
+
}, [localStorageKey]);
|
|
31
|
+
const data = useMemo(() => {
|
|
32
|
+
return form ? form : formData.hubspot;
|
|
33
|
+
}, [form, formData.hubspot]);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
try {
|
|
36
|
+
const storageData = JSON.parse(window.localStorage.getItem(FORM_WALL_BLOCK_STORAGE_KEY) || '{}');
|
|
37
|
+
if (!storageData[localStorageKey]) {
|
|
38
|
+
setShowForm(true);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
43
|
+
console.log(e);
|
|
44
|
+
}
|
|
45
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
|
+
}, []);
|
|
47
|
+
const themedFormData = getThemedValue(data, theme);
|
|
48
|
+
return (React.createElement(Modal, { open: showForm, className: b(), disableEscapeKeyDown: true, disableOutsideClick: true },
|
|
49
|
+
React.createElement("div", { className: b('container') },
|
|
50
|
+
React.createElement(HubspotForm, Object.assign({ createDOMElement: true }, formsConfig.hubspot, themedFormData, { onSubmit: handleSubmit })))));
|
|
51
|
+
};
|
|
52
|
+
export default FormWallBlock;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const FormWallBlock: {
|
|
2
|
+
'form-wall-block': {
|
|
3
|
+
additionalProperties: boolean;
|
|
4
|
+
properties: {
|
|
5
|
+
slug: {
|
|
6
|
+
type: string;
|
|
7
|
+
};
|
|
8
|
+
formData: {
|
|
9
|
+
type: string;
|
|
10
|
+
optionName: string;
|
|
11
|
+
properties: {
|
|
12
|
+
hubspot: {
|
|
13
|
+
oneOf: (({
|
|
14
|
+
type: string;
|
|
15
|
+
required: string[];
|
|
16
|
+
properties: {
|
|
17
|
+
region: {
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
portalId: {
|
|
21
|
+
type: string;
|
|
22
|
+
};
|
|
23
|
+
formId: {
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
formInstanceId: {
|
|
27
|
+
type: string;
|
|
28
|
+
};
|
|
29
|
+
type: {};
|
|
30
|
+
when: {
|
|
31
|
+
type: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
} & {
|
|
35
|
+
optionName: string;
|
|
36
|
+
}) | {
|
|
37
|
+
type: string;
|
|
38
|
+
additionalProperties: boolean;
|
|
39
|
+
required: import("../..").Theme[];
|
|
40
|
+
properties: {};
|
|
41
|
+
optionName: string;
|
|
42
|
+
})[];
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
type: {};
|
|
47
|
+
when: {
|
|
48
|
+
type: string;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseProps, withTheme } from '../../schema/validators/common';
|
|
2
|
+
import { HubspotFormProps } from '../../sub-blocks/HubspotForm/schema';
|
|
3
|
+
export const FormWallBlock = {
|
|
4
|
+
'form-wall-block': {
|
|
5
|
+
additionalProperties: false,
|
|
6
|
+
properties: Object.assign(Object.assign({}, BaseProps), { slug: {
|
|
7
|
+
type: 'string',
|
|
8
|
+
}, formData: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
optionName: 'hubspot',
|
|
11
|
+
properties: {
|
|
12
|
+
hubspot: withTheme(HubspotFormProps),
|
|
13
|
+
},
|
|
14
|
+
} }),
|
|
15
|
+
},
|
|
16
|
+
};
|
|
@@ -21,6 +21,7 @@ export { default as MarqueeLinksBlock } from './MarqueeLinks/MarqueeLinks';
|
|
|
21
21
|
export { default as SolutionsBlock } from './Solutions/Solutions';
|
|
22
22
|
export { default as ServicesBlock } from './Services/Services';
|
|
23
23
|
export { default as QuotesBlock } from './Quotes/Quotes';
|
|
24
|
+
export { default as FormWallBlock } from './FormWallBlock/FormWallBlock';
|
|
24
25
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
25
26
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
26
27
|
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
@@ -21,6 +21,7 @@ export { default as MarqueeLinksBlock } from './MarqueeLinks/MarqueeLinks';
|
|
|
21
21
|
export { default as SolutionsBlock } from './Solutions/Solutions';
|
|
22
22
|
export { default as ServicesBlock } from './Services/Services';
|
|
23
23
|
export { default as QuotesBlock } from './Quotes/Quotes';
|
|
24
|
+
export { default as FormWallBlock } from './FormWallBlock/FormWallBlock';
|
|
24
25
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
25
26
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
26
27
|
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
@@ -28,6 +28,7 @@ export declare const blockMap: {
|
|
|
28
28
|
"link-table-block": ({ title, items }: import("./models").LinkTableBlockProps) => JSX.Element;
|
|
29
29
|
"services-block": ({ title, serviceLinkType }: import("./models").ServicesBlockProps) => JSX.Element;
|
|
30
30
|
"quotes-block": ({ theme: localTheme, items, background, backgroundColor, }: import("./models").QuotesBlockProps) => JSX.Element;
|
|
31
|
+
"form-wall-block": (props: import("./models").FormWallBlockProps) => JSX.Element;
|
|
31
32
|
"slider-new-block": ({ animated, title, description, type, anchorId, arrows, adaptive, autoplay: autoplayMs, dots, className, dotsClassName, disclaimer, children, blockClassName, arrowSize, slidesToShow, onSlideChange, onSlideChangeTransitionStart, onSlideChangeTransitionEnd, onActiveIndexChange, onBreakpoint, }: import("react").PropsWithChildren<import("./blocks/SliderNew/Slider").SliderNewProps>) => JSX.Element;
|
|
32
33
|
};
|
|
33
34
|
export declare const subBlockMap: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BannerBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, MapBlock, MarqueeLinksBlock, MediaBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, ServicesBlock, ShareBlock, SliderBlock, SolutionsBlock, TableBlock, TabsBlock, } from './blocks';
|
|
1
|
+
import { BannerBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, MapBlock, MarqueeLinksBlock, MediaBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, ServicesBlock, ShareBlock, SliderBlock, SolutionsBlock, TableBlock, TabsBlock, } from './blocks';
|
|
2
2
|
import { SliderNewBlock } from './blocks/unstable';
|
|
3
3
|
import { BlockType, NavigationItemType, SubBlockType } from './models';
|
|
4
4
|
import { GithubButton, NavigationButton, NavigationDropdown, NavigationLink, } from './navigation/components/NavigationItem';
|
|
@@ -34,6 +34,7 @@ export const blockMap = {
|
|
|
34
34
|
[BlockType.LinkTableBlock]: LinkTableBlock,
|
|
35
35
|
[BlockType.ServicesBlock]: ServicesBlock,
|
|
36
36
|
[BlockType.QuotesBlock]: QuotesBlock,
|
|
37
|
+
[BlockType.FormWallBlock]: FormWallBlock,
|
|
37
38
|
// unstable
|
|
38
39
|
[BlockType.SliderNewBlock]: SliderNewBlock,
|
|
39
40
|
};
|
package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js
CHANGED
|
@@ -45,6 +45,9 @@ export const ConstructorBlocks = ({ items }) => {
|
|
|
45
45
|
}
|
|
46
46
|
const styles = getBlockBackgroundStyles(('blockBackground' in item &&
|
|
47
47
|
item.blockBackground));
|
|
48
|
+
if (item.type === BlockType.FormWallBlock) {
|
|
49
|
+
return React.createElement(React.Fragment, { key: blockId }, itemElement);
|
|
50
|
+
}
|
|
48
51
|
return (React.createElement(Grid, { key: blockId, className: b({
|
|
49
52
|
'no-horizontal-scroll': item.type === BlockType.QuotesBlock ||
|
|
50
53
|
('backgroundFull' in item && Boolean(item.backgroundFull)),
|
|
@@ -29,6 +29,7 @@ export declare enum BlockType {
|
|
|
29
29
|
SolutionsBlock = "solutions-block",
|
|
30
30
|
ServicesBlock = "services-block",
|
|
31
31
|
QuotesBlock = "quotes-block",
|
|
32
|
+
FormWallBlock = "form-wall-block",
|
|
32
33
|
LinkTableBlock = "link-table-block",
|
|
33
34
|
EventsFeedBlock = "events-feed-block",
|
|
34
35
|
BlogFeedBlock = "blog-feed-block",
|
|
@@ -292,6 +293,10 @@ export interface TableBlockProps {
|
|
|
292
293
|
links?: LinkProps[];
|
|
293
294
|
buttons?: ButtonProps[];
|
|
294
295
|
}
|
|
296
|
+
export interface FormWallBlockProps {
|
|
297
|
+
formData: FormBlockHubspotData;
|
|
298
|
+
slug?: string;
|
|
299
|
+
}
|
|
295
300
|
export interface HighlightTableData {
|
|
296
301
|
content: string[][];
|
|
297
302
|
customColumnWidth?: (12 | 6 | 4 | 3 | 2)[];
|
|
@@ -582,10 +587,13 @@ export type RelevantPostsBlockModel = {
|
|
|
582
587
|
export type PressReleasesBlockModel = {
|
|
583
588
|
type: BlockType.PressReleasesBlock;
|
|
584
589
|
} & PressReleasesBlockProps;
|
|
590
|
+
export type FormWallBlockModel = {
|
|
591
|
+
type: BlockType.FormWallBlock;
|
|
592
|
+
} & FormWallBlockProps;
|
|
585
593
|
export type SliderNewBlockModel = {
|
|
586
594
|
type: BlockType.SliderNewBlock;
|
|
587
595
|
} & SliderNewProps;
|
|
588
|
-
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | PressReleasesBlockModel;
|
|
596
|
+
type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | PressReleasesBlockModel | FormWallBlockModel;
|
|
589
597
|
type UnstableBlockModels = SliderNewBlockModel;
|
|
590
598
|
export type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;
|
|
591
599
|
export {};
|
|
@@ -23,6 +23,7 @@ export var BlockType;
|
|
|
23
23
|
BlockType["SolutionsBlock"] = "solutions-block";
|
|
24
24
|
BlockType["ServicesBlock"] = "services-block";
|
|
25
25
|
BlockType["QuotesBlock"] = "quotes-block";
|
|
26
|
+
BlockType["FormWallBlock"] = "form-wall-block";
|
|
26
27
|
BlockType["LinkTableBlock"] = "link-table-block";
|
|
27
28
|
BlockType["EventsFeedBlock"] = "events-feed-block";
|
|
28
29
|
BlockType["BlogFeedBlock"] = "blog-feed-block";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BannerBlock, BannerCard, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, MapBlock, MarqueeLinksBlock, MediaBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TableBlock, TabsBlock, } from './validators/blocks';
|
|
1
|
+
import { BannerBlock, BannerCard, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, MapBlock, MarqueeLinksBlock, MediaBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TableBlock, TabsBlock, } from './validators/blocks';
|
|
2
2
|
import { AttachmentCard, BackgroundCard, BasicCard, Card, CaseStudyCard, ContentLayoutCard, Divider, EventPersonCard, FeedCard, ImageCard, MediaCardBlock, PostCard, PriceCardBlock, PriceDetailedBlock, Quote, } from './validators/sub-blocks';
|
|
3
|
-
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), HighlightTableBlock), TabsBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock), FilterBlock), FormBlock), SliderNewBlock), MarqueeLinksBlock), SolutionsBlock), ServicesBlock), QuotesBlock), LinkTableBlock), EventsFeedBlock), BlogFeedBlock), RelevantPostsBlock), PressReleasesBlock);
|
|
3
|
+
export const blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), HighlightTableBlock), TabsBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock), FilterBlock), FormBlock), SliderNewBlock), MarqueeLinksBlock), SolutionsBlock), ServicesBlock), QuotesBlock), LinkTableBlock), EventsFeedBlock), BlogFeedBlock), RelevantPostsBlock), PressReleasesBlock), FormWallBlock);
|
|
4
4
|
export const cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock), ImageCard), ContentLayoutCard), Card), PostCard), FeedCard), EventPersonCard), AttachmentCard), CaseStudyCard);
|
|
5
5
|
export const constructorBlockSchemaNames = [
|
|
6
6
|
'divider',
|
|
@@ -17,6 +17,7 @@ export const constructorBlockSchemaNames = [
|
|
|
17
17
|
'media-block',
|
|
18
18
|
'map-block',
|
|
19
19
|
'info-block',
|
|
20
|
+
'form-wall-block',
|
|
20
21
|
'table-block',
|
|
21
22
|
'tabs-block',
|
|
22
23
|
'marquee-links-block',
|
|
@@ -26,5 +26,6 @@ export * from '../../blocks/LinkTable/schema';
|
|
|
26
26
|
export * from '../../blocks/EventsFeed/schema';
|
|
27
27
|
export * from '../../blocks/BlogFeed/schema';
|
|
28
28
|
export * from '../../blocks/RelevantPosts/schema';
|
|
29
|
+
export * from '../../blocks/FormWallBlock/schema';
|
|
29
30
|
export * from '../../blocks/PressReleases/schema';
|
|
30
31
|
export * from '../../blocks/HighlightTable/schema';
|
|
@@ -26,5 +26,6 @@ export * from '../../blocks/LinkTable/schema';
|
|
|
26
26
|
export * from '../../blocks/EventsFeed/schema';
|
|
27
27
|
export * from '../../blocks/BlogFeed/schema';
|
|
28
28
|
export * from '../../blocks/RelevantPosts/schema';
|
|
29
|
+
export * from '../../blocks/FormWallBlock/schema';
|
|
29
30
|
export * from '../../blocks/PressReleases/schema';
|
|
30
31
|
export * from '../../blocks/HighlightTable/schema';
|