@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
@@ -182,6 +182,94 @@ export declare const MapBlock: {
182
182
  optionName: string;
183
183
  })[];
184
184
  };
185
+ metrikaGoals: {
186
+ oneOf: ({
187
+ type: string;
188
+ optionName: string;
189
+ items?: undefined;
190
+ } | {
191
+ type: string;
192
+ items: {
193
+ type: string;
194
+ additionalProperties?: undefined;
195
+ required?: undefined;
196
+ properties?: undefined;
197
+ };
198
+ optionName: string;
199
+ } | {
200
+ type: string;
201
+ items: {
202
+ type: string;
203
+ additionalProperties: boolean;
204
+ required: string[];
205
+ properties: {
206
+ name: {
207
+ type: string;
208
+ };
209
+ isCrossSite: {
210
+ type: string;
211
+ };
212
+ };
213
+ };
214
+ optionName: string;
215
+ })[];
216
+ };
217
+ pixelEvents: {
218
+ type: string;
219
+ items: {
220
+ type: string;
221
+ required: string[];
222
+ additionalProperties: boolean;
223
+ properties: {
224
+ name: {
225
+ type: string;
226
+ enum: import("../..").PixelEventType[];
227
+ };
228
+ data: {};
229
+ };
230
+ select: {
231
+ $data: string;
232
+ };
233
+ selectCases: {
234
+ SubmitApplication: {
235
+ additionalProperties: boolean;
236
+ properties: {
237
+ name: {};
238
+ };
239
+ };
240
+ Contact: {
241
+ additionalProperties: boolean;
242
+ properties: {
243
+ name: {};
244
+ };
245
+ };
246
+ Lead: {
247
+ additionalProperties: boolean;
248
+ properties: {
249
+ name: {};
250
+ data: {
251
+ type: string;
252
+ additionalProperties: boolean;
253
+ properties: {
254
+ content_category: {
255
+ type: string;
256
+ };
257
+ content_name: {
258
+ type: string;
259
+ };
260
+ currency: {
261
+ type: string;
262
+ };
263
+ value: {
264
+ type: string;
265
+ };
266
+ };
267
+ };
268
+ };
269
+ };
270
+ };
271
+ };
272
+ };
185
273
  analyticsEvents: {
186
274
  oneOf: ({
187
275
  optionName: string;
@@ -349,6 +349,94 @@ export declare const MediaBlockBaseProps: {
349
349
  optionName: string;
350
350
  })[];
351
351
  };
352
+ metrikaGoals: {
353
+ oneOf: ({
354
+ type: string;
355
+ optionName: string;
356
+ items?: undefined;
357
+ } | {
358
+ type: string;
359
+ items: {
360
+ type: string;
361
+ additionalProperties?: undefined;
362
+ required?: undefined;
363
+ properties?: undefined;
364
+ };
365
+ optionName: string;
366
+ } | {
367
+ type: string;
368
+ items: {
369
+ type: string;
370
+ additionalProperties: boolean;
371
+ required: string[];
372
+ properties: {
373
+ name: {
374
+ type: string;
375
+ };
376
+ isCrossSite: {
377
+ type: string;
378
+ };
379
+ };
380
+ };
381
+ optionName: string;
382
+ })[];
383
+ };
384
+ pixelEvents: {
385
+ type: string;
386
+ items: {
387
+ type: string;
388
+ required: string[];
389
+ additionalProperties: boolean;
390
+ properties: {
391
+ name: {
392
+ type: string;
393
+ enum: import("../..").PixelEventType[];
394
+ };
395
+ data: {};
396
+ };
397
+ select: {
398
+ $data: string;
399
+ };
400
+ selectCases: {
401
+ SubmitApplication: {
402
+ additionalProperties: boolean;
403
+ properties: {
404
+ name: {};
405
+ };
406
+ };
407
+ Contact: {
408
+ additionalProperties: boolean;
409
+ properties: {
410
+ name: {};
411
+ };
412
+ };
413
+ Lead: {
414
+ additionalProperties: boolean;
415
+ properties: {
416
+ name: {};
417
+ data: {
418
+ type: string;
419
+ additionalProperties: boolean;
420
+ properties: {
421
+ content_category: {
422
+ type: string;
423
+ };
424
+ content_name: {
425
+ type: string;
426
+ };
427
+ currency: {
428
+ type: string;
429
+ };
430
+ value: {
431
+ type: string;
432
+ };
433
+ };
434
+ };
435
+ };
436
+ };
437
+ };
438
+ };
439
+ };
352
440
  analyticsEvents: {
353
441
  oneOf: ({
354
442
  optionName: string;
@@ -947,6 +1035,94 @@ export declare const MediaBlock: {
947
1035
  optionName: string;
948
1036
  })[];
949
1037
  };
1038
+ metrikaGoals: {
1039
+ oneOf: ({
1040
+ type: string;
1041
+ optionName: string;
1042
+ items?: undefined;
1043
+ } | {
1044
+ type: string;
1045
+ items: {
1046
+ type: string;
1047
+ additionalProperties?: undefined;
1048
+ required?: undefined;
1049
+ properties?: undefined;
1050
+ };
1051
+ optionName: string;
1052
+ } | {
1053
+ type: string;
1054
+ items: {
1055
+ type: string;
1056
+ additionalProperties: boolean;
1057
+ required: string[];
1058
+ properties: {
1059
+ name: {
1060
+ type: string;
1061
+ };
1062
+ isCrossSite: {
1063
+ type: string;
1064
+ };
1065
+ };
1066
+ };
1067
+ optionName: string;
1068
+ })[];
1069
+ };
1070
+ pixelEvents: {
1071
+ type: string;
1072
+ items: {
1073
+ type: string;
1074
+ required: string[];
1075
+ additionalProperties: boolean;
1076
+ properties: {
1077
+ name: {
1078
+ type: string;
1079
+ enum: import("../..").PixelEventType[];
1080
+ };
1081
+ data: {};
1082
+ };
1083
+ select: {
1084
+ $data: string;
1085
+ };
1086
+ selectCases: {
1087
+ SubmitApplication: {
1088
+ additionalProperties: boolean;
1089
+ properties: {
1090
+ name: {};
1091
+ };
1092
+ };
1093
+ Contact: {
1094
+ additionalProperties: boolean;
1095
+ properties: {
1096
+ name: {};
1097
+ };
1098
+ };
1099
+ Lead: {
1100
+ additionalProperties: boolean;
1101
+ properties: {
1102
+ name: {};
1103
+ data: {
1104
+ type: string;
1105
+ additionalProperties: boolean;
1106
+ properties: {
1107
+ content_category: {
1108
+ type: string;
1109
+ };
1110
+ content_name: {
1111
+ type: string;
1112
+ };
1113
+ currency: {
1114
+ type: string;
1115
+ };
1116
+ value: {
1117
+ type: string;
1118
+ };
1119
+ };
1120
+ };
1121
+ };
1122
+ };
1123
+ };
1124
+ };
1125
+ };
950
1126
  analyticsEvents: {
951
1127
  oneOf: ({
952
1128
  optionName: string;
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "image-alt", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../utils/cn';
1
+ import { registerKeyset } from '../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}SecurityBlock`);
4
+ const COMPONENT = 'SecurityBlock';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -9,7 +9,7 @@ import { Twitter } from '../../icons/Twitter';
9
9
  import { Vk } from '../../icons/Vk';
10
10
  import { DefaultEventNames } from '../../models';
11
11
  import { block, getAbsolutePath, getShareLink } from '../../utils';
12
- import { i18n } from './i18n';
12
+ import i18n from './i18n';
13
13
  import './Share.css';
14
14
  const icons = {
15
15
  facebook: Facebook,
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "constructor-share" | "facebook-title" | "twitter-title" | "linkedin-title" | "vk-title" | "telegram-title" | "facebook-label" | "twitter-label" | "linkedin-label" | "vk-label" | "telegram-label", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../utils/cn';
1
+ import { registerKeyset } from '../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}Share`);
4
+ const COMPONENT = 'Share';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import ToggleArrow from '../../../components/ToggleArrow/ToggleArrow';
3
3
  import { block } from '../../../utils';
4
- import { i18n } from '../i18n';
4
+ import i18n from '../i18n';
5
5
  import './Arrow.css';
6
6
  const b = block('slider-block-arrow');
7
7
  const Arrow = ({ type, handleClick, className, size = 16 }) => (React.createElement("div", { className: b({ type }, className) },
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "arrow-right" | "arrow-left", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../utils/cn';
1
+ import { registerKeyset } from '../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}SliderBlock`);
4
+ const COMPONENT = 'SliderBlock';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -4,24 +4,27 @@ import { StoreBadge } from '@gravity-ui/components';
4
4
  import { Button as CommonButton, Icon, Platform } from '@gravity-ui/uikit';
5
5
  import { LocaleContext } from '../../context/localeContext/localeContext';
6
6
  import { useAnalytics } from '../../hooks';
7
+ import { useMetrika } from '../../hooks/useMetrika';
7
8
  import { Github } from '../../icons';
8
9
  import { DefaultEventNames } from '../../models';
9
10
  import { block, setUrlTld } from '../../utils';
10
- import { i18n } from './i18n';
11
+ import i18n from './i18n';
11
12
  import { ICON_QA, toCommonSize, toCommonView } from './utils';
12
13
  import './Button.css';
13
14
  const b = block('button-block');
14
15
  const Button = (props) => {
16
+ const handleMetrika = useMetrika();
15
17
  const { tld } = useContext(LocaleContext);
16
- const { className, analyticsEvents, size = 'l', theme = 'normal', url, urlTitle, img, onClick: onClickOrigin, text, width } = props, rest = __rest(props, ["className", "analyticsEvents", "size", "theme", "url", "urlTitle", "img", "onClick", "text", "width"]);
18
+ const { className, metrikaGoals, pixelEvents, analyticsEvents, size = 'l', theme = 'normal', url, urlTitle, img, onClick: onClickOrigin, text, width } = props, rest = __rest(props, ["className", "metrikaGoals", "pixelEvents", "analyticsEvents", "size", "theme", "url", "urlTitle", "img", "onClick", "text", "width"]);
17
19
  const defaultImgPosition = 'left';
18
20
  const handleAnalytics = useAnalytics(DefaultEventNames.Button, url);
19
21
  const onClick = useCallback((e) => {
22
+ handleMetrika({ metrikaGoals, pixelEvents });
20
23
  handleAnalytics(analyticsEvents);
21
24
  if (onClickOrigin) {
22
25
  onClickOrigin(e);
23
26
  }
24
- }, [handleAnalytics, analyticsEvents, onClickOrigin]);
27
+ }, [handleMetrika, metrikaGoals, pixelEvents, handleAnalytics, analyticsEvents, onClickOrigin]);
25
28
  const buttonModifiers = { size, theme, width };
26
29
  const buttonImg = img instanceof Object
27
30
  ? { url: img.url, position: img.position || defaultImgPosition, alt: img.alt }
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "image-alt", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../utils/cn';
1
+ import { registerKeyset } from '../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}Button`);
4
+ const COMPONENT = 'Button';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -1,5 +1,5 @@
1
1
  import React, { HTMLAttributeAnchorTarget, ReactElement } from 'react';
2
- import { AnalyticsEventsBase, CardBaseProps as CardBaseParams, ImageProps, WithChildren } from '../../models';
2
+ import { AnalyticsEventsBase, ButtonPixel, CardBaseProps as CardBaseParams, ImageProps, MetrikaGoal, WithChildren } from '../../models';
3
3
  import './CardBase.css';
4
4
  export interface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {
5
5
  className?: string;
@@ -9,6 +9,8 @@ export interface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {
9
9
  url?: string;
10
10
  urlTitle?: string;
11
11
  target?: HTMLAttributeAnchorTarget;
12
+ metrikaGoals?: MetrikaGoal;
13
+ pixelEvents?: ButtonPixel;
12
14
  qa?: string;
13
15
  extraProps?: React.HTMLAttributes<HTMLElement>;
14
16
  }
@@ -1,6 +1,7 @@
1
1
  import React, { Children, Fragment } from 'react';
2
2
  import { Link } from '@gravity-ui/uikit';
3
3
  import { useAnalytics } from '../../hooks';
4
+ import { useMetrika } from '../../hooks/useMetrika';
4
5
  import { DefaultEventNames, } from '../../models';
5
6
  import { block, getQaAttrubutes } from '../../utils';
6
7
  import BackgroundImage from '../BackgroundImage/BackgroundImage';
@@ -11,7 +12,8 @@ const Header = () => null;
11
12
  const Content = () => null;
12
13
  const Footer = () => null;
13
14
  export const Layout = (props) => {
14
- const { className, bodyClassName, analyticsEvents, contentClassName, children, url, target, border = 'shadow', urlTitle, qa, extraProps = {}, } = props;
15
+ const { className, bodyClassName, metrikaGoals, pixelEvents, analyticsEvents, contentClassName, children, url, target, border = 'shadow', urlTitle, qa, extraProps = {}, } = props;
16
+ const handleMetrika = useMetrika();
15
17
  const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);
16
18
  let header, content, footer, image, headerClass, footerClass;
17
19
  const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');
@@ -45,6 +47,7 @@ export const Layout = (props) => {
45
47
  footer && (React.createElement("div", { className: b('footer', footerClass), "data-qa": qaAttributes.footer }, footer)))));
46
48
  const fullClassName = b({ border }, className);
47
49
  const onClick = () => {
50
+ handleMetrika({ metrikaGoals, pixelEvents });
48
51
  handleAnalytics(analyticsEvents);
49
52
  };
50
53
  return url ? (React.createElement(RouterLink, { href: url },
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Icon } from '@gravity-ui/uikit';
3
3
  import { block } from '../../utils';
4
- import { i18n } from './i18n';
4
+ import i18n from './i18n';
5
5
  import './Control.css';
6
6
  const b = block('control');
7
7
  export const defaultIconId = 'icon-test-id';
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "aria-label", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../utils/cn';
1
+ import { registerKeyset } from '../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}Control`);
4
+ const COMPONENT = 'Control';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -3,7 +3,7 @@ import { Icon, Modal } from '@gravity-ui/uikit';
3
3
  import { Fullscreen, PreviewClose } from '../../icons';
4
4
  import { block } from '../../utils';
5
5
  import Image from '../Image/Image';
6
- import { i18n } from './i18n';
6
+ import i18n from './i18n';
7
7
  import './FullscreenImage.css';
8
8
  const b = block('fullscreen-image');
9
9
  const FULL_SCREEN_ICON_SIZE = 18;
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "close" | "img-alt", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../utils/cn';
1
+ import { registerKeyset } from '../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}FullscreenImage`);
4
+ const COMPONENT = 'FullscreenImage';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -1,15 +1,18 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import { useAnalytics } from '../../hooks';
3
+ import { useMetrika } from '../../hooks/useMetrika';
3
4
  import { DefaultEventNames } from '../../models';
4
5
  import { block } from '../../utils';
5
6
  import './HeaderBreadcrumbs.css';
6
7
  const b = block('header-breadcrumbs');
7
8
  export default function HeaderBreadcrumbs(props) {
8
- const { items, theme = 'light', className, analyticsEvents } = props;
9
+ const { items, metrikaGoals, pixelEvents, theme = 'light', className } = props;
10
+ const handleMetrika = useMetrika();
9
11
  const handleAnalytics = useAnalytics(DefaultEventNames.Breadcrumb);
10
12
  const onClick = useCallback(() => {
11
- handleAnalytics(analyticsEvents);
12
- }, [analyticsEvents, handleAnalytics]);
13
+ handleAnalytics();
14
+ handleMetrika({ metrikaGoals, pixelEvents });
15
+ }, [handleAnalytics, handleMetrika, metrikaGoals, pixelEvents]);
13
16
  return (React.createElement("div", { className: b({ theme }, className) }, items === null || items === void 0 ? void 0 : items.map((item) => (React.createElement("div", { className: b('item'), key: item.url },
14
17
  React.createElement("a", { href: item.url, className: b('text'), onClick: onClick }, item.text))))));
15
18
  }
@@ -3,6 +3,7 @@ import { Icon } from '@gravity-ui/uikit';
3
3
  import { LocaleContext } from '../../context/localeContext';
4
4
  import { LocationContext } from '../../context/locationContext';
5
5
  import { useAnalytics } from '../../hooks';
6
+ import { useMetrika } from '../../hooks/useMetrika';
6
7
  import { Chevron } from '../../icons';
7
8
  import { DefaultEventNames, } from '../../models';
8
9
  import { block, getLinkProps, setUrlTld } from '../../utils';
@@ -25,14 +26,16 @@ function getArrowSize(size) {
25
26
  }
26
27
  }
27
28
  const LinkBlock = (props) => {
28
- const { text, url, arrow, analyticsEvents, theme = 'file-link', colorTheme = 'light', textSize = 'm', className, target, children, tabIndex, qa, urlTitle, extraProps, } = props;
29
+ const { text, url, arrow, metrikaGoals, pixelEvents, analyticsEvents, theme = 'file-link', colorTheme = 'light', textSize = 'm', className, target, children, tabIndex, qa, urlTitle, extraProps, } = props;
29
30
  const qaAttributes = getQaAttrubutes(qa, ['normal']);
31
+ const handleMetrika = useMetrika();
30
32
  const handleAnalytics = useAnalytics(DefaultEventNames.Link, url);
31
33
  const { hostname } = useContext(LocationContext);
32
34
  const { tld } = useContext(LocaleContext);
33
35
  const href = setUrlTld(props.url, tld);
34
36
  const defaultTextSize = theme === 'back' ? 'l' : 'm';
35
37
  const onClick = () => {
38
+ handleMetrika({ metrikaGoals, pixelEvents });
36
39
  handleAnalytics(analyticsEvents);
37
40
  };
38
41
  const getLinkByType = () => {
@@ -1,10 +1,10 @@
1
1
  import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
2
- import { Lang } from '@gravity-ui/uikit';
3
2
  import debounce from 'lodash/debounce';
4
3
  import { LocaleContext } from '../../context/localeContext/localeContext';
5
4
  import { MapsContext } from '../../context/mapsContext/mapsContext';
6
5
  import { MobileContext } from '../../context/mobileContext';
7
6
  import { block } from '../../utils';
7
+ import { Lang } from '../../utils/configure';
8
8
  import { getMapHeight } from './helpers';
9
9
  const b = block('map');
10
10
  function getScriptSrc(params) {
@@ -9,7 +9,7 @@ import ErrorWrapper from '../../ErrorWrapper/ErrorWrapper';
9
9
  import { getMapHeight } from '../helpers';
10
10
  import { YMap } from './YMap';
11
11
  import { MapApiStatus, YMapsApiLoader } from './YandexMapApiLoader';
12
- import { i18n } from './i18n';
12
+ import i18n from './i18n';
13
13
  const b = block('map');
14
14
  const DEFAULT_CONTAINER_ID = 'ymap';
15
15
  const DEFAULT_ZOOM = 9;
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "map-load-error" | "map-try-again", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../../utils/cn';
1
+ import { registerKeyset } from '../../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}Map`);
4
+ const COMPONENT = 'Map';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { block } from '../../../utils';
3
- import { i18n } from './i18n';
3
+ import i18n from './i18n';
4
4
  import { unifyDataLensToObject } from './utils';
5
5
  import './DataLens.css';
6
6
  const b = block('media-component-data-lens');
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "iframe-title", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../../utils/cn';
1
+ import { registerKeyset } from '../../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}DataLens`);
4
+ const COMPONENT = 'DataLens';
5
+ export default registerKeyset({ en, ru }, COMPONENT);
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { block } from '../../../utils';
3
- import { i18n } from './i18n';
3
+ import i18n from './i18n';
4
4
  import './Iframe.css';
5
5
  const b = block('media-component-iframe');
6
6
  const Iframe = (props) => {
@@ -1 +1,2 @@
1
- export declare const i18n: (key: "iframe-title", params?: import("@gravity-ui/i18n").Params | undefined) => string;
1
+ declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
- import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
2
- import { NAMESPACE } from '../../../../utils/cn';
1
+ import { registerKeyset } from '../../../../utils/registerKeyset';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = addComponentKeysets({ en, ru }, `${NAMESPACE}Iframe`);
4
+ const COMPONENT = 'Iframe';
5
+ export default registerKeyset({ en, ru }, COMPONENT);