@gravity-ui/page-constructor 1.11.1 → 1.12.1-alpha.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 (144) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/build/cjs/blocks/Banner/schema.d.ts +12 -0
  3. package/build/cjs/blocks/Banner/schema.js +2 -0
  4. package/build/cjs/blocks/CardLayout/schema.d.ts +28 -22
  5. package/build/cjs/blocks/CardLayout/schema.js +1 -5
  6. package/build/cjs/blocks/Companies/schema.d.ts +2 -0
  7. package/build/cjs/blocks/Companies/schema.js +2 -0
  8. package/build/cjs/blocks/ContentLayout/schema.d.ts +6 -0
  9. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +22 -16
  10. package/build/cjs/blocks/ExtendedFeatures/schema.js +3 -5
  11. package/build/cjs/blocks/Header/schema.d.ts +16 -0
  12. package/build/cjs/blocks/Header/schema.js +5 -0
  13. package/build/cjs/blocks/HeaderSlider/schema.d.ts +9 -23
  14. package/build/cjs/blocks/Icons/schema.d.ts +6 -0
  15. package/build/cjs/blocks/Icons/schema.js +2 -0
  16. package/build/cjs/blocks/Info/schema.d.ts +10 -0
  17. package/build/cjs/blocks/Info/schema.js +2 -0
  18. package/build/cjs/blocks/LinkTable/schema.d.ts +30 -20
  19. package/build/cjs/blocks/LinkTable/schema.js +1 -1
  20. package/build/cjs/blocks/Media/schema.d.ts +62 -53
  21. package/build/cjs/blocks/Media/schema.js +6 -10
  22. package/build/cjs/blocks/Preview/schema.d.ts +2 -0
  23. package/build/cjs/blocks/Preview/schema.js +4 -0
  24. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +20 -14
  25. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +3 -5
  26. package/build/cjs/blocks/Questions/schema.d.ts +5 -0
  27. package/build/cjs/blocks/Questions/schema.js +2 -0
  28. package/build/cjs/blocks/Security/schema.d.ts +2 -0
  29. package/build/cjs/blocks/Security/schema.js +2 -0
  30. package/build/cjs/blocks/Simple/schema.d.ts +3 -0
  31. package/build/cjs/blocks/Simple/schema.js +1 -0
  32. package/build/cjs/blocks/Slider/Slider.d.ts +1 -6
  33. package/build/cjs/blocks/Slider/schema.d.ts +31 -45
  34. package/build/cjs/blocks/Slider/schema.js +2 -5
  35. package/build/cjs/blocks/Table/schema.d.ts +4 -0
  36. package/build/cjs/blocks/Table/schema.js +3 -0
  37. package/build/cjs/blocks/Tabs/schema.d.ts +37 -23
  38. package/build/cjs/blocks/Tabs/schema.js +2 -3
  39. package/build/cjs/components/Author/Author.js +2 -2
  40. package/build/cjs/components/Author/__tests__/Author.test.d.ts +1 -0
  41. package/build/cjs/components/Author/__tests__/Author.test.js +49 -0
  42. package/build/cjs/components/Author/schema.d.ts +3 -0
  43. package/build/cjs/components/BlockHeader/BlockHeader.css +8 -19
  44. package/build/cjs/components/BlockHeader/BlockHeader.js +4 -3
  45. package/build/cjs/components/Image/schema.d.ts +2 -0
  46. package/build/cjs/components/Image/schema.js +14 -23
  47. package/build/cjs/grid/Grid/Grid.css +16 -16
  48. package/build/cjs/models/constructor-items/common.d.ts +1 -0
  49. package/build/cjs/navigation/components/Header/Header.css +2 -1
  50. package/build/cjs/navigation/components/Logo/Logo.css +5 -6
  51. package/build/cjs/schema/index.d.ts +2 -0
  52. package/build/cjs/schema/validators/common.d.ts +48 -0
  53. package/build/cjs/schema/validators/common.js +21 -1
  54. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +5 -0
  55. package/build/cjs/sub-blocks/BasicCard/schema.d.ts +4 -0
  56. package/build/cjs/sub-blocks/CardWithImage/schema.d.ts +54 -46
  57. package/build/cjs/sub-blocks/CardWithImage/schema.js +7 -6
  58. package/build/cjs/sub-blocks/Content/schema.d.ts +8 -0
  59. package/build/cjs/sub-blocks/Content/schema.js +3 -1
  60. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +1 -0
  61. package/build/cjs/sub-blocks/NewsCard/schema.d.ts +1 -0
  62. package/build/cjs/sub-blocks/NewsCard/schema.js +1 -0
  63. package/build/cjs/sub-blocks/Partner/schema.d.ts +1 -0
  64. package/build/cjs/sub-blocks/Partner/schema.js +1 -0
  65. package/build/cjs/sub-blocks/PriceDetailed/schema.d.ts +1 -0
  66. package/build/cjs/sub-blocks/PriceDetailed/schema.js +8 -0
  67. package/build/cjs/sub-blocks/Quote/schema.d.ts +4 -0
  68. package/build/cjs/sub-blocks/Quote/schema.js +1 -0
  69. package/build/cjs/sub-blocks/TutorialCard/schema.d.ts +2 -0
  70. package/build/cjs/sub-blocks/TutorialCard/schema.js +2 -0
  71. package/build/cjs/text-transform/blocks.js +49 -32
  72. package/build/esm/blocks/Banner/schema.d.ts +12 -0
  73. package/build/esm/blocks/Banner/schema.js +2 -0
  74. package/build/esm/blocks/CardLayout/schema.d.ts +28 -22
  75. package/build/esm/blocks/CardLayout/schema.js +2 -6
  76. package/build/esm/blocks/Companies/schema.d.ts +2 -0
  77. package/build/esm/blocks/Companies/schema.js +2 -0
  78. package/build/esm/blocks/ContentLayout/schema.d.ts +6 -0
  79. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +22 -16
  80. package/build/esm/blocks/ExtendedFeatures/schema.js +4 -6
  81. package/build/esm/blocks/Header/schema.d.ts +16 -0
  82. package/build/esm/blocks/Header/schema.js +5 -0
  83. package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -23
  84. package/build/esm/blocks/Icons/schema.d.ts +6 -0
  85. package/build/esm/blocks/Icons/schema.js +2 -0
  86. package/build/esm/blocks/Info/schema.d.ts +10 -0
  87. package/build/esm/blocks/Info/schema.js +2 -0
  88. package/build/esm/blocks/LinkTable/schema.d.ts +30 -20
  89. package/build/esm/blocks/LinkTable/schema.js +2 -2
  90. package/build/esm/blocks/Media/schema.d.ts +62 -53
  91. package/build/esm/blocks/Media/schema.js +7 -11
  92. package/build/esm/blocks/Preview/schema.d.ts +2 -0
  93. package/build/esm/blocks/Preview/schema.js +4 -0
  94. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +20 -14
  95. package/build/esm/blocks/PromoFeaturesBlock/schema.js +4 -6
  96. package/build/esm/blocks/Questions/schema.d.ts +5 -0
  97. package/build/esm/blocks/Questions/schema.js +2 -0
  98. package/build/esm/blocks/Security/schema.d.ts +2 -0
  99. package/build/esm/blocks/Security/schema.js +2 -0
  100. package/build/esm/blocks/Simple/schema.d.ts +3 -0
  101. package/build/esm/blocks/Simple/schema.js +1 -0
  102. package/build/esm/blocks/Slider/Slider.d.ts +1 -6
  103. package/build/esm/blocks/Slider/schema.d.ts +31 -45
  104. package/build/esm/blocks/Slider/schema.js +3 -6
  105. package/build/esm/blocks/Table/schema.d.ts +4 -0
  106. package/build/esm/blocks/Table/schema.js +3 -0
  107. package/build/esm/blocks/Tabs/schema.d.ts +37 -23
  108. package/build/esm/blocks/Tabs/schema.js +3 -4
  109. package/build/esm/components/Author/Author.js +2 -2
  110. package/build/esm/components/Author/__tests__/Author.test.d.ts +1 -0
  111. package/build/esm/components/Author/__tests__/Author.test.js +46 -0
  112. package/build/esm/components/Author/schema.d.ts +3 -0
  113. package/build/esm/components/BlockHeader/BlockHeader.css +8 -19
  114. package/build/esm/components/BlockHeader/BlockHeader.js +5 -4
  115. package/build/esm/components/Image/schema.d.ts +2 -0
  116. package/build/esm/components/Image/schema.js +14 -23
  117. package/build/esm/grid/Grid/Grid.css +16 -16
  118. package/build/esm/models/constructor-items/common.d.ts +1 -0
  119. package/build/esm/navigation/components/Header/Header.css +2 -1
  120. package/build/esm/navigation/components/Logo/Logo.css +5 -6
  121. package/build/esm/schema/index.d.ts +2 -0
  122. package/build/esm/schema/validators/common.d.ts +48 -0
  123. package/build/esm/schema/validators/common.js +20 -0
  124. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +5 -0
  125. package/build/esm/sub-blocks/BasicCard/schema.d.ts +4 -0
  126. package/build/esm/sub-blocks/CardWithImage/schema.d.ts +54 -46
  127. package/build/esm/sub-blocks/CardWithImage/schema.js +8 -7
  128. package/build/esm/sub-blocks/Content/schema.d.ts +8 -0
  129. package/build/esm/sub-blocks/Content/schema.js +3 -1
  130. package/build/esm/sub-blocks/MediaCard/schema.d.ts +1 -0
  131. package/build/esm/sub-blocks/NewsCard/schema.d.ts +1 -0
  132. package/build/esm/sub-blocks/NewsCard/schema.js +1 -0
  133. package/build/esm/sub-blocks/Partner/schema.d.ts +1 -0
  134. package/build/esm/sub-blocks/Partner/schema.js +1 -0
  135. package/build/esm/sub-blocks/PriceDetailed/schema.d.ts +1 -0
  136. package/build/esm/sub-blocks/PriceDetailed/schema.js +8 -0
  137. package/build/esm/sub-blocks/Quote/schema.d.ts +4 -0
  138. package/build/esm/sub-blocks/Quote/schema.js +1 -0
  139. package/build/esm/sub-blocks/TutorialCard/schema.d.ts +2 -0
  140. package/build/esm/sub-blocks/TutorialCard/schema.js +2 -0
  141. package/build/esm/text-transform/blocks.js +49 -32
  142. package/package.json +2 -3
  143. package/server/models/constructor-items/common.d.ts +1 -0
  144. package/server/text-transform/blocks.js +49 -32
@@ -52,13 +52,6 @@ function parsePromoFeatures(transformer, items) {
52
52
  return (Object.assign({ text: transformer(text) }, rest));
53
53
  });
54
54
  }
55
- function parseSlider(transformer, block) {
56
- const { title, description } = block;
57
- block.title = Object.assign(Object.assign({}, title), { text: transformer(title ? title.text : '') });
58
- if (description) {
59
- block.description = transformer(description);
60
- }
61
- }
62
55
  const parseTitle = (transformer, title) => typeof title === 'object' && 'text' in title
63
56
  ? Object.assign(Object.assign({}, title), { text: transformer(title.text) }) : title && transformer(title);
64
57
  const parseItemsTitle = (transformer, items) => items.map((_a) => {
@@ -114,6 +107,17 @@ function typografTransformer(lang, content) {
114
107
  return (0, utils_1.typografToHTML)(content, lang);
115
108
  }
116
109
  exports.typografTransformer = typografTransformer;
110
+ const blockHeaderTransfomer = [
111
+ {
112
+ fields: ['title'],
113
+ transformer: typografTransformer,
114
+ parser: parseTitle,
115
+ },
116
+ {
117
+ fields: ['description'],
118
+ transformer: yfmTransformer,
119
+ },
120
+ ];
117
121
  const config = {
118
122
  [models_1.SubBlockType.Partner]: {
119
123
  fields: ['text'],
@@ -158,35 +162,35 @@ const config = {
158
162
  transformer: typografTransformer,
159
163
  },
160
164
  [models_1.BlockType.ExtendedFeaturesBlock]: [
165
+ ...blockHeaderTransfomer,
161
166
  {
162
- fields: ['title'],
167
+ fields: ['items'],
163
168
  transformer: typografTransformer,
164
- parser: parseTitle,
169
+ parser: (0, exports.createItemsParser)(['title']),
165
170
  },
166
171
  {
167
- fields: ['description'],
172
+ fields: ['items'],
168
173
  transformer: yfmTransformer,
174
+ parser: (0, exports.createItemsParser)(['text', 'additionalInfo']),
169
175
  },
176
+ ],
177
+ [models_1.BlockType.PromoFeaturesBlock]: [
170
178
  {
171
- fields: ['items'],
179
+ fields: ['title'],
172
180
  transformer: typografTransformer,
173
- parser: (0, exports.createItemsParser)(['title']),
181
+ parser: parseTitle,
182
+ },
183
+ {
184
+ fields: ['description'],
185
+ transformer: yfmTransformer,
174
186
  },
175
187
  {
176
188
  fields: ['items'],
177
189
  transformer: yfmTransformer,
178
- parser: (0, exports.createItemsParser)(['text', 'additionalInfo']),
190
+ parser: parsePromoFeatures,
179
191
  },
180
192
  ],
181
- [models_1.BlockType.PromoFeaturesBlock]: {
182
- fields: ['items'],
183
- transformer: yfmTransformer,
184
- parser: parsePromoFeatures,
185
- },
186
- [models_1.BlockType.SliderBlock]: {
187
- transformer: typografTransformer,
188
- parser: parseSlider,
189
- },
193
+ [models_1.BlockType.SliderBlock]: blockHeaderTransfomer,
190
194
  [models_1.BlockType.QuestionsBlock]: [
191
195
  {
192
196
  fields: ['title'],
@@ -223,21 +227,14 @@ const config = {
223
227
  },
224
228
  ],
225
229
  [models_1.BlockType.MediaBlock]: [
230
+ ...blockHeaderTransfomer,
226
231
  {
227
- fields: ['title'],
228
- transformer: typografTransformer,
229
- },
230
- {
231
- fields: ['description', 'title', 'additionalInfo'],
232
+ fields: ['title', 'additionalInfo'],
232
233
  transformer: yfmTransformer,
233
234
  },
234
235
  ],
235
236
  [models_1.BlockType.TabsBlock]: [
236
- {
237
- fields: ['title'],
238
- transformer: typografTransformer,
239
- parser: parseTitle,
240
- },
237
+ ...blockHeaderTransfomer,
241
238
  {
242
239
  fields: ['items'],
243
240
  transformer: yfmTransformer,
@@ -269,6 +266,11 @@ const config = {
269
266
  },
270
267
  ],
271
268
  [models_1.BlockType.SimpleBlock]: [
269
+ {
270
+ fields: ['title'],
271
+ transformer: typografTransformer,
272
+ parser: parseTitle,
273
+ },
272
274
  {
273
275
  fields: ['description'],
274
276
  transformer: yfmTransformer,
@@ -314,7 +316,13 @@ const config = {
314
316
  fields: ['description'],
315
317
  transformer: yfmTransformer,
316
318
  },
319
+ {
320
+ fields: ['title'],
321
+ transformer: typografTransformer,
322
+ parser: parseTitle,
323
+ },
317
324
  ],
325
+ [models_1.BlockType.PromoFeaturesBlock]: blockHeaderTransfomer,
318
326
  [models_1.BlockType.InfoBlock]: [
319
327
  {
320
328
  fields: ['rightContent', 'leftContent'],
@@ -333,6 +341,15 @@ const config = {
333
341
  transformer: typografTransformer,
334
342
  },
335
343
  ],
344
+ [models_1.BlockType.CardLayoutBlock]: blockHeaderTransfomer,
345
+ [models_1.BlockType.IconsBlock]: [
346
+ {
347
+ fields: ['title'],
348
+ transformer: typografTransformer,
349
+ parser: parseTitle,
350
+ },
351
+ ],
352
+ [models_1.BlockType.LinkTableBlock]: blockHeaderTransfomer,
336
353
  };
337
354
  function addRandomOrder(block) {
338
355
  if (block) {