@doyourjob/gravity-ui-page-constructor 5.31.173 → 5.31.174

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 (35) hide show
  1. package/build/cjs/blocks/Cat/Cat.css +33 -0
  2. package/build/cjs/blocks/Cat/Cat.d.ts +4 -0
  3. package/build/cjs/blocks/Cat/Cat.js +14 -0
  4. package/build/cjs/blocks/Cat/schema.d.ts +153 -0
  5. package/build/cjs/blocks/Cat/schema.js +14 -0
  6. package/build/cjs/blocks/index.d.ts +1 -0
  7. package/build/cjs/blocks/index.js +3 -1
  8. package/build/cjs/constructor-items.d.ts +1 -0
  9. package/build/cjs/constructor-items.js +1 -0
  10. package/build/cjs/models/constructor-items/blocks.d.ts +9 -2
  11. package/build/cjs/models/constructor-items/blocks.js +1 -0
  12. package/build/cjs/schema/constants.d.ts +4 -4
  13. package/build/cjs/schema/constants.js +2 -1
  14. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  15. package/build/cjs/schema/validators/blocks.js +1 -0
  16. package/build/esm/blocks/Cat/Cat.css +33 -0
  17. package/build/esm/blocks/Cat/Cat.d.ts +5 -0
  18. package/build/esm/blocks/Cat/Cat.js +10 -0
  19. package/build/esm/blocks/Cat/schema.d.ts +153 -0
  20. package/build/esm/blocks/Cat/schema.js +11 -0
  21. package/build/esm/blocks/index.d.ts +1 -0
  22. package/build/esm/blocks/index.js +1 -0
  23. package/build/esm/constructor-items.d.ts +1 -0
  24. package/build/esm/constructor-items.js +2 -1
  25. package/build/esm/models/constructor-items/blocks.d.ts +9 -2
  26. package/build/esm/models/constructor-items/blocks.js +1 -0
  27. package/build/esm/schema/constants.d.ts +4 -4
  28. package/build/esm/schema/constants.js +3 -2
  29. package/build/esm/schema/validators/blocks.d.ts +1 -0
  30. package/build/esm/schema/validators/blocks.js +1 -0
  31. package/package.json +1 -1
  32. package/schema/index.js +1 -1
  33. package/server/models/constructor-items/blocks.d.ts +9 -2
  34. package/server/models/constructor-items/blocks.js +1 -0
  35. package/widget/index.js +1 -1
@@ -0,0 +1,33 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-cat-block {
4
+ margin: 0;
5
+ padding: 24px 0;
6
+ border-top: 1.5px solid rgba(20, 7, 15, 0.1);
7
+ border-bottom: 1.5px solid rgba(20, 7, 15, 0.1);
8
+ }
9
+ .pc-cat-block_open {
10
+ padding: 0;
11
+ border: none;
12
+ }
13
+ .pc-cat-block__item {
14
+ margin: 0;
15
+ padding: 0 8px;
16
+ }
17
+ .pc-cat-block__button {
18
+ cursor: pointer;
19
+ width: 100%;
20
+ font-size: 16px;
21
+ line-height: 150%;
22
+ font-weight: 400;
23
+ text-align: center;
24
+ padding: 16px;
25
+ border-radius: 16px;
26
+ background-color: var(--g-color-science-bg-secondary);
27
+ border: 1.5px solid rgba(20, 7, 15, 0.1);
28
+ color: var(--g-color-science-primary);
29
+ transition: opacity 0.2s ease;
30
+ }
31
+ .pc-cat-block__button:hover {
32
+ opacity: 0.7;
33
+ }
@@ -0,0 +1,4 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { CatBlockProps } from '../../models';
3
+ export declare const Cat: ({ title, children }: PropsWithChildren<CatBlockProps>) => JSX.Element;
4
+ export default Cat;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cat = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const cn_1 = require("../../utils/cn");
7
+ const b = (0, cn_1.block)('cat-block');
8
+ const Cat = ({ title, children }) => {
9
+ const [open, setOpen] = (0, react_1.useState)(false);
10
+ const handleOpen = (0, react_1.useCallback)(() => setOpen(true), []);
11
+ return (react_1.default.createElement("div", { className: b({ open }) }, open ? (react_1.default.Children.map(children, (child, i) => (react_1.default.createElement("div", { key: i, className: b('item') }, child)))) : (react_1.default.createElement("button", { onClick: handleOpen, className: b('button') }, title))));
12
+ };
13
+ exports.Cat = Cat;
14
+ exports.default = exports.Cat;
@@ -0,0 +1,153 @@
1
+ export declare const CatBlock: {
2
+ "cat-block": {
3
+ type: string;
4
+ additionalProperties: boolean;
5
+ required: string[];
6
+ properties: {
7
+ children: {
8
+ type: string;
9
+ items: {
10
+ $ref: string;
11
+ };
12
+ };
13
+ title: {
14
+ type: string;
15
+ };
16
+ anchor: {
17
+ type: string;
18
+ additionalProperties: boolean;
19
+ required: string[];
20
+ properties: {
21
+ text: {
22
+ type: string;
23
+ contentType: string;
24
+ };
25
+ url: {
26
+ type: string;
27
+ };
28
+ urlTitle: {
29
+ type: string;
30
+ };
31
+ };
32
+ };
33
+ visibility: {
34
+ oneOf: ({
35
+ type: string;
36
+ enum: string[];
37
+ additionalProperties?: undefined;
38
+ properties?: undefined;
39
+ } | {
40
+ type: string;
41
+ additionalProperties: boolean;
42
+ properties: {
43
+ xs: {
44
+ type: string;
45
+ };
46
+ sm: {
47
+ type: string;
48
+ };
49
+ md: {
50
+ type: string;
51
+ };
52
+ lg: {
53
+ type: string;
54
+ };
55
+ xl: {
56
+ type: string;
57
+ };
58
+ xxl: {
59
+ type: string;
60
+ };
61
+ };
62
+ enum?: undefined;
63
+ })[];
64
+ };
65
+ visible: {
66
+ type: string;
67
+ enum: string[];
68
+ };
69
+ hidden: {
70
+ type: string;
71
+ enum: string[];
72
+ };
73
+ resetPaddings: {
74
+ type: string;
75
+ };
76
+ context: {
77
+ type: string;
78
+ };
79
+ indent: {
80
+ type: string;
81
+ additionalProperties: boolean;
82
+ properties: {
83
+ top: {
84
+ enum: string[];
85
+ };
86
+ bottom: {
87
+ enum: string[];
88
+ };
89
+ };
90
+ };
91
+ backgroundFull: {
92
+ type: string;
93
+ };
94
+ visibilityFilter: {
95
+ oneOf: ({
96
+ type: string;
97
+ items?: undefined;
98
+ } | {
99
+ type: string;
100
+ items: {
101
+ type: string;
102
+ };
103
+ })[];
104
+ };
105
+ blockUnicorn: {
106
+ type: string;
107
+ };
108
+ blockBackground: {
109
+ oneOf: ({
110
+ type: string;
111
+ additionalProperties?: undefined;
112
+ properties?: undefined;
113
+ } | {
114
+ type: string;
115
+ additionalProperties: boolean;
116
+ properties: {
117
+ color: {
118
+ type: string;
119
+ };
120
+ image: {
121
+ type: string;
122
+ };
123
+ size: {
124
+ type: string;
125
+ };
126
+ repeat: {
127
+ type: string;
128
+ };
129
+ position: {
130
+ type: string;
131
+ };
132
+ attachment: {
133
+ type: string;
134
+ };
135
+ clip: {
136
+ type: string;
137
+ };
138
+ origin: {
139
+ type: string;
140
+ };
141
+ blendMode: {
142
+ type: string;
143
+ };
144
+ };
145
+ })[];
146
+ };
147
+ type: {};
148
+ when: {
149
+ type: string;
150
+ };
151
+ };
152
+ };
153
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CatBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ exports.CatBlock = {
6
+ ['cat-block']: {
7
+ type: 'object',
8
+ additionalProperties: false,
9
+ required: ['children'],
10
+ properties: Object.assign(Object.assign({}, common_1.BlockBaseProps), { children: common_1.ChildrenProps, title: {
11
+ type: 'string',
12
+ } }),
13
+ },
14
+ };
@@ -51,3 +51,4 @@ export { default as HighlightTableBlock } from './HighlightTable/HighlightTable'
51
51
  export { default as MiniCaseBlock } from './MiniCase/MiniCase';
52
52
  export { default as BenchmarkBlock } from './Benchmark/Benchmark';
53
53
  export { default as SidebarWidgetBlock } from './SidebarWidget/SidebarWidget';
54
+ export { default as CatBlock } from './Cat/Cat';
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.HighlightTableBlock = exports.PressReleasesBlock = exports.RelevantReportsBlock = exports.RelevantReportsCardsBlock = exports.RelevantPostsBlock = exports.ScienceFeedBlock = exports.BlogFeedBlock = exports.EventsSectionBlock = exports.ResourceHubPostsBlock = 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.SidebarWidgetBlock = exports.BenchmarkBlock = exports.MiniCaseBlock = void 0;
7
+ exports.CatBlock = exports.SidebarWidgetBlock = exports.BenchmarkBlock = exports.MiniCaseBlock = 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");
@@ -111,3 +111,5 @@ var Benchmark_1 = require("./Benchmark/Benchmark");
111
111
  Object.defineProperty(exports, "BenchmarkBlock", { enumerable: true, get: function () { return __importDefault(Benchmark_1).default; } });
112
112
  var SidebarWidget_1 = require("./SidebarWidget/SidebarWidget");
113
113
  Object.defineProperty(exports, "SidebarWidgetBlock", { enumerable: true, get: function () { return __importDefault(SidebarWidget_1).default; } });
114
+ var Cat_1 = require("./Cat/Cat");
115
+ Object.defineProperty(exports, "CatBlock", { enumerable: true, get: function () { return __importDefault(Cat_1).default; } });
@@ -52,6 +52,7 @@ export declare const blockMap: {
52
52
  "reports-sections-block": ({ title, typeKey, empty }: import("./models").ReportsSectionsBlockProps) => JSX.Element;
53
53
  "form-wall-block": (props: import("./models").FormWallBlockProps) => JSX.Element;
54
54
  "slider-new-block": (props: import("react").PropsWithChildren<import("./blocks/SliderNew/SliderClient").SliderNewProps>) => JSX.Element;
55
+ "cat-block": ({ title, children }: import("react").PropsWithChildren<import("./models").CatBlockProps>) => JSX.Element;
55
56
  };
56
57
  export declare const subBlockMap: {
57
58
  divider: ({ size, border }: import("./models").DividerProps) => JSX.Element;
@@ -61,6 +61,7 @@ exports.blockMap = {
61
61
  [models_1.BlockType.ReportsSectionsBlock]: blocks_1.ReportsSectionsBlock,
62
62
  [models_1.BlockType.FormWallBlock]: blocks_1.FormWallBlock,
63
63
  [models_1.BlockType.SliderNewBlock]: blocks_1.SliderNewBlock,
64
+ [models_1.BlockType.CatBlock]: blocks_1.CatBlock,
64
65
  };
65
66
  exports.subBlockMap = {
66
67
  [models_1.SubBlockType.Divider]: sub_blocks_1.Divider,
@@ -59,7 +59,8 @@ export declare enum BlockType {
59
59
  HighlightTableBlock = "highlight-table-block",
60
60
  MiniCaseBlock = "mini-case-block",
61
61
  BenchmarkBlock = "benchmark-block",
62
- SidebarWidgetBlock = "sidebar-widget-block"
62
+ SidebarWidgetBlock = "sidebar-widget-block",
63
+ CatBlock = "cat-block"
63
64
  }
64
65
  export declare const BlockTypes: BlockType[];
65
66
  export declare const HeaderBlockTypes: BlockType[];
@@ -594,6 +595,9 @@ export interface CardLayoutBlockProps extends Themable, Childable, Animatable, L
594
595
  }>;
595
596
  largeItemGap?: boolean;
596
597
  }
598
+ export interface CatBlockProps {
599
+ title?: string;
600
+ }
597
601
  export interface BenchmarkBlockProps extends Animatable {
598
602
  title?: string;
599
603
  duration?: number;
@@ -834,6 +838,9 @@ export type TabLinksBlockModel = {
834
838
  export type CardLayoutBlockModel = {
835
839
  type: BlockType.CardLayoutBlock;
836
840
  } & CardLayoutBlockProps;
841
+ export type CatBlockModel = {
842
+ type: BlockType.CatBlock;
843
+ } & CatBlockProps;
837
844
  export type FilterBlockModel = {
838
845
  type: BlockType.FilterBlock;
839
846
  } & FilterBlockProps;
@@ -927,6 +934,6 @@ export type SliderNewBlockModel = {
927
934
  export type SidebarWidgetBlockModel = {
928
935
  type: BlockType.SidebarWidgetBlock;
929
936
  } & SidebarWidgetBlockProps;
930
- 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 | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | ScienceFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel | SidebarWidgetBlockModel;
937
+ 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 | ResourceHubPostsBlockModel | BenchmarkBlockModel | EventsSectionBlockModel | BlogFeedBlockModel | ScienceFeedBlockModel | RelevantPostsBlockModel | RelevantReportsCardsBlockModel | RelevantReportsBlockModel | PressReleasesBlockModel | FormWallBlockModel | SliderNewBlockModel | SidebarWidgetBlockModel | CatBlockModel;
931
938
  export type Block = BlockModels & BlockBaseProps;
932
939
  export {};
@@ -56,6 +56,7 @@ var BlockType;
56
56
  BlockType["MiniCaseBlock"] = "mini-case-block";
57
57
  BlockType["BenchmarkBlock"] = "benchmark-block";
58
58
  BlockType["SidebarWidgetBlock"] = "sidebar-widget-block";
59
+ BlockType["CatBlock"] = "cat-block";
59
60
  })(BlockType = exports.BlockType || (exports.BlockType = {}));
60
61
  exports.BlockTypes = Object.values(BlockType);
61
62
  exports.HeaderBlockTypes = [
@@ -2695,7 +2695,7 @@ export declare const cardSchemas: {
2695
2695
  };
2696
2696
  theme: {
2697
2697
  type: string;
2698
- enum: string[];
2698
+ enum: string[]; /** @deprecated */
2699
2699
  };
2700
2700
  author: {
2701
2701
  type: string;
@@ -3351,7 +3351,7 @@ export declare const cardSchemas: {
3351
3351
  };
3352
3352
  theme: {
3353
3353
  type: string;
3354
- enum: string[];
3354
+ enum: string[]; /** @deprecated */
3355
3355
  };
3356
3356
  width: {
3357
3357
  type: string;
@@ -3700,7 +3700,7 @@ export declare const cardSchemas: {
3700
3700
  required: string[];
3701
3701
  properties: {
3702
3702
  src: {
3703
- type: string;
3703
+ type: string; /** @deprecated */
3704
3704
  items: {
3705
3705
  type: string;
3706
3706
  };
@@ -3814,7 +3814,7 @@ export declare const cardSchemas: {
3814
3814
  };
3815
3815
  theme: {
3816
3816
  type: string;
3817
- enum: string[];
3817
+ enum: string[]; /** @deprecated */
3818
3818
  };
3819
3819
  };
3820
3820
  })[];
@@ -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({}, 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.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);
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({}, 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.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);
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',
@@ -64,6 +64,7 @@ exports.constructorBlockSchemaNames = [
64
64
  'banner-minify-block',
65
65
  'sidebar-widget-block',
66
66
  'about-header-block',
67
+ 'cat-block',
67
68
  ];
68
69
  exports.constructorCardSchemaNames = [
69
70
  'media-card',
@@ -51,3 +51,4 @@ export * from '../../blocks/HeaderMinify/schema';
51
51
  export * from '../../blocks/ScienceHeader/schema';
52
52
  export * from '../../blocks/AboutHeader/schema';
53
53
  export * from '../../blocks/SidebarWidget/schema';
54
+ export * from '../../blocks/Cat/schema';
@@ -54,3 +54,4 @@ tslib_1.__exportStar(require("../../blocks/HeaderMinify/schema"), exports);
54
54
  tslib_1.__exportStar(require("../../blocks/ScienceHeader/schema"), exports);
55
55
  tslib_1.__exportStar(require("../../blocks/AboutHeader/schema"), exports);
56
56
  tslib_1.__exportStar(require("../../blocks/SidebarWidget/schema"), exports);
57
+ tslib_1.__exportStar(require("../../blocks/Cat/schema"), exports);
@@ -0,0 +1,33 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-cat-block {
4
+ margin: 0;
5
+ padding: 24px 0;
6
+ border-top: 1.5px solid rgba(20, 7, 15, 0.1);
7
+ border-bottom: 1.5px solid rgba(20, 7, 15, 0.1);
8
+ }
9
+ .pc-cat-block_open {
10
+ padding: 0;
11
+ border: none;
12
+ }
13
+ .pc-cat-block__item {
14
+ margin: 0;
15
+ padding: 0 8px;
16
+ }
17
+ .pc-cat-block__button {
18
+ cursor: pointer;
19
+ width: 100%;
20
+ font-size: 16px;
21
+ line-height: 150%;
22
+ font-weight: 400;
23
+ text-align: center;
24
+ padding: 16px;
25
+ border-radius: 16px;
26
+ background-color: var(--g-color-science-bg-secondary);
27
+ border: 1.5px solid rgba(20, 7, 15, 0.1);
28
+ color: var(--g-color-science-primary);
29
+ transition: opacity 0.2s ease;
30
+ }
31
+ .pc-cat-block__button:hover {
32
+ opacity: 0.7;
33
+ }
@@ -0,0 +1,5 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { CatBlockProps } from '../../models';
3
+ import './Cat.css';
4
+ export declare const Cat: ({ title, children }: PropsWithChildren<CatBlockProps>) => JSX.Element;
5
+ export default Cat;
@@ -0,0 +1,10 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import { block } from '../../utils/cn';
3
+ import './Cat.css';
4
+ const b = block('cat-block');
5
+ export const Cat = ({ title, children }) => {
6
+ const [open, setOpen] = useState(false);
7
+ const handleOpen = useCallback(() => setOpen(true), []);
8
+ return (React.createElement("div", { className: b({ open }) }, open ? (React.Children.map(children, (child, i) => (React.createElement("div", { key: i, className: b('item') }, child)))) : (React.createElement("button", { onClick: handleOpen, className: b('button') }, title))));
9
+ };
10
+ export default Cat;
@@ -0,0 +1,153 @@
1
+ export declare const CatBlock: {
2
+ "cat-block": {
3
+ type: string;
4
+ additionalProperties: boolean;
5
+ required: string[];
6
+ properties: {
7
+ children: {
8
+ type: string;
9
+ items: {
10
+ $ref: string;
11
+ };
12
+ };
13
+ title: {
14
+ type: string;
15
+ };
16
+ anchor: {
17
+ type: string;
18
+ additionalProperties: boolean;
19
+ required: string[];
20
+ properties: {
21
+ text: {
22
+ type: string;
23
+ contentType: string;
24
+ };
25
+ url: {
26
+ type: string;
27
+ };
28
+ urlTitle: {
29
+ type: string;
30
+ };
31
+ };
32
+ };
33
+ visibility: {
34
+ oneOf: ({
35
+ type: string;
36
+ enum: string[];
37
+ additionalProperties?: undefined;
38
+ properties?: undefined;
39
+ } | {
40
+ type: string;
41
+ additionalProperties: boolean;
42
+ properties: {
43
+ xs: {
44
+ type: string;
45
+ };
46
+ sm: {
47
+ type: string;
48
+ };
49
+ md: {
50
+ type: string;
51
+ };
52
+ lg: {
53
+ type: string;
54
+ };
55
+ xl: {
56
+ type: string;
57
+ };
58
+ xxl: {
59
+ type: string;
60
+ };
61
+ };
62
+ enum?: undefined;
63
+ })[];
64
+ };
65
+ visible: {
66
+ type: string;
67
+ enum: string[];
68
+ };
69
+ hidden: {
70
+ type: string;
71
+ enum: string[];
72
+ };
73
+ resetPaddings: {
74
+ type: string;
75
+ };
76
+ context: {
77
+ type: string;
78
+ };
79
+ indent: {
80
+ type: string;
81
+ additionalProperties: boolean;
82
+ properties: {
83
+ top: {
84
+ enum: string[];
85
+ };
86
+ bottom: {
87
+ enum: string[];
88
+ };
89
+ };
90
+ };
91
+ backgroundFull: {
92
+ type: string;
93
+ };
94
+ visibilityFilter: {
95
+ oneOf: ({
96
+ type: string;
97
+ items?: undefined;
98
+ } | {
99
+ type: string;
100
+ items: {
101
+ type: string;
102
+ };
103
+ })[];
104
+ };
105
+ blockUnicorn: {
106
+ type: string;
107
+ };
108
+ blockBackground: {
109
+ oneOf: ({
110
+ type: string;
111
+ additionalProperties?: undefined;
112
+ properties?: undefined;
113
+ } | {
114
+ type: string;
115
+ additionalProperties: boolean;
116
+ properties: {
117
+ color: {
118
+ type: string;
119
+ };
120
+ image: {
121
+ type: string;
122
+ };
123
+ size: {
124
+ type: string;
125
+ };
126
+ repeat: {
127
+ type: string;
128
+ };
129
+ position: {
130
+ type: string;
131
+ };
132
+ attachment: {
133
+ type: string;
134
+ };
135
+ clip: {
136
+ type: string;
137
+ };
138
+ origin: {
139
+ type: string;
140
+ };
141
+ blendMode: {
142
+ type: string;
143
+ };
144
+ };
145
+ })[];
146
+ };
147
+ type: {};
148
+ when: {
149
+ type: string;
150
+ };
151
+ };
152
+ };
153
+ };
@@ -0,0 +1,11 @@
1
+ import { BlockBaseProps, ChildrenProps } from '../../schema/validators/common';
2
+ export const CatBlock = {
3
+ ['cat-block']: {
4
+ type: 'object',
5
+ additionalProperties: false,
6
+ required: ['children'],
7
+ properties: Object.assign(Object.assign({}, BlockBaseProps), { children: ChildrenProps, title: {
8
+ type: 'string',
9
+ } }),
10
+ },
11
+ };
@@ -51,3 +51,4 @@ export { default as HighlightTableBlock } from './HighlightTable/HighlightTable'
51
51
  export { default as MiniCaseBlock } from './MiniCase/MiniCase';
52
52
  export { default as BenchmarkBlock } from './Benchmark/Benchmark';
53
53
  export { default as SidebarWidgetBlock } from './SidebarWidget/SidebarWidget';
54
+ export { default as CatBlock } from './Cat/Cat';
@@ -51,3 +51,4 @@ export { default as HighlightTableBlock } from './HighlightTable/HighlightTable'
51
51
  export { default as MiniCaseBlock } from './MiniCase/MiniCase';
52
52
  export { default as BenchmarkBlock } from './Benchmark/Benchmark';
53
53
  export { default as SidebarWidgetBlock } from './SidebarWidget/SidebarWidget';
54
+ export { default as CatBlock } from './Cat/Cat';
@@ -52,6 +52,7 @@ export declare const blockMap: {
52
52
  "reports-sections-block": ({ title, typeKey, empty }: import("./models").ReportsSectionsBlockProps) => JSX.Element;
53
53
  "form-wall-block": (props: import("./models").FormWallBlockProps) => JSX.Element;
54
54
  "slider-new-block": (props: import("react").PropsWithChildren<import("./blocks/SliderNew/SliderClient").SliderNewProps>) => JSX.Element;
55
+ "cat-block": ({ title, children }: import("react").PropsWithChildren<import("./models").CatBlockProps>) => JSX.Element;
55
56
  };
56
57
  export declare const subBlockMap: {
57
58
  divider: ({ size, border }: import("./models").DividerProps) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { AboutHeaderBlock, AdvantagesBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, 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, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, ScrollerBlock, ServicesBlock, ShareBlock, SidebarWidgetBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
1
+ import { AboutHeaderBlock, AdvantagesBlock, 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, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, 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';
@@ -57,6 +57,7 @@ export const blockMap = {
57
57
  [BlockType.ReportsSectionsBlock]: ReportsSectionsBlock,
58
58
  [BlockType.FormWallBlock]: FormWallBlock,
59
59
  [BlockType.SliderNewBlock]: SliderNewBlock,
60
+ [BlockType.CatBlock]: CatBlock,
60
61
  };
61
62
  export const subBlockMap = {
62
63
  [SubBlockType.Divider]: Divider,