@doyourjob/gravity-ui-page-constructor 5.31.180 → 5.31.182

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 (47) hide show
  1. package/build/cjs/blocks/ScienceHeader/ScienceHeader.css +3 -3
  2. package/build/cjs/blocks/ScienceSuggest/ScienceSuggest.d.ts +4 -0
  3. package/build/cjs/blocks/ScienceSuggest/ScienceSuggest.js +12 -0
  4. package/build/cjs/blocks/ScienceSuggest/i18n/en.json +3 -0
  5. package/build/cjs/blocks/ScienceSuggest/i18n/index.d.ts +1 -0
  6. package/build/cjs/blocks/ScienceSuggest/i18n/index.js +9 -0
  7. package/build/cjs/blocks/ScienceSuggest/i18n/ru.json +3 -0
  8. package/build/cjs/blocks/ScienceSuggest/schema.d.ts +51 -0
  9. package/build/cjs/blocks/ScienceSuggest/schema.js +19 -0
  10. package/build/cjs/blocks/index.d.ts +1 -0
  11. package/build/cjs/blocks/index.js +3 -1
  12. package/build/cjs/constructor-items.d.ts +1 -0
  13. package/build/cjs/constructor-items.js +1 -0
  14. package/build/cjs/models/constructor-items/blocks.d.ts +10 -3
  15. package/build/cjs/models/constructor-items/blocks.js +1 -0
  16. package/build/cjs/schema/constants.d.ts +1 -0
  17. package/build/cjs/schema/constants.js +2 -1
  18. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  19. package/build/cjs/schema/validators/blocks.js +1 -0
  20. package/build/cjs/sub-blocks/NewPostCard/schema.d.ts +32 -0
  21. package/build/cjs/sub-blocks/NewPostCard/schema.js +34 -22
  22. package/build/esm/blocks/ScienceHeader/ScienceHeader.css +3 -3
  23. package/build/esm/blocks/ScienceSuggest/ScienceSuggest.d.ts +4 -0
  24. package/build/esm/blocks/ScienceSuggest/ScienceSuggest.js +9 -0
  25. package/build/esm/blocks/ScienceSuggest/i18n/en.json +3 -0
  26. package/build/esm/blocks/ScienceSuggest/i18n/index.d.ts +1 -0
  27. package/build/esm/blocks/ScienceSuggest/i18n/index.js +5 -0
  28. package/build/esm/blocks/ScienceSuggest/i18n/ru.json +3 -0
  29. package/build/esm/blocks/ScienceSuggest/schema.d.ts +51 -0
  30. package/build/esm/blocks/ScienceSuggest/schema.js +16 -0
  31. package/build/esm/blocks/index.d.ts +1 -0
  32. package/build/esm/blocks/index.js +1 -0
  33. package/build/esm/constructor-items.d.ts +1 -0
  34. package/build/esm/constructor-items.js +2 -1
  35. package/build/esm/models/constructor-items/blocks.d.ts +10 -3
  36. package/build/esm/models/constructor-items/blocks.js +1 -0
  37. package/build/esm/schema/constants.d.ts +1 -0
  38. package/build/esm/schema/constants.js +3 -2
  39. package/build/esm/schema/validators/blocks.d.ts +1 -0
  40. package/build/esm/schema/validators/blocks.js +1 -0
  41. package/build/esm/sub-blocks/NewPostCard/schema.d.ts +32 -0
  42. package/build/esm/sub-blocks/NewPostCard/schema.js +33 -21
  43. package/package.json +1 -1
  44. package/schema/index.js +1 -1
  45. package/server/models/constructor-items/blocks.d.ts +10 -3
  46. package/server/models/constructor-items/blocks.js +1 -0
  47. package/widget/index.js +1 -1
@@ -111,15 +111,15 @@ unpredictable css rules order in build */
111
111
  display: flex;
112
112
  align-items: center;
113
113
  }
114
- .pc-science-header-block__switcher {
114
+ .pc-science-header-block__switcher.pc-science-header-block__switcher {
115
115
  font-size: 14px;
116
116
  line-height: 120%;
117
117
  font-family: var(--g-font-family-science-inter);
118
118
  color: var(--g-color-science-tertiary);
119
119
  }
120
- .pc-science-header-block__switcher:hover {
120
+ .pc-science-header-block__switcher.pc-science-header-block__switcher:hover {
121
121
  color: var(--g-color-science-secondary);
122
122
  }
123
- .pc-science-header-block__switcher > div + div {
123
+ .pc-science-header-block__switcher.pc-science-header-block__switcher > div + div {
124
124
  padding-inline-start: 5px;
125
125
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ScienceSuggestBlockProps } from '../../models';
3
+ declare const _default: React.MemoExoticComponent<({ items }: ScienceSuggestBlockProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const sub_blocks_1 = require("../../sub-blocks");
6
+ const Slider_1 = tslib_1.__importDefault(require("../Slider/Slider"));
7
+ const i18n_1 = require("./i18n");
8
+ const slidesToShow = { xl: 3, lg: 2, sm: 1 };
9
+ const ScienceSuggestBlock = ({ items }) => {
10
+ return (react_1.default.createElement(Slider_1.default, { slidesToShow: slidesToShow, title: { text: (0, i18n_1.i18n)('title') } }, items.map((item) => (react_1.default.createElement(sub_blocks_1.NewPostCard, Object.assign({ key: item.slug }, item))))));
11
+ };
12
+ exports.default = react_1.default.memo(ScienceSuggestBlock);
@@ -0,0 +1,3 @@
1
+ {
2
+ "title": "See also"
3
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "title", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.i18n = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const i18n_1 = require("@gravity-ui/uikit/i18n");
6
+ const cn_1 = require("../../../utils/cn");
7
+ const en_json_1 = tslib_1.__importDefault(require("./en.json"));
8
+ const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
9
+ exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}ScienceSuggestBlock`);
@@ -0,0 +1,3 @@
1
+ {
2
+ "title": "См. также"
3
+ }
@@ -0,0 +1,51 @@
1
+ export declare const ScienceSuggestBlock: {
2
+ 'science-suggest-block': {
3
+ additionalProperties: boolean;
4
+ required: string[];
5
+ properties: {
6
+ items: {
7
+ type: string;
8
+ items: {
9
+ additionalProperties: boolean;
10
+ required: never[];
11
+ properties: {
12
+ slug: {
13
+ type: string;
14
+ };
15
+ url: {
16
+ type: string;
17
+ };
18
+ title: {
19
+ type: string;
20
+ };
21
+ date: {
22
+ type: string;
23
+ };
24
+ readingTime: {
25
+ type: string;
26
+ };
27
+ image: {
28
+ type: string;
29
+ };
30
+ description: {
31
+ type: string;
32
+ };
33
+ topic: {
34
+ type: string;
35
+ };
36
+ author: {
37
+ type: string;
38
+ };
39
+ pinned: {
40
+ type: string;
41
+ };
42
+ };
43
+ };
44
+ };
45
+ type: {};
46
+ when: {
47
+ type: string;
48
+ };
49
+ };
50
+ };
51
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScienceSuggestBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ const schema_1 = require("../../sub-blocks/NewPostCard/schema");
6
+ exports.ScienceSuggestBlock = {
7
+ 'science-suggest-block': {
8
+ additionalProperties: false,
9
+ required: ['items'],
10
+ properties: Object.assign(Object.assign({}, common_1.BaseProps), { items: {
11
+ type: 'array',
12
+ items: {
13
+ additionalProperties: false,
14
+ required: [],
15
+ properties: schema_1.NewPostCardProps,
16
+ },
17
+ } }),
18
+ },
19
+ };
@@ -53,3 +53,4 @@ export { default as BenchmarkBlock } from './Benchmark/Benchmark';
53
53
  export { default as SidebarWidgetBlock } from './SidebarWidget/SidebarWidget';
54
54
  export { default as CatBlock } from './Cat/Cat';
55
55
  export { default as AudioBlock } from './Audio/Audio';
56
+ export { default as ScienceSuggestBlock } from './ScienceSuggest/ScienceSuggest';
@@ -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.AudioBlock = exports.CatBlock = exports.SidebarWidgetBlock = exports.BenchmarkBlock = exports.MiniCaseBlock = void 0;
7
+ exports.ScienceSuggestBlock = exports.AudioBlock = 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");
@@ -115,3 +115,5 @@ var Cat_1 = require("./Cat/Cat");
115
115
  Object.defineProperty(exports, "CatBlock", { enumerable: true, get: function () { return __importDefault(Cat_1).default; } });
116
116
  var Audio_1 = require("./Audio/Audio");
117
117
  Object.defineProperty(exports, "AudioBlock", { enumerable: true, get: function () { return __importDefault(Audio_1).default; } });
118
+ var ScienceSuggest_1 = require("./ScienceSuggest/ScienceSuggest");
119
+ Object.defineProperty(exports, "ScienceSuggestBlock", { enumerable: true, get: function () { return __importDefault(ScienceSuggest_1).default; } });
@@ -46,6 +46,7 @@ export declare const blockMap: {
46
46
  "quotes-block": ({ theme: localTheme, items, background, backgroundColor, }: import("./models").QuotesBlockProps) => JSX.Element;
47
47
  "reports-block": ({ title, typeKey, empty }: import("./models").ReportsBlockProps) => JSX.Element;
48
48
  "science-header-block": import("react").MemoExoticComponent<({ topic, title, description, author, date, readingTime, image, shareOptions, shareUrl, }: import("./models").ScienceHeaderBlockProps) => JSX.Element>;
49
+ "science-suggest-block": import("react").MemoExoticComponent<({ items }: import("./models").ScienceSuggestBlockProps) => JSX.Element>;
49
50
  "about-header-block": import("react").MemoExoticComponent<({ title, text, caption, image, logo }: import("./models").AboutHeaderBlockProps) => JSX.Element>;
50
51
  "sidebar-widget-block": ({ image, title, text, url, blank }: import("./models").SidebarWidgetBlockProps) => JSX.Element;
51
52
  "reports-cards-block": ({ title, typeKey, postscript, empty }: import("./models").ReportsCardsBlockProps) => JSX.Element;
@@ -55,6 +55,7 @@ exports.blockMap = {
55
55
  [models_1.BlockType.QuotesBlock]: blocks_1.QuotesBlock,
56
56
  [models_1.BlockType.ReportsBlock]: blocks_1.ReportsBlock,
57
57
  [models_1.BlockType.ScienceHeaderBlock]: blocks_1.ScienceHeaderBlock,
58
+ [models_1.BlockType.ScienceSuggestBlock]: blocks_1.ScienceSuggestBlock,
58
59
  [models_1.BlockType.AboutHeaderBlock]: blocks_1.AboutHeaderBlock,
59
60
  [models_1.BlockType.SidebarWidgetBlock]: blocks_1.SidebarWidgetBlock,
60
61
  [models_1.BlockType.ReportsCardsBlock]: blocks_1.ReportsCardsBlock,
@@ -5,7 +5,7 @@ import { GridColumnSize, GridColumnSizesType, IndentValue } from '../../grid/typ
5
5
  import { BlockBackgroundType, ThemeSupporting } from '../../utils';
6
6
  import { AnalyticsEventsBase } from '../common';
7
7
  import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, CardBorder, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, ImageDeviceProps, ImageProps, Justify, LegendTableMarkerType, LinkProps, MapProps, MediaDirection, MediaProps, MediaView, ReportFileType, TagProps, TextSize, TextTheme, Themable, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleItemBaseProps, TitleItemProps, TitleTextSize, WithBorder, YandexFormProps } from './common';
8
- import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './sub-blocks';
8
+ import { BannerCardProps, HubspotFormProps, NewPostCardProps, SubBlock, SubBlockModels } from './sub-blocks';
9
9
  export declare enum BlockType {
10
10
  AdvantagesBlock = "advantages-block",
11
11
  BenefitsBlock = "benefits-block",
@@ -61,7 +61,8 @@ export declare enum BlockType {
61
61
  BenchmarkBlock = "benchmark-block",
62
62
  SidebarWidgetBlock = "sidebar-widget-block",
63
63
  CatBlock = "cat-block",
64
- AudioBlock = "audio-block"
64
+ AudioBlock = "audio-block",
65
+ ScienceSuggestBlock = "science-suggest-block"
65
66
  }
66
67
  export declare const BlockTypes: BlockType[];
67
68
  export declare const HeaderBlockTypes: BlockType[];
@@ -769,6 +770,9 @@ export interface ScienceHeaderBlockProps {
769
770
  shareOptions?: ShareOptions[];
770
771
  shareUrl?: string;
771
772
  }
773
+ export interface ScienceSuggestBlockProps {
774
+ items: NewPostCardProps[];
775
+ }
772
776
  export interface AboutHeaderBlockProps {
773
777
  title: string;
774
778
  text?: string;
@@ -887,6 +891,9 @@ export type ReportsBlockModel = {
887
891
  export type ScienceHeaderBlockModel = {
888
892
  type: BlockType.ScienceHeaderBlock;
889
893
  } & ScienceHeaderBlockProps;
894
+ export type ScienceSuggestBlockModel = {
895
+ type: BlockType.ScienceSuggestBlock;
896
+ } & ScienceSuggestBlockProps;
890
897
  export type AboutHeaderBlockModel = {
891
898
  type: BlockType.AboutHeaderBlock;
892
899
  } & AboutHeaderBlockProps;
@@ -941,6 +948,6 @@ export type SliderNewBlockModel = {
941
948
  export type SidebarWidgetBlockModel = {
942
949
  type: BlockType.SidebarWidgetBlock;
943
950
  } & SidebarWidgetBlockProps;
944
- 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 | AudioBlockModel;
951
+ 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 | AudioBlockModel | ScienceSuggestBlockModel;
945
952
  export type Block = BlockModels & BlockBaseProps;
946
953
  export {};
@@ -58,6 +58,7 @@ var BlockType;
58
58
  BlockType["SidebarWidgetBlock"] = "sidebar-widget-block";
59
59
  BlockType["CatBlock"] = "cat-block";
60
60
  BlockType["AudioBlock"] = "audio-block";
61
+ BlockType["ScienceSuggestBlock"] = "science-suggest-block";
61
62
  })(BlockType = exports.BlockType || (exports.BlockType = {}));
62
63
  exports.BlockTypes = Object.values(BlockType);
63
64
  exports.HeaderBlockTypes = [
@@ -3805,6 +3805,7 @@ export declare const cardSchemas: {
3805
3805
  optionName: string;
3806
3806
  } | {
3807
3807
  optionName: string;
3808
+ /** @deprecated */
3808
3809
  type: string;
3809
3810
  additionalProperties: boolean;
3810
3811
  required: string[];
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
4
4
  const blocks_1 = require("./validators/blocks");
5
5
  const sub_blocks_1 = require("./validators/sub-blocks");
6
- exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, 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), blocks_1.AudioBlock);
6
+ exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, 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), blocks_1.AudioBlock), blocks_1.ScienceSuggestBlock);
7
7
  exports.cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard), sub_blocks_1.PriceCardBlock), sub_blocks_1.ImageCard), sub_blocks_1.ContentLayoutCard), sub_blocks_1.Card), sub_blocks_1.PostCard), sub_blocks_1.NewPostCard), sub_blocks_1.FeedCard), sub_blocks_1.EventPersonCard), sub_blocks_1.AttachmentCard), sub_blocks_1.CaseStudyCard), sub_blocks_1.StoryCard);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -66,6 +66,7 @@ exports.constructorBlockSchemaNames = [
66
66
  'about-header-block',
67
67
  'cat-block',
68
68
  'audio-block',
69
+ 'science-suggest-block',
69
70
  ];
70
71
  exports.constructorCardSchemaNames = [
71
72
  'media-card',
@@ -53,3 +53,4 @@ export * from '../../blocks/AboutHeader/schema';
53
53
  export * from '../../blocks/SidebarWidget/schema';
54
54
  export * from '../../blocks/Cat/schema';
55
55
  export * from '../../blocks/Audio/schema';
56
+ export * from '../../blocks/ScienceSuggest/schema';
@@ -56,3 +56,4 @@ tslib_1.__exportStar(require("../../blocks/AboutHeader/schema"), exports);
56
56
  tslib_1.__exportStar(require("../../blocks/SidebarWidget/schema"), exports);
57
57
  tslib_1.__exportStar(require("../../blocks/Cat/schema"), exports);
58
58
  tslib_1.__exportStar(require("../../blocks/Audio/schema"), exports);
59
+ tslib_1.__exportStar(require("../../blocks/ScienceSuggest/schema"), exports);
@@ -1,3 +1,35 @@
1
+ export declare const NewPostCardProps: {
2
+ slug: {
3
+ type: string;
4
+ };
5
+ url: {
6
+ type: string;
7
+ };
8
+ title: {
9
+ type: string;
10
+ };
11
+ date: {
12
+ type: string;
13
+ };
14
+ readingTime: {
15
+ type: string;
16
+ };
17
+ image: {
18
+ type: string;
19
+ };
20
+ description: {
21
+ type: string;
22
+ };
23
+ topic: {
24
+ type: string;
25
+ };
26
+ author: {
27
+ type: string;
28
+ };
29
+ pinned: {
30
+ type: string;
31
+ };
32
+ };
1
33
  export declare const NewPostCard: {
2
34
  'new-post-card': {
3
35
  additionalProperties: boolean;
@@ -1,31 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NewPostCard = void 0;
3
+ exports.NewPostCard = exports.NewPostCardProps = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ exports.NewPostCardProps = {
6
+ slug: {
7
+ type: 'string',
8
+ },
9
+ url: {
10
+ type: 'string',
11
+ },
12
+ title: {
13
+ type: 'string',
14
+ },
15
+ date: {
16
+ type: 'string',
17
+ },
18
+ readingTime: {
19
+ type: 'number',
20
+ },
21
+ image: {
22
+ type: 'string',
23
+ },
24
+ description: {
25
+ type: 'string',
26
+ },
27
+ topic: {
28
+ type: 'string',
29
+ },
30
+ author: {
31
+ type: 'string',
32
+ },
33
+ pinned: {
34
+ type: 'boolean',
35
+ },
36
+ };
5
37
  exports.NewPostCard = {
6
38
  'new-post-card': {
7
39
  additionalProperties: false,
8
40
  required: [],
9
- properties: Object.assign(Object.assign({}, common_1.BaseProps), { slug: {
10
- type: 'string',
11
- }, url: {
12
- type: 'string',
13
- }, title: {
14
- type: 'string',
15
- }, date: {
16
- type: 'string',
17
- }, readingTime: {
18
- type: 'number',
19
- }, image: {
20
- type: 'string',
21
- }, description: {
22
- type: 'string',
23
- }, topic: {
24
- type: 'string',
25
- }, author: {
26
- type: 'string',
27
- }, pinned: {
28
- type: 'boolean',
29
- } }),
41
+ properties: Object.assign(Object.assign({}, common_1.BaseProps), exports.NewPostCardProps),
30
42
  },
31
43
  };
@@ -111,15 +111,15 @@ unpredictable css rules order in build */
111
111
  display: flex;
112
112
  align-items: center;
113
113
  }
114
- .pc-science-header-block__switcher {
114
+ .pc-science-header-block__switcher.pc-science-header-block__switcher {
115
115
  font-size: 14px;
116
116
  line-height: 120%;
117
117
  font-family: var(--g-font-family-science-inter);
118
118
  color: var(--g-color-science-tertiary);
119
119
  }
120
- .pc-science-header-block__switcher:hover {
120
+ .pc-science-header-block__switcher.pc-science-header-block__switcher:hover {
121
121
  color: var(--g-color-science-secondary);
122
122
  }
123
- .pc-science-header-block__switcher > div + div {
123
+ .pc-science-header-block__switcher.pc-science-header-block__switcher > div + div {
124
124
  padding-inline-start: 5px;
125
125
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ScienceSuggestBlockProps } from '../../models';
3
+ declare const _default: React.MemoExoticComponent<({ items }: ScienceSuggestBlockProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { NewPostCard } from '../../sub-blocks';
3
+ import SliderBlock from '../Slider/Slider';
4
+ import { i18n } from './i18n';
5
+ const slidesToShow = { xl: 3, lg: 2, sm: 1 };
6
+ const ScienceSuggestBlock = ({ items }) => {
7
+ return (React.createElement(SliderBlock, { slidesToShow: slidesToShow, title: { text: i18n('title') } }, items.map((item) => (React.createElement(NewPostCard, Object.assign({ key: item.slug }, item))))));
8
+ };
9
+ export default React.memo(ScienceSuggestBlock);
@@ -0,0 +1,3 @@
1
+ {
2
+ "title": "See also"
3
+ }
@@ -0,0 +1 @@
1
+ export declare const i18n: (key: "title", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -0,0 +1,5 @@
1
+ import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
+ import { NAMESPACE } from '../../../utils/cn';
3
+ import en from './en.json';
4
+ import ru from './ru.json';
5
+ export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}ScienceSuggestBlock`);
@@ -0,0 +1,3 @@
1
+ {
2
+ "title": "См. также"
3
+ }
@@ -0,0 +1,51 @@
1
+ export declare const ScienceSuggestBlock: {
2
+ 'science-suggest-block': {
3
+ additionalProperties: boolean;
4
+ required: string[];
5
+ properties: {
6
+ items: {
7
+ type: string;
8
+ items: {
9
+ additionalProperties: boolean;
10
+ required: never[];
11
+ properties: {
12
+ slug: {
13
+ type: string;
14
+ };
15
+ url: {
16
+ type: string;
17
+ };
18
+ title: {
19
+ type: string;
20
+ };
21
+ date: {
22
+ type: string;
23
+ };
24
+ readingTime: {
25
+ type: string;
26
+ };
27
+ image: {
28
+ type: string;
29
+ };
30
+ description: {
31
+ type: string;
32
+ };
33
+ topic: {
34
+ type: string;
35
+ };
36
+ author: {
37
+ type: string;
38
+ };
39
+ pinned: {
40
+ type: string;
41
+ };
42
+ };
43
+ };
44
+ };
45
+ type: {};
46
+ when: {
47
+ type: string;
48
+ };
49
+ };
50
+ };
51
+ };
@@ -0,0 +1,16 @@
1
+ import { BaseProps } from '../../schema/validators/common';
2
+ import { NewPostCardProps } from '../../sub-blocks/NewPostCard/schema';
3
+ export const ScienceSuggestBlock = {
4
+ 'science-suggest-block': {
5
+ additionalProperties: false,
6
+ required: ['items'],
7
+ properties: Object.assign(Object.assign({}, BaseProps), { items: {
8
+ type: 'array',
9
+ items: {
10
+ additionalProperties: false,
11
+ required: [],
12
+ properties: NewPostCardProps,
13
+ },
14
+ } }),
15
+ },
16
+ };
@@ -53,3 +53,4 @@ export { default as BenchmarkBlock } from './Benchmark/Benchmark';
53
53
  export { default as SidebarWidgetBlock } from './SidebarWidget/SidebarWidget';
54
54
  export { default as CatBlock } from './Cat/Cat';
55
55
  export { default as AudioBlock } from './Audio/Audio';
56
+ export { default as ScienceSuggestBlock } from './ScienceSuggest/ScienceSuggest';
@@ -53,3 +53,4 @@ export { default as BenchmarkBlock } from './Benchmark/Benchmark';
53
53
  export { default as SidebarWidgetBlock } from './SidebarWidget/SidebarWidget';
54
54
  export { default as CatBlock } from './Cat/Cat';
55
55
  export { default as AudioBlock } from './Audio/Audio';
56
+ export { default as ScienceSuggestBlock } from './ScienceSuggest/ScienceSuggest';
@@ -46,6 +46,7 @@ export declare const blockMap: {
46
46
  "quotes-block": ({ theme: localTheme, items, background, backgroundColor, }: import("./models").QuotesBlockProps) => JSX.Element;
47
47
  "reports-block": ({ title, typeKey, empty }: import("./models").ReportsBlockProps) => JSX.Element;
48
48
  "science-header-block": import("react").MemoExoticComponent<({ topic, title, description, author, date, readingTime, image, shareOptions, shareUrl, }: import("./models").ScienceHeaderBlockProps) => JSX.Element>;
49
+ "science-suggest-block": import("react").MemoExoticComponent<({ items }: import("./models").ScienceSuggestBlockProps) => JSX.Element>;
49
50
  "about-header-block": import("react").MemoExoticComponent<({ title, text, caption, image, logo }: import("./models").AboutHeaderBlockProps) => JSX.Element>;
50
51
  "sidebar-widget-block": ({ image, title, text, url, blank }: import("./models").SidebarWidgetBlockProps) => JSX.Element;
51
52
  "reports-cards-block": ({ title, typeKey, postscript, empty }: import("./models").ReportsCardsBlockProps) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { AboutHeaderBlock, AdvantagesBlock, AudioBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CatBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, 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, AudioBlock, BannerBlock, BannerMinifyBlock, BenchmarkBlock, BenefitsBlock, BlogFeedBlock, CardLayoutBlock, CatBlock, CompaniesBlock, ContentLayoutBlock, EventsFeedBlock, EventsSectionBlock, ExtendedFeaturesBlock, FilterBlock, FilterCardLayoutBlock, FormBlock, FormWallBlock, HeaderBlock, HeaderMinifyBlock, HeaderSliderBlock, HighlightTableBlock, IconsBlock, InfoBlock, LinkTableBlock, LogoRotatorBlock, MapBlock, MarqueeLinksBlock, MediaBlock, MiniCaseBlock, PressReleasesBlock, PromoFeaturesBlock, QuestionsBlock, QuotesBlock, RelevantPostsBlock, RelevantReportsBlock, RelevantReportsCardsBlock, ReportsBlock, ReportsCardsBlock, ReportsSectionsBlock, ResourceHubPostsBlock, ScienceFeedBlock, ScienceHeaderBlock, ScienceSuggestBlock, ScrollerBlock, ServicesBlock, ShareBlock, SidebarWidgetBlock, SliderBlock, SliderNewBlock, SolutionsBlock, TabLinksBlock, TableBlock, TabsBlock, TabsHighlightTableBlock, } from './blocks';
2
2
  import { BlockType, NavigationItemType, SubBlockType } from './models';
3
3
  import { GithubButton, NavigationButton, NavigationDropdown, NavigationLink, } from './navigation/components/NavigationItem';
4
4
  import SocialIcon from './navigation/components/SocialIcon/SocialIcon';
@@ -51,6 +51,7 @@ export const blockMap = {
51
51
  [BlockType.QuotesBlock]: QuotesBlock,
52
52
  [BlockType.ReportsBlock]: ReportsBlock,
53
53
  [BlockType.ScienceHeaderBlock]: ScienceHeaderBlock,
54
+ [BlockType.ScienceSuggestBlock]: ScienceSuggestBlock,
54
55
  [BlockType.AboutHeaderBlock]: AboutHeaderBlock,
55
56
  [BlockType.SidebarWidgetBlock]: SidebarWidgetBlock,
56
57
  [BlockType.ReportsCardsBlock]: ReportsCardsBlock,
@@ -5,7 +5,7 @@ import { GridColumnSize, GridColumnSizesType, IndentValue } from '../../grid/typ
5
5
  import { BlockBackgroundType, ThemeSupporting } from '../../utils';
6
6
  import { AnalyticsEventsBase } from '../common';
7
7
  import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, CardBorder, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, ImageDeviceProps, ImageProps, Justify, LegendTableMarkerType, LinkProps, MapProps, MediaDirection, MediaProps, MediaView, ReportFileType, TagProps, TextSize, TextTheme, Themable, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleItemBaseProps, TitleItemProps, TitleTextSize, WithBorder, YandexFormProps } from './common';
8
- import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './sub-blocks';
8
+ import { BannerCardProps, HubspotFormProps, NewPostCardProps, SubBlock, SubBlockModels } from './sub-blocks';
9
9
  export declare enum BlockType {
10
10
  AdvantagesBlock = "advantages-block",
11
11
  BenefitsBlock = "benefits-block",
@@ -61,7 +61,8 @@ export declare enum BlockType {
61
61
  BenchmarkBlock = "benchmark-block",
62
62
  SidebarWidgetBlock = "sidebar-widget-block",
63
63
  CatBlock = "cat-block",
64
- AudioBlock = "audio-block"
64
+ AudioBlock = "audio-block",
65
+ ScienceSuggestBlock = "science-suggest-block"
65
66
  }
66
67
  export declare const BlockTypes: BlockType[];
67
68
  export declare const HeaderBlockTypes: BlockType[];
@@ -769,6 +770,9 @@ export interface ScienceHeaderBlockProps {
769
770
  shareOptions?: ShareOptions[];
770
771
  shareUrl?: string;
771
772
  }
773
+ export interface ScienceSuggestBlockProps {
774
+ items: NewPostCardProps[];
775
+ }
772
776
  export interface AboutHeaderBlockProps {
773
777
  title: string;
774
778
  text?: string;
@@ -887,6 +891,9 @@ export type ReportsBlockModel = {
887
891
  export type ScienceHeaderBlockModel = {
888
892
  type: BlockType.ScienceHeaderBlock;
889
893
  } & ScienceHeaderBlockProps;
894
+ export type ScienceSuggestBlockModel = {
895
+ type: BlockType.ScienceSuggestBlock;
896
+ } & ScienceSuggestBlockProps;
890
897
  export type AboutHeaderBlockModel = {
891
898
  type: BlockType.AboutHeaderBlock;
892
899
  } & AboutHeaderBlockProps;
@@ -941,6 +948,6 @@ export type SliderNewBlockModel = {
941
948
  export type SidebarWidgetBlockModel = {
942
949
  type: BlockType.SidebarWidgetBlock;
943
950
  } & SidebarWidgetBlockProps;
944
- 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 | AudioBlockModel;
951
+ 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 | AudioBlockModel | ScienceSuggestBlockModel;
945
952
  export type Block = BlockModels & BlockBaseProps;
946
953
  export {};
@@ -55,6 +55,7 @@ export var BlockType;
55
55
  BlockType["SidebarWidgetBlock"] = "sidebar-widget-block";
56
56
  BlockType["CatBlock"] = "cat-block";
57
57
  BlockType["AudioBlock"] = "audio-block";
58
+ BlockType["ScienceSuggestBlock"] = "science-suggest-block";
58
59
  })(BlockType || (BlockType = {}));
59
60
  export const BlockTypes = Object.values(BlockType);
60
61
  export const HeaderBlockTypes = [
@@ -3805,6 +3805,7 @@ export declare const cardSchemas: {
3805
3805
  optionName: string;
3806
3806
  } | {
3807
3807
  optionName: string;
3808
+ /** @deprecated */
3808
3809
  type: string;
3809
3810
  additionalProperties: boolean;
3810
3811
  required: string[];