@doyourjob/gravity-ui-page-constructor 5.31.201 → 5.31.203

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.
Files changed (50) hide show
  1. package/build/cjs/blocks/CustomerStoriesFeed/CustomerStoriesFeed.d.ts +2 -0
  2. package/build/cjs/blocks/CustomerStoriesFeed/CustomerStoriesFeed.js +25 -0
  3. package/build/cjs/blocks/CustomerStoriesFeed/schema.d.ts +12 -0
  4. package/build/cjs/blocks/CustomerStoriesFeed/schema.js +11 -0
  5. package/build/cjs/blocks/index.d.ts +1 -0
  6. package/build/cjs/blocks/index.js +4 -2
  7. package/build/cjs/constructor-items.d.ts +1 -0
  8. package/build/cjs/constructor-items.js +1 -0
  9. package/build/cjs/context/customerStoriesPostsContext/CustomerStoriesPostsContext.d.ts +14 -0
  10. package/build/cjs/context/customerStoriesPostsContext/CustomerStoriesPostsContext.js +11 -0
  11. package/build/cjs/context/customerStoriesPostsContext/index.d.ts +1 -0
  12. package/build/cjs/context/customerStoriesPostsContext/index.js +4 -0
  13. package/build/cjs/index.d.ts +1 -0
  14. package/build/cjs/index.js +1 -0
  15. package/build/cjs/models/constructor-items/blocks.d.ts +5 -1
  16. package/build/cjs/models/constructor-items/blocks.js +1 -0
  17. package/build/cjs/models/constructor-items/sub-blocks.d.ts +1 -1
  18. package/build/cjs/schema/constants.d.ts +1 -1
  19. package/build/cjs/schema/constants.js +2 -1
  20. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  21. package/build/cjs/schema/validators/blocks.js +1 -0
  22. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +3 -1
  23. package/build/esm/blocks/CustomerStoriesFeed/CustomerStoriesFeed.d.ts +2 -0
  24. package/build/esm/blocks/CustomerStoriesFeed/CustomerStoriesFeed.js +20 -0
  25. package/build/esm/blocks/CustomerStoriesFeed/schema.d.ts +12 -0
  26. package/build/esm/blocks/CustomerStoriesFeed/schema.js +8 -0
  27. package/build/esm/blocks/index.d.ts +1 -0
  28. package/build/esm/blocks/index.js +1 -0
  29. package/build/esm/constructor-items.d.ts +1 -0
  30. package/build/esm/constructor-items.js +2 -1
  31. package/build/esm/context/customerStoriesPostsContext/CustomerStoriesPostsContext.d.ts +14 -0
  32. package/build/esm/context/customerStoriesPostsContext/CustomerStoriesPostsContext.js +7 -0
  33. package/build/esm/context/customerStoriesPostsContext/index.d.ts +1 -0
  34. package/build/esm/context/customerStoriesPostsContext/index.js +1 -0
  35. package/build/esm/index.d.ts +1 -0
  36. package/build/esm/index.js +1 -0
  37. package/build/esm/models/constructor-items/blocks.d.ts +5 -1
  38. package/build/esm/models/constructor-items/blocks.js +1 -0
  39. package/build/esm/models/constructor-items/sub-blocks.d.ts +1 -1
  40. package/build/esm/schema/constants.d.ts +1 -1
  41. package/build/esm/schema/constants.js +3 -2
  42. package/build/esm/schema/validators/blocks.d.ts +1 -0
  43. package/build/esm/schema/validators/blocks.js +1 -0
  44. package/build/esm/sub-blocks/ImageCard/ImageCard.js +3 -1
  45. package/package.json +1 -1
  46. package/schema/index.js +1 -1
  47. package/server/models/constructor-items/blocks.d.ts +5 -1
  48. package/server/models/constructor-items/blocks.js +1 -0
  49. package/server/models/constructor-items/sub-blocks.d.ts +1 -1
  50. package/widget/index.js +1 -1
@@ -0,0 +1,2 @@
1
+ export declare const CustomerStoriesFeedBlock: () => JSX.Element | null;
2
+ export default CustomerStoriesFeedBlock;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomerStoriesFeedBlock = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const __1 = require("../..");
7
+ const components_1 = require("../../components");
8
+ const colSizes = {
9
+ all: 12,
10
+ lg: 4,
11
+ md: 6,
12
+ };
13
+ const CustomerStoriesFeedBlock = () => {
14
+ const { posts, page, pageSize, onLoadMore } = (0, react_1.useContext)(__1.CustomerStoriesPostsContext);
15
+ const itemsToShow = posts.slice(0, page * pageSize);
16
+ const hasMore = page < Math.ceil(posts.length / pageSize);
17
+ if (posts.length === 0) {
18
+ return null;
19
+ }
20
+ return (react_1.default.createElement(react_1.default.Fragment, null,
21
+ react_1.default.createElement(__1.CardLayoutBlock, { colSizes: colSizes }, itemsToShow.map((item) => (react_1.default.createElement(__1.ImageCard, Object.assign({ key: item.url }, item))))),
22
+ react_1.default.createElement(components_1.InfiniteScroll, { hasMore: hasMore, onNext: onLoadMore })));
23
+ };
24
+ exports.CustomerStoriesFeedBlock = CustomerStoriesFeedBlock;
25
+ exports.default = exports.CustomerStoriesFeedBlock;
@@ -0,0 +1,12 @@
1
+ export declare const CustomerStoriesFeedBlock: {
2
+ 'customer-stories-feed-block': {
3
+ additionalProperties: boolean;
4
+ required: never[];
5
+ properties: {
6
+ type: {};
7
+ when: {
8
+ type: string;
9
+ };
10
+ };
11
+ };
12
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomerStoriesFeedBlock = void 0;
4
+ const common_1 = require("./../../schema/validators/common");
5
+ exports.CustomerStoriesFeedBlock = {
6
+ 'customer-stories-feed-block': {
7
+ additionalProperties: false,
8
+ required: [],
9
+ properties: Object.assign({}, common_1.BaseProps),
10
+ },
11
+ };
@@ -44,6 +44,7 @@ export { default as ResourceHubPostsBlock } from './ResourceHubPosts/ResourceHub
44
44
  export { default as EventsSectionBlock } from './EventsSection/EventsSection';
45
45
  export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
46
46
  export { default as ScienceFeedBlock } from './ScienceFeed/ScienceFeed';
47
+ export { default as CustomerStoriesFeedBlock } from './CustomerStoriesFeed/CustomerStoriesFeed';
47
48
  export { default as RelevantPostsBlock } from './RelevantPosts/RelevantPosts';
48
49
  export { default as RelevantReportsCardsBlock } from './RelevantReportsCards/RelevantReportsCards';
49
50
  export { default as RelevantReportsBlock } from './RelevantReports/RelevantReports';
@@ -3,8 +3,8 @@ 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.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.ScienceFeedBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.ResourceHubPostsBlock = exports.PartnersFeedBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = exports.AboutHeaderBlock = exports.ScienceHeaderBlock = exports.ReportsBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterCardLayoutBlock = exports.FilterBlock = exports.ShareBlock = exports.BannerMinifyBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderMinifyBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.ScrollerBlock = exports.BenefitsBlock = exports.AdvantagesBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.LogoRotatorBlock = exports.BannerBlock = void 0;
7
- exports.ScienceSuggestBlock = exports.OnetrustCookieListBlock = exports.AudioBlock = exports.CatBlock = exports.SidebarWidgetBlock = exports.BenchmarkBlock = exports.MiniCaseBlock = exports.HighlightTableBlock = void 0;
6
+ exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.CustomerStoriesFeedBlock = exports.ScienceFeedBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.ResourceHubPostsBlock = exports.PartnersFeedBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = exports.AboutHeaderBlock = exports.ScienceHeaderBlock = exports.ReportsBlock = exports.QuotesBlock = exports.ServicesBlock = exports.SolutionsBlock = exports.MarqueeLinksBlock = exports.FormBlock = exports.FilterCardLayoutBlock = exports.FilterBlock = exports.ShareBlock = exports.BannerMinifyBlock = exports.ContentLayoutBlock = exports.CardLayoutBlock = exports.HeaderSliderBlock = exports.IconsBlock = exports.HeaderMinifyBlock = exports.HeaderBlock = exports.TabLinksBlock = exports.TabsHighlightTableBlock = exports.TabsBlock = exports.TableBlock = exports.QuestionsBlock = exports.ScrollerBlock = exports.BenefitsBlock = exports.AdvantagesBlock = exports.PromoFeaturesBlock = exports.ExtendedFeaturesBlock = exports.SliderNewBlock = exports.SliderBlock = exports.MapBlock = exports.MediaBlock = exports.InfoBlock = exports.CompaniesBlock = exports.LogoRotatorBlock = exports.BannerBlock = void 0;
7
+ exports.ScienceSuggestBlock = exports.OnetrustCookieListBlock = exports.AudioBlock = exports.CatBlock = exports.SidebarWidgetBlock = exports.BenchmarkBlock = exports.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = void 0;
8
8
  var Banner_1 = require("./Banner/Banner");
9
9
  Object.defineProperty(exports, "BannerBlock", { enumerable: true, get: function () { return __importDefault(Banner_1).default; } });
10
10
  var LogoRotator_1 = require("./LogoRotator/LogoRotator");
@@ -97,6 +97,8 @@ var BlogFeed_1 = require("./BlogFeed/BlogFeed");
97
97
  Object.defineProperty(exports, "BlogFeedBlock", { enumerable: true, get: function () { return __importDefault(BlogFeed_1).default; } });
98
98
  var ScienceFeed_1 = require("./ScienceFeed/ScienceFeed");
99
99
  Object.defineProperty(exports, "ScienceFeedBlock", { enumerable: true, get: function () { return __importDefault(ScienceFeed_1).default; } });
100
+ var CustomerStoriesFeed_1 = require("./CustomerStoriesFeed/CustomerStoriesFeed");
101
+ Object.defineProperty(exports, "CustomerStoriesFeedBlock", { enumerable: true, get: function () { return __importDefault(CustomerStoriesFeed_1).default; } });
100
102
  var RelevantPosts_1 = require("./RelevantPosts/RelevantPosts");
101
103
  Object.defineProperty(exports, "RelevantPostsBlock", { enumerable: true, get: function () { return __importDefault(RelevantPosts_1).default; } });
102
104
  var RelevantReportsCards_1 = require("./RelevantReportsCards/RelevantReportsCards");
@@ -36,6 +36,7 @@ export declare const blockMap: {
36
36
  "events-section-block": ({ typeKey, title, label, empty }: import("./models").EventsSectionBlockProps) => JSX.Element;
37
37
  "blog-feed-block": ({ image, title }: import("./models").BlogFeedBlockProps) => JSX.Element;
38
38
  "science-feed-block": (props: import("./models").ScienceFeedBlockProps) => JSX.Element;
39
+ "customer-stories-feed-block": () => JSX.Element | null;
39
40
  "relevant-posts-block": ({ title, description, slider, date, dateStart, dateEnd, tags, services, pinnedPost, }: import("./models").RelevantPostsBlockProps) => JSX.Element;
40
41
  "relevant-reports-cards-block": ({ typeKey, link, title, description, slider, date, dateStart, dateEnd, }: import("./models").RelevantReportsCardsBlockProps) => JSX.Element;
41
42
  "relevant-reports-block": ({ typeKey, link, title, description, slider, date, dateStart, dateEnd, count, }: import("./models").RelevantReportsBlockProps) => JSX.Element;
@@ -45,6 +45,7 @@ exports.blockMap = {
45
45
  [models_1.BlockType.EventsSectionBlock]: blocks_1.EventsSectionBlock,
46
46
  [models_1.BlockType.BlogFeedBlock]: blocks_1.BlogFeedBlock,
47
47
  [models_1.BlockType.ScienceFeedBlock]: blocks_1.ScienceFeedBlock,
48
+ [models_1.BlockType.CustomerStoriesFeedBlock]: blocks_1.CustomerStoriesFeedBlock,
48
49
  [models_1.BlockType.RelevantPostsBlock]: blocks_1.RelevantPostsBlock,
49
50
  [models_1.BlockType.RelevantReportsCardsBlock]: blocks_1.RelevantReportsCardsBlock,
50
51
  [models_1.BlockType.RelevantReportsBlock]: blocks_1.RelevantReportsBlock,
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export type CustomerStoriesPostData = {
3
+ url: string;
4
+ image: string;
5
+ title: string;
6
+ text?: string;
7
+ };
8
+ export interface CustomerStoriesPostsContextProps {
9
+ posts: CustomerStoriesPostData[];
10
+ page: number;
11
+ pageSize: number;
12
+ onLoadMore?: () => void;
13
+ }
14
+ export declare const CustomerStoriesPostsContext: React.Context<CustomerStoriesPostsContextProps>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomerStoriesPostsContext = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ exports.CustomerStoriesPostsContext = react_1.default.createContext({
7
+ posts: [],
8
+ page: 1,
9
+ pageSize: 6,
10
+ onLoadMore: () => { },
11
+ });
@@ -0,0 +1 @@
1
+ export * from './CustomerStoriesPostsContext';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./CustomerStoriesPostsContext"), exports);
@@ -19,6 +19,7 @@ export * from './context/reportsSectionsContext';
19
19
  export * from './context/miniCaseContext';
20
20
  export * from './context/visibilityFiltersContext';
21
21
  export * from './context/resourceHubPostsContext';
22
+ export * from './context/customerStoriesPostsContext';
22
23
  export * from './containers/PageConstructor';
23
24
  export * from './grid';
24
25
  export * from './blocks';
@@ -24,6 +24,7 @@ tslib_1.__exportStar(require("./context/reportsSectionsContext"), exports);
24
24
  tslib_1.__exportStar(require("./context/miniCaseContext"), exports);
25
25
  tslib_1.__exportStar(require("./context/visibilityFiltersContext"), exports);
26
26
  tslib_1.__exportStar(require("./context/resourceHubPostsContext"), exports);
27
+ tslib_1.__exportStar(require("./context/customerStoriesPostsContext"), exports);
27
28
  tslib_1.__exportStar(require("./containers/PageConstructor"), exports);
28
29
  tslib_1.__exportStar(require("./grid"), exports);
29
30
  tslib_1.__exportStar(require("./blocks"), exports);
@@ -51,6 +51,7 @@ export declare enum BlockType {
51
51
  EventsSectionBlock = "events-section-block",
52
52
  BlogFeedBlock = "blog-feed-block",
53
53
  ScienceFeedBlock = "science-feed-block",
54
+ CustomerStoriesFeedBlock = "customer-stories-feed-block",
54
55
  RelevantPostsBlock = "relevant-posts-block",
55
56
  RelevantReportsCardsBlock = "relevant-reports-cards-block",
56
57
  RelevantReportsBlock = "relevant-reports-block",
@@ -942,6 +943,9 @@ export type BlogFeedBlockModel = {
942
943
  export type ScienceFeedBlockModel = {
943
944
  type: BlockType.ScienceFeedBlock;
944
945
  } & ScienceFeedBlockProps;
946
+ export type CustomerStoriesFeedBlockModel = {
947
+ type: BlockType.CustomerStoriesFeedBlock;
948
+ };
945
949
  export type RelevantPostsBlockModel = {
946
950
  type: BlockType.RelevantPostsBlock;
947
951
  } & RelevantPostsBlockProps;
@@ -963,6 +967,6 @@ export type SliderNewBlockModel = {
963
967
  export type SidebarWidgetBlockModel = {
964
968
  type: BlockType.SidebarWidgetBlock;
965
969
  } & SidebarWidgetBlockProps;
966
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | BenefitsBlockModel | ScrollerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | HeaderMinifyBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | BannerMinifyBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ScienceHeaderBlockModel | AboutHeaderBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | PartnersFeedBlockModel | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | ScienceFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel | SidebarWidgetBlockModel | CatBlockModel | AudioBlockModel | OnetrustCookieListModel | ScienceSuggestBlockModel;
970
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | BenefitsBlockModel | ScrollerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | HeaderMinifyBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | BannerMinifyBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ScienceHeaderBlockModel | AboutHeaderBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | PartnersFeedBlockModel | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | ScienceFeedBlockModel | CustomerStoriesFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel | SidebarWidgetBlockModel | CatBlockModel | AudioBlockModel | OnetrustCookieListModel | ScienceSuggestBlockModel;
967
971
  export type Block = BlockModels & BlockBaseProps;
968
972
  export {};
@@ -47,6 +47,7 @@ var BlockType;
47
47
  BlockType["EventsSectionBlock"] = "events-section-block";
48
48
  BlockType["BlogFeedBlock"] = "blog-feed-block";
49
49
  BlockType["ScienceFeedBlock"] = "science-feed-block";
50
+ BlockType["CustomerStoriesFeedBlock"] = "customer-stories-feed-block";
50
51
  BlockType["RelevantPostsBlock"] = "relevant-posts-block";
51
52
  BlockType["RelevantReportsCardsBlock"] = "relevant-reports-cards-block";
52
53
  BlockType["RelevantReportsBlock"] = "relevant-reports-block";
@@ -194,7 +194,7 @@ export interface FeedPartnerProps extends ClassNameProps {
194
194
  }
195
195
  export interface ImageCardProps extends CardBaseProps, CardLayoutProps, Omit<ContentBlockProps, 'colSizes' | 'centered' | 'controlPosition'> {
196
196
  image: ThemeSupporting<ImageProps>;
197
- hoverImage: ThemeSupporting<ImageProps>;
197
+ hoverImage?: ThemeSupporting<ImageProps>;
198
198
  enableImageBorderRadius?: boolean;
199
199
  margins?: ImageCardMargins;
200
200
  direction?: ImageCardDirection;
@@ -3990,7 +3990,7 @@ export declare const cardSchemas: {
3990
3990
  };
3991
3991
  dataLens: {
3992
3992
  oneOf: ({
3993
- type: string;
3993
+ type: string; /** @deprecated */
3994
3994
  optionName: string;
3995
3995
  } | {
3996
3996
  optionName: string;
@@ -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(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.AdvantagesBlock), blocks_1.BenefitsBlock), blocks_1.ScrollerBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.HeaderMinifyBlock), blocks_1.BannerBlock), blocks_1.LogoRotatorBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.MiniCaseBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.BannerMinifyBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FilterCardLayoutBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.ReportsBlock), blocks_1.ScienceHeaderBlock), blocks_1.AboutHeaderBlock), blocks_1.SidebarWidgetBlock), blocks_1.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.PartnersFeedBlock), blocks_1.ResourceHubPostsBlock), blocks_1.BenchmarkBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.ScienceFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock), blocks_1.CatBlock), blocks_1.AudioBlock), blocks_1.OnetrustCookieListBlock), blocks_1.ScienceSuggestBlock);
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(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.AdvantagesBlock), blocks_1.BenefitsBlock), blocks_1.ScrollerBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.HeaderMinifyBlock), blocks_1.BannerBlock), blocks_1.LogoRotatorBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.HighlightTableBlock), blocks_1.MiniCaseBlock), blocks_1.TabsBlock), blocks_1.TabsHighlightTableBlock), blocks_1.TabLinksBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.BannerMinifyBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FilterCardLayoutBlock), blocks_1.FormBlock), blocks_1.SliderNewBlock), blocks_1.MarqueeLinksBlock), blocks_1.SolutionsBlock), blocks_1.ServicesBlock), blocks_1.QuotesBlock), blocks_1.ReportsBlock), blocks_1.ScienceHeaderBlock), blocks_1.AboutHeaderBlock), blocks_1.SidebarWidgetBlock), blocks_1.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.PartnersFeedBlock), blocks_1.ResourceHubPostsBlock), blocks_1.BenchmarkBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.ScienceFeedBlock), blocks_1.CustomerStoriesFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock), blocks_1.CatBlock), blocks_1.AudioBlock), blocks_1.OnetrustCookieListBlock), blocks_1.ScienceSuggestBlock);
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(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.NewPostCard), sub_blocks_1.FeedCard), sub_blocks_1.EventPersonCard), sub_blocks_1.AttachmentCard), sub_blocks_1.CaseStudyCard), sub_blocks_1.StoryCard);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -69,6 +69,7 @@ exports.constructorBlockSchemaNames = [
69
69
  'science-suggest-block',
70
70
  'onetrust-cookie-list',
71
71
  'partners-feed-block',
72
+ 'customer-stories-feed-block',
72
73
  ];
73
74
  exports.constructorCardSchemaNames = [
74
75
  'media-card',
@@ -39,6 +39,7 @@ export * from '../../blocks/ResourceHubPosts/schema';
39
39
  export * from '../../blocks/EventsSection/schema';
40
40
  export * from '../../blocks/BlogFeed/schema';
41
41
  export * from '../../blocks/ScienceFeed/schema';
42
+ export * from '../../blocks/CustomerStoriesFeed/schema';
42
43
  export * from '../../blocks/RelevantPosts/schema';
43
44
  export * from '../../blocks/RelevantReportsCards/schema';
44
45
  export * from '../../blocks/RelevantReports/schema';
@@ -42,6 +42,7 @@ tslib_1.__exportStar(require("../../blocks/ResourceHubPosts/schema"), exports);
42
42
  tslib_1.__exportStar(require("../../blocks/EventsSection/schema"), exports);
43
43
  tslib_1.__exportStar(require("../../blocks/BlogFeed/schema"), exports);
44
44
  tslib_1.__exportStar(require("../../blocks/ScienceFeed/schema"), exports);
45
+ tslib_1.__exportStar(require("../../blocks/CustomerStoriesFeed/schema"), exports);
45
46
  tslib_1.__exportStar(require("../../blocks/RelevantPosts/schema"), exports);
46
47
  tslib_1.__exportStar(require("../../blocks/RelevantReportsCards/schema"), exports);
47
48
  tslib_1.__exportStar(require("../../blocks/RelevantReports/schema"), exports);
@@ -17,7 +17,9 @@ const ImageCard = (props) => {
17
17
  const areControlsInFooter = controlPosition === 'footer';
18
18
  const hasContent = Boolean(text || title || buttons || links || list);
19
19
  const imageProps = (0, utils_1.getMediaImage)((0, utils_2.getThemedValue)(image, globalTheme) || '');
20
- const hoverImageProps = (0, utils_1.getMediaImage)((0, utils_2.getThemedValue)(hoverImage, globalTheme) || '');
20
+ const hoverImageProps = hoverImage
21
+ ? (0, utils_1.getMediaImage)((0, utils_2.getThemedValue)(hoverImage, globalTheme) || '')
22
+ : {};
21
23
  const titleId = (0, uikit_1.useUniqId)();
22
24
  const cardContent = (react_1.default.createElement(react_1.default.Fragment, null,
23
25
  label && (react_1.default.createElement("div", { className: b('labels') }, Array.isArray(label) ? (label.map((item, index) => react_1.default.createElement(components_1.Tag, Object.assign({ key: index }, item)))) : (react_1.default.createElement(components_1.Tag, Object.assign({}, label))))),
@@ -0,0 +1,2 @@
1
+ export declare const CustomerStoriesFeedBlock: () => JSX.Element | null;
2
+ export default CustomerStoriesFeedBlock;
@@ -0,0 +1,20 @@
1
+ import React, { useContext } from 'react';
2
+ import { CardLayoutBlock, CustomerStoriesPostsContext, ImageCard } from '../..';
3
+ import { InfiniteScroll } from '../../components';
4
+ const colSizes = {
5
+ all: 12,
6
+ lg: 4,
7
+ md: 6,
8
+ };
9
+ export const CustomerStoriesFeedBlock = () => {
10
+ const { posts, page, pageSize, onLoadMore } = useContext(CustomerStoriesPostsContext);
11
+ const itemsToShow = posts.slice(0, page * pageSize);
12
+ const hasMore = page < Math.ceil(posts.length / pageSize);
13
+ if (posts.length === 0) {
14
+ return null;
15
+ }
16
+ return (React.createElement(React.Fragment, null,
17
+ React.createElement(CardLayoutBlock, { colSizes: colSizes }, itemsToShow.map((item) => (React.createElement(ImageCard, Object.assign({ key: item.url }, item))))),
18
+ React.createElement(InfiniteScroll, { hasMore: hasMore, onNext: onLoadMore })));
19
+ };
20
+ export default CustomerStoriesFeedBlock;
@@ -0,0 +1,12 @@
1
+ export declare const CustomerStoriesFeedBlock: {
2
+ 'customer-stories-feed-block': {
3
+ additionalProperties: boolean;
4
+ required: never[];
5
+ properties: {
6
+ type: {};
7
+ when: {
8
+ type: string;
9
+ };
10
+ };
11
+ };
12
+ };
@@ -0,0 +1,8 @@
1
+ import { BaseProps } from './../../schema/validators/common';
2
+ export const CustomerStoriesFeedBlock = {
3
+ 'customer-stories-feed-block': {
4
+ additionalProperties: false,
5
+ required: [],
6
+ properties: Object.assign({}, BaseProps),
7
+ },
8
+ };
@@ -44,6 +44,7 @@ export { default as ResourceHubPostsBlock } from './ResourceHubPosts/ResourceHub
44
44
  export { default as EventsSectionBlock } from './EventsSection/EventsSection';
45
45
  export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
46
46
  export { default as ScienceFeedBlock } from './ScienceFeed/ScienceFeed';
47
+ export { default as CustomerStoriesFeedBlock } from './CustomerStoriesFeed/CustomerStoriesFeed';
47
48
  export { default as RelevantPostsBlock } from './RelevantPosts/RelevantPosts';
48
49
  export { default as RelevantReportsCardsBlock } from './RelevantReportsCards/RelevantReportsCards';
49
50
  export { default as RelevantReportsBlock } from './RelevantReports/RelevantReports';
@@ -44,6 +44,7 @@ export { default as ResourceHubPostsBlock } from './ResourceHubPosts/ResourceHub
44
44
  export { default as EventsSectionBlock } from './EventsSection/EventsSection';
45
45
  export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
46
46
  export { default as ScienceFeedBlock } from './ScienceFeed/ScienceFeed';
47
+ export { default as CustomerStoriesFeedBlock } from './CustomerStoriesFeed/CustomerStoriesFeed';
47
48
  export { default as RelevantPostsBlock } from './RelevantPosts/RelevantPosts';
48
49
  export { default as RelevantReportsCardsBlock } from './RelevantReportsCards/RelevantReportsCards';
49
50
  export { default as RelevantReportsBlock } from './RelevantReports/RelevantReports';
@@ -36,6 +36,7 @@ export declare const blockMap: {
36
36
  "events-section-block": ({ typeKey, title, label, empty }: import("./models").EventsSectionBlockProps) => JSX.Element;
37
37
  "blog-feed-block": ({ image, title }: import("./models").BlogFeedBlockProps) => JSX.Element;
38
38
  "science-feed-block": (props: import("./models").ScienceFeedBlockProps) => JSX.Element;
39
+ "customer-stories-feed-block": () => JSX.Element | null;
39
40
  "relevant-posts-block": ({ title, description, slider, date, dateStart, dateEnd, tags, services, pinnedPost, }: import("./models").RelevantPostsBlockProps) => JSX.Element;
40
41
  "relevant-reports-cards-block": ({ typeKey, link, title, description, slider, date, dateStart, dateEnd, }: import("./models").RelevantReportsCardsBlockProps) => JSX.Element;
41
42
  "relevant-reports-block": ({ typeKey, link, title, description, slider, date, dateStart, dateEnd, count, }: import("./models").RelevantReportsBlockProps) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { AboutHeaderBlock, AdvantagesBlock, AudioBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CatBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, OnetrustCookieListBlock, PartnersFeedBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, ScienceSuggestBlock, ScrollerBlock, ServicesBlock, ShareBlock, SidebarWidgetBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
1
+ import { AboutHeaderBlock, AdvantagesBlock, AudioBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CatBlock, CompaniesBlock, ContentLayoutBlock, CustomerStoriesFeedBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, OnetrustCookieListBlock, PartnersFeedBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, ScienceSuggestBlock, ScrollerBlock, ServicesBlock, ShareBlock, SidebarWidgetBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
2
2
  import { BlockType, NavigationItemType, SubBlockType } from './models';
3
3
  import { GithubButton, NavigationButton, NavigationDropdown, NavigationLink, } from './navigation/components/NavigationItem';
4
4
  import SocialIcon from './navigation/components/SocialIcon/SocialIcon';
@@ -41,6 +41,7 @@ export const blockMap = {
41
41
  [BlockType.EventsSectionBlock]: EventsSectionBlock,
42
42
  [BlockType.BlogFeedBlock]: BlogFeedBlock,
43
43
  [BlockType.ScienceFeedBlock]: ScienceFeedBlock,
44
+ [BlockType.CustomerStoriesFeedBlock]: CustomerStoriesFeedBlock,
44
45
  [BlockType.RelevantPostsBlock]: RelevantPostsBlock,
45
46
  [BlockType.RelevantReportsCardsBlock]: RelevantReportsCardsBlock,
46
47
  [BlockType.RelevantReportsBlock]: RelevantReportsBlock,
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export type CustomerStoriesPostData = {
3
+ url: string;
4
+ image: string;
5
+ title: string;
6
+ text?: string;
7
+ };
8
+ export interface CustomerStoriesPostsContextProps {
9
+ posts: CustomerStoriesPostData[];
10
+ page: number;
11
+ pageSize: number;
12
+ onLoadMore?: () => void;
13
+ }
14
+ export declare const CustomerStoriesPostsContext: React.Context<CustomerStoriesPostsContextProps>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export const CustomerStoriesPostsContext = React.createContext({
3
+ posts: [],
4
+ page: 1,
5
+ pageSize: 6,
6
+ onLoadMore: () => { },
7
+ });
@@ -0,0 +1 @@
1
+ export * from './CustomerStoriesPostsContext';
@@ -0,0 +1 @@
1
+ export * from './CustomerStoriesPostsContext';
@@ -19,6 +19,7 @@ export * from './context/reportsSectionsContext';
19
19
  export * from './context/miniCaseContext';
20
20
  export * from './context/visibilityFiltersContext';
21
21
  export * from './context/resourceHubPostsContext';
22
+ export * from './context/customerStoriesPostsContext';
22
23
  export * from './containers/PageConstructor';
23
24
  export * from './grid';
24
25
  export * from './blocks';
@@ -20,6 +20,7 @@ export * from './context/reportsSectionsContext';
20
20
  export * from './context/miniCaseContext';
21
21
  export * from './context/visibilityFiltersContext';
22
22
  export * from './context/resourceHubPostsContext';
23
+ export * from './context/customerStoriesPostsContext';
23
24
  export * from './containers/PageConstructor';
24
25
  export * from './grid';
25
26
  export * from './blocks';
@@ -51,6 +51,7 @@ export declare enum BlockType {
51
51
  EventsSectionBlock = "events-section-block",
52
52
  BlogFeedBlock = "blog-feed-block",
53
53
  ScienceFeedBlock = "science-feed-block",
54
+ CustomerStoriesFeedBlock = "customer-stories-feed-block",
54
55
  RelevantPostsBlock = "relevant-posts-block",
55
56
  RelevantReportsCardsBlock = "relevant-reports-cards-block",
56
57
  RelevantReportsBlock = "relevant-reports-block",
@@ -942,6 +943,9 @@ export type BlogFeedBlockModel = {
942
943
  export type ScienceFeedBlockModel = {
943
944
  type: BlockType.ScienceFeedBlock;
944
945
  } & ScienceFeedBlockProps;
946
+ export type CustomerStoriesFeedBlockModel = {
947
+ type: BlockType.CustomerStoriesFeedBlock;
948
+ };
945
949
  export type RelevantPostsBlockModel = {
946
950
  type: BlockType.RelevantPostsBlock;
947
951
  } & RelevantPostsBlockProps;
@@ -963,6 +967,6 @@ export type SliderNewBlockModel = {
963
967
  export type SidebarWidgetBlockModel = {
964
968
  type: BlockType.SidebarWidgetBlock;
965
969
  } & SidebarWidgetBlockProps;
966
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | BenefitsBlockModel | ScrollerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | HeaderMinifyBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | BannerMinifyBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ScienceHeaderBlockModel | AboutHeaderBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | PartnersFeedBlockModel | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | ScienceFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel | SidebarWidgetBlockModel | CatBlockModel | AudioBlockModel | OnetrustCookieListModel | ScienceSuggestBlockModel;
970
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | BenefitsBlockModel | ScrollerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | HighlightTableBlockModel | MiniCaseBlockModel | TabsBlockModel | TabsHighlightTableBlockModel | TabLinksBlockModel | HeaderBlockModel | HeaderMinifyBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | BannerMinifyBlockModel | ShareBLockModel | FilterBlockModel | FilterCardLayoutBlockModel | FormBlockModel | MarqueeLinksBlockModel | SolutionsBlockModel | ServicesBlockModel | QuotesBlockModel | ReportsBlockModel | ScienceHeaderBlockModel | AboutHeaderBlockModel | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | PartnersFeedBlockModel | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | ScienceFeedBlockModel | CustomerStoriesFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel | SidebarWidgetBlockModel | CatBlockModel | AudioBlockModel | OnetrustCookieListModel | ScienceSuggestBlockModel;
967
971
  export type Block = BlockModels & BlockBaseProps;
968
972
  export {};
@@ -44,6 +44,7 @@ export var BlockType;
44
44
  BlockType["EventsSectionBlock"] = "events-section-block";
45
45
  BlockType["BlogFeedBlock"] = "blog-feed-block";
46
46
  BlockType["ScienceFeedBlock"] = "science-feed-block";
47
+ BlockType["CustomerStoriesFeedBlock"] = "customer-stories-feed-block";
47
48
  BlockType["RelevantPostsBlock"] = "relevant-posts-block";
48
49
  BlockType["RelevantReportsCardsBlock"] = "relevant-reports-cards-block";
49
50
  BlockType["RelevantReportsBlock"] = "relevant-reports-block";
@@ -194,7 +194,7 @@ export interface FeedPartnerProps extends ClassNameProps {
194
194
  }
195
195
  export interface ImageCardProps extends CardBaseProps, CardLayoutProps, Omit<ContentBlockProps, 'colSizes' | 'centered' | 'controlPosition'> {
196
196
  image: ThemeSupporting<ImageProps>;
197
- hoverImage: ThemeSupporting<ImageProps>;
197
+ hoverImage?: ThemeSupporting<ImageProps>;
198
198
  enableImageBorderRadius?: boolean;
199
199
  margins?: ImageCardMargins;
200
200
  direction?: ImageCardDirection;
@@ -3990,7 +3990,7 @@ export declare const cardSchemas: {
3990
3990
  };
3991
3991
  dataLens: {
3992
3992
  oneOf: ({
3993
- type: string;
3993
+ type: string; /** @deprecated */
3994
3994
  optionName: string;
3995
3995
  } | {
3996
3996
  optionName: string;
@@ -1,6 +1,6 @@
1
- import { AboutHeaderBlock, AdvantagesBlock, AudioBlock, BannerBlock, BannerCard, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CatBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, OnetrustCookieListBlock, PartnersFeedBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, ScienceSuggestBlock, ScrollerBlock, ServicesBlock, ShareBlock, SidebarWidgetBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './validators/blocks';
1
+ import { AboutHeaderBlock, AdvantagesBlock, AudioBlock, BannerBlock, BannerCard, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CatBlock, CompaniesBlock, ContentLayoutBlock, CustomerStoriesFeedBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, OnetrustCookieListBlock, PartnersFeedBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, ScienceSuggestBlock, ScrollerBlock, ServicesBlock, ShareBlock, SidebarWidgetBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './validators/blocks';
2
2
  import { AttachmentCard, BackgroundCard, BasicCard, Card, CaseStudyCard, ContentLayoutCard, Divider, EventPersonCard, FeedCard, ImageCard, MediaCardBlock, NewPostCard, PostCard, PriceCardBlock, PriceDetailedBlock, Quote, StoryCard, } 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(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), AdvantagesBlock), BenefitsBlock), ScrollerBlock), SliderBlock), QuestionsBlock), HeaderBlock), HeaderMinifyBlock), BannerBlock), LogoRotatorBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), HighlightTableBlock), MiniCaseBlock), TabsBlock), TabsHighlightTableBlock), TabLinksBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), BannerMinifyBlock), ShareBlock), FilterBlock), FilterCardLayoutBlock), FormBlock), SliderNewBlock), MarqueeLinksBlock), SolutionsBlock), ServicesBlock), QuotesBlock), ReportsBlock), ScienceHeaderBlock), AboutHeaderBlock), SidebarWidgetBlock), ReportsCardsBlock), ReportsSectionsBlock), LinkTableBlock), EventsFeedBlock), PartnersFeedBlock), ResourceHubPostsBlock), BenchmarkBlock), EventsSectionBlock), BlogFeedBlock), ScienceFeedBlock), RelevantPostsBlock), RelevantReportsCardsBlock), RelevantReportsBlock), PressReleasesBlock), FormWallBlock), CatBlock), AudioBlock), OnetrustCookieListBlock), ScienceSuggestBlock);
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(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), AdvantagesBlock), BenefitsBlock), ScrollerBlock), SliderBlock), QuestionsBlock), HeaderBlock), HeaderMinifyBlock), BannerBlock), LogoRotatorBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), HighlightTableBlock), MiniCaseBlock), TabsBlock), TabsHighlightTableBlock), TabLinksBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), BannerMinifyBlock), ShareBlock), FilterBlock), FilterCardLayoutBlock), FormBlock), SliderNewBlock), MarqueeLinksBlock), SolutionsBlock), ServicesBlock), QuotesBlock), ReportsBlock), ScienceHeaderBlock), AboutHeaderBlock), SidebarWidgetBlock), ReportsCardsBlock), ReportsSectionsBlock), LinkTableBlock), EventsFeedBlock), PartnersFeedBlock), ResourceHubPostsBlock), BenchmarkBlock), EventsSectionBlock), BlogFeedBlock), ScienceFeedBlock), CustomerStoriesFeedBlock), RelevantPostsBlock), RelevantReportsCardsBlock), RelevantReportsBlock), PressReleasesBlock), FormWallBlock), CatBlock), AudioBlock), OnetrustCookieListBlock), ScienceSuggestBlock);
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(Object.assign(Object.assign({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock), ImageCard), ContentLayoutCard), Card), PostCard), NewPostCard), FeedCard), EventPersonCard), AttachmentCard), CaseStudyCard), StoryCard);
5
5
  export const constructorBlockSchemaNames = [
6
6
  'divider',
@@ -66,6 +66,7 @@ export const constructorBlockSchemaNames = [
66
66
  'science-suggest-block',
67
67
  'onetrust-cookie-list',
68
68
  'partners-feed-block',
69
+ 'customer-stories-feed-block',
69
70
  ];
70
71
  export const constructorCardSchemaNames = [
71
72
  'media-card',
@@ -39,6 +39,7 @@ export * from '../../blocks/ResourceHubPosts/schema';
39
39
  export * from '../../blocks/EventsSection/schema';
40
40
  export * from '../../blocks/BlogFeed/schema';
41
41
  export * from '../../blocks/ScienceFeed/schema';
42
+ export * from '../../blocks/CustomerStoriesFeed/schema';
42
43
  export * from '../../blocks/RelevantPosts/schema';
43
44
  export * from '../../blocks/RelevantReportsCards/schema';
44
45
  export * from '../../blocks/RelevantReports/schema';
@@ -39,6 +39,7 @@ export * from '../../blocks/ResourceHubPosts/schema';
39
39
  export * from '../../blocks/EventsSection/schema';
40
40
  export * from '../../blocks/BlogFeed/schema';
41
41
  export * from '../../blocks/ScienceFeed/schema';
42
+ export * from '../../blocks/CustomerStoriesFeed/schema';
42
43
  export * from '../../blocks/RelevantPosts/schema';
43
44
  export * from '../../blocks/RelevantReportsCards/schema';
44
45
  export * from '../../blocks/RelevantReports/schema';
@@ -15,7 +15,9 @@ const ImageCard = (props) => {
15
15
  const areControlsInFooter = controlPosition === 'footer';
16
16
  const hasContent = Boolean(text || title || buttons || links || list);
17
17
  const imageProps = getMediaImage(getThemedValue(image, globalTheme) || '');
18
- const hoverImageProps = getMediaImage(getThemedValue(hoverImage, globalTheme) || '');
18
+ const hoverImageProps = hoverImage
19
+ ? getMediaImage(getThemedValue(hoverImage, globalTheme) || '')
20
+ : {};
19
21
  const titleId = useUniqId();
20
22
  const cardContent = (React.createElement(React.Fragment, null,
21
23
  label && (React.createElement("div", { className: b('labels') }, Array.isArray(label) ? (label.map((item, index) => React.createElement(Tag, Object.assign({ key: index }, item)))) : (React.createElement(Tag, Object.assign({}, label))))),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doyourjob/gravity-ui-page-constructor",
3
- "version": "5.31.201",
3
+ "version": "5.31.203",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {