@gravity-ui/page-constructor 4.51.2-alpha.0 → 4.53.0

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 (264) hide show
  1. package/README.md +3 -5
  2. package/build/cjs/blocks/Banner/schema.d.ts +264 -0
  3. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +2 -2
  4. package/build/cjs/blocks/FilterBlock/FilterBlock.js +2 -2
  5. package/build/cjs/blocks/FilterBlock/i18n/index.d.ts +2 -1
  6. package/build/cjs/blocks/FilterBlock/i18n/index.js +3 -4
  7. package/build/cjs/blocks/Map/schema.d.ts +88 -0
  8. package/build/cjs/blocks/Media/schema.d.ts +176 -0
  9. package/build/cjs/blocks/Security/i18n/index.d.ts +2 -1
  10. package/build/cjs/blocks/Security/i18n/index.js +3 -4
  11. package/build/cjs/blocks/Share/Share.js +4 -4
  12. package/build/cjs/blocks/Share/i18n/index.d.ts +2 -1
  13. package/build/cjs/blocks/Share/i18n/index.js +3 -4
  14. package/build/cjs/blocks/Slider/Arrow/Arrow.js +2 -2
  15. package/build/cjs/blocks/Slider/i18n/index.d.ts +2 -1
  16. package/build/cjs/blocks/Slider/i18n/index.js +3 -4
  17. package/build/cjs/components/Button/Button.js +7 -4
  18. package/build/cjs/components/Button/i18n/index.d.ts +2 -1
  19. package/build/cjs/components/Button/i18n/index.js +3 -4
  20. package/build/cjs/components/CardBase/CardBase.d.ts +3 -1
  21. package/build/cjs/components/CardBase/CardBase.js +4 -1
  22. package/build/cjs/components/Control/Control.js +2 -2
  23. package/build/cjs/components/Control/i18n/index.d.ts +2 -1
  24. package/build/cjs/components/Control/i18n/index.js +3 -4
  25. package/build/cjs/components/FullscreenImage/FullscreenImage.js +3 -3
  26. package/build/cjs/components/FullscreenImage/i18n/index.d.ts +2 -1
  27. package/build/cjs/components/FullscreenImage/i18n/index.js +3 -4
  28. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +6 -3
  29. package/build/cjs/components/Link/Link.js +4 -1
  30. package/build/cjs/components/Map/GoogleMap.js +2 -2
  31. package/build/cjs/components/Map/YMap/YandexMap.js +2 -2
  32. package/build/cjs/components/Map/YMap/i18n/index.d.ts +2 -1
  33. package/build/cjs/components/Map/YMap/i18n/index.js +3 -4
  34. package/build/cjs/components/Media/DataLens/DataLens.js +2 -2
  35. package/build/cjs/components/Media/DataLens/i18n/index.d.ts +2 -1
  36. package/build/cjs/components/Media/DataLens/i18n/index.js +3 -4
  37. package/build/cjs/components/Media/Iframe/Iframe.js +2 -2
  38. package/build/cjs/components/Media/Iframe/i18n/index.d.ts +2 -1
  39. package/build/cjs/components/Media/Iframe/i18n/index.js +3 -4
  40. package/build/cjs/components/Media/Media.js +3 -1
  41. package/build/cjs/components/Media/Video/Video.js +3 -2
  42. package/build/cjs/components/OverflowScroller/OverflowScroller.js +2 -2
  43. package/build/cjs/components/OverflowScroller/i18n/index.d.ts +2 -1
  44. package/build/cjs/components/OverflowScroller/i18n/index.js +3 -4
  45. package/build/cjs/components/ReactPlayer/CustomBarControls.js +3 -3
  46. package/build/cjs/components/ReactPlayer/ReactPlayer.js +38 -6
  47. package/build/cjs/components/ReactPlayer/i18n/index.d.ts +2 -1
  48. package/build/cjs/components/ReactPlayer/i18n/index.js +3 -4
  49. package/build/cjs/components/ReactPlayer/utils/youtube.d.ts +2 -0
  50. package/build/cjs/components/ReactPlayer/utils/youtube.js +7 -0
  51. package/build/cjs/components/UnpublishedLabel/UnpublishedLabel.js +2 -2
  52. package/build/cjs/components/UnpublishedLabel/i18n/index.d.ts +2 -1
  53. package/build/cjs/components/UnpublishedLabel/i18n/index.js +3 -4
  54. package/build/cjs/components/VideoBlock/VideoBlock.js +2 -2
  55. package/build/cjs/components/VideoBlock/i18n/index.d.ts +2 -1
  56. package/build/cjs/components/VideoBlock/i18n/index.js +3 -4
  57. package/build/cjs/components/YandexForm/YandexForm.js +13 -2
  58. package/build/cjs/constructor-items.d.ts +1 -0
  59. package/build/cjs/constructor-items.js +1 -0
  60. package/build/cjs/containers/Loadable/Loadable.js +2 -2
  61. package/build/cjs/containers/Loadable/i18n/index.d.ts +2 -1
  62. package/build/cjs/containers/Loadable/i18n/index.js +3 -4
  63. package/build/cjs/containers/PageConstructor/Provider.d.ts +2 -0
  64. package/build/cjs/containers/PageConstructor/Provider.js +3 -1
  65. package/build/cjs/context/localeContext/localeContext.d.ts +2 -2
  66. package/build/cjs/context/localeContext/localeContext.js +2 -2
  67. package/build/cjs/context/metrikaContext/index.d.ts +1 -0
  68. package/build/cjs/context/metrikaContext/index.js +4 -0
  69. package/build/cjs/context/metrikaContext/metrikaContext.d.ts +13 -0
  70. package/build/cjs/context/metrikaContext/metrikaContext.js +6 -0
  71. package/build/cjs/editor/components/ControlPanel/ControlPanel.js +3 -3
  72. package/build/cjs/editor/components/ControlPanel/i18n/en.json +1 -2
  73. package/build/cjs/editor/components/ControlPanel/i18n/index.d.ts +2 -1
  74. package/build/cjs/editor/components/ControlPanel/i18n/index.js +3 -4
  75. package/build/cjs/editor/components/ControlPanel/i18n/ru.json +1 -2
  76. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +3 -3
  77. package/build/cjs/editor/components/ErrorBoundary/i18n/index.d.ts +2 -1
  78. package/build/cjs/editor/components/ErrorBoundary/i18n/index.js +3 -4
  79. package/build/cjs/editor/components/NotFoundBlock/NotFoundBlock.js +2 -2
  80. package/build/cjs/editor/components/NotFoundBlock/i18n/index.d.ts +2 -1
  81. package/build/cjs/editor/components/NotFoundBlock/i18n/index.js +3 -4
  82. package/build/cjs/hooks/useAnalytics.d.ts +2 -2
  83. package/build/cjs/hooks/useMetrika.d.ts +13 -1
  84. package/build/cjs/hooks/useMetrika.js +41 -0
  85. package/build/cjs/i18n.d.ts +2 -0
  86. package/build/cjs/i18n.js +12 -0
  87. package/build/cjs/models/common.d.ts +53 -2
  88. package/build/cjs/models/common.js +25 -1
  89. package/build/cjs/models/constructor-items/common.d.ts +29 -2
  90. package/build/cjs/models/constructor-items/sub-blocks.d.ts +20 -4
  91. package/build/cjs/models/constructor-items/sub-blocks.js +7 -1
  92. package/build/cjs/models/guards.d.ts +2 -0
  93. package/build/cjs/models/guards.js +5 -1
  94. package/build/cjs/schema/constants.d.ts +252 -0
  95. package/build/cjs/schema/constants.js +2 -1
  96. package/build/cjs/schema/validators/common.d.ts +188 -0
  97. package/build/cjs/schema/validators/common.js +31 -0
  98. package/build/cjs/schema/validators/index.d.ts +2 -0
  99. package/build/cjs/schema/validators/index.js +2 -0
  100. package/build/cjs/schema/validators/pixel.d.ts +57 -0
  101. package/build/cjs/schema/validators/pixel.js +63 -0
  102. package/build/cjs/schema/validators/sub-blocks.d.ts +1 -0
  103. package/build/cjs/schema/validators/sub-blocks.js +1 -0
  104. package/build/cjs/sub-blocks/BasicCard/BasicCard.js +2 -2
  105. package/build/cjs/sub-blocks/HubspotForm/index.js +6 -1
  106. package/build/cjs/sub-blocks/ImageCard/ImageCard.css +59 -0
  107. package/build/cjs/sub-blocks/ImageCard/ImageCard.d.ts +3 -0
  108. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +21 -0
  109. package/build/cjs/sub-blocks/ImageCard/schema.d.ts +78 -0
  110. package/build/cjs/sub-blocks/ImageCard/schema.js +24 -0
  111. package/build/cjs/sub-blocks/LayoutItem/utils.d.ts +15 -1
  112. package/build/cjs/sub-blocks/PriceCard/schema.d.ts +88 -0
  113. package/build/cjs/sub-blocks/index.d.ts +1 -0
  114. package/build/cjs/sub-blocks/index.js +3 -1
  115. package/build/cjs/text-transform/common.d.ts +4 -4
  116. package/build/cjs/text-transform/transformers.d.ts +2 -2
  117. package/build/cjs/text-transform/utils.d.ts +6 -6
  118. package/build/cjs/text-transform/utils.js +5 -5
  119. package/build/cjs/utils/configure.d.ts +12 -0
  120. package/build/cjs/utils/configure.js +26 -0
  121. package/build/cjs/utils/index.d.ts +1 -0
  122. package/build/cjs/utils/index.js +4 -1
  123. package/build/cjs/utils/registerKeyset.d.ts +5 -0
  124. package/build/cjs/utils/registerKeyset.js +9 -0
  125. package/build/esm/blocks/Banner/schema.d.ts +264 -0
  126. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +2 -2
  127. package/build/esm/blocks/FilterBlock/FilterBlock.js +1 -1
  128. package/build/esm/blocks/FilterBlock/i18n/index.d.ts +2 -1
  129. package/build/esm/blocks/FilterBlock/i18n/index.js +3 -3
  130. package/build/esm/blocks/Map/schema.d.ts +88 -0
  131. package/build/esm/blocks/Media/schema.d.ts +176 -0
  132. package/build/esm/blocks/Security/i18n/index.d.ts +2 -1
  133. package/build/esm/blocks/Security/i18n/index.js +3 -3
  134. package/build/esm/blocks/Share/Share.js +1 -1
  135. package/build/esm/blocks/Share/i18n/index.d.ts +2 -1
  136. package/build/esm/blocks/Share/i18n/index.js +3 -3
  137. package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
  138. package/build/esm/blocks/Slider/i18n/index.d.ts +2 -1
  139. package/build/esm/blocks/Slider/i18n/index.js +3 -3
  140. package/build/esm/components/Button/Button.js +6 -3
  141. package/build/esm/components/Button/i18n/index.d.ts +2 -1
  142. package/build/esm/components/Button/i18n/index.js +3 -3
  143. package/build/esm/components/CardBase/CardBase.d.ts +3 -1
  144. package/build/esm/components/CardBase/CardBase.js +4 -1
  145. package/build/esm/components/Control/Control.js +1 -1
  146. package/build/esm/components/Control/i18n/index.d.ts +2 -1
  147. package/build/esm/components/Control/i18n/index.js +3 -3
  148. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  149. package/build/esm/components/FullscreenImage/i18n/index.d.ts +2 -1
  150. package/build/esm/components/FullscreenImage/i18n/index.js +3 -3
  151. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +6 -3
  152. package/build/esm/components/Link/Link.js +4 -1
  153. package/build/esm/components/Map/GoogleMap.js +1 -1
  154. package/build/esm/components/Map/YMap/YandexMap.js +1 -1
  155. package/build/esm/components/Map/YMap/i18n/index.d.ts +2 -1
  156. package/build/esm/components/Map/YMap/i18n/index.js +3 -3
  157. package/build/esm/components/Media/DataLens/DataLens.js +1 -1
  158. package/build/esm/components/Media/DataLens/i18n/index.d.ts +2 -1
  159. package/build/esm/components/Media/DataLens/i18n/index.js +3 -3
  160. package/build/esm/components/Media/Iframe/Iframe.js +1 -1
  161. package/build/esm/components/Media/Iframe/i18n/index.d.ts +2 -1
  162. package/build/esm/components/Media/Iframe/i18n/index.js +3 -3
  163. package/build/esm/components/Media/Media.js +3 -1
  164. package/build/esm/components/Media/Video/Video.js +3 -2
  165. package/build/esm/components/OverflowScroller/OverflowScroller.js +1 -1
  166. package/build/esm/components/OverflowScroller/i18n/index.d.ts +2 -1
  167. package/build/esm/components/OverflowScroller/i18n/index.js +3 -3
  168. package/build/esm/components/ReactPlayer/CustomBarControls.js +1 -1
  169. package/build/esm/components/ReactPlayer/ReactPlayer.js +37 -5
  170. package/build/esm/components/ReactPlayer/i18n/index.d.ts +2 -1
  171. package/build/esm/components/ReactPlayer/i18n/index.js +3 -3
  172. package/build/esm/components/ReactPlayer/utils/youtube.d.ts +2 -0
  173. package/build/esm/components/ReactPlayer/utils/youtube.js +3 -0
  174. package/build/esm/components/UnpublishedLabel/UnpublishedLabel.js +1 -1
  175. package/build/esm/components/UnpublishedLabel/i18n/index.d.ts +2 -1
  176. package/build/esm/components/UnpublishedLabel/i18n/index.js +3 -3
  177. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  178. package/build/esm/components/VideoBlock/i18n/index.d.ts +2 -1
  179. package/build/esm/components/VideoBlock/i18n/index.js +3 -3
  180. package/build/esm/components/YandexForm/YandexForm.js +13 -2
  181. package/build/esm/constructor-items.d.ts +1 -0
  182. package/build/esm/constructor-items.js +2 -1
  183. package/build/esm/containers/Loadable/Loadable.js +1 -1
  184. package/build/esm/containers/Loadable/i18n/index.d.ts +2 -1
  185. package/build/esm/containers/Loadable/i18n/index.js +3 -3
  186. package/build/esm/containers/PageConstructor/Provider.d.ts +2 -0
  187. package/build/esm/containers/PageConstructor/Provider.js +3 -1
  188. package/build/esm/context/localeContext/localeContext.d.ts +2 -2
  189. package/build/esm/context/localeContext/localeContext.js +1 -1
  190. package/build/esm/context/metrikaContext/index.d.ts +1 -0
  191. package/build/esm/context/metrikaContext/index.js +1 -0
  192. package/build/esm/context/metrikaContext/metrikaContext.d.ts +13 -0
  193. package/build/esm/context/metrikaContext/metrikaContext.js +2 -0
  194. package/build/esm/editor/components/ControlPanel/ControlPanel.js +2 -2
  195. package/build/esm/editor/components/ControlPanel/i18n/en.json +1 -2
  196. package/build/esm/editor/components/ControlPanel/i18n/index.d.ts +2 -1
  197. package/build/esm/editor/components/ControlPanel/i18n/index.js +3 -3
  198. package/build/esm/editor/components/ControlPanel/i18n/ru.json +1 -2
  199. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +1 -1
  200. package/build/esm/editor/components/ErrorBoundary/i18n/index.d.ts +2 -1
  201. package/build/esm/editor/components/ErrorBoundary/i18n/index.js +3 -3
  202. package/build/esm/editor/components/NotFoundBlock/NotFoundBlock.js +1 -1
  203. package/build/esm/editor/components/NotFoundBlock/i18n/index.d.ts +2 -1
  204. package/build/esm/editor/components/NotFoundBlock/i18n/index.js +3 -3
  205. package/build/esm/hooks/useAnalytics.d.ts +2 -2
  206. package/build/esm/hooks/useMetrika.d.ts +13 -1
  207. package/build/esm/hooks/useMetrika.js +38 -1
  208. package/build/esm/i18n.d.ts +2 -0
  209. package/build/esm/i18n.js +9 -0
  210. package/build/esm/models/common.d.ts +53 -2
  211. package/build/esm/models/common.js +24 -0
  212. package/build/esm/models/constructor-items/common.d.ts +29 -2
  213. package/build/esm/models/constructor-items/sub-blocks.d.ts +20 -4
  214. package/build/esm/models/constructor-items/sub-blocks.js +6 -0
  215. package/build/esm/models/guards.d.ts +2 -0
  216. package/build/esm/models/guards.js +3 -0
  217. package/build/esm/schema/constants.d.ts +252 -0
  218. package/build/esm/schema/constants.js +3 -2
  219. package/build/esm/schema/validators/common.d.ts +188 -0
  220. package/build/esm/schema/validators/common.js +31 -0
  221. package/build/esm/schema/validators/index.d.ts +2 -0
  222. package/build/esm/schema/validators/index.js +2 -0
  223. package/build/esm/schema/validators/pixel.d.ts +57 -0
  224. package/build/esm/schema/validators/pixel.js +60 -0
  225. package/build/esm/schema/validators/sub-blocks.d.ts +1 -0
  226. package/build/esm/schema/validators/sub-blocks.js +1 -0
  227. package/build/esm/sub-blocks/BasicCard/BasicCard.js +2 -2
  228. package/build/esm/sub-blocks/HubspotForm/index.js +6 -1
  229. package/build/esm/sub-blocks/ImageCard/ImageCard.css +59 -0
  230. package/build/esm/sub-blocks/ImageCard/ImageCard.d.ts +4 -0
  231. package/build/esm/sub-blocks/ImageCard/ImageCard.js +19 -0
  232. package/build/esm/sub-blocks/ImageCard/schema.d.ts +78 -0
  233. package/build/esm/sub-blocks/ImageCard/schema.js +20 -0
  234. package/build/esm/sub-blocks/LayoutItem/utils.d.ts +15 -1
  235. package/build/esm/sub-blocks/PriceCard/schema.d.ts +88 -0
  236. package/build/esm/sub-blocks/index.d.ts +1 -0
  237. package/build/esm/sub-blocks/index.js +1 -0
  238. package/build/esm/text-transform/common.d.ts +4 -4
  239. package/build/esm/text-transform/transformers.d.ts +2 -2
  240. package/build/esm/text-transform/utils.d.ts +6 -6
  241. package/build/esm/text-transform/utils.js +1 -1
  242. package/build/esm/utils/configure.d.ts +12 -0
  243. package/build/esm/utils/configure.js +20 -0
  244. package/build/esm/utils/index.d.ts +1 -0
  245. package/build/esm/utils/index.js +1 -0
  246. package/build/esm/utils/registerKeyset.d.ts +5 -0
  247. package/build/esm/utils/registerKeyset.js +5 -0
  248. package/package.json +2 -1
  249. package/server/models/common.d.ts +53 -2
  250. package/server/models/common.js +25 -1
  251. package/server/models/constructor-items/common.d.ts +29 -2
  252. package/server/models/constructor-items/sub-blocks.d.ts +20 -4
  253. package/server/models/constructor-items/sub-blocks.js +7 -1
  254. package/server/models/guards.d.ts +2 -0
  255. package/server/models/guards.js +5 -1
  256. package/server/text-transform/common.d.ts +4 -4
  257. package/server/text-transform/transformers.d.ts +2 -2
  258. package/server/text-transform/utils.d.ts +6 -6
  259. package/server/text-transform/utils.js +5 -5
  260. package/server/utils/configure.d.ts +12 -0
  261. package/server/utils/configure.js +26 -0
  262. package/server/utils/index.d.ts +1 -0
  263. package/server/utils/index.js +4 -1
  264. package/widget/index.js +1 -1
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { MetrikaGoal } from './';
2
3
  export interface Refable<T> {
3
4
  ref?: React.Ref<T>;
4
5
  }
@@ -7,9 +8,59 @@ export declare enum Theme {
7
8
  Dark = "dark"
8
9
  }
9
10
  export declare const themeNames: Record<Theme, string>;
11
+ /**
12
+ * @deprecated Pixel will be deleted
13
+ */
14
+ type PixelCommand = 'track' | 'trackCustom';
15
+ /**
16
+ * @deprecated Pixel will be deleted
17
+ */
18
+ export interface PixelEvent {
19
+ command: PixelCommand;
20
+ event: PixelEventType | string;
21
+ data?: Object;
22
+ }
23
+ /**
24
+ * @deprecated Pixel will be deleted from package
25
+ */
26
+ export declare enum PixelEventType {
27
+ AddPaymentInfo = "AddPaymentInfo",
28
+ AddToCart = "AddToCart",
29
+ AddToWishlist = "AddToWishlist",
30
+ CompleteRegistration = "CompleteRegistration",
31
+ Contact = "Contact",
32
+ CustomizeProduct = "CustomizeProduct",
33
+ Donate = "Donate",
34
+ FindLocation = "FindLocation",
35
+ InitiateCheckout = "InitiateCheckout",
36
+ Lead = "Lead",
37
+ PageView = "PageView",
38
+ Purchase = "Purchase",
39
+ Schedule = "Schedule",
40
+ Search = "Search",
41
+ StartTrial = "StartTrial",
42
+ SubmitApplication = "SubmitApplication",
43
+ Subscribe = "Subscribe",
44
+ ViewContent = "ViewContent"
45
+ }
10
46
  export type Modifiers = {
11
47
  [name: string]: string | boolean | undefined;
12
48
  };
49
+ /**
50
+ * @deprecated Pixel will be deleted
51
+ */
52
+ export interface Pixel<TEvent = string> {
53
+ trackStandard: (event: TEvent, data?: Object) => void;
54
+ trackCustom: (event: string, data?: Object) => void;
55
+ track: (trackEvents: string | string[] | PixelEvent[] | PixelEvent) => void;
56
+ }
57
+ /**
58
+ * @deprecated Metrika will be deleted
59
+ */
60
+ export interface Metrika {
61
+ reachGoal: (counterName: string, ...args: any) => void;
62
+ reachGoals: (goals: MetrikaGoal, counterName?: string) => void;
63
+ }
13
64
  export interface ClassNameProps {
14
65
  className?: string;
15
66
  }
@@ -46,7 +97,7 @@ export type AnalyticsEvent<T = {}> = T & {
46
97
  context?: string;
47
98
  target?: string;
48
99
  };
49
- export type AnalyticsEventsProp = AnalyticsEvent | AnalyticsEvent[];
50
100
  export interface AnalyticsEventsBase {
51
- analyticsEvents?: AnalyticsEventsProp;
101
+ analyticsEvents?: AnalyticsEvent | AnalyticsEvent[];
52
102
  }
103
+ export {};
@@ -7,6 +7,30 @@ export const themeNames = {
7
7
  [Theme.Light]: 'Light',
8
8
  [Theme.Dark]: 'Dark',
9
9
  };
10
+ /**
11
+ * @deprecated Pixel will be deleted from package
12
+ */
13
+ export var PixelEventType;
14
+ (function (PixelEventType) {
15
+ PixelEventType["AddPaymentInfo"] = "AddPaymentInfo";
16
+ PixelEventType["AddToCart"] = "AddToCart";
17
+ PixelEventType["AddToWishlist"] = "AddToWishlist";
18
+ PixelEventType["CompleteRegistration"] = "CompleteRegistration";
19
+ PixelEventType["Contact"] = "Contact";
20
+ PixelEventType["CustomizeProduct"] = "CustomizeProduct";
21
+ PixelEventType["Donate"] = "Donate";
22
+ PixelEventType["FindLocation"] = "FindLocation";
23
+ PixelEventType["InitiateCheckout"] = "InitiateCheckout";
24
+ PixelEventType["Lead"] = "Lead";
25
+ PixelEventType["PageView"] = "PageView";
26
+ PixelEventType["Purchase"] = "Purchase";
27
+ PixelEventType["Schedule"] = "Schedule";
28
+ PixelEventType["Search"] = "Search";
29
+ PixelEventType["StartTrial"] = "StartTrial";
30
+ PixelEventType["SubmitApplication"] = "SubmitApplication";
31
+ PixelEventType["Subscribe"] = "Subscribe";
32
+ PixelEventType["ViewContent"] = "ViewContent";
33
+ })(PixelEventType || (PixelEventType = {}));
10
34
  export var PredefinedEventTypes;
11
35
  (function (PredefinedEventTypes) {
12
36
  PredefinedEventTypes["Default"] = "default-event";
@@ -1,7 +1,7 @@
1
1
  import React, { CSSProperties, HTMLProps, ReactNode } from 'react';
2
2
  import { ButtonView, ButtonProps as UikitButtonProps } from '@gravity-ui/uikit';
3
3
  import { ThemeSupporting } from '../../utils';
4
- import { AnalyticsEventsBase, AnalyticsEventsProp, ClassNameProps, QAProps } from '../common';
4
+ import { AnalyticsEventsBase, ClassNameProps, PixelEvent, PixelEventType, QAProps } from '../common';
5
5
  export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
@@ -62,6 +62,7 @@ export type ContentSize = 's' | 'l';
62
62
  export type ContentTextSize = 's' | 'm' | 'l';
63
63
  export type ContentTheme = 'default' | 'dark' | 'light';
64
64
  export type FileLinkType = 'vertical' | 'horizontal';
65
+ export type ImageCardMargins = 's' | 'm';
65
66
  export interface Themable {
66
67
  theme?: TextTheme;
67
68
  }
@@ -124,6 +125,7 @@ export interface MediaVideoProps extends AnalyticsEventsBase {
124
125
  playButton?: PlayButtonProps;
125
126
  controls?: MediaVideoControlsType;
126
127
  customControlsOptions?: CustomControlsOptions;
128
+ metrika?: MetrikaVideo;
127
129
  ariaLabel?: string;
128
130
  }
129
131
  export interface LinkProps extends AnalyticsEventsBase, Stylable, Tabbable {
@@ -135,6 +137,8 @@ export interface LinkProps extends AnalyticsEventsBase, Stylable, Tabbable {
135
137
  colorTheme?: TextTheme;
136
138
  arrow?: boolean;
137
139
  target?: string;
140
+ metrikaGoals?: MetrikaGoal;
141
+ pixelEvents?: ButtonPixel;
138
142
  extraProps?: HTMLProps<HTMLAnchorElement>;
139
143
  }
140
144
  export interface FileLinkProps extends ClassNameProps, Tabbable {
@@ -155,6 +159,8 @@ export interface ButtonProps extends AnalyticsEventsBase, Pick<UikitButtonProps,
155
159
  primary?: boolean;
156
160
  theme?: ButtonTheme;
157
161
  img?: ButtonImageProps | string;
162
+ metrikaGoals?: MetrikaGoal;
163
+ pixelEvents?: ButtonPixel;
158
164
  target?: string;
159
165
  }
160
166
  export type ButtonImagePosition = 'left' | 'right';
@@ -178,6 +184,7 @@ export interface MediaComponentVideoProps extends AnalyticsEventsBase {
178
184
  video: MediaVideoProps;
179
185
  height?: number;
180
186
  ratio?: number;
187
+ metrika?: MetrikaVideo;
181
188
  previewImg?: string;
182
189
  }
183
190
  export interface MediaComponentYoutubeProps {
@@ -231,6 +238,23 @@ export interface YMapMarkerLabel {
231
238
  }
232
239
  export type MapProps = GMapProps | YMapProps;
233
240
  export type ThemedMediaProps = ThemeSupporting<MediaProps>;
241
+ export interface NewMetrikaGoal {
242
+ name: string;
243
+ isCrossSite?: boolean;
244
+ counterName?: string;
245
+ params?: Record<string, string>;
246
+ }
247
+ export type MetrikaGoal = string | string[] | NewMetrikaGoal[];
248
+ export interface MetrikaVideo {
249
+ counterName?: string;
250
+ play?: MetrikaGoal;
251
+ stop?: MetrikaGoal;
252
+ }
253
+ export interface ButtonPixelEvent {
254
+ name: PixelEventType;
255
+ data?: Object;
256
+ }
257
+ export type ButtonPixel = ButtonPixelEvent[];
234
258
  export interface DataLensObjectProps {
235
259
  id: string;
236
260
  theme: 'dark' | 'light';
@@ -255,7 +279,8 @@ export interface HeaderBreadCrumbsProps extends ClassNameProps {
255
279
  text: ReactNode;
256
280
  }[];
257
281
  theme?: TextTheme;
258
- analyticsEvents?: AnalyticsEventsProp;
282
+ metrikaGoals?: MetrikaGoal;
283
+ pixelEvents?: ButtonPixel;
259
284
  }
260
285
  export interface TitleItemProps extends Justifyable, TitleItemBaseProps {
261
286
  navTitle?: string;
@@ -344,6 +369,8 @@ export interface YandexFormProps extends AnalyticsEventsBase {
344
369
  };
345
370
  onSubmit?: () => void;
346
371
  onLoad?: () => void;
372
+ metrikaGoals?: string | string[];
373
+ pixelEvents?: string | string[] | PixelEvent | PixelEvent[];
347
374
  }
348
375
  export interface WithBorder {
349
376
  border?: MediaBorder;
@@ -1,9 +1,9 @@
1
1
  import { ClassNameProps, QuoteType } from '../../models';
2
2
  import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
- import { AnalyticsEventsBase } from '../common';
4
+ import { AnalyticsEventsBase, PixelEvent } from '../common';
5
5
  import { ContentBlockProps } from './blocks';
6
- import { AuthorItem, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, MediaView, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
6
+ import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageCardMargins, ImageObjectProps, ImageProps, LinkProps, MediaProps, MediaView, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
7
7
  export declare enum SubBlockType {
8
8
  Divider = "divider",
9
9
  Quote = "quote",
@@ -22,7 +22,8 @@ export declare enum SubBlockType {
22
22
  * @deprecated Will be removed, use BasicCard instead
23
23
  */
24
24
  Card = "card",
25
- PriceCard = "price-card"
25
+ PriceCard = "price-card",
26
+ ImageCard = "image-card"
26
27
  }
27
28
  export declare enum IconPosition {
28
29
  Top = "top",
@@ -35,6 +36,10 @@ export interface PositionedIcon {
35
36
  export interface IconWrapperProps {
36
37
  icon?: PositionedIcon;
37
38
  }
39
+ export declare enum ImageCardDirection {
40
+ Direct = "direct",
41
+ Reverse = "reverse"
42
+ }
38
43
  export declare const SubBlockTypes: SubBlockType[];
39
44
  export interface DividerProps {
40
45
  size?: DividerSize;
@@ -65,6 +70,7 @@ export interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsB
65
70
  * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame
66
71
  */
67
72
  onLoad?: (arg: HubspotEventData) => void;
73
+ pixelEvents?: string | string[] | PixelEvent | PixelEvent[] | ButtonPixel;
68
74
  hubspotEvents?: string[];
69
75
  createDOMElement?: boolean;
70
76
  }
@@ -136,6 +142,13 @@ export interface LayoutItemProps extends ClassNameProps, AnalyticsEventsBase {
136
142
  fullscreen?: boolean;
137
143
  icon?: PositionedIcon;
138
144
  }
145
+ export interface ImageCardProps extends CardBaseProps, Pick<ContentBlockProps, 'title' | 'text'> {
146
+ image: ImageProps;
147
+ enableImageBorderRadius?: boolean;
148
+ margins?: ImageCardMargins;
149
+ direction?: ImageCardDirection;
150
+ backgroundColor?: string;
151
+ }
139
152
  export type DividerModel = {
140
153
  type: SubBlockType.Divider;
141
154
  } & DividerProps;
@@ -166,5 +179,8 @@ export type BasicCardModel = {
166
179
  export type PriceCardModel = {
167
180
  type: SubBlockType.PriceCard;
168
181
  } & PriceCardProps;
169
- export type SubBlockModels = DividerModel | QuoteModel | PriceDetailedModel | MediaCardModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel | PriceCardModel | LayoutItemModel;
182
+ export type ImageCardModel = {
183
+ type: SubBlockType.ImageCard;
184
+ } & ImageCardProps;
185
+ export type SubBlockModels = DividerModel | QuoteModel | PriceDetailedModel | MediaCardModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel | PriceCardModel | LayoutItemModel | ImageCardModel;
170
186
  export type SubBlock = SubBlockModels;
@@ -18,10 +18,16 @@ export var SubBlockType;
18
18
  */
19
19
  SubBlockType["Card"] = "card";
20
20
  SubBlockType["PriceCard"] = "price-card";
21
+ SubBlockType["ImageCard"] = "image-card";
21
22
  })(SubBlockType || (SubBlockType = {}));
22
23
  export var IconPosition;
23
24
  (function (IconPosition) {
24
25
  IconPosition["Top"] = "top";
25
26
  IconPosition["Left"] = "left";
26
27
  })(IconPosition || (IconPosition = {}));
28
+ export var ImageCardDirection;
29
+ (function (ImageCardDirection) {
30
+ ImageCardDirection["Direct"] = "direct";
31
+ ImageCardDirection["Reverse"] = "reverse";
32
+ })(ImageCardDirection || (ImageCardDirection = {}));
27
33
  export const SubBlockTypes = Object.values(SubBlockType);
@@ -1,4 +1,6 @@
1
1
  import { Block, ConstructorItem, FormBlockData, FormBlockHubspotData, FormBlockYandexData } from './';
2
+ import { MetrikaGoal, NewMetrikaGoal } from './index';
2
3
  export declare function isBlock(block: ConstructorItem): block is Block;
4
+ export declare function isNewMetrikaFormat(metrika: MetrikaGoal): metrika is NewMetrikaGoal[];
3
5
  export declare function isYandexDataForm(data: FormBlockData): data is FormBlockYandexData;
4
6
  export declare function isHubspotDataForm(data: FormBlockData): data is FormBlockHubspotData;
@@ -2,6 +2,9 @@ import { BlockTypes, } from './';
2
2
  export function isBlock(block) {
3
3
  return block.type in BlockTypes;
4
4
  }
5
+ export function isNewMetrikaFormat(metrika) {
6
+ return Boolean(Array.isArray(metrika) && metrika.length && typeof metrika[0] === 'object');
7
+ }
5
8
  export function isYandexDataForm(data) {
6
9
  return Boolean(data.yandex);
7
10
  }
@@ -1,6 +1,82 @@
1
1
  import { BlockType } from '../models';
2
2
  export declare const blockSchemas: Record<BlockType, object>;
3
3
  export declare const cardSchemas: {
4
+ 'image-card': {
5
+ additionalProperties: boolean;
6
+ required: string[];
7
+ properties: {
8
+ image: {
9
+ oneOf: ({
10
+ type: string;
11
+ properties: {
12
+ when: {
13
+ type: string;
14
+ };
15
+ };
16
+ } | {
17
+ type: string;
18
+ pattern: string;
19
+ optionName: string;
20
+ })[];
21
+ };
22
+ direction: {
23
+ type: string;
24
+ enum: string[];
25
+ };
26
+ margins: {
27
+ type: string;
28
+ enum: string[];
29
+ };
30
+ backgroundColor: {
31
+ type: string;
32
+ };
33
+ title: {
34
+ oneOf: ({
35
+ type: string;
36
+ contentType: string;
37
+ optionName: string;
38
+ } | {
39
+ optionName: string;
40
+ type: string;
41
+ additionalProperties: boolean;
42
+ required: string[];
43
+ properties: {
44
+ text: {
45
+ type: string;
46
+ contentType: string;
47
+ };
48
+ textSize: {
49
+ type: string;
50
+ enum: string[];
51
+ };
52
+ url: {
53
+ type: string;
54
+ };
55
+ urlTitle: {
56
+ type: string;
57
+ };
58
+ resetMargin: {
59
+ type: string;
60
+ };
61
+ };
62
+ contentType?: undefined;
63
+ })[];
64
+ };
65
+ text: {
66
+ type: string;
67
+ contentType: string;
68
+ inputType: string;
69
+ };
70
+ border: {
71
+ type: string;
72
+ enum: string[];
73
+ };
74
+ type: {};
75
+ when: {
76
+ type: string;
77
+ };
78
+ };
79
+ };
4
80
  'price-card': {
5
81
  additionalProperties: boolean;
6
82
  required: string[];
@@ -78,6 +154,94 @@ export declare const cardSchemas: {
78
154
  optionName: string;
79
155
  })[];
80
156
  };
157
+ metrikaGoals: {
158
+ oneOf: ({
159
+ type: string;
160
+ optionName: string;
161
+ items?: undefined;
162
+ } | {
163
+ type: string;
164
+ items: {
165
+ type: string;
166
+ additionalProperties?: undefined;
167
+ required?: undefined;
168
+ properties?: undefined;
169
+ };
170
+ optionName: string;
171
+ } | {
172
+ type: string;
173
+ items: {
174
+ type: string;
175
+ additionalProperties: boolean;
176
+ required: string[];
177
+ properties: {
178
+ name: {
179
+ type: string;
180
+ };
181
+ isCrossSite: {
182
+ type: string;
183
+ };
184
+ };
185
+ };
186
+ optionName: string;
187
+ })[];
188
+ };
189
+ pixelEvents: {
190
+ type: string;
191
+ items: {
192
+ type: string;
193
+ required: string[];
194
+ additionalProperties: boolean;
195
+ properties: {
196
+ name: {
197
+ type: string;
198
+ enum: import("../models").PixelEventType[];
199
+ };
200
+ data: {};
201
+ };
202
+ select: {
203
+ $data: string;
204
+ };
205
+ selectCases: {
206
+ SubmitApplication: {
207
+ additionalProperties: boolean;
208
+ properties: {
209
+ name: {};
210
+ };
211
+ };
212
+ Contact: {
213
+ additionalProperties: boolean;
214
+ properties: {
215
+ name: {};
216
+ };
217
+ };
218
+ Lead: {
219
+ additionalProperties: boolean;
220
+ properties: {
221
+ name: {};
222
+ data: {
223
+ type: string;
224
+ additionalProperties: boolean;
225
+ properties: {
226
+ content_category: {
227
+ type: string;
228
+ };
229
+ content_name: {
230
+ type: string;
231
+ };
232
+ currency: {
233
+ type: string;
234
+ };
235
+ value: {
236
+ type: string;
237
+ };
238
+ };
239
+ };
240
+ };
241
+ };
242
+ };
243
+ };
244
+ };
81
245
  analyticsEvents: {
82
246
  oneOf: ({
83
247
  optionName: string;
@@ -978,6 +1142,94 @@ export declare const cardSchemas: {
978
1142
  optionName: string;
979
1143
  })[];
980
1144
  };
1145
+ metrikaGoals: {
1146
+ oneOf: ({
1147
+ type: string;
1148
+ optionName: string;
1149
+ items?: undefined;
1150
+ } | {
1151
+ type: string;
1152
+ items: {
1153
+ type: string;
1154
+ additionalProperties?: undefined;
1155
+ required?: undefined;
1156
+ properties?: undefined;
1157
+ };
1158
+ optionName: string;
1159
+ } | {
1160
+ type: string;
1161
+ items: {
1162
+ type: string;
1163
+ additionalProperties: boolean;
1164
+ required: string[];
1165
+ properties: {
1166
+ name: {
1167
+ type: string;
1168
+ };
1169
+ isCrossSite: {
1170
+ type: string;
1171
+ };
1172
+ };
1173
+ };
1174
+ optionName: string;
1175
+ })[];
1176
+ };
1177
+ pixelEvents: {
1178
+ type: string;
1179
+ items: {
1180
+ type: string;
1181
+ required: string[];
1182
+ additionalProperties: boolean;
1183
+ properties: {
1184
+ name: {
1185
+ type: string;
1186
+ enum: import("../models").PixelEventType[];
1187
+ };
1188
+ data: {};
1189
+ };
1190
+ select: {
1191
+ $data: string;
1192
+ };
1193
+ selectCases: {
1194
+ SubmitApplication: {
1195
+ additionalProperties: boolean;
1196
+ properties: {
1197
+ name: {};
1198
+ };
1199
+ };
1200
+ Contact: {
1201
+ additionalProperties: boolean;
1202
+ properties: {
1203
+ name: {};
1204
+ };
1205
+ };
1206
+ Lead: {
1207
+ additionalProperties: boolean;
1208
+ properties: {
1209
+ name: {};
1210
+ data: {
1211
+ type: string;
1212
+ additionalProperties: boolean;
1213
+ properties: {
1214
+ content_category: {
1215
+ type: string;
1216
+ };
1217
+ content_name: {
1218
+ type: string;
1219
+ };
1220
+ currency: {
1221
+ type: string;
1222
+ };
1223
+ value: {
1224
+ type: string;
1225
+ };
1226
+ };
1227
+ };
1228
+ };
1229
+ };
1230
+ };
1231
+ };
1232
+ };
981
1233
  analyticsEvents: {
982
1234
  oneOf: ({
983
1235
  optionName: string;
@@ -1,7 +1,7 @@
1
1
  import { BannerBlock, BannerCard, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, IconsBlock, InfoBlock, MapBlock, MediaBlock, PromoFeaturesBlock, QuestionsBlock, ShareBlock, SliderBlock, TableBlock, TabsBlock, } from './validators/blocks';
2
- import { BackgroundCard, BasicCard, Divider, MediaCardBlock, PriceCardBlock, PriceDetailedBlock, Quote, } from './validators/sub-blocks';
2
+ import { BackgroundCard, BasicCard, Divider, ImageCard, MediaCardBlock, PriceCardBlock, PriceDetailedBlock, Quote, } from './validators/sub-blocks';
3
3
  export const 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({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), TableBlock), TabsBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock), FilterBlock), FormBlock);
4
- export const cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock);
4
+ export const cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, MediaCardBlock), BannerCard), PriceDetailedBlock), BackgroundCard), Quote), BasicCard), PriceCardBlock), ImageCard);
5
5
  export const constructorBlockSchemaNames = [
6
6
  'divider',
7
7
  'quote',
@@ -38,4 +38,5 @@ export const constructorCardSchemaNames = [
38
38
  'basic-card',
39
39
  'layout-item',
40
40
  'price-card',
41
+ 'image-card',
41
42
  ];