@doyourjob/gravity-ui-page-constructor 5.31.153 → 5.31.155
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/Media/Media.js +1 -1
- package/build/cjs/blocks/ResourceHubPosts/ResourceHubPosts.d.ts +3 -0
- package/build/cjs/blocks/ResourceHubPosts/ResourceHubPosts.js +12 -0
- package/build/cjs/blocks/ResourceHubPosts/ResourceHubPostsSection/ResourceHubPostsSection.d.ts +4 -0
- package/build/cjs/blocks/ResourceHubPosts/ResourceHubPostsSection/ResourceHubPostsSection.js +31 -0
- package/build/cjs/blocks/ResourceHubPosts/schema.d.ts +18 -0
- package/build/cjs/blocks/ResourceHubPosts/schema.js +15 -0
- package/build/cjs/blocks/index.d.ts +1 -0
- package/build/cjs/blocks/index.js +3 -1
- package/build/cjs/blocks/validators.d.ts +1 -0
- package/build/cjs/blocks/validators.js +1 -0
- package/build/cjs/components/Media/Image/Image.d.ts +2 -2
- package/build/cjs/components/Media/Image/Image.js +2 -2
- package/build/cjs/components/Media/Media.d.ts +2 -2
- package/build/cjs/components/Media/Media.js +4 -3
- package/build/cjs/constructor-items.d.ts +1 -0
- package/build/cjs/constructor-items.js +1 -0
- package/build/cjs/context/resourceHubPostsContext/ResourceHubPostsContext.d.ts +21 -0
- package/build/cjs/context/resourceHubPostsContext/ResourceHubPostsContext.js +11 -0
- package/build/cjs/context/resourceHubPostsContext/index.d.ts +1 -0
- package/build/cjs/context/resourceHubPostsContext/index.js +4 -0
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -0
- package/build/cjs/models/constructor-items/blocks.d.ts +11 -5
- 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/Media/Media.js +1 -1
- package/build/esm/blocks/ResourceHubPosts/ResourceHubPosts.d.ts +3 -0
- package/build/esm/blocks/ResourceHubPosts/ResourceHubPosts.js +7 -0
- package/build/esm/blocks/ResourceHubPosts/ResourceHubPostsSection/ResourceHubPostsSection.d.ts +4 -0
- package/build/esm/blocks/ResourceHubPosts/ResourceHubPostsSection/ResourceHubPostsSection.js +26 -0
- package/build/esm/blocks/ResourceHubPosts/schema.d.ts +18 -0
- package/build/esm/blocks/ResourceHubPosts/schema.js +12 -0
- package/build/esm/blocks/index.d.ts +1 -0
- package/build/esm/blocks/index.js +1 -0
- package/build/esm/blocks/validators.d.ts +1 -0
- package/build/esm/blocks/validators.js +1 -0
- package/build/esm/components/Media/Image/Image.d.ts +2 -2
- package/build/esm/components/Media/Image/Image.js +5 -5
- package/build/esm/components/Media/Media.d.ts +2 -2
- package/build/esm/components/Media/Media.js +4 -3
- package/build/esm/constructor-items.d.ts +1 -0
- package/build/esm/constructor-items.js +2 -1
- package/build/esm/context/resourceHubPostsContext/ResourceHubPostsContext.d.ts +21 -0
- package/build/esm/context/resourceHubPostsContext/ResourceHubPostsContext.js +7 -0
- package/build/esm/context/resourceHubPostsContext/index.d.ts +1 -0
- package/build/esm/context/resourceHubPostsContext/index.js +1 -0
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/models/constructor-items/blocks.d.ts +11 -5
- 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 +11 -5
- package/server/models/constructor-items/blocks.js +1 -0
- package/widget/index.js +1 -1
|
@@ -25,7 +25,7 @@ const MediaBlock = (props) => {
|
|
|
25
25
|
});
|
|
26
26
|
return (react_1.default.createElement(MediaBase_1.default, Object.assign({}, props, { onScroll: () => setPlay(true) }),
|
|
27
27
|
react_1.default.createElement(MediaBase_1.default.Card, null,
|
|
28
|
-
react_1.default.createElement(Media_1.default, Object.assign({ imageClassName: b('image') }, mediaWithMicrodata, { playVideo: play, className: b({ border: borderSelected }) })))));
|
|
28
|
+
react_1.default.createElement(Media_1.default, Object.assign({ imageClassName: b('image') }, mediaWithMicrodata, { playVideo: play, animated: props.animated, className: b({ border: borderSelected }) })))));
|
|
29
29
|
};
|
|
30
30
|
exports.MediaBlock = MediaBlock;
|
|
31
31
|
exports.default = exports.MediaBlock;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceHubPostsBlock = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const FeedHeader_1 = tslib_1.__importDefault(require("../../components/FeedHeader/FeedHeader"));
|
|
7
|
+
const ResourceHubPostsSection_1 = tslib_1.__importDefault(require("./ResourceHubPostsSection/ResourceHubPostsSection"));
|
|
8
|
+
const ResourceHubPostsBlock = ({ image, title }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
9
|
+
react_1.default.createElement(FeedHeader_1.default, { image: image, title: title }),
|
|
10
|
+
react_1.default.createElement(ResourceHubPostsSection_1.default, null)));
|
|
11
|
+
exports.ResourceHubPostsBlock = ResourceHubPostsBlock;
|
|
12
|
+
exports.default = exports.ResourceHubPostsBlock;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceHubPostsSection = 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 resourceHubPostsContext_1 = require("../../../context/resourceHubPostsContext");
|
|
9
|
+
const models_1 = require("../../../models");
|
|
10
|
+
const PostCard_1 = tslib_1.__importDefault(require("../../../sub-blocks/PostCard/PostCard"));
|
|
11
|
+
const utils_1 = require("../../../utils");
|
|
12
|
+
const b = (0, utils_1.block)('resource-hub-posts-section');
|
|
13
|
+
const colSizes = {
|
|
14
|
+
all: 12,
|
|
15
|
+
lg: 4,
|
|
16
|
+
md: 6,
|
|
17
|
+
};
|
|
18
|
+
const ResourceHubPostsSection = () => {
|
|
19
|
+
const { posts, page, pageSize, onLoadMore } = (0, react_1.useContext)(resourceHubPostsContext_1.ResourceHubPostsContext);
|
|
20
|
+
const itemsToShow = posts.slice(0, page * pageSize);
|
|
21
|
+
const hasMore = page < Math.ceil(posts.length / pageSize);
|
|
22
|
+
if (posts.length === 0) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return (react_1.default.createElement("div", { className: b() },
|
|
26
|
+
"Hello",
|
|
27
|
+
react_1.default.createElement(__1.CardLayoutBlock, { className: b('wrap'), colSizes: colSizes }, itemsToShow.map((item) => (react_1.default.createElement(PostCard_1.default, Object.assign({ key: item.slug }, item, { showTag: true, titleHeadingLevel: models_1.PostCardTitleHeadingLevel.H2 }))))),
|
|
28
|
+
react_1.default.createElement(components_1.InfiniteScroll, { hasMore: hasMore, onNext: onLoadMore })));
|
|
29
|
+
};
|
|
30
|
+
exports.ResourceHubPostsSection = ResourceHubPostsSection;
|
|
31
|
+
exports.default = react_1.default.memo(exports.ResourceHubPostsSection);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const ResourceHubPostsBlock: {
|
|
2
|
+
'resource-hub-posts-block': {
|
|
3
|
+
additionalProperties: boolean;
|
|
4
|
+
required: never[];
|
|
5
|
+
properties: {
|
|
6
|
+
title: {
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
image: {
|
|
10
|
+
type: string;
|
|
11
|
+
};
|
|
12
|
+
type: {};
|
|
13
|
+
when: {
|
|
14
|
+
type: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceHubPostsBlock = void 0;
|
|
4
|
+
const common_1 = require("./../../schema/validators/common");
|
|
5
|
+
exports.ResourceHubPostsBlock = {
|
|
6
|
+
'resource-hub-posts-block': {
|
|
7
|
+
additionalProperties: false,
|
|
8
|
+
required: [],
|
|
9
|
+
properties: Object.assign(Object.assign({}, common_1.BaseProps), { title: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
}, image: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
} }),
|
|
14
|
+
},
|
|
15
|
+
};
|
|
@@ -37,6 +37,7 @@ export { default as ReportsSectionsBlock } from './ReportsSections/ReportsSectio
|
|
|
37
37
|
export { default as FormWallBlock } from './FormWallBlock/FormWallBlock';
|
|
38
38
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
39
39
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
40
|
+
export { default as ResourceHubPostsBlock } from './ResourceHubPosts/ResourceHubPosts';
|
|
40
41
|
export { default as EventsSectionBlock } from './EventsSection/EventsSection';
|
|
41
42
|
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
42
43
|
export { default as RelevantPostsBlock } from './RelevantPosts/RelevantPosts';
|
|
@@ -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.BenchmarkBlock = exports.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = 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;
|
|
6
|
+
exports.BenchmarkBlock = exports.MiniCaseBlock = exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.ResourceHubPostsBlock = exports.EventsFeedBlock = exports.LinkTableBlock = exports.FormWallBlock = exports.ReportsSectionsBlock = exports.ReportsCardsBlock = 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
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 LogoRotator_1 = require("./LogoRotator/LogoRotator");
|
|
@@ -82,6 +82,8 @@ var LinkTable_1 = require("./LinkTable/LinkTable");
|
|
|
82
82
|
Object.defineProperty(exports, "LinkTableBlock", { enumerable: true, get: function () { return __importDefault(LinkTable_1).default; } });
|
|
83
83
|
var EventsFeed_1 = require("./EventsFeed/EventsFeed");
|
|
84
84
|
Object.defineProperty(exports, "EventsFeedBlock", { enumerable: true, get: function () { return __importDefault(EventsFeed_1).default; } });
|
|
85
|
+
var ResourceHubPosts_1 = require("./ResourceHubPosts/ResourceHubPosts");
|
|
86
|
+
Object.defineProperty(exports, "ResourceHubPostsBlock", { enumerable: true, get: function () { return __importDefault(ResourceHubPosts_1).default; } });
|
|
85
87
|
var EventsSection_1 = require("./EventsSection/EventsSection");
|
|
86
88
|
Object.defineProperty(exports, "EventsSectionBlock", { enumerable: true, get: function () { return __importDefault(EventsSection_1).default; } });
|
|
87
89
|
var BlogFeed_1 = require("./BlogFeed/BlogFeed");
|
|
@@ -21,3 +21,4 @@ tslib_1.__exportStar(require("./Slider/schema"), exports);
|
|
|
21
21
|
tslib_1.__exportStar(require("./Table/schema"), exports);
|
|
22
22
|
tslib_1.__exportStar(require("./Share/schema"), exports);
|
|
23
23
|
tslib_1.__exportStar(require("./MarqueeLinks/schema"), exports);
|
|
24
|
+
tslib_1.__exportStar(require("./ResourceHubPosts/schema"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MediaComponentImageProps, QAProps } from '../../../models';
|
|
2
|
-
export interface ImageAdditionProps {
|
|
1
|
+
import { Animatable, MediaComponentImageProps, QAProps } from '../../../models';
|
|
2
|
+
export interface ImageAdditionProps extends Animatable {
|
|
3
3
|
imageClassName?: string;
|
|
4
4
|
isBackground?: boolean;
|
|
5
5
|
fullscreen?: boolean;
|
|
@@ -15,7 +15,7 @@ const utils_2 = require("./utils");
|
|
|
15
15
|
const b = (0, utils_1.block)('media-component-image');
|
|
16
16
|
exports.defaultAnimatedDivQa = 'animated-div';
|
|
17
17
|
const Image = (props) => {
|
|
18
|
-
const { parallax, height, imageClassName, isBackground, hasVideoFallback, video, fullscreen, disableImageSliderForArrayInput, qa, onLoad, } = props;
|
|
18
|
+
const { animated, parallax, height, imageClassName, isBackground, hasVideoFallback, video, fullscreen, disableImageSliderForArrayInput, qa, onLoad, } = props;
|
|
19
19
|
const image = Array.isArray(props.image) && disableImageSliderForArrayInput
|
|
20
20
|
? props.image[0]
|
|
21
21
|
: props.image;
|
|
@@ -56,7 +56,7 @@ const Image = (props) => {
|
|
|
56
56
|
};
|
|
57
57
|
const imageSlider = (imageArray) => {
|
|
58
58
|
const fullscreenItem = fullscreen === undefined || fullscreen;
|
|
59
|
-
return (react_1.default.createElement(Slider_1.default, { slidesToShow: 1, type: models_1.SliderType.MediaCard }, imageArray.map((item, index) => (react_1.default.createElement(react_1.Fragment, { key: index }, fullscreenItem ? renderFullscreenImage(item) : imageOnly(item))))));
|
|
59
|
+
return (react_1.default.createElement(Slider_1.default, { slidesToShow: 1, type: models_1.SliderType.MediaCard, animated: animated }, imageArray.map((item, index) => (react_1.default.createElement(react_1.Fragment, { key: index }, fullscreenItem ? renderFullscreenImage(item) : imageOnly(item))))));
|
|
60
60
|
};
|
|
61
61
|
if (Array.isArray(image)) {
|
|
62
62
|
return imageSlider(image);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { MediaProps, QAProps } from '../../models';
|
|
1
|
+
import { Animatable, MediaProps, QAProps } from '../../models';
|
|
2
2
|
import { ImageAdditionProps } from './Image/Image';
|
|
3
3
|
import { VideoAdditionProps } from './Video/Video';
|
|
4
|
-
export interface MediaAllProps extends MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {
|
|
4
|
+
export interface MediaAllProps extends Animatable, MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {
|
|
5
5
|
className?: string;
|
|
6
6
|
youtubeClassName?: string;
|
|
7
7
|
autoplay?: boolean;
|
|
@@ -14,14 +14,14 @@ const Image_1 = tslib_1.__importDefault(require("./Image/Image"));
|
|
|
14
14
|
const Video_1 = tslib_1.__importDefault(require("./Video/Video"));
|
|
15
15
|
const b = (0, utils_1.block)('Media');
|
|
16
16
|
const Media = (props) => {
|
|
17
|
-
const { image, video, youtube, videoIframe, dataLens, color, height, previewImg, parallax = false, fullscreen, analyticsEvents, className, imageClassName, videoClassName, youtubeClassName, disableImageSliderForArrayInput, playVideo = true, isBackground, playButton, customBarControlsClassName, qa, ratio, autoplay, onImageLoad, iframe, margins, videoMicrodata, } = props;
|
|
17
|
+
const { animated, image, video, youtube, videoIframe, dataLens, color, height, previewImg, parallax = false, fullscreen, analyticsEvents, className, imageClassName, videoClassName, youtubeClassName, disableImageSliderForArrayInput, playVideo = true, isBackground, playButton, customBarControlsClassName, qa, ratio, autoplay, onImageLoad, iframe, margins, videoMicrodata, } = props;
|
|
18
18
|
const [hasVideoFallback, setHasVideoFallback] = (0, react_1.useState)(false);
|
|
19
19
|
const { microdata } = (0, react_1.useContext)(innerContext_1.InnerContext);
|
|
20
20
|
const qaAttributes = (0, utils_1.getQaAttrubutes)(qa, 'video');
|
|
21
21
|
const content = (0, react_1.useMemo)(() => {
|
|
22
22
|
let result = [];
|
|
23
23
|
if (image) {
|
|
24
|
-
result.push(react_1.default.createElement(Image_1.default, { key: "image", parallax: parallax, image: image, disableImageSliderForArrayInput: disableImageSliderForArrayInput, height: height, imageClassName: imageClassName, isBackground: isBackground, video: video, hasVideoFallback: hasVideoFallback, fullscreen: fullscreen, qa: qaAttributes.image, onLoad: onImageLoad }));
|
|
24
|
+
result.push(react_1.default.createElement(Image_1.default, { key: "image", parallax: parallax, image: image, disableImageSliderForArrayInput: disableImageSliderForArrayInput, height: height, imageClassName: imageClassName, isBackground: isBackground, video: video, hasVideoFallback: hasVideoFallback, fullscreen: fullscreen, qa: qaAttributes.image, onLoad: onImageLoad, animated: animated }));
|
|
25
25
|
}
|
|
26
26
|
if (video) {
|
|
27
27
|
const videoProps = {
|
|
@@ -58,8 +58,8 @@ const Media = (props) => {
|
|
|
58
58
|
}, [
|
|
59
59
|
image,
|
|
60
60
|
video,
|
|
61
|
-
videoIframe,
|
|
62
61
|
youtube,
|
|
62
|
+
videoIframe,
|
|
63
63
|
dataLens,
|
|
64
64
|
iframe,
|
|
65
65
|
parallax,
|
|
@@ -72,6 +72,7 @@ const Media = (props) => {
|
|
|
72
72
|
qaAttributes.image,
|
|
73
73
|
qaAttributes.video,
|
|
74
74
|
onImageLoad,
|
|
75
|
+
animated,
|
|
75
76
|
videoClassName,
|
|
76
77
|
analyticsEvents,
|
|
77
78
|
playVideo,
|
|
@@ -30,6 +30,7 @@ export declare const blockMap: {
|
|
|
30
30
|
"marquee-links-block": ({ animated, title, description, textAlign, speed, items, }: import("./models").MarqueeLinksBlockProps) => JSX.Element | null;
|
|
31
31
|
"solutions-block": ({ animated }: import("./models").SolutionsBlockProps) => JSX.Element;
|
|
32
32
|
"events-feed-block": ({ image, title }: import("./models").EventsFeedBlockProps) => JSX.Element;
|
|
33
|
+
"resource-hub-posts-block": ({ image, title }: import("./models").ResourceHubPostsBlockProps) => JSX.Element;
|
|
33
34
|
"benchmark-block": import("react").FC<import("./models").BenchmarkBlockProps>;
|
|
34
35
|
"events-section-block": ({ typeKey, title, label, empty }: import("./models").EventsSectionBlockProps) => JSX.Element;
|
|
35
36
|
"blog-feed-block": ({ image, title }: import("./models").BlogFeedBlockProps) => JSX.Element;
|
|
@@ -39,6 +39,7 @@ exports.blockMap = {
|
|
|
39
39
|
[models_1.BlockType.MarqueeLinksBlock]: blocks_1.MarqueeLinksBlock,
|
|
40
40
|
[models_1.BlockType.SolutionsBlock]: blocks_1.SolutionsBlock,
|
|
41
41
|
[models_1.BlockType.EventsFeedBlock]: blocks_1.EventsFeedBlock,
|
|
42
|
+
[models_1.BlockType.ResourceHubPostsBlock]: blocks_1.ResourceHubPostsBlock,
|
|
42
43
|
[models_1.BlockType.BenchmarkBlock]: blocks_1.BenchmarkBlock,
|
|
43
44
|
[models_1.BlockType.EventsSectionBlock]: blocks_1.EventsSectionBlock,
|
|
44
45
|
[models_1.BlockType.BlogFeedBlock]: blocks_1.BlogFeedBlock,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ResourceHubPostsData = {
|
|
3
|
+
date: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
image: string;
|
|
6
|
+
readingTime?: number;
|
|
7
|
+
slug: string;
|
|
8
|
+
tags: {
|
|
9
|
+
slug: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}[];
|
|
12
|
+
title: string;
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
export interface ResourceHubPostsContextProps {
|
|
16
|
+
posts: ResourceHubPostsData[];
|
|
17
|
+
page: number;
|
|
18
|
+
pageSize: number;
|
|
19
|
+
onLoadMore?: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const ResourceHubPostsContext: React.Context<ResourceHubPostsContextProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceHubPostsContext = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
exports.ResourceHubPostsContext = react_1.default.createContext({
|
|
7
|
+
posts: [],
|
|
8
|
+
page: 1,
|
|
9
|
+
pageSize: 6,
|
|
10
|
+
onLoadMore: () => { },
|
|
11
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ResourceHubPostsContext';
|
package/build/cjs/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from './context/reportsCardsContext';
|
|
|
16
16
|
export * from './context/reportsSectionsContext';
|
|
17
17
|
export * from './context/miniCaseContext';
|
|
18
18
|
export * from './context/visibilityFiltersContext';
|
|
19
|
+
export * from './context/resourceHubPostsContext';
|
|
19
20
|
export * from './containers/PageConstructor';
|
|
20
21
|
export * from './grid';
|
|
21
22
|
export * from './blocks';
|
package/build/cjs/index.js
CHANGED
|
@@ -21,6 +21,7 @@ tslib_1.__exportStar(require("./context/reportsCardsContext"), exports);
|
|
|
21
21
|
tslib_1.__exportStar(require("./context/reportsSectionsContext"), exports);
|
|
22
22
|
tslib_1.__exportStar(require("./context/miniCaseContext"), exports);
|
|
23
23
|
tslib_1.__exportStar(require("./context/visibilityFiltersContext"), exports);
|
|
24
|
+
tslib_1.__exportStar(require("./context/resourceHubPostsContext"), exports);
|
|
24
25
|
tslib_1.__exportStar(require("./containers/PageConstructor"), exports);
|
|
25
26
|
tslib_1.__exportStar(require("./grid"), exports);
|
|
26
27
|
tslib_1.__exportStar(require("./blocks"), exports);
|
|
@@ -44,6 +44,7 @@ export declare enum BlockType {
|
|
|
44
44
|
FormWallBlock = "form-wall-block",
|
|
45
45
|
LinkTableBlock = "link-table-block",
|
|
46
46
|
EventsFeedBlock = "events-feed-block",
|
|
47
|
+
ResourceHubPostsBlock = "resource-hub-posts-block",
|
|
47
48
|
EventsSectionBlock = "events-section-block",
|
|
48
49
|
BlogFeedBlock = "blog-feed-block",
|
|
49
50
|
RelevantPostsBlock = "relevant-posts-block",
|
|
@@ -470,19 +471,21 @@ export interface ServicesBlockProps {
|
|
|
470
471
|
title?: string;
|
|
471
472
|
serviceLinkType?: 'doc' | 'price';
|
|
472
473
|
}
|
|
473
|
-
export interface
|
|
474
|
+
export interface BaseFeedProps {
|
|
474
475
|
image?: string;
|
|
475
476
|
title?: string;
|
|
476
477
|
}
|
|
478
|
+
export interface EventsFeedBlockProps extends BaseFeedProps {
|
|
479
|
+
}
|
|
480
|
+
export interface ResourceHubPostsBlockProps extends BaseFeedProps {
|
|
481
|
+
}
|
|
477
482
|
export interface EventsSectionBlockProps {
|
|
478
483
|
typeKey: string;
|
|
479
484
|
title?: TitleItemProps | string;
|
|
480
485
|
label?: TagProps;
|
|
481
486
|
empty?: string;
|
|
482
487
|
}
|
|
483
|
-
export interface BlogFeedBlockProps {
|
|
484
|
-
image?: string;
|
|
485
|
-
title?: string;
|
|
488
|
+
export interface BlogFeedBlockProps extends BaseFeedProps {
|
|
486
489
|
}
|
|
487
490
|
export interface RelevantPostsBlockProps {
|
|
488
491
|
title?: TitleItemProps | string;
|
|
@@ -838,6 +841,9 @@ export type ServicesBlockModel = {
|
|
|
838
841
|
export type EventsFeedBlockModel = {
|
|
839
842
|
type: BlockType.EventsFeedBlock;
|
|
840
843
|
} & EventsFeedBlockProps;
|
|
844
|
+
export type ResourceHubPostsBlockModel = {
|
|
845
|
+
type: BlockType.ResourceHubPostsBlock;
|
|
846
|
+
} & ResourceHubPostsBlockProps;
|
|
841
847
|
export type BenchmarkBlockModel = {
|
|
842
848
|
type: BlockType.BenchmarkBlock;
|
|
843
849
|
} & BenchmarkBlockProps;
|
|
@@ -865,6 +871,6 @@ export type FormWallBlockModel = {
|
|
|
865
871
|
export type SliderNewBlockModel = {
|
|
866
872
|
type: BlockType.SliderNewBlock;
|
|
867
873
|
} & SliderNewProps;
|
|
868
|
-
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 | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
|
|
874
|
+
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 | ReportsCardsBlockModel | ReportsSectionsBlockModel | LinkTableBlockModel | EventsFeedBlockModel | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel;
|
|
869
875
|
export type Block = BlockModels & BlockBaseProps;
|
|
870
876
|
export {};
|
|
@@ -41,6 +41,7 @@ var BlockType;
|
|
|
41
41
|
BlockType["FormWallBlock"] = "form-wall-block";
|
|
42
42
|
BlockType["LinkTableBlock"] = "link-table-block";
|
|
43
43
|
BlockType["EventsFeedBlock"] = "events-feed-block";
|
|
44
|
+
BlockType["ResourceHubPostsBlock"] = "resource-hub-posts-block";
|
|
44
45
|
BlockType["EventsSectionBlock"] = "events-section-block";
|
|
45
46
|
BlockType["BlogFeedBlock"] = "blog-feed-block";
|
|
46
47
|
BlockType["RelevantPostsBlock"] = "relevant-posts-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(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(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.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.BenchmarkBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), blocks_1.PressReleasesBlock), blocks_1.FormWallBlock);
|
|
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({}, 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.ReportsCardsBlock), blocks_1.ReportsSectionsBlock), blocks_1.LinkTableBlock), blocks_1.EventsFeedBlock), blocks_1.ResourceHubPostsBlock), blocks_1.BenchmarkBlock), blocks_1.EventsSectionBlock), blocks_1.BlogFeedBlock), blocks_1.RelevantPostsBlock), blocks_1.RelevantReportsCardsBlock), blocks_1.RelevantReportsBlock), 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(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), sub_blocks_1.StoryCard);
|
|
8
8
|
exports.constructorBlockSchemaNames = [
|
|
9
9
|
'divider',
|
|
@@ -46,6 +46,7 @@ exports.constructorBlockSchemaNames = [
|
|
|
46
46
|
'reports-sections-block',
|
|
47
47
|
'link-table-block',
|
|
48
48
|
'events-feed-block',
|
|
49
|
+
'resource-hub-posts-block',
|
|
49
50
|
'events-section-block',
|
|
50
51
|
'blog-feed-block',
|
|
51
52
|
'highlight-table-block',
|
|
@@ -34,6 +34,7 @@ export * from '../../blocks/ReportsCards/schema';
|
|
|
34
34
|
export * from '../../blocks/ReportsSections/schema';
|
|
35
35
|
export * from '../../blocks/LinkTable/schema';
|
|
36
36
|
export * from '../../blocks/EventsFeed/schema';
|
|
37
|
+
export * from '../../blocks/ResourceHubPosts/schema';
|
|
37
38
|
export * from '../../blocks/EventsSection/schema';
|
|
38
39
|
export * from '../../blocks/BlogFeed/schema';
|
|
39
40
|
export * from '../../blocks/RelevantPosts/schema';
|
|
@@ -37,6 +37,7 @@ tslib_1.__exportStar(require("../../blocks/ReportsCards/schema"), exports);
|
|
|
37
37
|
tslib_1.__exportStar(require("../../blocks/ReportsSections/schema"), exports);
|
|
38
38
|
tslib_1.__exportStar(require("../../blocks/LinkTable/schema"), exports);
|
|
39
39
|
tslib_1.__exportStar(require("../../blocks/EventsFeed/schema"), exports);
|
|
40
|
+
tslib_1.__exportStar(require("../../blocks/ResourceHubPosts/schema"), exports);
|
|
40
41
|
tslib_1.__exportStar(require("../../blocks/EventsSection/schema"), exports);
|
|
41
42
|
tslib_1.__exportStar(require("../../blocks/BlogFeed/schema"), exports);
|
|
42
43
|
tslib_1.__exportStar(require("../../blocks/RelevantPosts/schema"), exports);
|
|
@@ -22,6 +22,6 @@ export const MediaBlock = (props) => {
|
|
|
22
22
|
});
|
|
23
23
|
return (React.createElement(MediaBase, Object.assign({}, props, { onScroll: () => setPlay(true) }),
|
|
24
24
|
React.createElement(MediaBase.Card, null,
|
|
25
|
-
React.createElement(Media, Object.assign({ imageClassName: b('image') }, mediaWithMicrodata, { playVideo: play, className: b({ border: borderSelected }) })))));
|
|
25
|
+
React.createElement(Media, Object.assign({ imageClassName: b('image') }, mediaWithMicrodata, { playVideo: play, animated: props.animated, className: b({ border: borderSelected }) })))));
|
|
26
26
|
};
|
|
27
27
|
export default MediaBlock;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import FeedHeader from '../../components/FeedHeader/FeedHeader';
|
|
3
|
+
import ResourceHubPostsSection from './ResourceHubPostsSection/ResourceHubPostsSection';
|
|
4
|
+
export const ResourceHubPostsBlock = ({ image, title }) => (React.createElement(React.Fragment, null,
|
|
5
|
+
React.createElement(FeedHeader, { image: image, title: title }),
|
|
6
|
+
React.createElement(ResourceHubPostsSection, null)));
|
|
7
|
+
export default ResourceHubPostsBlock;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import { CardLayoutBlock } from '../..';
|
|
3
|
+
import { InfiniteScroll } from '../../../components';
|
|
4
|
+
import { ResourceHubPostsContext } from '../../../context/resourceHubPostsContext';
|
|
5
|
+
import { PostCardTitleHeadingLevel } from '../../../models';
|
|
6
|
+
import PostCard from '../../../sub-blocks/PostCard/PostCard';
|
|
7
|
+
import { block } from '../../../utils';
|
|
8
|
+
const b = block('resource-hub-posts-section');
|
|
9
|
+
const colSizes = {
|
|
10
|
+
all: 12,
|
|
11
|
+
lg: 4,
|
|
12
|
+
md: 6,
|
|
13
|
+
};
|
|
14
|
+
export const ResourceHubPostsSection = () => {
|
|
15
|
+
const { posts, page, pageSize, onLoadMore } = useContext(ResourceHubPostsContext);
|
|
16
|
+
const itemsToShow = posts.slice(0, page * pageSize);
|
|
17
|
+
const hasMore = page < Math.ceil(posts.length / pageSize);
|
|
18
|
+
if (posts.length === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return (React.createElement("div", { className: b() },
|
|
22
|
+
"Hello",
|
|
23
|
+
React.createElement(CardLayoutBlock, { className: b('wrap'), colSizes: colSizes }, itemsToShow.map((item) => (React.createElement(PostCard, Object.assign({ key: item.slug }, item, { showTag: true, titleHeadingLevel: PostCardTitleHeadingLevel.H2 }))))),
|
|
24
|
+
React.createElement(InfiniteScroll, { hasMore: hasMore, onNext: onLoadMore })));
|
|
25
|
+
};
|
|
26
|
+
export default React.memo(ResourceHubPostsSection);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const ResourceHubPostsBlock: {
|
|
2
|
+
'resource-hub-posts-block': {
|
|
3
|
+
additionalProperties: boolean;
|
|
4
|
+
required: never[];
|
|
5
|
+
properties: {
|
|
6
|
+
title: {
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
image: {
|
|
10
|
+
type: string;
|
|
11
|
+
};
|
|
12
|
+
type: {};
|
|
13
|
+
when: {
|
|
14
|
+
type: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseProps } from './../../schema/validators/common';
|
|
2
|
+
export const ResourceHubPostsBlock = {
|
|
3
|
+
'resource-hub-posts-block': {
|
|
4
|
+
additionalProperties: false,
|
|
5
|
+
required: [],
|
|
6
|
+
properties: Object.assign(Object.assign({}, BaseProps), { title: {
|
|
7
|
+
type: 'string',
|
|
8
|
+
}, image: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
} }),
|
|
11
|
+
},
|
|
12
|
+
};
|
|
@@ -37,6 +37,7 @@ export { default as ReportsSectionsBlock } from './ReportsSections/ReportsSectio
|
|
|
37
37
|
export { default as FormWallBlock } from './FormWallBlock/FormWallBlock';
|
|
38
38
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
39
39
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
40
|
+
export { default as ResourceHubPostsBlock } from './ResourceHubPosts/ResourceHubPosts';
|
|
40
41
|
export { default as EventsSectionBlock } from './EventsSection/EventsSection';
|
|
41
42
|
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
42
43
|
export { default as RelevantPostsBlock } from './RelevantPosts/RelevantPosts';
|
|
@@ -37,6 +37,7 @@ export { default as ReportsSectionsBlock } from './ReportsSections/ReportsSectio
|
|
|
37
37
|
export { default as FormWallBlock } from './FormWallBlock/FormWallBlock';
|
|
38
38
|
export { default as LinkTableBlock } from './LinkTable/LinkTable';
|
|
39
39
|
export { default as EventsFeedBlock } from './EventsFeed/EventsFeed';
|
|
40
|
+
export { default as ResourceHubPostsBlock } from './ResourceHubPosts/ResourceHubPosts';
|
|
40
41
|
export { default as EventsSectionBlock } from './EventsSection/EventsSection';
|
|
41
42
|
export { default as BlogFeedBlock } from './BlogFeed/BlogFeed';
|
|
42
43
|
export { default as RelevantPostsBlock } from './RelevantPosts/RelevantPosts';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { MediaComponentImageProps, QAProps } from '../../../models';
|
|
1
|
+
import { Animatable, MediaComponentImageProps, QAProps } from '../../../models';
|
|
2
2
|
import './Image.css';
|
|
3
|
-
export interface ImageAdditionProps {
|
|
3
|
+
export interface ImageAdditionProps extends Animatable {
|
|
4
4
|
imageClassName?: string;
|
|
5
5
|
isBackground?: boolean;
|
|
6
6
|
fullscreen?: boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { Fragment, useEffect, useState } from 'react';
|
|
2
|
-
import { animated, config, useSpring } from '@react-spring/web';
|
|
2
|
+
import { animated as Animated, config, useSpring } from '@react-spring/web';
|
|
3
3
|
import debounce from 'lodash/debounce';
|
|
4
4
|
import SliderBlock from '../../../blocks/Slider/Slider';
|
|
5
|
-
import { SliderType } from '../../../models';
|
|
5
|
+
import { SliderType, } from '../../../models';
|
|
6
6
|
import { block, getQaAttrubutes } from '../../../utils';
|
|
7
7
|
import BackgroundImage from '../../BackgroundImage/BackgroundImage';
|
|
8
8
|
import FullscreenImage from '../../FullscreenImage/FullscreenImage';
|
|
@@ -12,7 +12,7 @@ import './Image.css';
|
|
|
12
12
|
const b = block('media-component-image');
|
|
13
13
|
export const defaultAnimatedDivQa = 'animated-div';
|
|
14
14
|
const Image = (props) => {
|
|
15
|
-
const { parallax, height, imageClassName, isBackground, hasVideoFallback, video, fullscreen, disableImageSliderForArrayInput, qa, onLoad, } = props;
|
|
15
|
+
const { animated, parallax, height, imageClassName, isBackground, hasVideoFallback, video, fullscreen, disableImageSliderForArrayInput, qa, onLoad, } = props;
|
|
16
16
|
const image = Array.isArray(props.image) && disableImageSliderForArrayInput
|
|
17
17
|
? props.image[0]
|
|
18
18
|
: props.image;
|
|
@@ -44,7 +44,7 @@ const Image = (props) => {
|
|
|
44
44
|
};
|
|
45
45
|
const imageBackground = (oneImage) => {
|
|
46
46
|
const imageData = getMediaImage(oneImage);
|
|
47
|
-
return (React.createElement(
|
|
47
|
+
return (React.createElement(Animated.div, { style: { transform: parallaxInterpolate }, "data-qa": qaAttributes.animate },
|
|
48
48
|
React.createElement(BackgroundImage, Object.assign({}, imageData, { className: imageClass, style: { height }, qa: qaAttributes.backgroundImage }))));
|
|
49
49
|
};
|
|
50
50
|
const imageOnly = (oneImage) => {
|
|
@@ -53,7 +53,7 @@ const Image = (props) => {
|
|
|
53
53
|
};
|
|
54
54
|
const imageSlider = (imageArray) => {
|
|
55
55
|
const fullscreenItem = fullscreen === undefined || fullscreen;
|
|
56
|
-
return (React.createElement(SliderBlock, { slidesToShow: 1, type: SliderType.MediaCard }, imageArray.map((item, index) => (React.createElement(Fragment, { key: index }, fullscreenItem ? renderFullscreenImage(item) : imageOnly(item))))));
|
|
56
|
+
return (React.createElement(SliderBlock, { slidesToShow: 1, type: SliderType.MediaCard, animated: animated }, imageArray.map((item, index) => (React.createElement(Fragment, { key: index }, fullscreenItem ? renderFullscreenImage(item) : imageOnly(item))))));
|
|
57
57
|
};
|
|
58
58
|
if (Array.isArray(image)) {
|
|
59
59
|
return imageSlider(image);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { MediaProps, QAProps } from '../../models';
|
|
1
|
+
import { Animatable, MediaProps, QAProps } from '../../models';
|
|
2
2
|
import { ImageAdditionProps } from './Image/Image';
|
|
3
3
|
import { VideoAdditionProps } from './Video/Video';
|
|
4
4
|
import './Media.css';
|
|
5
|
-
export interface MediaAllProps extends MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {
|
|
5
|
+
export interface MediaAllProps extends Animatable, MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {
|
|
6
6
|
className?: string;
|
|
7
7
|
youtubeClassName?: string;
|
|
8
8
|
autoplay?: boolean;
|