@gravity-ui/page-constructor 1.15.0-alpha.21 → 1.15.0-alpha.22

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 (87) hide show
  1. package/build/cjs/blocks/Banner/schema.d.ts +0 -9
  2. package/build/cjs/blocks/Banner/schema.js +1 -3
  3. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +78 -0
  4. package/build/cjs/blocks/Header/schema.d.ts +0 -156
  5. package/build/cjs/blocks/Header/schema.js +0 -4
  6. package/build/cjs/blocks/HeaderSlider/schema.d.ts +0 -78
  7. package/build/cjs/blocks/Info/schema.d.ts +0 -3
  8. package/build/cjs/blocks/Info/schema.js +0 -2
  9. package/build/cjs/blocks/Preview/MediaContent/MediaContent.d.ts +1 -2
  10. package/build/cjs/blocks/Preview/schema.d.ts +0 -3
  11. package/build/cjs/blocks/Preview/schema.js +1 -3
  12. package/build/cjs/blocks/Security/schema.d.ts +0 -3
  13. package/build/cjs/blocks/Security/schema.js +1 -3
  14. package/build/cjs/blocks/Tabs/schema.d.ts +78 -0
  15. package/build/cjs/components/BackLink/BackLink.d.ts +0 -1
  16. package/build/cjs/components/BackLink/BackLink.js +4 -2
  17. package/build/cjs/components/Button/Button.js +1 -4
  18. package/build/cjs/components/ButtonTabs/ButtonTabs.d.ts +0 -1
  19. package/build/cjs/components/CardBase/CardBase.d.ts +2 -4
  20. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.css +30 -0
  21. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +7 -2
  22. package/build/cjs/components/Link/Link.js +1 -1
  23. package/build/cjs/components/ReactPlayer/ReactPlayer.js +1 -1
  24. package/build/cjs/components/YandexForm/YandexForm.d.ts +2 -4
  25. package/build/cjs/components/YandexForm/YandexForm.js +2 -2
  26. package/build/cjs/models/common.d.ts +3 -0
  27. package/build/cjs/models/constructor-items/blocks.d.ts +0 -10
  28. package/build/cjs/models/constructor-items/common.d.ts +5 -13
  29. package/build/cjs/models/constructor-items/sub-blocks.d.ts +3 -7
  30. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +5 -3
  31. package/build/cjs/schema/validators/common.d.ts +78 -0
  32. package/build/cjs/schema/validators/common.js +2 -0
  33. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +0 -3
  34. package/build/cjs/sub-blocks/BackgroundCard/schema.js +0 -2
  35. package/build/cjs/sub-blocks/HubspotForm/index.js +1 -1
  36. package/build/cjs/sub-blocks/Quote/Quote.js +2 -2
  37. package/build/cjs/sub-blocks/Quote/schema.d.ts +0 -3
  38. package/build/cjs/sub-blocks/Quote/schema.js +1 -3
  39. package/build/esm/blocks/Banner/schema.d.ts +0 -9
  40. package/build/esm/blocks/Banner/schema.js +1 -3
  41. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +78 -0
  42. package/build/esm/blocks/Header/schema.d.ts +0 -156
  43. package/build/esm/blocks/Header/schema.js +0 -4
  44. package/build/esm/blocks/HeaderSlider/schema.d.ts +0 -78
  45. package/build/esm/blocks/Info/schema.d.ts +0 -3
  46. package/build/esm/blocks/Info/schema.js +0 -2
  47. package/build/esm/blocks/Preview/MediaContent/MediaContent.d.ts +1 -2
  48. package/build/esm/blocks/Preview/schema.d.ts +0 -3
  49. package/build/esm/blocks/Preview/schema.js +1 -3
  50. package/build/esm/blocks/Security/schema.d.ts +0 -3
  51. package/build/esm/blocks/Security/schema.js +1 -3
  52. package/build/esm/blocks/Tabs/schema.d.ts +78 -0
  53. package/build/esm/components/BackLink/BackLink.d.ts +0 -1
  54. package/build/esm/components/BackLink/BackLink.js +4 -2
  55. package/build/esm/components/Button/Button.js +1 -4
  56. package/build/esm/components/ButtonTabs/ButtonTabs.d.ts +0 -1
  57. package/build/esm/components/CardBase/CardBase.d.ts +2 -4
  58. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.css +30 -0
  59. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +7 -2
  60. package/build/esm/components/Link/Link.js +1 -1
  61. package/build/esm/components/ReactPlayer/ReactPlayer.js +1 -1
  62. package/build/esm/components/YandexForm/YandexForm.d.ts +2 -4
  63. package/build/esm/components/YandexForm/YandexForm.js +2 -2
  64. package/build/esm/models/common.d.ts +3 -0
  65. package/build/esm/models/constructor-items/blocks.d.ts +0 -10
  66. package/build/esm/models/constructor-items/common.d.ts +5 -13
  67. package/build/esm/models/constructor-items/sub-blocks.d.ts +3 -7
  68. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +5 -3
  69. package/build/esm/schema/validators/common.d.ts +78 -0
  70. package/build/esm/schema/validators/common.js +2 -0
  71. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +0 -3
  72. package/build/esm/sub-blocks/BackgroundCard/schema.js +0 -2
  73. package/build/esm/sub-blocks/HubspotForm/index.js +1 -1
  74. package/build/esm/sub-blocks/Quote/Quote.js +2 -2
  75. package/build/esm/sub-blocks/Quote/schema.d.ts +0 -3
  76. package/build/esm/sub-blocks/Quote/schema.js +1 -3
  77. package/package.json +1 -1
  78. package/server/models/common.d.ts +3 -0
  79. package/server/models/constructor-items/blocks.d.ts +0 -10
  80. package/server/models/constructor-items/common.d.ts +5 -13
  81. package/server/models/constructor-items/sub-blocks.d.ts +3 -7
  82. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbsItem.css +0 -30
  83. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbsItem.d.ts +0 -12
  84. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbsItem.js +0 -28
  85. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbsItem.css +0 -30
  86. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbsItem.d.ts +0 -13
  87. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbsItem.js +0 -25
@@ -109,7 +109,6 @@ export interface HeaderBlockProps {
109
109
  verticalOffset?: 's' | 'm' | 'l' | 'xl';
110
110
  breadcrumbs?: HeaderBreadCrumbsProps;
111
111
  status?: JSX.Element;
112
- context?: string;
113
112
  }
114
113
  export type CalculatorProps = Animatable;
115
114
  export interface SimpleBlockProps extends Animatable, Childable {
@@ -128,7 +127,6 @@ export interface ExtendedFeaturesProps extends Animatable {
128
127
  title?: TitleProps | string;
129
128
  description?: string;
130
129
  colSizes?: GridColumnSizesType;
131
- context?: string;
132
130
  }
133
131
  export interface PromoFeaturesItem {
134
132
  title: string;
@@ -141,7 +139,6 @@ export interface PromoFeaturesProps extends Animatable {
141
139
  title?: TitleProps | string;
142
140
  description?: string;
143
141
  theme?: 'grey' | 'default';
144
- context?: string;
145
142
  }
146
143
  export interface QuestionItem {
147
144
  title: string;
@@ -166,7 +163,6 @@ export interface MediaContentProps {
166
163
  links?: LinkProps[];
167
164
  buttons?: ButtonProps[];
168
165
  size?: ContentSize;
169
- context?: string;
170
166
  }
171
167
  export interface MediaBlockProps extends Animatable, MediaContentProps {
172
168
  media: ThemeSupporting<MediaProps>;
@@ -184,7 +180,6 @@ export interface PreviewBlockProps extends Animatable {
184
180
  ratioMediaContent?: PreviewRatioMediaContent;
185
181
  stopVideo?: boolean;
186
182
  showImmediately?: boolean;
187
- context?: string;
188
183
  }
189
184
  export interface InfoBlockProps {
190
185
  theme?: TextTheme;
@@ -199,7 +194,6 @@ export interface InfoBlockProps {
199
194
  links?: Pick<LinkProps, 'text' | 'url'>[];
200
195
  leftContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;
201
196
  rightContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;
202
- context?: string;
203
197
  }
204
198
  export interface SecurityBlockPoint {
205
199
  img: string;
@@ -215,7 +209,6 @@ export interface SecurityBlockProps extends Animatable {
215
209
  title: string;
216
210
  points?: SecurityBlockPoint[];
217
211
  media: MediaProps;
218
- context?: string;
219
212
  }
220
213
  export interface TableProps {
221
214
  content: string[][];
@@ -242,7 +235,6 @@ export interface TabsBlockProps extends BlockHeaderProps, Animatable {
242
235
  centered?: boolean;
243
236
  direction?: MediaDirection;
244
237
  items: TabsBlockItem[];
245
- context?: string;
246
238
  }
247
239
  export interface LinkTableBlockProps extends BlockHeaderProps {
248
240
  items: LinkProps[][];
@@ -272,7 +264,6 @@ export interface ContentLayoutBlockProps {
272
264
  };
273
265
  textContent: ContentBlockProps;
274
266
  fileContent?: FileLinkProps[];
275
- context?: string;
276
267
  }
277
268
  export interface ContentBlockProps {
278
269
  title?: TitleBaseProps | string;
@@ -284,7 +275,6 @@ export interface ContentBlockProps {
284
275
  colSizes?: GridColumnSizesType;
285
276
  centered?: boolean;
286
277
  theme?: ContentTheme;
287
- context?: string;
288
278
  }
289
279
  export declare enum PCShareSocialNetwork {
290
280
  Vk = "vk",
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { ButtonSize, ButtonView } from '@gravity-ui/uikit';
3
3
  import { ThemeSupporting } from '../../utils/theme';
4
- import { AnalyticsEvent, ClassNameProps, PixelEventType } from '../common';
4
+ import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
5
5
  export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
@@ -100,7 +100,7 @@ export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, P
100
100
  imageClassName?: string;
101
101
  hide?: boolean;
102
102
  }
103
- export interface MediaVideoProps {
103
+ export interface MediaVideoProps extends AnalyticsEventsBase {
104
104
  src: string[];
105
105
  type?: MediaVideoType;
106
106
  loop?: LoopProps | boolean;
@@ -110,10 +110,8 @@ export interface MediaVideoProps {
110
110
  playButton?: PlayButtonProps;
111
111
  controls?: MediaVideoControlsType;
112
112
  metrika?: MetrikaVideo;
113
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
114
- context?: string;
115
113
  }
116
- export interface LinkProps extends Stylable {
114
+ export interface LinkProps extends AnalyticsEventsBase, Stylable {
117
115
  url: string;
118
116
  text?: string;
119
117
  textSize?: TextSize;
@@ -123,7 +121,6 @@ export interface LinkProps extends Stylable {
123
121
  target?: string;
124
122
  metrikaGoals?: MetrikaGoal;
125
123
  pixelEvents?: ButtonPixel;
126
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
127
124
  context?: string;
128
125
  }
129
126
  export interface FileLinkProps extends ClassNameProps {
@@ -134,7 +131,7 @@ export interface FileLinkProps extends ClassNameProps {
134
131
  theme?: ContentTheme;
135
132
  onClick?: () => void;
136
133
  }
137
- export interface ButtonProps {
134
+ export interface ButtonProps extends AnalyticsEventsBase {
138
135
  text: string;
139
136
  url: string;
140
137
  primary?: boolean;
@@ -143,7 +140,6 @@ export interface ButtonProps {
143
140
  img?: ButtonImageProps | string;
144
141
  metrikaGoals?: MetrikaGoal;
145
142
  pixelEvents?: ButtonPixel;
146
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
147
143
  target?: string;
148
144
  context?: string;
149
145
  }
@@ -169,12 +165,10 @@ export interface MediaVideoProps {
169
165
  metrika?: MetrikaVideo;
170
166
  }
171
167
  export type ThemedMediaVideoProps = ThemeSupporting<MediaVideoProps>;
172
- export interface MediaComponentVideoProps {
168
+ export interface MediaComponentVideoProps extends AnalyticsEventsBase {
173
169
  video: MediaVideoProps;
174
170
  height?: number;
175
171
  metrika?: MetrikaVideo;
176
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
177
- context?: string;
178
172
  previewImg?: string;
179
173
  }
180
174
  export interface MediaComponentYoutubeProps {
@@ -226,12 +220,10 @@ export interface HeaderBreadCrumbsProps extends ClassNameProps {
226
220
  items: {
227
221
  url: string;
228
222
  text: ReactNode;
229
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
230
223
  }[];
231
224
  theme?: TextTheme;
232
225
  metrikaGoals?: MetrikaGoal;
233
226
  pixelEvents?: ButtonPixel;
234
- context?: string;
235
227
  }
236
228
  export interface PreviewContentItemProps {
237
229
  title: string;
@@ -3,7 +3,7 @@ import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
4
  import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
5
5
  import { ContentBlockProps } from './blocks';
6
- import { AnalyticsEvent, PixelEvent } from '../common';
6
+ import { AnalyticsEventsBase, PixelEvent } from '../common';
7
7
  export declare enum SubBlockType {
8
8
  Divider = "divider",
9
9
  Quote = "quote",
@@ -34,7 +34,7 @@ export interface DividerProps {
34
34
  size?: DividerSize;
35
35
  border?: boolean;
36
36
  }
37
- export interface HubspotFormProps extends HubspotEventHandlers {
37
+ export interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsBase {
38
38
  className?: string;
39
39
  theme?: ContentTheme;
40
40
  isMobile?: boolean;
@@ -61,8 +61,6 @@ export interface HubspotFormProps extends HubspotEventHandlers {
61
61
  onLoad?: (arg: HubspotEventData) => void;
62
62
  pixelEvents?: string | string[] | PixelEvent | PixelEvent[] | ButtonPixel;
63
63
  hubspotEvents?: string[];
64
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
65
- context?: string;
66
64
  }
67
65
  export interface PartnerProps extends CardBaseProps {
68
66
  text: string;
@@ -78,7 +76,6 @@ export interface QuoteProps extends Themable, CardBaseProps {
78
76
  author?: AuthorItem;
79
77
  buttonText?: string;
80
78
  theme?: TextTheme;
81
- context?: string;
82
79
  }
83
80
  export interface NewsCardData {
84
81
  id: number;
@@ -113,7 +110,6 @@ export interface BannerCardProps {
113
110
  color?: ThemeSupporting<string>;
114
111
  theme?: TextTheme;
115
112
  button: Pick<ButtonProps, 'text' | 'url' | 'target'>;
116
- context?: string;
117
113
  }
118
114
  export interface MediaCardProps extends MediaProps, CardBaseProps {
119
115
  }
@@ -121,7 +117,7 @@ export interface CardWithImageLinkProps extends Omit<LinkProps, 'text' | 'url'>
121
117
  title: string;
122
118
  link: string;
123
119
  }
124
- export interface CardWithImageProps extends ClassNameProps, Pick<ContentBlockProps, 'title' | 'additionalInfo' | 'buttons' | 'theme' | 'context'> {
120
+ export interface CardWithImageProps extends ClassNameProps, Pick<ContentBlockProps, 'title' | 'additionalInfo' | 'buttons' | 'theme'> {
125
121
  image: string;
126
122
  description?: string;
127
123
  disableCompress?: boolean;
@@ -9,7 +9,6 @@ import SocialIcon from '../SocialIcon/SocialIcon';
9
9
  import { getMediaImage } from '../../../components/Media/Image/utils';
10
10
  import './NavigationItem.css';
11
11
  const b = block('navigation-item');
12
- const BLOCK_NAME = 'navigation';
13
12
  const Content = ({ text, icon }) => (React.createElement(Fragment, null,
14
13
  icon && typeof icon !== 'string' && React.createElement(Image, Object.assign({ className: b('icon') }, icon)),
15
14
  React.createElement("span", { className: b('text') }, text)));
@@ -38,8 +37,11 @@ const NavigationLink = (props) => {
38
37
  };
39
38
  const NavigationButton = (props) => {
40
39
  const { url, target } = props;
41
- return target ? (React.createElement(Button, Object.assign({}, props, { url: url, context: BLOCK_NAME }))) : (React.createElement(RouterLink, { href: url },
42
- React.createElement(Button, Object.assign({}, props, { url: url, context: BLOCK_NAME }))));
40
+ return target ? (
41
+ // discuss how to be with this component
42
+ // <Button {...props} url={url} context={BLOCK_NAME} />
43
+ React.createElement(Button, Object.assign({}, props, { url: url }))) : (React.createElement(RouterLink, { href: url },
44
+ React.createElement(Button, Object.assign({}, props, { url: url }))));
43
45
  };
44
46
  //todo: add types support form component in map
45
47
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -318,6 +318,84 @@ export declare const LinkProps: {
318
318
  type: string;
319
319
  enum: string[];
320
320
  };
321
+ analyticsEvents: {
322
+ anyOf: ({
323
+ type: string;
324
+ additionalProperties: {
325
+ type: string;
326
+ };
327
+ required: string[];
328
+ properties: {
329
+ name: {
330
+ type: string;
331
+ };
332
+ type: {
333
+ type: string;
334
+ };
335
+ counters: {
336
+ type: string;
337
+ additionalProperties: boolean;
338
+ required: never[];
339
+ properties: {
340
+ include: {
341
+ type: string;
342
+ items: {
343
+ type: string;
344
+ };
345
+ };
346
+ exclude: {
347
+ type: string;
348
+ items: {
349
+ type: string;
350
+ };
351
+ };
352
+ };
353
+ };
354
+ context: {
355
+ type: string;
356
+ };
357
+ };
358
+ } | {
359
+ type: string;
360
+ items: {
361
+ type: string;
362
+ additionalProperties: {
363
+ type: string;
364
+ };
365
+ required: string[];
366
+ properties: {
367
+ name: {
368
+ type: string;
369
+ };
370
+ type: {
371
+ type: string;
372
+ };
373
+ counters: {
374
+ type: string;
375
+ additionalProperties: boolean;
376
+ required: never[];
377
+ properties: {
378
+ include: {
379
+ type: string;
380
+ items: {
381
+ type: string;
382
+ };
383
+ };
384
+ exclude: {
385
+ type: string;
386
+ items: {
387
+ type: string;
388
+ };
389
+ };
390
+ };
391
+ };
392
+ context: {
393
+ type: string;
394
+ };
395
+ };
396
+ };
397
+ })[];
398
+ };
321
399
  type: {};
322
400
  when: {};
323
401
  };
@@ -175,6 +175,8 @@ export const LinkProps = {
175
175
  }, target: {
176
176
  type: 'string',
177
177
  enum: ['_blank', '_parent', '_top', '_self'],
178
+ }, analyticsEvents: {
179
+ anyOf: [AnalyticsEventSchema, { type: 'array', items: AnalyticsEventSchema }],
178
180
  } }),
179
181
  };
180
182
  export const FileLinkProps = {
@@ -38,9 +38,6 @@ export declare const BackgroundCard: {
38
38
  type: string;
39
39
  enum: string[];
40
40
  };
41
- context: {
42
- type: string;
43
- };
44
41
  title: {
45
42
  oneOf: ({
46
43
  type: string;
@@ -14,8 +14,6 @@ export const BackgroundCard = {
14
14
  }, paddingBottom: {
15
15
  type: 'string',
16
16
  enum: ['s', 'm', 'l', 'xl'],
17
- }, context: {
18
- type: 'string',
19
17
  } }),
20
18
  },
21
19
  };
@@ -2,11 +2,11 @@ import React, { useContext, useMemo } from 'react';
2
2
  import { block } from '../../utils';
3
3
  import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
4
4
  import { MobileContext } from '../../context/mobileContext';
5
+ import { BlockPositionContext } from '../../context/blockPositionContext';
5
6
  import { useMetrika } from '../../hooks/useMetrika';
6
7
  import { PredefinedEventTypes } from '../../models';
7
8
  import { useHandleHubspotEvents, useAnalytics } from '../../hooks';
8
9
  import HubspotFormContainer from './HubspotFormContainer';
9
- import { BlockPositionContext } from '../../context/blockPositionContext';
10
10
  import './HubspotForm.css';
11
11
  const b = block('hubspot-form');
12
12
  const HubspotForm = (props) => {
@@ -4,17 +4,17 @@ import { block, getThemedValue } from '../../utils';
4
4
  import { AuthorType, PredefinedEventTypes } from '../../models';
5
5
  import { Author, Image, HTML } from '../../components';
6
6
  import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
7
+ import { BlockPositionContext } from '../../context/blockPositionContext';
7
8
  import { getMediaImage } from '../../components/Media/Image/utils';
8
9
  import { useAnalytics } from '../../hooks';
9
- import { BlockPositionContext } from '../../context/blockPositionContext';
10
10
  import './Quote.css';
11
11
  const b = block('quote');
12
12
  const Quote = (props) => {
13
13
  const { theme: textTheme = 'light', color, image, border = 'shadow', text, logo, author, url, buttonText, } = props;
14
14
  const { themeValue: theme } = useContext(ThemeValueContext);
15
+ const context = useContext(BlockPositionContext);
15
16
  const imageThemed = getThemedValue(image, theme);
16
17
  const imageData = getMediaImage(imageThemed);
17
- const context = useContext(BlockPositionContext);
18
18
  const defaultEvent = useMemo(() => ({
19
19
  name: 'quote-button-click',
20
20
  type: PredefinedEventTypes.Default,
@@ -64,9 +64,6 @@ export declare const Quote: {
64
64
  };
65
65
  };
66
66
  };
67
- context: {
68
- type: string;
69
- };
70
67
  type: {};
71
68
  when: {};
72
69
  };
@@ -15,8 +15,6 @@ export const Quote = {
15
15
  }, url: {
16
16
  type: 'string',
17
17
  pattern: urlPattern,
18
- }, theme: ThemeProps, author: authorItem, context: {
19
- type: 'string',
20
- } }),
18
+ }, theme: ThemeProps, author: authorItem }),
21
19
  },
22
20
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "1.15.0-alpha.21",
3
+ "version": "1.15.0-alpha.22",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -80,4 +80,7 @@ export type AnalyticsEvent<T = {}> = T & {
80
80
  context?: string;
81
81
  target?: string;
82
82
  };
83
+ export interface AnalyticsEventsBase {
84
+ analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
85
+ }
83
86
  export {};
@@ -109,7 +109,6 @@ export interface HeaderBlockProps {
109
109
  verticalOffset?: 's' | 'm' | 'l' | 'xl';
110
110
  breadcrumbs?: HeaderBreadCrumbsProps;
111
111
  status?: JSX.Element;
112
- context?: string;
113
112
  }
114
113
  export type CalculatorProps = Animatable;
115
114
  export interface SimpleBlockProps extends Animatable, Childable {
@@ -128,7 +127,6 @@ export interface ExtendedFeaturesProps extends Animatable {
128
127
  title?: TitleProps | string;
129
128
  description?: string;
130
129
  colSizes?: GridColumnSizesType;
131
- context?: string;
132
130
  }
133
131
  export interface PromoFeaturesItem {
134
132
  title: string;
@@ -141,7 +139,6 @@ export interface PromoFeaturesProps extends Animatable {
141
139
  title?: TitleProps | string;
142
140
  description?: string;
143
141
  theme?: 'grey' | 'default';
144
- context?: string;
145
142
  }
146
143
  export interface QuestionItem {
147
144
  title: string;
@@ -166,7 +163,6 @@ export interface MediaContentProps {
166
163
  links?: LinkProps[];
167
164
  buttons?: ButtonProps[];
168
165
  size?: ContentSize;
169
- context?: string;
170
166
  }
171
167
  export interface MediaBlockProps extends Animatable, MediaContentProps {
172
168
  media: ThemeSupporting<MediaProps>;
@@ -184,7 +180,6 @@ export interface PreviewBlockProps extends Animatable {
184
180
  ratioMediaContent?: PreviewRatioMediaContent;
185
181
  stopVideo?: boolean;
186
182
  showImmediately?: boolean;
187
- context?: string;
188
183
  }
189
184
  export interface InfoBlockProps {
190
185
  theme?: TextTheme;
@@ -199,7 +194,6 @@ export interface InfoBlockProps {
199
194
  links?: Pick<LinkProps, 'text' | 'url'>[];
200
195
  leftContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;
201
196
  rightContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;
202
- context?: string;
203
197
  }
204
198
  export interface SecurityBlockPoint {
205
199
  img: string;
@@ -215,7 +209,6 @@ export interface SecurityBlockProps extends Animatable {
215
209
  title: string;
216
210
  points?: SecurityBlockPoint[];
217
211
  media: MediaProps;
218
- context?: string;
219
212
  }
220
213
  export interface TableProps {
221
214
  content: string[][];
@@ -242,7 +235,6 @@ export interface TabsBlockProps extends BlockHeaderProps, Animatable {
242
235
  centered?: boolean;
243
236
  direction?: MediaDirection;
244
237
  items: TabsBlockItem[];
245
- context?: string;
246
238
  }
247
239
  export interface LinkTableBlockProps extends BlockHeaderProps {
248
240
  items: LinkProps[][];
@@ -272,7 +264,6 @@ export interface ContentLayoutBlockProps {
272
264
  };
273
265
  textContent: ContentBlockProps;
274
266
  fileContent?: FileLinkProps[];
275
- context?: string;
276
267
  }
277
268
  export interface ContentBlockProps {
278
269
  title?: TitleBaseProps | string;
@@ -284,7 +275,6 @@ export interface ContentBlockProps {
284
275
  colSizes?: GridColumnSizesType;
285
276
  centered?: boolean;
286
277
  theme?: ContentTheme;
287
- context?: string;
288
278
  }
289
279
  export declare enum PCShareSocialNetwork {
290
280
  Vk = "vk",
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { ButtonSize, ButtonView } from '@gravity-ui/uikit';
3
3
  import { ThemeSupporting } from '../../utils/theme';
4
- import { AnalyticsEvent, ClassNameProps, PixelEventType } from '../common';
4
+ import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
5
5
  export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
@@ -100,7 +100,7 @@ export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, P
100
100
  imageClassName?: string;
101
101
  hide?: boolean;
102
102
  }
103
- export interface MediaVideoProps {
103
+ export interface MediaVideoProps extends AnalyticsEventsBase {
104
104
  src: string[];
105
105
  type?: MediaVideoType;
106
106
  loop?: LoopProps | boolean;
@@ -110,10 +110,8 @@ export interface MediaVideoProps {
110
110
  playButton?: PlayButtonProps;
111
111
  controls?: MediaVideoControlsType;
112
112
  metrika?: MetrikaVideo;
113
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
114
- context?: string;
115
113
  }
116
- export interface LinkProps extends Stylable {
114
+ export interface LinkProps extends AnalyticsEventsBase, Stylable {
117
115
  url: string;
118
116
  text?: string;
119
117
  textSize?: TextSize;
@@ -123,7 +121,6 @@ export interface LinkProps extends Stylable {
123
121
  target?: string;
124
122
  metrikaGoals?: MetrikaGoal;
125
123
  pixelEvents?: ButtonPixel;
126
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
127
124
  context?: string;
128
125
  }
129
126
  export interface FileLinkProps extends ClassNameProps {
@@ -134,7 +131,7 @@ export interface FileLinkProps extends ClassNameProps {
134
131
  theme?: ContentTheme;
135
132
  onClick?: () => void;
136
133
  }
137
- export interface ButtonProps {
134
+ export interface ButtonProps extends AnalyticsEventsBase {
138
135
  text: string;
139
136
  url: string;
140
137
  primary?: boolean;
@@ -143,7 +140,6 @@ export interface ButtonProps {
143
140
  img?: ButtonImageProps | string;
144
141
  metrikaGoals?: MetrikaGoal;
145
142
  pixelEvents?: ButtonPixel;
146
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
147
143
  target?: string;
148
144
  context?: string;
149
145
  }
@@ -169,12 +165,10 @@ export interface MediaVideoProps {
169
165
  metrika?: MetrikaVideo;
170
166
  }
171
167
  export type ThemedMediaVideoProps = ThemeSupporting<MediaVideoProps>;
172
- export interface MediaComponentVideoProps {
168
+ export interface MediaComponentVideoProps extends AnalyticsEventsBase {
173
169
  video: MediaVideoProps;
174
170
  height?: number;
175
171
  metrika?: MetrikaVideo;
176
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
177
- context?: string;
178
172
  previewImg?: string;
179
173
  }
180
174
  export interface MediaComponentYoutubeProps {
@@ -226,12 +220,10 @@ export interface HeaderBreadCrumbsProps extends ClassNameProps {
226
220
  items: {
227
221
  url: string;
228
222
  text: ReactNode;
229
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
230
223
  }[];
231
224
  theme?: TextTheme;
232
225
  metrikaGoals?: MetrikaGoal;
233
226
  pixelEvents?: ButtonPixel;
234
- context?: string;
235
227
  }
236
228
  export interface PreviewContentItemProps {
237
229
  title: string;
@@ -3,7 +3,7 @@ import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
4
  import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
5
5
  import { ContentBlockProps } from './blocks';
6
- import { AnalyticsEvent, PixelEvent } from '../common';
6
+ import { AnalyticsEventsBase, PixelEvent } from '../common';
7
7
  export declare enum SubBlockType {
8
8
  Divider = "divider",
9
9
  Quote = "quote",
@@ -34,7 +34,7 @@ export interface DividerProps {
34
34
  size?: DividerSize;
35
35
  border?: boolean;
36
36
  }
37
- export interface HubspotFormProps extends HubspotEventHandlers {
37
+ export interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsBase {
38
38
  className?: string;
39
39
  theme?: ContentTheme;
40
40
  isMobile?: boolean;
@@ -61,8 +61,6 @@ export interface HubspotFormProps extends HubspotEventHandlers {
61
61
  onLoad?: (arg: HubspotEventData) => void;
62
62
  pixelEvents?: string | string[] | PixelEvent | PixelEvent[] | ButtonPixel;
63
63
  hubspotEvents?: string[];
64
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
65
- context?: string;
66
64
  }
67
65
  export interface PartnerProps extends CardBaseProps {
68
66
  text: string;
@@ -78,7 +76,6 @@ export interface QuoteProps extends Themable, CardBaseProps {
78
76
  author?: AuthorItem;
79
77
  buttonText?: string;
80
78
  theme?: TextTheme;
81
- context?: string;
82
79
  }
83
80
  export interface NewsCardData {
84
81
  id: number;
@@ -113,7 +110,6 @@ export interface BannerCardProps {
113
110
  color?: ThemeSupporting<string>;
114
111
  theme?: TextTheme;
115
112
  button: Pick<ButtonProps, 'text' | 'url' | 'target'>;
116
- context?: string;
117
113
  }
118
114
  export interface MediaCardProps extends MediaProps, CardBaseProps {
119
115
  }
@@ -121,7 +117,7 @@ export interface CardWithImageLinkProps extends Omit<LinkProps, 'text' | 'url'>
121
117
  title: string;
122
118
  link: string;
123
119
  }
124
- export interface CardWithImageProps extends ClassNameProps, Pick<ContentBlockProps, 'title' | 'additionalInfo' | 'buttons' | 'theme' | 'context'> {
120
+ export interface CardWithImageProps extends ClassNameProps, Pick<ContentBlockProps, 'title' | 'additionalInfo' | 'buttons' | 'theme'> {
125
121
  image: string;
126
122
  description?: string;
127
123
  disableCompress?: boolean;
@@ -1,30 +0,0 @@
1
- @charset "UTF-8";
2
- /* use this for style redefinitions to awoid problems with
3
- unpredictable css rules order in build */
4
- .pc-header-breadcrumbs-item__item {
5
- display: inline-block;
6
- }
7
- .pc-header-breadcrumbs-item__text {
8
- font-size: var(--yc-text-body-2-font-size);
9
- line-height: var(--yc-text-body-2-line-height);
10
- outline: none;
11
- color: var(--yc-color-text-link);
12
- text-decoration: none;
13
- cursor: pointer;
14
- color: var(--yc-color-text-secondary);
15
- }
16
- .utilityfocus .pc-header-breadcrumbs-item__text:focus {
17
- outline: 2px solid #ffdb4d;
18
- }
19
- .pc-header-breadcrumbs-item__text:hover, .pc-header-breadcrumbs-item__text:active {
20
- --pc-text-header-color: var(--yc-color-text-link-hover);
21
- color: var(--yc-color-text-link-hover);
22
- }
23
- .pc-header-breadcrumbs-item__text:after {
24
- content: " / ";
25
- margin: 0 8px 0 6px;
26
- color: var(--yc-color-text-secondary);
27
- }
28
- .pc-header-breadcrumbs-item__text:hover {
29
- color: var(--yc-color-text-primary);
30
- }
@@ -1,12 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { AnalyticsEvent, ButtonPixel, MetrikaGoal } from '../../models';
3
- type HeaderBreadcrumbsItemProps = {
4
- url: string;
5
- text: ReactNode;
6
- metrikaGoals?: MetrikaGoal;
7
- pixelEvents?: ButtonPixel;
8
- analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
9
- context?: string;
10
- };
11
- export default function HeaderBreadcrumbsItem({ url, text, metrikaGoals, pixelEvents, analyticsEvents, }: HeaderBreadcrumbsItemProps): JSX.Element;
12
- export {};