@doyourjob/gravity-ui-page-constructor 5.31.260 → 5.31.262

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 (33) hide show
  1. package/build/cjs/blocks/Benefits/Benefits.css +34 -0
  2. package/build/cjs/blocks/Header/Header.css +14 -0
  3. package/build/cjs/blocks/Header/Header.js +5 -1
  4. package/build/cjs/blocks/Header/schema.d.ts +12 -0
  5. package/build/cjs/blocks/Header/schema.js +2 -0
  6. package/build/cjs/blocks/HeaderSlider/schema.d.ts +6 -0
  7. package/build/cjs/blocks/LogoRotator/LogoRotator.css +43 -5
  8. package/build/cjs/blocks/LogoRotator/LogoRotator.js +4 -6
  9. package/build/cjs/blocks/LogoRotator/schema.d.ts +4 -154
  10. package/build/cjs/blocks/LogoRotator/schema.js +3 -8
  11. package/build/cjs/blocks/UnicornCards/UnicornCards.css +40 -2
  12. package/build/cjs/blocks/UnicornCards/UnicornCards.js +4 -7
  13. package/build/cjs/blocks/UnicornCards/schema.d.ts +4 -154
  14. package/build/cjs/blocks/UnicornCards/schema.js +1 -10
  15. package/build/cjs/models/constructor-items/blocks.d.ts +6 -2
  16. package/build/esm/blocks/Benefits/Benefits.css +34 -0
  17. package/build/esm/blocks/Header/Header.css +14 -0
  18. package/build/esm/blocks/Header/Header.js +6 -2
  19. package/build/esm/blocks/Header/schema.d.ts +12 -0
  20. package/build/esm/blocks/Header/schema.js +2 -0
  21. package/build/esm/blocks/HeaderSlider/schema.d.ts +6 -0
  22. package/build/esm/blocks/LogoRotator/LogoRotator.css +43 -5
  23. package/build/esm/blocks/LogoRotator/LogoRotator.js +5 -7
  24. package/build/esm/blocks/LogoRotator/schema.d.ts +4 -154
  25. package/build/esm/blocks/LogoRotator/schema.js +4 -9
  26. package/build/esm/blocks/UnicornCards/UnicornCards.css +40 -2
  27. package/build/esm/blocks/UnicornCards/UnicornCards.js +4 -7
  28. package/build/esm/blocks/UnicornCards/schema.d.ts +4 -154
  29. package/build/esm/blocks/UnicornCards/schema.js +2 -11
  30. package/build/esm/models/constructor-items/blocks.d.ts +6 -2
  31. package/package.json +1 -1
  32. package/schema/index.js +1 -1
  33. package/server/models/constructor-items/blocks.d.ts +6 -2
@@ -4,160 +4,10 @@ export declare const UnicornCardsBlock: {
4
4
  required: boolean;
5
5
  properties: {
6
6
  title: {
7
- oneOf: ({
8
- type: string;
9
- contentType: string;
10
- optionName: string;
11
- } | {
12
- optionName: string;
13
- type: string;
14
- additionalProperties: boolean;
15
- required: string[];
16
- properties: {
17
- text: {
18
- type: string;
19
- contentType: string;
20
- };
21
- link: {
22
- type: string;
23
- additionalProperties: boolean;
24
- required: string[];
25
- properties: {
26
- text: {
27
- type: string;
28
- contentType: string;
29
- };
30
- url: {
31
- type: string;
32
- };
33
- urlTitle: {
34
- type: string;
35
- };
36
- arrow: {
37
- type: string;
38
- };
39
- theme: {
40
- type: string;
41
- enum: string[];
42
- };
43
- textSize: {
44
- type: string;
45
- enum: string[];
46
- };
47
- target: {
48
- type: string;
49
- enum: string[];
50
- };
51
- analyticsEvents: {
52
- oneOf: ({
53
- optionName: string;
54
- type: string;
55
- additionalProperties: {
56
- type: string;
57
- };
58
- required: string[];
59
- properties: {
60
- name: {
61
- type: string;
62
- };
63
- type: {
64
- type: string;
65
- };
66
- counters: {
67
- type: string;
68
- additionalProperties: boolean;
69
- required: never[];
70
- properties: {
71
- include: {
72
- type: string;
73
- items: {
74
- type: string;
75
- };
76
- };
77
- exclude: {
78
- type: string;
79
- items: {
80
- type: string;
81
- };
82
- };
83
- };
84
- };
85
- context: {
86
- type: string;
87
- };
88
- };
89
- items?: undefined;
90
- } | {
91
- type: string;
92
- items: {
93
- type: string;
94
- additionalProperties: {
95
- type: string;
96
- };
97
- required: string[];
98
- properties: {
99
- name: {
100
- type: string;
101
- };
102
- type: {
103
- type: string;
104
- };
105
- counters: {
106
- type: string;
107
- additionalProperties: boolean;
108
- required: never[];
109
- properties: {
110
- include: {
111
- type: string;
112
- items: {
113
- type: string;
114
- };
115
- };
116
- exclude: {
117
- type: string;
118
- items: {
119
- type: string;
120
- };
121
- };
122
- };
123
- };
124
- context: {
125
- type: string;
126
- };
127
- };
128
- };
129
- optionName: string;
130
- })[];
131
- };
132
- type: {};
133
- when: {
134
- type: string;
135
- };
136
- };
137
- };
138
- textSize: {
139
- type: string;
140
- enum: string[];
141
- };
142
- bottomSpace: {
143
- type: string;
144
- enum: string[];
145
- };
146
- centered: {
147
- type: string;
148
- };
149
- url: {
150
- type: string;
151
- };
152
- urlTitle: {
153
- type: string;
154
- };
155
- resetMargin: {
156
- type: string;
157
- };
158
- };
159
- contentType?: undefined;
160
- })[];
7
+ type: string;
8
+ };
9
+ text: {
10
+ type: string;
161
11
  };
162
12
  unicornSdkUrl: {
163
13
  type: string;
@@ -6,16 +6,7 @@ exports.UnicornCardsBlock = {
6
6
  'unicorn-cards-block': {
7
7
  additionalProperties: false,
8
8
  required: false,
9
- properties: Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.AnimatableProps), { title: {
10
- oneOf: [
11
- {
12
- type: 'string',
13
- contentType: 'text',
14
- optionName: 'text',
15
- },
16
- Object.assign(Object.assign({}, common_1.TitleProps), { optionName: 'options' }),
17
- ],
18
- }, unicornSdkUrl: { type: 'string' }, items: {
9
+ properties: Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.AnimatableProps), { title: { type: 'string' }, text: { type: 'string' }, unicornSdkUrl: { type: 'string' }, items: {
19
10
  type: 'array',
20
11
  items: {
21
12
  type: 'object',
@@ -226,6 +226,8 @@ export interface HeaderBlockProps {
226
226
  mediaView?: MediaView;
227
227
  background?: ThemedHeaderBlockBackground;
228
228
  theme?: 'light' | 'dark';
229
+ unicorn?: string;
230
+ unicornSdkUrl?: string;
229
231
  verticalOffset?: '0' | 's' | 'm' | 'l' | 'xl';
230
232
  verticalOffsetTop?: 's' | 'm' | 'l' | 'xl';
231
233
  verticalOffsetBottom?: 's' | 'm' | 'l' | 'xl';
@@ -300,7 +302,8 @@ export interface QuestionBlockItemProps extends QuestionItem {
300
302
  export interface BannerBlockProps extends BannerCardProps, Animatable {
301
303
  }
302
304
  export interface LogoRotatorBlockProps extends Animatable {
303
- title?: TitleItemBaseProps | string;
305
+ title?: string;
306
+ text?: string;
304
307
  items: {
305
308
  url?: string;
306
309
  src: string;
@@ -323,7 +326,8 @@ export type UnicornCardsItemProps = {
323
326
  previewImage?: string;
324
327
  };
325
328
  export interface UnicornCardsBlockProps extends Animatable {
326
- title?: TitleItemBaseProps | string;
329
+ title?: string;
330
+ text?: string;
327
331
  items?: UnicornCardsItemProps[];
328
332
  unicornSdkUrl?: string;
329
333
  }
@@ -369,6 +369,12 @@ unpredictable css rules order in build */
369
369
  align-items: center;
370
370
  text-align: center;
371
371
  }
372
+ @media (max-width: 769px) {
373
+ .pc-benefits-block__head {
374
+ align-items: initial;
375
+ text-align: initial;
376
+ }
377
+ }
372
378
  .pc-benefits-block__title {
373
379
  font-size: var(--g-text-display-4-font-size, var(--pc-text-display-4-font-size));
374
380
  line-height: var(--g-text-display-4-line-height, var(--pc-text-display-4-line-height));
@@ -376,12 +382,24 @@ unpredictable css rules order in build */
376
382
  font-weight: var(--g-text-accent-font-weight);
377
383
  color: var(--g-color-text-primary);
378
384
  }
385
+ @media (max-width: 769px) {
386
+ .pc-benefits-block__title {
387
+ font-size: var(--g-text-display-1-font-size, var(--pc-text-display-1-font-size));
388
+ line-height: var(--g-text-display-1-line-height, var(--pc-text-display-1-line-height));
389
+ }
390
+ }
379
391
  .pc-benefits-block__text {
380
392
  font-size: 24px;
381
393
  line-height: 28px;
382
394
  opacity: 0.6;
383
395
  max-width: 600px;
384
396
  }
397
+ @media (max-width: 769px) {
398
+ .pc-benefits-block__text {
399
+ font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
400
+ line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
401
+ }
402
+ }
385
403
  .pc-benefits-block__video {
386
404
  width: 100%;
387
405
  aspect-ratio: 16/9;
@@ -393,6 +411,11 @@ unpredictable css rules order in build */
393
411
  flex-direction: column;
394
412
  gap: 4px;
395
413
  }
414
+ @media (max-width: 769px) {
415
+ .pc-benefits-block__items {
416
+ margin-top: 16px;
417
+ }
418
+ }
396
419
  .pc-benefits-block__item {
397
420
  display: flex;
398
421
  gap: 16px;
@@ -400,6 +423,11 @@ unpredictable css rules order in build */
400
423
  border-radius: 24px;
401
424
  background: var(--local-item-bg);
402
425
  }
426
+ @media (max-width: 769px) {
427
+ .pc-benefits-block__item {
428
+ padding: 24px;
429
+ }
430
+ }
403
431
  .pc-benefits-block__item-image {
404
432
  display: block;
405
433
  height: 24px;
@@ -409,4 +437,10 @@ unpredictable css rules order in build */
409
437
  font-size: 24px;
410
438
  line-height: 28px;
411
439
  opacity: 0.8;
440
+ }
441
+ @media (max-width: 769px) {
442
+ .pc-benefits-block__item-text {
443
+ font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
444
+ line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
445
+ }
412
446
  }
@@ -204,6 +204,20 @@ unpredictable css rules order in build */
204
204
  width: 100%;
205
205
  object-fit: cover;
206
206
  }
207
+ .pc-header-block__background.pc-header-block__background_unicorn, .pc-header-block__background.pc-header-block__background_media.pc-header-block__background_unicorn {
208
+ z-index: 5;
209
+ }
210
+ @media (max-width: 769px) {
211
+ .pc-header-block_has-background .pc-header-block__background.pc-header-block__background_unicorn, .pc-header-block_has-background .pc-header-block__background.pc-header-block__background_media.pc-header-block__background_unicorn {
212
+ display: none;
213
+ }
214
+ }
215
+ .pc-header-block_full-width .pc-header-block__background.pc-header-block__background_unicorn, .pc-header-block_full-width .pc-header-block__background.pc-header-block__background_media.pc-header-block__background_unicorn {
216
+ width: 100%;
217
+ left: 0;
218
+ transform: none;
219
+ max-width: none;
220
+ }
207
221
  .pc-header-block__background_full-width {
208
222
  left: 0;
209
223
  transform: none;
@@ -1,6 +1,6 @@
1
1
  import React, { useContext, useMemo, useRef } from 'react';
2
2
  import { useUniqId } from '@gravity-ui/uikit';
3
- import { BackgroundEffect, HTML, Media } from '../../components';
3
+ import { BackgroundEffect, HTML, Media, UnicornScene } from '../../components';
4
4
  import { getMediaImage } from '../../components/Media/Image/utils';
5
5
  import { HeaderContext } from '../../context/headerContext';
6
6
  import { MobileContext } from '../../context/mobileContext';
@@ -27,7 +27,7 @@ const Background = ({ background, isMobile }) => {
27
27
  const FullWidthBackground = ({ background }) => (React.createElement("div", { className: b('background', { ['full-width']: true }), style: { backgroundColor: background === null || background === void 0 ? void 0 : background.color } }));
28
28
  // eslint-disable-next-line complexity
29
29
  export const HeaderBlock = (props) => {
30
- const { title, switchingTitle, topTags, bottomTags, overtitle, description, buttons, stock, stockPrice, stockShares, image, video, width = 's', imageSize, offset = 'default', background, theme: textTheme = 'light', verticalOffset = 'm', verticalOffsetTop, verticalOffsetBottom, className, breadcrumbs, status, renderTitle, children, mediaView = 'full', backgroundEffect, headerSpace, backLink, } = props;
30
+ const { title, switchingTitle, topTags, bottomTags, overtitle, description, buttons, stock, stockPrice, stockShares, image, video, width = 's', imageSize, offset = 'default', background, theme: textTheme = 'light', verticalOffset = 'm', verticalOffsetTop, verticalOffsetBottom, className, breadcrumbs, status, renderTitle, children, mediaView = 'full', backgroundEffect, headerSpace, backLink, unicorn, unicornSdkUrl, } = props;
31
31
  const isMobile = useContext(MobileContext);
32
32
  const { backButton, blockTag } = useContext(HeaderContext);
33
33
  const theme = useTheme();
@@ -41,6 +41,7 @@ export const HeaderBlock = (props) => {
41
41
  const fullWidth = (backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.fullWidth) || (backgroundThemed === null || backgroundThemed === void 0 ? void 0 : backgroundThemed.fullWidthMedia);
42
42
  const titleId = useUniqId();
43
43
  const headerRef = useRef(null);
44
+ const hasBackground = Boolean(backgroundThemed || backgroundEffect);
44
45
  const backButtonItem = useMemo(() => {
45
46
  if (backLink) {
46
47
  return { link: backLink.url, text: backLink.title };
@@ -52,6 +53,7 @@ export const HeaderBlock = (props) => {
52
53
  }, [backButton, backLink, breadcrumbs, verticalOffset]);
53
54
  return (React.createElement("header", { ref: headerRef, className: b({
54
55
  ['has-media']: hasRightSideImage,
56
+ ['has-background']: hasBackground,
55
57
  ['full-width']: fullWidth,
56
58
  ['media-view']: mediaView,
57
59
  ['controls-view']: textTheme,
@@ -60,6 +62,8 @@ export const HeaderBlock = (props) => {
60
62
  backgroundThemed && fullWidth && React.createElement(FullWidthBackground, { background: backgroundThemed }),
61
63
  backgroundThemed && React.createElement(Background, { background: backgroundThemed, isMobile: isMobile }),
62
64
  backgroundEffect && backgroundEffect.firstSrc && backgroundEffect.secondSrc && (React.createElement(BackgroundEffect, Object.assign({}, backgroundEffect, { attachRef: headerRef }))),
65
+ unicorn && (React.createElement("div", { className: b('background', { unicorn: true }) },
66
+ React.createElement(UnicornScene, { jsonFilePath: unicorn, sdkUrl: unicornSdkUrl }))),
63
67
  React.createElement(Grid, { containerClass: b('container-fluid') },
64
68
  React.createElement(Breadcrumbs, { breadcrumbs: breadcrumbs, theme: textTheme }),
65
69
  React.createElement(BackButton, { backButton: backButtonItem, theme: textTheme }),
@@ -920,6 +920,12 @@ export declare const HeaderProperties: {
920
920
  type: string;
921
921
  enum: string[];
922
922
  };
923
+ unicorn: {
924
+ type: string;
925
+ };
926
+ unicornSdkUrl: {
927
+ type: string;
928
+ };
923
929
  breadcrumbs: {
924
930
  type: string;
925
931
  additionalProperties: boolean;
@@ -1632,6 +1638,12 @@ export declare const HeaderBlock: {
1632
1638
  type: string;
1633
1639
  enum: string[];
1634
1640
  };
1641
+ unicorn: {
1642
+ type: string;
1643
+ };
1644
+ unicornSdkUrl: {
1645
+ type: string;
1646
+ };
1635
1647
  breadcrumbs: {
1636
1648
  type: string;
1637
1649
  additionalProperties: boolean;
@@ -137,6 +137,8 @@ export const HeaderProperties = {
137
137
  type: 'string',
138
138
  enum: ['default', 'dark'],
139
139
  },
140
+ unicorn: { type: 'string' },
141
+ unicornSdkUrl: { type: 'string' },
140
142
  breadcrumbs: {
141
143
  type: 'object',
142
144
  additionalProperties: false,
@@ -611,6 +611,12 @@ export declare const HeaderSliderBlock: {
611
611
  type: string;
612
612
  enum: string[];
613
613
  };
614
+ unicorn: {
615
+ type: string;
616
+ };
617
+ unicornSdkUrl: {
618
+ type: string;
619
+ };
614
620
  breadcrumbs: {
615
621
  type: string;
616
622
  additionalProperties: boolean;
@@ -13,6 +13,48 @@ unpredictable css rules order in build */
13
13
  transition-delay: 0s;
14
14
  }
15
15
  }
16
+ .pc-logo-rotator-block__root {
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: 48px;
20
+ }
21
+ .pc-logo-rotator-block__head {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 16px;
25
+ align-items: center;
26
+ text-align: center;
27
+ }
28
+ @media (max-width: 769px) {
29
+ .pc-logo-rotator-block__head {
30
+ align-items: initial;
31
+ text-align: initial;
32
+ }
33
+ }
34
+ .pc-logo-rotator-block__title {
35
+ font-size: var(--g-text-display-4-font-size, var(--pc-text-display-4-font-size));
36
+ line-height: var(--g-text-display-4-line-height, var(--pc-text-display-4-line-height));
37
+ margin: 0;
38
+ font-weight: var(--g-text-accent-font-weight);
39
+ color: var(--g-color-text-primary);
40
+ }
41
+ @media (max-width: 769px) {
42
+ .pc-logo-rotator-block__title {
43
+ font-size: var(--g-text-display-1-font-size, var(--pc-text-display-1-font-size));
44
+ line-height: var(--g-text-display-1-line-height, var(--pc-text-display-1-line-height));
45
+ }
46
+ }
47
+ .pc-logo-rotator-block__text {
48
+ font-size: 24px;
49
+ line-height: 28px;
50
+ opacity: 0.6;
51
+ }
52
+ @media (max-width: 769px) {
53
+ .pc-logo-rotator-block__text {
54
+ font-size: var(--g-text-body-3-font-size, var(--pc-text-body-3-font-size));
55
+ line-height: var(--g-text-body-3-line-height, var(--pc-text-body-3-line-height));
56
+ }
57
+ }
16
58
  .pc-logo-rotator-block__row {
17
59
  justify-content: center;
18
60
  }
@@ -22,11 +64,7 @@ unpredictable css rules order in build */
22
64
  }
23
65
  }
24
66
  .pc-logo-rotator-block_theme_dark .pc-logo-rotator-block__title {
25
- --pc-text-header-color: #ffffff;
26
- }
27
- .pc-logo-rotator-block__title {
28
- margin-bottom: 48px;
29
- text-align: center;
67
+ color: #ffffff;
30
68
  }
31
69
  .pc-logo-rotator-block__items {
32
70
  display: flex;
@@ -1,6 +1,6 @@
1
1
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { Link } from '@gravity-ui/uikit';
3
- import { ImageBase, Title } from '../../components';
3
+ import { ImageBase } from '../../components';
4
4
  import AnimateBlock from '../../components/AnimateBlock/AnimateBlock';
5
5
  import { BREAKPOINTS } from '../../constants';
6
6
  import { Grid, Row } from '../../grid';
@@ -22,7 +22,7 @@ const pickRandomSlots = (slotIndices, count) => {
22
22
  return shuffled.slice(0, count);
23
23
  };
24
24
  export const LogoRotatorBlock = (props) => {
25
- const { animated, title, theme, items, countMobile, countDesktop, minRotateCount = DEFAULT_MIN_ROTATE_COUNT, maxRotateCount = DEFAULT_MAX_ROTATE_COUNT, swapAnimation = DEFAULT_SWAP_ANIMATION, colSizes, rowMode, } = props;
25
+ const { animated, title, text, theme, items, countMobile, countDesktop, minRotateCount = DEFAULT_MIN_ROTATE_COUNT, maxRotateCount = DEFAULT_MAX_ROTATE_COUNT, swapAnimation = DEFAULT_SWAP_ANIMATION, colSizes, rowMode, } = props;
26
26
  const breakpoint = useWindowBreakpoint();
27
27
  const activeCount = countDesktop !== undefined && breakpoint >= BREAKPOINTS.md ? countDesktop : countMobile;
28
28
  // Индексы логотипов, которые участвуют в ротации (не статичные)
@@ -143,13 +143,11 @@ export const LogoRotatorBlock = (props) => {
143
143
  swapAnimation,
144
144
  transitions,
145
145
  ]);
146
- const titleProps = !title || typeof title === 'string'
147
- ? { text: title, textSize: 'l' }
148
- : title;
149
- const hasTitle = Boolean(title);
150
146
  return (React.createElement(AnimateBlock, { className: b({ theme }), animate: animated },
151
147
  React.createElement("div", { className: b('root') },
152
- hasTitle && (React.createElement(Title, { title: titleProps, className: b('title'), colSizes: { all: 12 } })),
148
+ title || text ? (React.createElement("div", { className: b('head') },
149
+ title && React.createElement("h2", { className: b('title') }, title),
150
+ text && React.createElement("div", { className: b('text') }, text))) : null,
153
151
  rowMode ? (React.createElement("div", { className: b('row-items') }, slots.map((slot, index) => {
154
152
  var _a;
155
153
  const transition = transitions[index];
@@ -4,160 +4,10 @@ export declare const LogoRotatorBlock: {
4
4
  required: string[];
5
5
  properties: {
6
6
  title: {
7
- oneOf: ({
8
- type: string;
9
- contentType: string;
10
- optionName: string;
11
- } | {
12
- optionName: string;
13
- type: string;
14
- additionalProperties: boolean;
15
- required: string[];
16
- properties: {
17
- text: {
18
- type: string;
19
- contentType: string;
20
- };
21
- link: {
22
- type: string;
23
- additionalProperties: boolean;
24
- required: string[];
25
- properties: {
26
- text: {
27
- type: string;
28
- contentType: string;
29
- };
30
- url: {
31
- type: string;
32
- };
33
- urlTitle: {
34
- type: string;
35
- };
36
- arrow: {
37
- type: string;
38
- };
39
- theme: {
40
- type: string;
41
- enum: string[];
42
- };
43
- textSize: {
44
- type: string;
45
- enum: string[];
46
- };
47
- target: {
48
- type: string;
49
- enum: string[];
50
- };
51
- analyticsEvents: {
52
- oneOf: ({
53
- optionName: string;
54
- type: string;
55
- additionalProperties: {
56
- type: string;
57
- };
58
- required: string[];
59
- properties: {
60
- name: {
61
- type: string;
62
- };
63
- type: {
64
- type: string;
65
- };
66
- counters: {
67
- type: string;
68
- additionalProperties: boolean;
69
- required: never[];
70
- properties: {
71
- include: {
72
- type: string;
73
- items: {
74
- type: string;
75
- };
76
- };
77
- exclude: {
78
- type: string;
79
- items: {
80
- type: string;
81
- };
82
- };
83
- };
84
- };
85
- context: {
86
- type: string;
87
- };
88
- };
89
- items?: undefined;
90
- } | {
91
- type: string;
92
- items: {
93
- type: string;
94
- additionalProperties: {
95
- type: string;
96
- };
97
- required: string[];
98
- properties: {
99
- name: {
100
- type: string;
101
- };
102
- type: {
103
- type: string;
104
- };
105
- counters: {
106
- type: string;
107
- additionalProperties: boolean;
108
- required: never[];
109
- properties: {
110
- include: {
111
- type: string;
112
- items: {
113
- type: string;
114
- };
115
- };
116
- exclude: {
117
- type: string;
118
- items: {
119
- type: string;
120
- };
121
- };
122
- };
123
- };
124
- context: {
125
- type: string;
126
- };
127
- };
128
- };
129
- optionName: string;
130
- })[];
131
- };
132
- type: {};
133
- when: {
134
- type: string;
135
- };
136
- };
137
- };
138
- textSize: {
139
- type: string;
140
- enum: string[];
141
- };
142
- bottomSpace: {
143
- type: string;
144
- enum: string[];
145
- };
146
- centered: {
147
- type: string;
148
- };
149
- url: {
150
- type: string;
151
- };
152
- urlTitle: {
153
- type: string;
154
- };
155
- resetMargin: {
156
- type: string;
157
- };
158
- };
159
- contentType?: undefined;
160
- })[];
7
+ type: string;
8
+ };
9
+ text: {
10
+ type: string;
161
11
  };
162
12
  theme: {
163
13
  type: string;