@doyourjob/gravity-ui-page-constructor 5.31.142-dev.1 → 5.31.142-dev.2

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 (46) hide show
  1. package/build/cjs/blocks/Scroller/Scroller.css +40 -0
  2. package/build/cjs/blocks/Scroller/Scroller.d.ts +4 -0
  3. package/build/cjs/blocks/Scroller/Scroller.js +34 -0
  4. package/build/cjs/blocks/Scroller/schema.d.ts +33 -0
  5. package/build/cjs/blocks/Scroller/schema.js +22 -0
  6. package/build/cjs/blocks/index.d.ts +1 -0
  7. package/build/cjs/blocks/index.js +3 -1
  8. package/build/cjs/blocks/validators.d.ts +1 -0
  9. package/build/cjs/blocks/validators.js +1 -0
  10. package/build/cjs/components/CardBase/CardBase.css +2 -2
  11. package/build/cjs/constructor-items.d.ts +1 -0
  12. package/build/cjs/constructor-items.js +1 -0
  13. package/build/cjs/models/constructor-items/blocks.d.ts +11 -1
  14. package/build/cjs/models/constructor-items/blocks.js +1 -0
  15. package/build/cjs/schema/constants.d.ts +2 -2
  16. package/build/cjs/schema/constants.js +2 -1
  17. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  18. package/build/cjs/schema/validators/blocks.js +1 -0
  19. package/build/cjs/sub-blocks/ImageCard/ImageCard.css +2 -2
  20. package/build/cjs/sub-blocks/Quote/Quote.css +1 -1
  21. package/build/esm/blocks/Scroller/Scroller.css +40 -0
  22. package/build/esm/blocks/Scroller/Scroller.d.ts +5 -0
  23. package/build/esm/blocks/Scroller/Scroller.js +30 -0
  24. package/build/esm/blocks/Scroller/schema.d.ts +33 -0
  25. package/build/esm/blocks/Scroller/schema.js +19 -0
  26. package/build/esm/blocks/index.d.ts +1 -0
  27. package/build/esm/blocks/index.js +1 -0
  28. package/build/esm/blocks/validators.d.ts +1 -0
  29. package/build/esm/blocks/validators.js +1 -0
  30. package/build/esm/components/CardBase/CardBase.css +2 -2
  31. package/build/esm/constructor-items.d.ts +1 -0
  32. package/build/esm/constructor-items.js +2 -1
  33. package/build/esm/models/constructor-items/blocks.d.ts +11 -1
  34. package/build/esm/models/constructor-items/blocks.js +1 -0
  35. package/build/esm/schema/constants.d.ts +2 -2
  36. package/build/esm/schema/constants.js +3 -2
  37. package/build/esm/schema/validators/blocks.d.ts +1 -0
  38. package/build/esm/schema/validators/blocks.js +1 -0
  39. package/build/esm/sub-blocks/ImageCard/ImageCard.css +2 -2
  40. package/build/esm/sub-blocks/Quote/Quote.css +1 -1
  41. package/package.json +1 -1
  42. package/schema/index.js +1 -1
  43. package/server/models/constructor-items/blocks.d.ts +11 -1
  44. package/server/models/constructor-items/blocks.js +1 -0
  45. package/styles/mixins.scss +1 -1
  46. package/widget/index.js +1 -1
@@ -0,0 +1,40 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-scroller-block__header {
4
+ margin-bottom: 72px;
5
+ }
6
+ .pc-scroller-block__title {
7
+ color: #001a2b;
8
+ font-size: 48px;
9
+ line-height: 52px;
10
+ font-weight: 600;
11
+ text-align: center;
12
+ }
13
+ .pc-scroller-block__text {
14
+ color: #001a2b;
15
+ margin-top: 16px;
16
+ font-size: 24px;
17
+ line-height: 28px;
18
+ text-align: center;
19
+ }
20
+ .pc-scroller-block__content {
21
+ position: relative;
22
+ gap: 16px;
23
+ display: flex;
24
+ flex-wrap: nowrap;
25
+ width: 100vw;
26
+ overflow: scroll;
27
+ -webkit-overflow-scrolling: touch;
28
+ scrollbar-width: none;
29
+ }
30
+ .pc-scroller-block__content::-webkit-scrollbar {
31
+ display: none;
32
+ }
33
+ .pc-scroller-block__content_gapLong {
34
+ gap: 48px;
35
+ }
36
+ .pc-scroller-block__item {
37
+ position: relative;
38
+ z-index: 1;
39
+ flex: none;
40
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ScrollerBlockProps } from '../../models';
3
+ export declare const ScrollerBlock: (props: React.PropsWithChildren<Omit<ScrollerBlockProps, 'children'>>) => JSX.Element;
4
+ export default ScrollerBlock;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScrollerBlock = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const utils_1 = require("../../utils");
7
+ const b = (0, utils_1.block)('scroller-block');
8
+ const ScrollerBlock = (props) => {
9
+ const { title, text, widths, gapLong, children } = props;
10
+ const rootRef = (0, react_1.useRef)(null);
11
+ const contentRef = (0, react_1.useRef)(null);
12
+ (0, react_1.useEffect)(() => {
13
+ const updateSize = () => {
14
+ if (contentRef.current && rootRef.current) {
15
+ const space = (window.innerWidth - rootRef.current.clientWidth) / 2;
16
+ contentRef.current.style.setProperty('padding-left', `${space}px`);
17
+ contentRef.current.style.setProperty('padding-right', `${space}px`);
18
+ contentRef.current.style.setProperty('left', `${-space}px`);
19
+ }
20
+ };
21
+ updateSize();
22
+ window.addEventListener('resize', updateSize, { passive: true });
23
+ return () => {
24
+ window.removeEventListener('resize', updateSize);
25
+ };
26
+ }, []);
27
+ return (react_1.default.createElement("div", { className: b(), ref: rootRef },
28
+ (title || text) && (react_1.default.createElement("div", { className: b('header') },
29
+ title && react_1.default.createElement("div", { className: b('title') }, title),
30
+ text && react_1.default.createElement("div", { className: b('text') }, text))),
31
+ react_1.default.createElement("div", { className: b('content', { gapLong }), ref: contentRef }, react_1.default.Children.map(children, (child, index) => (react_1.default.createElement("div", { key: index, className: b('item'), style: { width: (widths === null || widths === void 0 ? void 0 : widths[index]) || '100%' } }, child))))));
32
+ };
33
+ exports.ScrollerBlock = ScrollerBlock;
34
+ exports.default = exports.ScrollerBlock;
@@ -0,0 +1,33 @@
1
+ export declare const ScrollerBlock: {
2
+ 'scroller-block': {
3
+ additionalProperties: boolean;
4
+ required: boolean;
5
+ properties: {
6
+ title: {
7
+ type: string;
8
+ };
9
+ text: {
10
+ type: string;
11
+ };
12
+ widths: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ };
17
+ };
18
+ gapLong: {
19
+ type: string;
20
+ };
21
+ children: {
22
+ type: string;
23
+ items: {
24
+ $ref: string;
25
+ };
26
+ };
27
+ type: {};
28
+ when: {
29
+ type: string;
30
+ };
31
+ };
32
+ };
33
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScrollerBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ exports.ScrollerBlock = {
6
+ 'scroller-block': {
7
+ additionalProperties: false,
8
+ required: false,
9
+ properties: Object.assign(Object.assign({}, common_1.BaseProps), { title: {
10
+ type: 'string',
11
+ }, text: {
12
+ type: 'string',
13
+ }, widths: {
14
+ type: 'array',
15
+ items: {
16
+ type: 'string',
17
+ },
18
+ }, gapLong: {
19
+ type: 'boolean',
20
+ }, children: common_1.ChildrenCardsProps }),
21
+ },
22
+ };
@@ -9,6 +9,7 @@ export { default as SliderNewBlock } from './SliderNew/Slider';
9
9
  export { default as ExtendedFeaturesBlock } from './ExtendedFeatures/ExtendedFeatures';
10
10
  export { default as PromoFeaturesBlock } from './PromoFeaturesBlock/PromoFeaturesBlock';
11
11
  export { default as AdvantagesBlock } from './Advantages/Advantages';
12
+ export { default as ScrollerBlock } from './Scroller/Scroller';
12
13
  export { default as QuestionsBlock } from './Questions/Questions';
13
14
  export { default as TableBlock } from './Table/Table';
14
15
  export { default as TabsBlock } from './Tabs/Tabs';
@@ -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.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.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.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");
@@ -26,6 +26,8 @@ var PromoFeaturesBlock_1 = require("./PromoFeaturesBlock/PromoFeaturesBlock");
26
26
  Object.defineProperty(exports, "PromoFeaturesBlock", { enumerable: true, get: function () { return __importDefault(PromoFeaturesBlock_1).default; } });
27
27
  var Advantages_1 = require("./Advantages/Advantages");
28
28
  Object.defineProperty(exports, "AdvantagesBlock", { enumerable: true, get: function () { return __importDefault(Advantages_1).default; } });
29
+ var Scroller_1 = require("./Scroller/Scroller");
30
+ Object.defineProperty(exports, "ScrollerBlock", { enumerable: true, get: function () { return __importDefault(Scroller_1).default; } });
29
31
  var Questions_1 = require("./Questions/Questions");
30
32
  Object.defineProperty(exports, "QuestionsBlock", { enumerable: true, get: function () { return __importDefault(Questions_1).default; } });
31
33
  var Table_1 = require("./Table/Table");
@@ -11,6 +11,7 @@ export * from './Info/schema';
11
11
  export * from './Media/schema';
12
12
  export * from './PromoFeaturesBlock/schema';
13
13
  export * from './Advantages/schema';
14
+ export * from './Scroller/schema';
14
15
  export * from './Questions/schema';
15
16
  export * from './Slider/schema';
16
17
  export * from './Table/schema';
@@ -14,6 +14,7 @@ tslib_1.__exportStar(require("./Info/schema"), exports);
14
14
  tslib_1.__exportStar(require("./Media/schema"), exports);
15
15
  tslib_1.__exportStar(require("./PromoFeaturesBlock/schema"), exports);
16
16
  tslib_1.__exportStar(require("./Advantages/schema"), exports);
17
+ tslib_1.__exportStar(require("./Scroller/schema"), exports);
17
18
  tslib_1.__exportStar(require("./Questions/schema"), exports);
18
19
  tslib_1.__exportStar(require("./Slider/schema"), exports);
19
20
  tslib_1.__exportStar(require("./Table/schema"), exports);
@@ -11,7 +11,7 @@ unpredictable css rules order in build */
11
11
  }
12
12
 
13
13
  .pc-card-base-block {
14
- min-height: 248px;
14
+ min-height: 240px;
15
15
  height: 100%;
16
16
  overflow-x: hidden;
17
17
  border-radius: var(--pc-border-radius);
@@ -62,7 +62,7 @@ unpredictable css rules order in build */
62
62
  a.pc-card-base-block {
63
63
  color: inherit;
64
64
  text-decoration: none;
65
- min-height: 248px;
65
+ min-height: 240px;
66
66
  height: 100%;
67
67
  overflow-x: hidden;
68
68
  border-radius: var(--pc-border-radius);
@@ -3,6 +3,7 @@ export declare const blockMap: {
3
3
  "extended-features-block": ({ title, description, items, colSizes, animated, }: import("./models").ExtendedFeaturesProps) => JSX.Element;
4
4
  "promo-features-block": (props: import("./models").PromoFeaturesProps) => JSX.Element;
5
5
  "advantages-block": (props: import("./models").AdvantagesBlockProps) => JSX.Element;
6
+ "scroller-block": (props: import("react").PropsWithChildren<Omit<import("./models").ScrollerBlockProps, "children">>) => JSX.Element;
6
7
  "questions-block": (props: import("./models").QuestionsProps) => JSX.Element;
7
8
  "banner-block": (props: import("./models").BannerBlockProps) => JSX.Element;
8
9
  "logo-rotator-block": (props: import("./models").LogoRotatorBlockProps) => JSX.Element;
@@ -12,6 +12,7 @@ exports.blockMap = {
12
12
  [models_1.BlockType.ExtendedFeaturesBlock]: blocks_1.ExtendedFeaturesBlock,
13
13
  [models_1.BlockType.PromoFeaturesBlock]: blocks_1.PromoFeaturesBlock,
14
14
  [models_1.BlockType.AdvantagesBlock]: blocks_1.AdvantagesBlock,
15
+ [models_1.BlockType.ScrollerBlock]: blocks_1.ScrollerBlock,
15
16
  [models_1.BlockType.QuestionsBlock]: blocks_1.QuestionsBlock,
16
17
  [models_1.BlockType.BannerBlock]: blocks_1.BannerBlock,
17
18
  [models_1.BlockType.LogoRotatorBlock]: blocks_1.LogoRotatorBlock,
@@ -7,6 +7,7 @@ import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, CardBorder,
7
7
  import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './sub-blocks';
8
8
  export declare enum BlockType {
9
9
  AdvantagesBlock = "advantages-block",
10
+ ScrollerBlock = "scroller-block",
10
11
  PromoFeaturesBlock = "promo-features-block",
11
12
  ExtendedFeaturesBlock = "extended-features-block",
12
13
  SliderBlock = "slider-block",
@@ -290,6 +291,12 @@ export interface AdvantagesBlockProps {
290
291
  url: string;
291
292
  }[];
292
293
  }
294
+ export interface ScrollerBlockProps extends Childable {
295
+ title?: string;
296
+ text?: string;
297
+ widths?: string[];
298
+ gapLong?: boolean;
299
+ }
293
300
  export interface CompaniesBlockProps extends Animatable {
294
301
  title: string;
295
302
  description?: string;
@@ -708,6 +715,9 @@ export type LogoRotatorBlockModel = {
708
715
  export type AdvantagesBlockModel = {
709
716
  type: BlockType.AdvantagesBlock;
710
717
  } & AdvantagesBlockProps;
718
+ export type ScrollerBlockModel = {
719
+ type: BlockType.ScrollerBlock;
720
+ } & ScrollerBlockProps;
711
721
  export type CompaniesBlockModel = {
712
722
  type: BlockType.CompaniesBlock;
713
723
  } & CompaniesBlockProps;
@@ -819,6 +829,6 @@ export type FormWallBlockModel = {
819
829
  export type SliderNewBlockModel = {
820
830
  type: BlockType.SliderNewBlock;
821
831
  } & SliderNewProps;
822
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | 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;
832
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | 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;
823
833
  export type Block = BlockModels & BlockBaseProps;
824
834
  export {};
@@ -4,6 +4,7 @@ exports.FormBlockDirection = exports.FormBlockDataTypes = exports.PCShareSocialN
4
4
  var BlockType;
5
5
  (function (BlockType) {
6
6
  BlockType["AdvantagesBlock"] = "advantages-block";
7
+ BlockType["ScrollerBlock"] = "scroller-block";
7
8
  BlockType["PromoFeaturesBlock"] = "promo-features-block";
8
9
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
9
10
  BlockType["SliderBlock"] = "slider-block";
@@ -3721,8 +3721,8 @@ export declare const cardSchemas: {
3721
3721
  additionalProperties: boolean;
3722
3722
  properties: {
3723
3723
  type: {
3724
- type: string; /** @deprecated */
3725
- enum: import("../models").CustomControlsType[];
3724
+ type: string;
3725
+ enum: import("../models").CustomControlsType[]; /** @deprecated */
3726
3726
  };
3727
3727
  muteButtonShown: {
3728
3728
  type: 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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.AdvantagesBlock), 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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.AdvantagesBlock), 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);
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',
@@ -55,6 +55,7 @@ exports.constructorBlockSchemaNames = [
55
55
  'press-releases-block',
56
56
  'mini-case-block',
57
57
  'advantages-block',
58
+ 'scroller-block',
58
59
  'benchmark-block',
59
60
  'banner-minify-block',
60
61
  ];
@@ -3,6 +3,7 @@ export * from '../../blocks/Companies/schema';
3
3
  export * from '../../blocks/ExtendedFeatures/schema';
4
4
  export * from '../../blocks/PromoFeaturesBlock/schema';
5
5
  export * from '../../blocks/Advantages/schema';
6
+ export * from '../../blocks/Scroller/schema';
6
7
  export * from '../../blocks/Header/schema';
7
8
  export * from '../../blocks/Info/schema';
8
9
  export * from '../../blocks/Media/schema';
@@ -6,6 +6,7 @@ tslib_1.__exportStar(require("../../blocks/Companies/schema"), exports);
6
6
  tslib_1.__exportStar(require("../../blocks/ExtendedFeatures/schema"), exports);
7
7
  tslib_1.__exportStar(require("../../blocks/PromoFeaturesBlock/schema"), exports);
8
8
  tslib_1.__exportStar(require("../../blocks/Advantages/schema"), exports);
9
+ tslib_1.__exportStar(require("../../blocks/Scroller/schema"), exports);
9
10
  tslib_1.__exportStar(require("../../blocks/Header/schema"), exports);
10
11
  tslib_1.__exportStar(require("../../blocks/Info/schema"), exports);
11
12
  tslib_1.__exportStar(require("../../blocks/Media/schema"), exports);
@@ -5,7 +5,7 @@ a.pc-image-card_border_shadow, .pc-image-card_border_shadow {
5
5
  /* use this for style redefinitions to awoid problems with
6
6
  unpredictable css rules order in build */
7
7
  .pc-image-card {
8
- min-height: 248px;
8
+ min-height: 240px;
9
9
  height: 100%;
10
10
  overflow-x: hidden;
11
11
  border-radius: var(--pc-border-radius);
@@ -84,7 +84,7 @@ unpredictable css rules order in build */
84
84
  a.pc-image-card {
85
85
  color: inherit;
86
86
  text-decoration: none;
87
- min-height: 248px;
87
+ min-height: 240px;
88
88
  height: 100%;
89
89
  overflow-x: hidden;
90
90
  border-radius: var(--pc-border-radius);
@@ -6,7 +6,7 @@
6
6
  /* use this for style redefinitions to awoid problems with
7
7
  unpredictable css rules order in build */
8
8
  .pc-quote {
9
- min-height: 248px;
9
+ min-height: 240px;
10
10
  height: 100%;
11
11
  overflow-x: hidden;
12
12
  border-radius: var(--pc-border-radius);
@@ -0,0 +1,40 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-scroller-block__header {
4
+ margin-bottom: 72px;
5
+ }
6
+ .pc-scroller-block__title {
7
+ color: #001a2b;
8
+ font-size: 48px;
9
+ line-height: 52px;
10
+ font-weight: 600;
11
+ text-align: center;
12
+ }
13
+ .pc-scroller-block__text {
14
+ color: #001a2b;
15
+ margin-top: 16px;
16
+ font-size: 24px;
17
+ line-height: 28px;
18
+ text-align: center;
19
+ }
20
+ .pc-scroller-block__content {
21
+ position: relative;
22
+ gap: 16px;
23
+ display: flex;
24
+ flex-wrap: nowrap;
25
+ width: 100vw;
26
+ overflow: scroll;
27
+ -webkit-overflow-scrolling: touch;
28
+ scrollbar-width: none;
29
+ }
30
+ .pc-scroller-block__content::-webkit-scrollbar {
31
+ display: none;
32
+ }
33
+ .pc-scroller-block__content_gapLong {
34
+ gap: 48px;
35
+ }
36
+ .pc-scroller-block__item {
37
+ position: relative;
38
+ z-index: 1;
39
+ flex: none;
40
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ScrollerBlockProps } from '../../models';
3
+ import './Scroller.css';
4
+ export declare const ScrollerBlock: (props: React.PropsWithChildren<Omit<ScrollerBlockProps, 'children'>>) => JSX.Element;
5
+ export default ScrollerBlock;
@@ -0,0 +1,30 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import { block } from '../../utils';
3
+ import './Scroller.css';
4
+ const b = block('scroller-block');
5
+ export const ScrollerBlock = (props) => {
6
+ const { title, text, widths, gapLong, children } = props;
7
+ const rootRef = useRef(null);
8
+ const contentRef = useRef(null);
9
+ useEffect(() => {
10
+ const updateSize = () => {
11
+ if (contentRef.current && rootRef.current) {
12
+ const space = (window.innerWidth - rootRef.current.clientWidth) / 2;
13
+ contentRef.current.style.setProperty('padding-left', `${space}px`);
14
+ contentRef.current.style.setProperty('padding-right', `${space}px`);
15
+ contentRef.current.style.setProperty('left', `${-space}px`);
16
+ }
17
+ };
18
+ updateSize();
19
+ window.addEventListener('resize', updateSize, { passive: true });
20
+ return () => {
21
+ window.removeEventListener('resize', updateSize);
22
+ };
23
+ }, []);
24
+ return (React.createElement("div", { className: b(), ref: rootRef },
25
+ (title || text) && (React.createElement("div", { className: b('header') },
26
+ title && React.createElement("div", { className: b('title') }, title),
27
+ text && React.createElement("div", { className: b('text') }, text))),
28
+ React.createElement("div", { className: b('content', { gapLong }), ref: contentRef }, React.Children.map(children, (child, index) => (React.createElement("div", { key: index, className: b('item'), style: { width: (widths === null || widths === void 0 ? void 0 : widths[index]) || '100%' } }, child))))));
29
+ };
30
+ export default ScrollerBlock;
@@ -0,0 +1,33 @@
1
+ export declare const ScrollerBlock: {
2
+ 'scroller-block': {
3
+ additionalProperties: boolean;
4
+ required: boolean;
5
+ properties: {
6
+ title: {
7
+ type: string;
8
+ };
9
+ text: {
10
+ type: string;
11
+ };
12
+ widths: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ };
17
+ };
18
+ gapLong: {
19
+ type: string;
20
+ };
21
+ children: {
22
+ type: string;
23
+ items: {
24
+ $ref: string;
25
+ };
26
+ };
27
+ type: {};
28
+ when: {
29
+ type: string;
30
+ };
31
+ };
32
+ };
33
+ };
@@ -0,0 +1,19 @@
1
+ import { BaseProps, ChildrenCardsProps } from '../../schema/validators/common';
2
+ export const ScrollerBlock = {
3
+ 'scroller-block': {
4
+ additionalProperties: false,
5
+ required: false,
6
+ properties: Object.assign(Object.assign({}, BaseProps), { title: {
7
+ type: 'string',
8
+ }, text: {
9
+ type: 'string',
10
+ }, widths: {
11
+ type: 'array',
12
+ items: {
13
+ type: 'string',
14
+ },
15
+ }, gapLong: {
16
+ type: 'boolean',
17
+ }, children: ChildrenCardsProps }),
18
+ },
19
+ };
@@ -9,6 +9,7 @@ export { default as SliderNewBlock } from './SliderNew/Slider';
9
9
  export { default as ExtendedFeaturesBlock } from './ExtendedFeatures/ExtendedFeatures';
10
10
  export { default as PromoFeaturesBlock } from './PromoFeaturesBlock/PromoFeaturesBlock';
11
11
  export { default as AdvantagesBlock } from './Advantages/Advantages';
12
+ export { default as ScrollerBlock } from './Scroller/Scroller';
12
13
  export { default as QuestionsBlock } from './Questions/Questions';
13
14
  export { default as TableBlock } from './Table/Table';
14
15
  export { default as TabsBlock } from './Tabs/Tabs';
@@ -9,6 +9,7 @@ export { default as SliderNewBlock } from './SliderNew/Slider';
9
9
  export { default as ExtendedFeaturesBlock } from './ExtendedFeatures/ExtendedFeatures';
10
10
  export { default as PromoFeaturesBlock } from './PromoFeaturesBlock/PromoFeaturesBlock';
11
11
  export { default as AdvantagesBlock } from './Advantages/Advantages';
12
+ export { default as ScrollerBlock } from './Scroller/Scroller';
12
13
  export { default as QuestionsBlock } from './Questions/Questions';
13
14
  export { default as TableBlock } from './Table/Table';
14
15
  export { default as TabsBlock } from './Tabs/Tabs';
@@ -11,6 +11,7 @@ export * from './Info/schema';
11
11
  export * from './Media/schema';
12
12
  export * from './PromoFeaturesBlock/schema';
13
13
  export * from './Advantages/schema';
14
+ export * from './Scroller/schema';
14
15
  export * from './Questions/schema';
15
16
  export * from './Slider/schema';
16
17
  export * from './Table/schema';
@@ -11,6 +11,7 @@ export * from './Info/schema';
11
11
  export * from './Media/schema';
12
12
  export * from './PromoFeaturesBlock/schema';
13
13
  export * from './Advantages/schema';
14
+ export * from './Scroller/schema';
14
15
  export * from './Questions/schema';
15
16
  export * from './Slider/schema';
16
17
  export * from './Table/schema';
@@ -11,7 +11,7 @@ unpredictable css rules order in build */
11
11
  }
12
12
 
13
13
  .pc-card-base-block {
14
- min-height: 248px;
14
+ min-height: 240px;
15
15
  height: 100%;
16
16
  overflow-x: hidden;
17
17
  border-radius: var(--pc-border-radius);
@@ -62,7 +62,7 @@ unpredictable css rules order in build */
62
62
  a.pc-card-base-block {
63
63
  color: inherit;
64
64
  text-decoration: none;
65
- min-height: 248px;
65
+ min-height: 240px;
66
66
  height: 100%;
67
67
  overflow-x: hidden;
68
68
  border-radius: var(--pc-border-radius);
@@ -3,6 +3,7 @@ export declare const blockMap: {
3
3
  "extended-features-block": ({ title, description, items, colSizes, animated, }: import("./models").ExtendedFeaturesProps) => JSX.Element;
4
4
  "promo-features-block": (props: import("./models").PromoFeaturesProps) => JSX.Element;
5
5
  "advantages-block": (props: import("./models").AdvantagesBlockProps) => JSX.Element;
6
+ "scroller-block": (props: import("react").PropsWithChildren<Omit<import("./models").ScrollerBlockProps, "children">>) => JSX.Element;
6
7
  "questions-block": (props: import("./models").QuestionsProps) => JSX.Element;
7
8
  "banner-block": (props: import("./models").BannerBlockProps) => JSX.Element;
8
9
  "logo-rotator-block": (props: import("./models").LogoRotatorBlockProps) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { AdvantagesBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ServicesBlock, ShareBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
1
+ import { AdvantagesBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BlogFeedBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ScrollerBlock, ServicesBlock, ShareBlock, 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';
@@ -8,6 +8,7 @@ export const blockMap = {
8
8
  [BlockType.ExtendedFeaturesBlock]: ExtendedFeaturesBlock,
9
9
  [BlockType.PromoFeaturesBlock]: PromoFeaturesBlock,
10
10
  [BlockType.AdvantagesBlock]: AdvantagesBlock,
11
+ [BlockType.ScrollerBlock]: ScrollerBlock,
11
12
  [BlockType.QuestionsBlock]: QuestionsBlock,
12
13
  [BlockType.BannerBlock]: BannerBlock,
13
14
  [BlockType.LogoRotatorBlock]: LogoRotatorBlock,
@@ -7,6 +7,7 @@ import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, CardBorder,
7
7
  import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './sub-blocks';
8
8
  export declare enum BlockType {
9
9
  AdvantagesBlock = "advantages-block",
10
+ ScrollerBlock = "scroller-block",
10
11
  PromoFeaturesBlock = "promo-features-block",
11
12
  ExtendedFeaturesBlock = "extended-features-block",
12
13
  SliderBlock = "slider-block",
@@ -290,6 +291,12 @@ export interface AdvantagesBlockProps {
290
291
  url: string;
291
292
  }[];
292
293
  }
294
+ export interface ScrollerBlockProps extends Childable {
295
+ title?: string;
296
+ text?: string;
297
+ widths?: string[];
298
+ gapLong?: boolean;
299
+ }
293
300
  export interface CompaniesBlockProps extends Animatable {
294
301
  title: string;
295
302
  description?: string;
@@ -708,6 +715,9 @@ export type LogoRotatorBlockModel = {
708
715
  export type AdvantagesBlockModel = {
709
716
  type: BlockType.AdvantagesBlock;
710
717
  } & AdvantagesBlockProps;
718
+ export type ScrollerBlockModel = {
719
+ type: BlockType.ScrollerBlock;
720
+ } & ScrollerBlockProps;
711
721
  export type CompaniesBlockModel = {
712
722
  type: BlockType.CompaniesBlock;
713
723
  } & CompaniesBlockProps;
@@ -819,6 +829,6 @@ export type FormWallBlockModel = {
819
829
  export type SliderNewBlockModel = {
820
830
  type: BlockType.SliderNewBlock;
821
831
  } & SliderNewProps;
822
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | 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;
832
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | LogoRotatorBlockModel | AdvantagesBlockModel | 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;
823
833
  export type Block = BlockModels & BlockBaseProps;
824
834
  export {};
@@ -1,6 +1,7 @@
1
1
  export var BlockType;
2
2
  (function (BlockType) {
3
3
  BlockType["AdvantagesBlock"] = "advantages-block";
4
+ BlockType["ScrollerBlock"] = "scroller-block";
4
5
  BlockType["PromoFeaturesBlock"] = "promo-features-block";
5
6
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
6
7
  BlockType["SliderBlock"] = "slider-block";