@gravity-ui/page-constructor 8.19.0 → 8.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/build/cjs/blocks/Banner/schema.d.ts +3 -0
  2. package/build/cjs/blocks/CardLayout/schema.d.ts +529 -195
  3. package/build/cjs/blocks/CardLayout/schema.js +12 -13
  4. package/build/cjs/blocks/CardLayout/schema.js.map +1 -1
  5. package/build/cjs/blocks/Companies/schema.d.ts +88 -3
  6. package/build/cjs/blocks/Companies/schema.js +5 -20
  7. package/build/cjs/blocks/Companies/schema.js.map +1 -1
  8. package/build/cjs/blocks/ContentLayout/schema.d.ts +258 -194
  9. package/build/cjs/blocks/ContentLayout/schema.js +1 -1
  10. package/build/cjs/blocks/ContentLayout/schema.js.map +1 -1
  11. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +311 -39
  12. package/build/cjs/blocks/ExtendedFeatures/schema.js +18 -19
  13. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  14. package/build/cjs/blocks/Footer/schema.d.ts +3 -6
  15. package/build/cjs/blocks/Form/schema.d.ts +197 -15
  16. package/build/cjs/blocks/Form/schema.js +15 -3
  17. package/build/cjs/blocks/Form/schema.js.map +1 -1
  18. package/build/cjs/blocks/Header/schema.d.ts +461 -206
  19. package/build/cjs/blocks/Header/schema.js +18 -2
  20. package/build/cjs/blocks/Header/schema.js.map +1 -1
  21. package/build/cjs/blocks/HeaderSlider/schema.d.ts +150 -71
  22. package/build/cjs/blocks/Hero/schema.d.ts +19 -437
  23. package/build/cjs/blocks/Hero/schema.js +12 -3
  24. package/build/cjs/blocks/Hero/schema.js.map +1 -1
  25. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  26. package/build/cjs/blocks/Icons/schema.js +1 -1
  27. package/build/cjs/blocks/Icons/schema.js.map +1 -1
  28. package/build/cjs/blocks/Info/schema.d.ts +49 -1
  29. package/build/cjs/blocks/Info/schema.js +2 -2
  30. package/build/cjs/blocks/Info/schema.js.map +1 -1
  31. package/build/cjs/blocks/Map/schema.d.ts +7 -2
  32. package/build/cjs/blocks/Map/schema.js +1 -1
  33. package/build/cjs/blocks/Map/schema.js.map +1 -1
  34. package/build/cjs/blocks/Media/schema.d.ts +20 -9
  35. package/build/cjs/blocks/Media/schema.js +15 -2
  36. package/build/cjs/blocks/Media/schema.js.map +1 -1
  37. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +2 -4
  38. package/build/cjs/blocks/Table/schema.d.ts +1 -0
  39. package/build/cjs/blocks/Table/schema.js +1 -0
  40. package/build/cjs/blocks/Table/schema.js.map +1 -1
  41. package/build/cjs/blocks/Tabs/schema.d.ts +7 -6
  42. package/build/cjs/blocks/Tabs/schema.js +1 -1
  43. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  44. package/build/cjs/components/Author/schema.d.ts +1 -2
  45. package/build/cjs/components/Image/schema.d.ts +33 -8
  46. package/build/cjs/components/Image/schema.js +22 -22
  47. package/build/cjs/components/Image/schema.js.map +1 -1
  48. package/build/cjs/models/constructor-items/blocks.d.ts +6 -5
  49. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  50. package/build/cjs/models/constructor-items/common.d.ts +1 -1
  51. package/build/cjs/models/constructor-items/common.js.map +1 -1
  52. package/build/cjs/navigation/schema.d.ts +1 -2
  53. package/build/cjs/navigation/schema.js +1 -0
  54. package/build/cjs/navigation/schema.js.map +1 -1
  55. package/build/cjs/schema/constants.d.ts +940 -29
  56. package/build/cjs/schema/constants.js +36 -40
  57. package/build/cjs/schema/constants.js.map +1 -1
  58. package/build/cjs/schema/validators/common.d.ts +11 -8
  59. package/build/cjs/schema/validators/common.js +10 -6
  60. package/build/cjs/schema/validators/common.js.map +1 -1
  61. package/build/cjs/sub-blocks/BasicCard/schema.d.ts +82 -2
  62. package/build/cjs/sub-blocks/BasicCard/schema.js +15 -1
  63. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  64. package/build/cjs/sub-blocks/Content/schema.d.ts +2 -5
  65. package/build/cjs/sub-blocks/Content/schema.js +1 -8
  66. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  67. package/build/cjs/sub-blocks/ImageCard/schema.d.ts +33 -17
  68. package/build/cjs/sub-blocks/ImageCard/schema.js +8 -1
  69. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  70. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +1023 -312
  71. package/build/cjs/sub-blocks/LayoutItem/schema.js +40 -9
  72. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  73. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +2 -4
  74. package/build/cjs/sub-blocks/PriceCard/schema.d.ts +5 -0
  75. package/build/cjs/sub-blocks/PriceDetailed/schema.js +1 -0
  76. package/build/cjs/sub-blocks/PriceDetailed/schema.js.map +1 -1
  77. package/build/cjs/sub-blocks/Quote/schema.d.ts +164 -6
  78. package/build/cjs/sub-blocks/Quote/schema.js +2 -0
  79. package/build/cjs/sub-blocks/Quote/schema.js.map +1 -1
  80. package/build/docs/blocks/Hero.md +15 -15
  81. package/build/docs/blocks/Icons.md +2 -2
  82. package/build/docs/blocks/Media.md +1 -1
  83. package/build/esm/blocks/Banner/schema.d.ts +3 -0
  84. package/build/esm/blocks/CardLayout/schema.d.ts +529 -195
  85. package/build/esm/blocks/CardLayout/schema.js +14 -15
  86. package/build/esm/blocks/CardLayout/schema.js.map +1 -1
  87. package/build/esm/blocks/Companies/schema.d.ts +88 -3
  88. package/build/esm/blocks/Companies/schema.js +5 -21
  89. package/build/esm/blocks/Companies/schema.js.map +1 -1
  90. package/build/esm/blocks/ContentLayout/schema.d.ts +258 -194
  91. package/build/esm/blocks/ContentLayout/schema.js +2 -2
  92. package/build/esm/blocks/ContentLayout/schema.js.map +1 -1
  93. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +311 -39
  94. package/build/esm/blocks/ExtendedFeatures/schema.js +17 -18
  95. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  96. package/build/esm/blocks/Footer/schema.d.ts +3 -6
  97. package/build/esm/blocks/Form/schema.d.ts +197 -15
  98. package/build/esm/blocks/Form/schema.js +17 -5
  99. package/build/esm/blocks/Form/schema.js.map +1 -1
  100. package/build/esm/blocks/Header/schema.d.ts +446 -191
  101. package/build/esm/blocks/Header/schema.js +19 -3
  102. package/build/esm/blocks/Header/schema.js.map +1 -1
  103. package/build/esm/blocks/HeaderSlider/schema.d.ts +150 -71
  104. package/build/esm/blocks/Hero/schema.d.ts +19 -437
  105. package/build/esm/blocks/Hero/schema.js +12 -3
  106. package/build/esm/blocks/Hero/schema.js.map +1 -1
  107. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  108. package/build/esm/blocks/Icons/schema.js +1 -1
  109. package/build/esm/blocks/Icons/schema.js.map +1 -1
  110. package/build/esm/blocks/Info/schema.d.ts +49 -1
  111. package/build/esm/blocks/Info/schema.js +3 -3
  112. package/build/esm/blocks/Info/schema.js.map +1 -1
  113. package/build/esm/blocks/Map/schema.d.ts +7 -2
  114. package/build/esm/blocks/Map/schema.js +1 -1
  115. package/build/esm/blocks/Map/schema.js.map +1 -1
  116. package/build/esm/blocks/Media/schema.d.ts +20 -9
  117. package/build/esm/blocks/Media/schema.js +16 -3
  118. package/build/esm/blocks/Media/schema.js.map +1 -1
  119. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +2 -4
  120. package/build/esm/blocks/Table/schema.d.ts +1 -0
  121. package/build/esm/blocks/Table/schema.js +1 -0
  122. package/build/esm/blocks/Table/schema.js.map +1 -1
  123. package/build/esm/blocks/Tabs/schema.d.ts +7 -6
  124. package/build/esm/blocks/Tabs/schema.js +2 -2
  125. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  126. package/build/esm/components/Author/schema.d.ts +1 -2
  127. package/build/esm/components/Image/schema.d.ts +33 -8
  128. package/build/esm/components/Image/schema.js +22 -22
  129. package/build/esm/components/Image/schema.js.map +1 -1
  130. package/build/esm/models/constructor-items/blocks.d.ts +6 -5
  131. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  132. package/build/esm/models/constructor-items/common.d.ts +1 -1
  133. package/build/esm/models/constructor-items/common.js.map +1 -1
  134. package/build/esm/navigation/schema.d.ts +1 -2
  135. package/build/esm/navigation/schema.js +2 -1
  136. package/build/esm/navigation/schema.js.map +1 -1
  137. package/build/esm/schema/constants.d.ts +940 -29
  138. package/build/esm/schema/constants.js +37 -41
  139. package/build/esm/schema/constants.js.map +1 -1
  140. package/build/esm/schema/validators/common.d.ts +11 -8
  141. package/build/esm/schema/validators/common.js +8 -4
  142. package/build/esm/schema/validators/common.js.map +1 -1
  143. package/build/esm/sub-blocks/BasicCard/schema.d.ts +82 -2
  144. package/build/esm/sub-blocks/BasicCard/schema.js +16 -2
  145. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  146. package/build/esm/sub-blocks/Content/schema.d.ts +2 -5
  147. package/build/esm/sub-blocks/Content/schema.js +1 -8
  148. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  149. package/build/esm/sub-blocks/ImageCard/schema.d.ts +33 -17
  150. package/build/esm/sub-blocks/ImageCard/schema.js +9 -2
  151. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  152. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +1023 -312
  153. package/build/esm/sub-blocks/LayoutItem/schema.js +37 -6
  154. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  155. package/build/esm/sub-blocks/MediaCard/schema.d.ts +2 -4
  156. package/build/esm/sub-blocks/PriceCard/schema.d.ts +5 -0
  157. package/build/esm/sub-blocks/PriceDetailed/schema.js +2 -1
  158. package/build/esm/sub-blocks/PriceDetailed/schema.js.map +1 -1
  159. package/build/esm/sub-blocks/Quote/schema.d.ts +164 -6
  160. package/build/esm/sub-blocks/Quote/schema.js +3 -1
  161. package/build/esm/sub-blocks/Quote/schema.js.map +1 -1
  162. package/package.json +1 -1
  163. package/schema/index.js +1 -1
  164. package/server/models/constructor-items/blocks.d.ts +6 -5
  165. package/server/models/constructor-items/common.d.ts +1 -1
  166. package/widget/index.js +1 -1
@@ -9,7 +9,7 @@ export declare const FormBlock: {
9
9
  formData: {
10
10
  oneOf: ({
11
11
  type: string;
12
- optionName: string;
12
+ additionalProperties: boolean;
13
13
  properties: {
14
14
  yandex: {
15
15
  oneOf: (({
@@ -39,9 +39,10 @@ export declare const FormBlock: {
39
39
  };
40
40
  hubspot?: undefined;
41
41
  };
42
+ optionName: string;
42
43
  } | {
43
44
  type: string;
44
- optionName: string;
45
+ additionalProperties: boolean;
45
46
  properties: {
46
47
  hubspot: {
47
48
  oneOf: (({
@@ -77,6 +78,7 @@ export declare const FormBlock: {
77
78
  };
78
79
  yandex?: undefined;
79
80
  };
81
+ optionName: string;
80
82
  })[];
81
83
  };
82
84
  textContent: {
@@ -252,30 +254,210 @@ export declare const FormBlock: {
252
254
  enum: string[];
253
255
  };
254
256
  background: {
255
- oneOf: ({
257
+ oneOf: (({
258
+ optionName: string;
256
259
  type: string;
260
+ additionalProperties: boolean;
257
261
  properties: {
258
- when: {
262
+ src: {
263
+ type: string;
264
+ pattern: string;
265
+ };
266
+ style: {
267
+ type: string;
268
+ additionalProperties: boolean;
269
+ required: never[];
270
+ properties: {
271
+ backgroundColor: {
272
+ type: string;
273
+ };
274
+ height: {
275
+ type: string[];
276
+ };
277
+ width: {
278
+ type: string[];
279
+ };
280
+ color: {
281
+ type: string;
282
+ };
283
+ };
284
+ };
285
+ alt: {
286
+ type: string;
287
+ contentType: string;
288
+ };
289
+ disableCompress: {
290
+ type: string;
291
+ };
292
+ loading: {
293
+ type: string;
294
+ enum: string[];
295
+ };
296
+ fetchPriority: {
259
297
  type: string;
298
+ enum: string[];
299
+ };
300
+ hide: {
301
+ oneOf: ({
302
+ type: string;
303
+ properties?: undefined;
304
+ } | {
305
+ type: string;
306
+ properties: {
307
+ mobile: {
308
+ type: string;
309
+ };
310
+ tablet: {
311
+ type: string;
312
+ };
313
+ desktop: {
314
+ type: string;
315
+ };
316
+ };
317
+ })[];
260
318
  };
261
319
  };
262
320
  } | {
263
- type: string;
264
- pattern: string;
321
+ properties: {
322
+ style: {
323
+ type: string;
324
+ additionalProperties: boolean;
325
+ required: never[];
326
+ properties: {
327
+ backgroundColor: {
328
+ type: string;
329
+ };
330
+ height: {
331
+ type: string[];
332
+ };
333
+ width: {
334
+ type: string[];
335
+ };
336
+ color: {
337
+ type: string;
338
+ };
339
+ };
340
+ };
341
+ desktop: {
342
+ type: string;
343
+ pattern: string;
344
+ };
345
+ tablet: {
346
+ type: string;
347
+ pattern: string;
348
+ };
349
+ mobile: {
350
+ type: string;
351
+ pattern: string;
352
+ };
353
+ alt: {
354
+ type: string;
355
+ contentType: string;
356
+ };
357
+ disableCompress: {
358
+ type: string;
359
+ };
360
+ loading: {
361
+ type: string;
362
+ enum: string[];
363
+ };
364
+ fetchPriority: {
365
+ type: string;
366
+ enum: string[];
367
+ };
368
+ hide: {
369
+ oneOf: ({
370
+ type: string;
371
+ properties?: undefined;
372
+ } | {
373
+ type: string;
374
+ properties: {
375
+ mobile: {
376
+ type: string;
377
+ };
378
+ tablet: {
379
+ type: string;
380
+ };
381
+ desktop: {
382
+ type: string;
383
+ };
384
+ };
385
+ })[];
386
+ };
387
+ };
265
388
  optionName: string;
266
- items?: undefined;
267
- } | {
268
389
  type: string;
269
- items: {
270
- type: string;
271
- properties: {
272
- when: {
390
+ additionalProperties: boolean;
391
+ required: import("../../index.js").Device[];
392
+ anyOf: {
393
+ required: import("../../index.js").Device[];
394
+ }[];
395
+ }) & {
396
+ properties: {
397
+ style: {
398
+ oneOf: (({
273
399
  type: string;
274
- };
400
+ additionalProperties: boolean;
401
+ required: never[];
402
+ properties: {
403
+ backgroundColor: {
404
+ type: string;
405
+ };
406
+ height: {
407
+ type: string[];
408
+ };
409
+ width: {
410
+ type: string[];
411
+ };
412
+ color: {
413
+ type: string;
414
+ };
415
+ };
416
+ } & {
417
+ optionName: string;
418
+ }) | {
419
+ type: string;
420
+ additionalProperties: boolean;
421
+ required: import("../../index.js").Device[];
422
+ properties: {};
423
+ optionName: string;
424
+ })[];
425
+ };
426
+ loading: {
427
+ type: string;
428
+ enum: string[];
429
+ };
430
+ alt: {
431
+ type: string;
432
+ contentType: string;
433
+ };
434
+ fetchPriority: {
435
+ type: string;
436
+ enum: string[];
437
+ };
438
+ disableCompress: {
439
+ type: string;
440
+ };
441
+ hide: {
442
+ oneOf: ({
443
+ type: string;
444
+ properties?: undefined;
445
+ } | {
446
+ type: string;
447
+ properties: {
448
+ mobile: {
449
+ type: string;
450
+ };
451
+ tablet: {
452
+ type: string;
453
+ };
454
+ desktop: {
455
+ type: string;
456
+ };
457
+ };
458
+ })[];
275
459
  };
276
460
  };
277
- optionName: string;
278
- pattern?: undefined;
279
461
  })[];
280
462
  };
281
463
  anchor: {
@@ -1,10 +1,20 @@
1
1
  import omit from "lodash/omit.js";
2
- import { ImageProps } from "../../components/Image/schema.js";
2
+ import { BackgroundImageProps } from "../../components/Image/schema.js";
3
3
  import { YandexFormProps } from "../../components/YandexForm/schema.js";
4
- import { BlockBaseProps, withTheme } from "../../schema/validators/common.js";
4
+ import { BlockBaseProps, withDevice, withTheme } from "../../schema/validators/common.js";
5
5
  import { ContentBase } from "../../sub-blocks/Content/schema.js";
6
6
  import { HubspotFormProps } from "../../sub-blocks/HubspotForm/schema.js";
7
7
  const FormBlockContentProps = omit(ContentBase, ['size', 'centered', 'colSizes']);
8
+ const deviceSupportingStyle = (branch) => ({
9
+ ...branch,
10
+ properties: {
11
+ ...omit(branch.properties, ['style']),
12
+ style: withDevice(branch.properties.style),
13
+ },
14
+ });
15
+ const FormBlockBackground = {
16
+ oneOf: BackgroundImageProps.oneOf.map(deviceSupportingStyle),
17
+ };
8
18
  export const FormBlock = {
9
19
  'form-block': {
10
20
  additionalProperties: false,
@@ -18,17 +28,19 @@ export const FormBlock = {
18
28
  oneOf: [
19
29
  {
20
30
  type: 'object',
21
- optionName: 'yandex',
31
+ additionalProperties: false,
22
32
  properties: {
23
33
  yandex: withTheme(YandexFormProps),
24
34
  },
35
+ optionName: 'yandex',
25
36
  },
26
37
  {
27
38
  type: 'object',
28
- optionName: 'hubspot',
39
+ additionalProperties: false,
29
40
  properties: {
30
41
  hubspot: withTheme(HubspotFormProps),
31
42
  },
43
+ optionName: 'hubspot',
32
44
  },
33
45
  ],
34
46
  },
@@ -39,7 +51,7 @@ export const FormBlock = {
39
51
  direction: {
40
52
  enum: ['content-form', 'form-content', 'center'],
41
53
  },
42
- background: ImageProps,
54
+ background: FormBlockBackground,
43
55
  },
44
56
  },
45
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Form/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EAAC,eAAe,EAAC,8CAA2C;AACnE,OAAO,EAAC,cAAc,EAAE,SAAS,EAAC,0CAAuC;AACzE,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,+CAA4C;AAErE,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,UAAU,EAAE;YACR,GAAG,cAAc;YACjB,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;YACD,QAAQ,EAAE;gBACN,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,QAAQ;wBACpB,UAAU,EAAE;4BACR,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC;yBACrC;qBACJ;oBACD;wBACI,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,SAAS;wBACrB,UAAU,EAAE;4BACR,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC;yBACvC;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE,qBAAqB;aACpC;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC;aACnD;YACD,UAAU,EAAE,UAAU;SACzB;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps} from '../../components/Image/schema';\nimport {YandexFormProps} from '../../components/YandexForm/schema';\nimport {BlockBaseProps, withTheme} from '../../schema/validators/common';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\nimport {HubspotFormProps} from '../../sub-blocks/HubspotForm/schema';\n\nconst FormBlockContentProps = omit(ContentBase, ['size', 'centered', 'colSizes']);\n\nexport const FormBlock = {\n 'form-block': {\n additionalProperties: false,\n required: ['formData'],\n properties: {\n ...BlockBaseProps,\n title: {\n type: 'string',\n },\n formData: {\n oneOf: [\n {\n type: 'object',\n optionName: 'yandex',\n properties: {\n yandex: withTheme(YandexFormProps),\n },\n },\n {\n type: 'object',\n optionName: 'hubspot',\n properties: {\n hubspot: withTheme(HubspotFormProps),\n },\n },\n ],\n },\n textContent: {\n additionalProperties: false,\n properties: FormBlockContentProps,\n },\n direction: {\n enum: ['content-form', 'form-content', 'center'],\n },\n background: ImageProps,\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/Form/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,oBAAoB,EAAC,yCAAsC;AACnE,OAAO,EAAC,eAAe,EAAC,8CAA2C;AACnE,OAAO,EAAC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAC,0CAAuC;AACrF,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,+CAA4C;AAErE,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAElF,MAAM,qBAAqB,GAAG,CAC1B,MAAS,EACX,EAAE,CAAC,CAAC;IACF,GAAG,MAAM;IACT,UAAU,EAAE;QACR,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;KAC7C;CACJ,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG;IACxB,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,UAAU,EAAE;YACR,GAAG,cAAc;YACjB,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;YACD,QAAQ,EAAE;gBACN,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACR,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC;yBACrC;wBACD,UAAU,EAAE,QAAQ;qBACvB;oBACD;wBACI,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACR,OAAO,EAAE,SAAS,CAAC,gBAAgB,CAAC;yBACvC;wBACD,UAAU,EAAE,SAAS;qBACxB;iBACJ;aACJ;YACD,WAAW,EAAE;gBACT,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE,qBAAqB;aACpC;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC;aACnD;YACD,UAAU,EAAE,mBAAmB;SAClC;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {BackgroundImageProps} from '../../components/Image/schema';\nimport {YandexFormProps} from '../../components/YandexForm/schema';\nimport {BlockBaseProps, withDevice, withTheme} from '../../schema/validators/common';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\nimport {HubspotFormProps} from '../../sub-blocks/HubspotForm/schema';\n\nconst FormBlockContentProps = omit(ContentBase, ['size', 'centered', 'colSizes']);\n\nconst deviceSupportingStyle = <T extends (typeof BackgroundImageProps)['oneOf'][number]>(\n branch: T,\n) => ({\n ...branch,\n properties: {\n ...omit(branch.properties, ['style']),\n style: withDevice(branch.properties.style),\n },\n});\n\nconst FormBlockBackground = {\n oneOf: BackgroundImageProps.oneOf.map(deviceSupportingStyle),\n};\n\nexport const FormBlock = {\n 'form-block': {\n additionalProperties: false,\n required: ['formData'],\n properties: {\n ...BlockBaseProps,\n title: {\n type: 'string',\n },\n formData: {\n oneOf: [\n {\n type: 'object',\n additionalProperties: false,\n properties: {\n yandex: withTheme(YandexFormProps),\n },\n optionName: 'yandex',\n },\n {\n type: 'object',\n additionalProperties: false,\n properties: {\n hubspot: withTheme(HubspotFormProps),\n },\n optionName: 'hubspot',\n },\n ],\n },\n textContent: {\n additionalProperties: false,\n properties: FormBlockContentProps,\n },\n direction: {\n enum: ['content-form', 'form-content', 'center'],\n },\n background: FormBlockBackground,\n },\n },\n};\n"]}