@gravity-ui/page-constructor 4.10.0 → 4.11.1

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 (50) hide show
  1. package/build/cjs/blocks/ContentLayout/schema.d.ts +38 -0
  2. package/build/cjs/blocks/Header/Header.css +0 -6
  3. package/build/cjs/components/Image/schema.d.ts +19 -0
  4. package/build/cjs/components/Image/schema.js +12 -1
  5. package/build/cjs/constructor-items.d.ts +2 -2
  6. package/build/cjs/models/constructor-items/common.d.ts +1 -1
  7. package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -4
  8. package/build/cjs/schema/constants.d.ts +181 -78
  9. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +2 -2
  10. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +100 -0
  11. package/build/cjs/sub-blocks/BackgroundCard/schema.js +10 -0
  12. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  13. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +3 -3
  14. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +81 -0
  15. package/build/cjs/sub-blocks/LayoutItem/schema.js +10 -0
  16. package/build/cjs/sub-blocks/MediaCard/MediaCard.d.ts +1 -1
  17. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +2 -2
  18. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +81 -78
  19. package/build/cjs/sub-blocks/MediaCard/schema.js +11 -1
  20. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +2 -2
  21. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +2 -2
  22. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +7 -4
  23. package/build/cjs/sub-blocks/PriceDetailed/schema.js +11 -1
  24. package/build/esm/blocks/ContentLayout/schema.d.ts +38 -0
  25. package/build/esm/blocks/Header/Header.css +0 -6
  26. package/build/esm/components/Image/schema.d.ts +19 -0
  27. package/build/esm/components/Image/schema.js +12 -1
  28. package/build/esm/constructor-items.d.ts +2 -2
  29. package/build/esm/models/constructor-items/common.d.ts +1 -1
  30. package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -4
  31. package/build/esm/schema/constants.d.ts +181 -78
  32. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +2 -2
  33. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +100 -0
  34. package/build/esm/sub-blocks/BackgroundCard/schema.js +10 -0
  35. package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  36. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +3 -3
  37. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +81 -0
  38. package/build/esm/sub-blocks/LayoutItem/schema.js +10 -0
  39. package/build/esm/sub-blocks/MediaCard/MediaCard.d.ts +1 -1
  40. package/build/esm/sub-blocks/MediaCard/MediaCard.js +2 -2
  41. package/build/esm/sub-blocks/MediaCard/schema.d.ts +81 -78
  42. package/build/esm/sub-blocks/MediaCard/schema.js +11 -1
  43. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +2 -2
  44. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +2 -2
  45. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +8 -4
  46. package/build/esm/sub-blocks/PriceDetailed/schema.js +11 -1
  47. package/package.json +1 -1
  48. package/server/models/constructor-items/common.d.ts +1 -1
  49. package/server/models/constructor-items/sub-blocks.d.ts +4 -4
  50. package/widget/index.js +1 -1
@@ -318,6 +318,87 @@ export declare const LayoutItem: {
318
318
  fullscreen: {
319
319
  type: string;
320
320
  };
321
+ analyticsEvents: {
322
+ oneOf: ({
323
+ optionName: string;
324
+ type: string;
325
+ additionalProperties: {
326
+ type: string;
327
+ };
328
+ required: string[];
329
+ properties: {
330
+ name: {
331
+ type: string;
332
+ };
333
+ type: {
334
+ type: string;
335
+ };
336
+ counters: {
337
+ type: string;
338
+ additionalProperties: boolean;
339
+ required: never[];
340
+ properties: {
341
+ include: {
342
+ type: string;
343
+ items: {
344
+ type: string;
345
+ };
346
+ };
347
+ exclude: {
348
+ type: string;
349
+ items: {
350
+ type: string;
351
+ };
352
+ };
353
+ };
354
+ };
355
+ context: {
356
+ type: string;
357
+ };
358
+ };
359
+ items?: undefined;
360
+ } | {
361
+ type: string;
362
+ items: {
363
+ type: string;
364
+ additionalProperties: {
365
+ type: string;
366
+ };
367
+ required: string[];
368
+ properties: {
369
+ name: {
370
+ type: string;
371
+ };
372
+ type: {
373
+ type: string;
374
+ };
375
+ counters: {
376
+ type: string;
377
+ additionalProperties: boolean;
378
+ required: never[];
379
+ properties: {
380
+ include: {
381
+ type: string;
382
+ items: {
383
+ type: string;
384
+ };
385
+ };
386
+ exclude: {
387
+ type: string;
388
+ items: {
389
+ type: string;
390
+ };
391
+ };
392
+ };
393
+ };
394
+ context: {
395
+ type: string;
396
+ };
397
+ };
398
+ };
399
+ optionName: string;
400
+ })[];
401
+ };
321
402
  type: {};
322
403
  when: {
323
404
  type: string;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const lodash_1 = require("lodash");
6
6
  const schema_1 = tslib_1.__importDefault(require("../../components/MetaInfo/schema"));
7
7
  const common_1 = require("../../schema/validators/common");
8
+ const event_1 = require("../../schema/validators/event");
8
9
  const schema_2 = require("../../sub-blocks/Content/schema");
9
10
  exports.LayoutItem = {
10
11
  type: 'object',
@@ -14,5 +15,14 @@ exports.LayoutItem = {
14
15
  type: 'boolean',
15
16
  }, fullscreen: {
16
17
  type: 'boolean',
18
+ }, analyticsEvents: {
19
+ oneOf: [
20
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
21
+ {
22
+ type: 'array',
23
+ items: event_1.AnalyticsEventSchema,
24
+ optionName: 'list',
25
+ },
26
+ ],
17
27
  } }),
18
28
  };
@@ -1,3 +1,3 @@
1
1
  import { MediaCardProps } from '../../models';
2
- declare const MediaCard: ({ border, ...mediaProps }: MediaCardProps) => JSX.Element;
2
+ declare const MediaCard: ({ border, analyticsEvents, ...mediaProps }: MediaCardProps) => JSX.Element;
3
3
  export default MediaCard;
@@ -6,8 +6,8 @@ const components_1 = require("../../components");
6
6
  const utils_1 = require("../../utils");
7
7
  const b = (0, utils_1.block)('MediaCard');
8
8
  const MediaCard = (_a) => {
9
- var { border } = _a, mediaProps = tslib_1.__rest(_a, ["border"]);
10
- return (react_1.default.createElement(components_1.CardBase, { className: b(), bodyClassName: b('body'), border: border },
9
+ var { border, analyticsEvents } = _a, mediaProps = tslib_1.__rest(_a, ["border", "analyticsEvents"]);
10
+ return (react_1.default.createElement(components_1.CardBase, { className: b(), bodyClassName: b('body'), border: border, analyticsEvents: analyticsEvents },
11
11
  react_1.default.createElement(components_1.CardBase.Content, null,
12
12
  react_1.default.createElement(components_1.Media, Object.assign({}, mediaProps)))));
13
13
  };
@@ -3,6 +3,87 @@ export declare const MediaCardBlock: {
3
3
  additionalProperties: boolean;
4
4
  required: never[];
5
5
  properties: {
6
+ analyticsEvents: {
7
+ oneOf: ({
8
+ optionName: string;
9
+ type: string;
10
+ additionalProperties: {
11
+ type: string;
12
+ };
13
+ required: string[];
14
+ properties: {
15
+ name: {
16
+ type: string;
17
+ };
18
+ type: {
19
+ type: string;
20
+ };
21
+ counters: {
22
+ type: string;
23
+ additionalProperties: boolean;
24
+ required: never[];
25
+ properties: {
26
+ include: {
27
+ type: string;
28
+ items: {
29
+ type: string;
30
+ };
31
+ };
32
+ exclude: {
33
+ type: string;
34
+ items: {
35
+ type: string;
36
+ };
37
+ };
38
+ };
39
+ };
40
+ context: {
41
+ type: string;
42
+ };
43
+ };
44
+ items?: undefined;
45
+ } | {
46
+ type: string;
47
+ items: {
48
+ type: string;
49
+ additionalProperties: {
50
+ type: string;
51
+ };
52
+ required: string[];
53
+ properties: {
54
+ name: {
55
+ type: string;
56
+ };
57
+ type: {
58
+ type: string;
59
+ };
60
+ counters: {
61
+ type: string;
62
+ additionalProperties: boolean;
63
+ required: never[];
64
+ properties: {
65
+ include: {
66
+ type: string;
67
+ items: {
68
+ type: string;
69
+ };
70
+ };
71
+ exclude: {
72
+ type: string;
73
+ items: {
74
+ type: string;
75
+ };
76
+ };
77
+ };
78
+ };
79
+ context: {
80
+ type: string;
81
+ };
82
+ };
83
+ };
84
+ optionName: string;
85
+ })[];
86
+ };
6
87
  animated: {
7
88
  type: string;
8
89
  };
@@ -147,84 +228,6 @@ export declare const MediaCardBlock: {
147
228
  fullscreen: {
148
229
  type: string;
149
230
  };
150
- analyticsEvents: {
151
- anyOf: ({
152
- type: string;
153
- additionalProperties: {
154
- type: string;
155
- };
156
- required: string[];
157
- properties: {
158
- name: {
159
- type: string;
160
- };
161
- type: {
162
- type: string;
163
- };
164
- counters: {
165
- type: string;
166
- additionalProperties: boolean;
167
- required: never[];
168
- properties: {
169
- include: {
170
- type: string;
171
- items: {
172
- type: string;
173
- };
174
- };
175
- exclude: {
176
- type: string;
177
- items: {
178
- type: string;
179
- };
180
- };
181
- };
182
- };
183
- context: {
184
- type: string;
185
- };
186
- };
187
- } | {
188
- type: string;
189
- items: {
190
- type: string;
191
- additionalProperties: {
192
- type: string;
193
- };
194
- required: string[];
195
- properties: {
196
- name: {
197
- type: string;
198
- };
199
- type: {
200
- type: string;
201
- };
202
- counters: {
203
- type: string;
204
- additionalProperties: boolean;
205
- required: never[];
206
- properties: {
207
- include: {
208
- type: string;
209
- items: {
210
- type: string;
211
- };
212
- };
213
- exclude: {
214
- type: string;
215
- items: {
216
- type: string;
217
- };
218
- };
219
- };
220
- };
221
- context: {
222
- type: string;
223
- };
224
- };
225
- };
226
- })[];
227
- };
228
231
  border: {
229
232
  type: string;
230
233
  enum: string[];
@@ -2,10 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MediaCardBlock = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ const event_1 = require("../../schema/validators/event");
5
6
  exports.MediaCardBlock = {
6
7
  'media-card': {
7
8
  additionalProperties: false,
8
9
  required: [],
9
- properties: Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), common_1.MediaProps), common_1.AnimatableProps),
10
+ properties: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), common_1.MediaProps), common_1.AnimatableProps), { analyticsEvents: {
11
+ oneOf: [
12
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
13
+ {
14
+ type: 'array',
15
+ items: event_1.AnalyticsEventSchema,
16
+ optionName: 'list',
17
+ },
18
+ ],
19
+ } }),
10
20
  },
11
21
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { CardBorder, PriceDescriptionProps, PriceDetailsListProps, PriceDetailsSettingsProps, PriceItemProps } from '../../../models';
3
- interface CombinedPriceDetailedProps {
2
+ import { AnalyticsEventsBase, CardBorder, PriceDescriptionProps, PriceDetailsListProps, PriceDetailsSettingsProps, PriceItemProps } from '../../../models';
3
+ interface CombinedPriceDetailedProps extends AnalyticsEventsBase {
4
4
  items: PriceItemProps[];
5
5
  numberGroupItems: number;
6
6
  useMixedView?: boolean;
@@ -14,7 +14,7 @@ const CombinedPricesGroupSize = {
14
14
  [grid_1.GridColumnSize.Lg]: 3,
15
15
  };
16
16
  const CombinedPriceDetailed = (props) => {
17
- const { items, numberGroupItems, border, useMixedView, getDescriptionComponent, getDetailsComponent, } = props;
17
+ const { items, numberGroupItems, border, useMixedView, getDescriptionComponent, getDetailsComponent, analyticsEvents, } = props;
18
18
  const [groupItemsSize, setGroupItemsSize] = (0, react_1.useState)(numberGroupItems);
19
19
  const updateGroupItemsSize = (0, react_1.useCallback)((windowWidth) => {
20
20
  if (windowWidth >= constants_1.BREAKPOINTS.lg) {
@@ -51,7 +51,7 @@ const CombinedPriceDetailed = (props) => {
51
51
  react_1.default.createElement("div", { className: b('description', { delimiter: useMixedView }) }, detailsComponents)));
52
52
  };
53
53
  const chunkedItems = lodash_1.default.chunk(items, groupItemsSize);
54
- return (react_1.default.createElement(components_1.CardBase, { className: b(), border: border },
54
+ return (react_1.default.createElement(components_1.CardBase, { className: b(), border: border, analyticsEvents: analyticsEvents },
55
55
  react_1.default.createElement(components_1.CardBase.Content, null,
56
56
  react_1.default.createElement(grid_1.Grid, null, chunkedItems.map((chunk, id) => {
57
57
  return (react_1.default.createElement(grid_1.Row, { key: id, className: b('row') }, getPrice(chunk)));
@@ -7,9 +7,12 @@ const utils_1 = require("../../../utils");
7
7
  const b = (0, utils_1.block)('separate-price-detailed-block');
8
8
  const SeparatePriceDetailed = (props) => {
9
9
  const { items, border, getDescriptionComponent, getDetailsComponent } = props;
10
- return (react_1.default.createElement(react_1.Fragment, null, items.map((item, id) => (react_1.default.createElement(components_1.CardBase, { key: id, className: b(), border: border },
11
- react_1.default.createElement(components_1.CardBase.Content, null,
12
- getDescriptionComponent(item),
13
- getDetailsComponent(item.items)))))));
10
+ return (react_1.default.createElement(react_1.Fragment, null, items.map((_a, id) => {
11
+ var { analyticsEvents } = _a, item = tslib_1.__rest(_a, ["analyticsEvents"]);
12
+ return (react_1.default.createElement(components_1.CardBase, { key: id, className: b(), border: border, analyticsEvents: analyticsEvents },
13
+ react_1.default.createElement(components_1.CardBase.Content, null,
14
+ getDescriptionComponent(item),
15
+ getDetailsComponent(item.items))));
16
+ })));
14
17
  };
15
18
  exports.default = SeparatePriceDetailed;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PriceDetailedBlock = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ const event_1 = require("../../schema/validators/event");
5
6
  const utils_1 = require("../../schema/validators/utils");
6
7
  const PriceDetailedDetailsType = ['marked-list', 'settings'];
7
8
  const PriceDetailedDescriptionColor = ['cornflower', 'black'];
@@ -137,7 +138,16 @@ const PriceItem = {
137
138
  type: 'object',
138
139
  additionalProperties: false,
139
140
  required: ['title', 'description'],
140
- properties: Object.assign(Object.assign({}, PriceDetailsProps), PriceDescriptionProps),
141
+ properties: Object.assign(Object.assign(Object.assign({}, PriceDetailsProps), PriceDescriptionProps), { analyticsEvents: {
142
+ oneOf: [
143
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
144
+ {
145
+ type: 'array',
146
+ items: event_1.AnalyticsEventSchema,
147
+ optionName: 'list',
148
+ },
149
+ ],
150
+ } }),
141
151
  };
142
152
  exports.PriceDetailedBlock = {
143
153
  'price-detailed': {
@@ -15,6 +15,25 @@ export declare const ContentLayoutBlock: {
15
15
  type: string;
16
16
  pattern: string;
17
17
  };
18
+ style: {
19
+ type: string;
20
+ additionalProperties: boolean;
21
+ required: never[];
22
+ properties: {
23
+ backgroundColor: {
24
+ type: string;
25
+ };
26
+ height: {
27
+ type: string[];
28
+ };
29
+ width: {
30
+ type: string[];
31
+ };
32
+ color: {
33
+ type: string;
34
+ };
35
+ };
36
+ };
18
37
  alt: {
19
38
  type: string;
20
39
  contentType: string;
@@ -153,6 +172,25 @@ export declare const ContentLayoutBlock: {
153
172
  type: string;
154
173
  pattern: string;
155
174
  };
175
+ style: {
176
+ type: string;
177
+ additionalProperties: boolean;
178
+ required: never[];
179
+ properties: {
180
+ backgroundColor: {
181
+ type: string;
182
+ };
183
+ height: {
184
+ type: string[];
185
+ };
186
+ width: {
187
+ type: string[];
188
+ };
189
+ color: {
190
+ type: string;
191
+ };
192
+ };
193
+ };
156
194
  alt: {
157
195
  type: string;
158
196
  contentType: string;
@@ -75,10 +75,6 @@ unpredictable css rules order in build */
75
75
  }
76
76
  .pc-header-block__description {
77
77
  margin-top: 16px;
78
- font-weight: normal;
79
- font-size: var(--g-text-caption-2-font-size);
80
- line-height: var(--g-text-caption-2-line-height);
81
- margin-block-end: var(--g-text-body-1-line-height);
82
78
  }
83
79
  .pc-header-block__description .yfm,
84
80
  .pc-header-block__description .yfm * {
@@ -170,9 +166,7 @@ unpredictable css rules order in build */
170
166
  .pc-header-block__overtitle {
171
167
  font-size: var(--g-text-body-3-font-size);
172
168
  line-height: var(--g-text-body-3-line-height);
173
- margin-block-start: var(--g-text-body-3-line-height);
174
169
  margin-bottom: 8px;
175
- font-weight: 400;
176
170
  }
177
171
  .pc-header-block__overtitle a {
178
172
  outline: none;
@@ -34,6 +34,25 @@ export declare const ImageObjectProps: {
34
34
  type: string;
35
35
  pattern: string;
36
36
  };
37
+ style: {
38
+ type: string;
39
+ additionalProperties: boolean;
40
+ required: never[];
41
+ properties: {
42
+ backgroundColor: {
43
+ type: string;
44
+ };
45
+ height: {
46
+ type: string[];
47
+ };
48
+ width: {
49
+ type: string[];
50
+ };
51
+ color: {
52
+ type: string;
53
+ };
54
+ };
55
+ };
37
56
  alt: {
38
57
  type: string;
39
58
  contentType: string;
@@ -9,6 +9,17 @@ const ImageBase = {
9
9
  type: 'boolean',
10
10
  },
11
11
  };
12
+ const StyleBase = {
13
+ type: 'object',
14
+ additionalProperties: false,
15
+ required: [],
16
+ properties: {
17
+ backgroundColor: { type: 'string' },
18
+ height: { type: ['string', 'number'] },
19
+ width: { type: ['string', 'number'] },
20
+ color: { type: 'string' },
21
+ },
22
+ };
12
23
  export const ImageDeviceProps = {
13
24
  type: 'object',
14
25
  additionalProperties: false,
@@ -28,7 +39,7 @@ export const ImageObjectProps = {
28
39
  properties: Object.assign(Object.assign({}, ImageBase), { src: {
29
40
  type: 'string',
30
41
  pattern: imageUrlPattern,
31
- } }),
42
+ }, style: StyleBase }),
32
43
  };
33
44
  export const ImageProps = {
34
45
  oneOf: [
@@ -21,9 +21,9 @@ export declare const blockMap: {
21
21
  export declare const subBlockMap: {
22
22
  divider: ({ size, border }: import("./models").DividerProps) => JSX.Element;
23
23
  "price-detailed": (props: import("./models").PriceDetailedProps) => JSX.Element;
24
- "media-card": ({ border, ...mediaProps }: import("./models").MediaCardProps) => JSX.Element;
24
+ "media-card": ({ border, analyticsEvents, ...mediaProps }: import("./models").MediaCardProps) => JSX.Element;
25
25
  "banner-card": (props: import("./models").BannerCardProps) => JSX.Element;
26
- "layout-item": ({ content: { links, ...content }, metaInfo, media, border, fullscreen, className, }: import("./models").LayoutItemProps) => JSX.Element;
26
+ "layout-item": ({ content: { links, ...content }, metaInfo, media, border, fullscreen, className, analyticsEvents, }: import("./models").LayoutItemProps) => JSX.Element;
27
27
  "background-card": (props: import("./models").BackgroundCardProps) => JSX.Element;
28
28
  "basic-card": (props: import("./models").BasicCardProps) => JSX.Element;
29
29
  content: (props: import("./sub-blocks/Content/Content").ContentProps) => JSX.Element;
@@ -287,7 +287,7 @@ export interface PriceDetailsListProps {
287
287
  export interface PriceDetailsProps {
288
288
  items?: PriceDetailsSettingsProps[] | PriceDetailsListProps[];
289
289
  }
290
- export interface PriceItemProps extends PriceDetailsProps, PriceDescriptionProps {
290
+ export interface PriceItemProps extends PriceDetailsProps, PriceDescriptionProps, AnalyticsEventsBase {
291
291
  }
292
292
  export interface PriceFoldableDetailsProps {
293
293
  title: string;
@@ -71,13 +71,13 @@ export interface QuoteProps extends Themable, CardBaseProps {
71
71
  buttonText?: string;
72
72
  theme?: TextTheme;
73
73
  }
74
- export interface BackgroundCardProps extends CardBaseProps, Omit<ContentBlockProps, 'colSizes' | 'centered'> {
74
+ export interface BackgroundCardProps extends CardBaseProps, AnalyticsEventsBase, Omit<ContentBlockProps, 'colSizes' | 'centered'> {
75
75
  url?: string;
76
76
  background?: ThemeSupporting<ImageObjectProps>;
77
77
  paddingBottom?: 's' | 'm' | 'l' | 'xl';
78
78
  backgroundColor?: string;
79
79
  }
80
- export interface BasicCardProps extends CardBaseProps, Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {
80
+ export interface BasicCardProps extends CardBaseProps, AnalyticsEventsBase, Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {
81
81
  url: string;
82
82
  icon?: ImageProps;
83
83
  target?: string;
@@ -92,9 +92,9 @@ export interface BannerCardProps {
92
92
  theme?: TextTheme;
93
93
  button: Pick<ButtonProps, 'text' | 'url' | 'target'>;
94
94
  }
95
- export interface MediaCardProps extends MediaProps, CardBaseProps {
95
+ export interface MediaCardProps extends MediaProps, AnalyticsEventsBase, CardBaseProps {
96
96
  }
97
- export interface LayoutItemProps extends ClassNameProps {
97
+ export interface LayoutItemProps extends ClassNameProps, AnalyticsEventsBase {
98
98
  content: Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size'>;
99
99
  media: MediaProps;
100
100
  metaInfo?: string[];