@gravity-ui/page-constructor 6.8.2-alpha.1 → 7.0.0-alpha.3

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 (385) hide show
  1. package/README.md +108 -10
  2. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  3. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -5
  4. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  5. package/build/cjs/blocks/Header/Header.css +15 -10
  6. package/build/cjs/blocks/Header/Header.js +6 -1
  7. package/build/cjs/blocks/Header/Header.js.map +1 -1
  8. package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
  9. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
  10. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  11. package/build/cjs/blocks/HeaderSlider/schema.d.ts +9 -1
  12. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  13. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +3 -1
  14. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  15. package/build/cjs/blocks/Share/Share.css +3 -2
  16. package/build/cjs/blocks/Share/Share.js +4 -1
  17. package/build/cjs/blocks/Share/Share.js.map +1 -1
  18. package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
  19. package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  20. package/build/cjs/blocks/Slider/Arrow/Arrow.js +1 -1
  21. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  22. package/build/cjs/blocks/Slider/Slider.css +549 -329
  23. package/build/cjs/blocks/Slider/Slider.d.ts +6 -5
  24. package/build/cjs/blocks/Slider/Slider.js +32 -275
  25. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  26. package/build/cjs/blocks/Slider/i18n/en.json +1 -1
  27. package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
  28. package/build/cjs/blocks/Slider/models.d.ts +2 -2
  29. package/build/cjs/blocks/Slider/models.js +1 -1
  30. package/build/cjs/blocks/Slider/models.js.map +1 -1
  31. package/build/cjs/blocks/Slider/schema.d.ts +18 -1
  32. package/build/cjs/blocks/Slider/schema.js +9 -0
  33. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  34. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
  35. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  36. package/build/cjs/blocks/Slider/useSlider.js.map +1 -0
  37. package/build/cjs/blocks/Slider/useSliderPagination.js.map +1 -0
  38. package/build/cjs/blocks/Slider/utils.d.ts +7 -28
  39. package/build/cjs/blocks/Slider/utils.js +28 -109
  40. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  41. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +14 -11
  42. package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
  43. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js +11 -0
  44. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  45. package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
  46. package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
  47. package/build/cjs/blocks/SliderOld/SliderOld.js +293 -0
  48. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -0
  49. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  50. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  51. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  52. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  53. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  54. package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  55. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
  56. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  57. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  58. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
  59. package/build/cjs/blocks/SliderOld/schema.js.map +1 -0
  60. package/build/cjs/blocks/SliderOld/utils.d.ts +37 -0
  61. package/build/cjs/blocks/SliderOld/utils.js +129 -0
  62. package/build/cjs/blocks/SliderOld/utils.js.map +1 -0
  63. package/build/cjs/blocks/Table/Table.css +4 -3
  64. package/build/cjs/blocks/Table/Table.js +3 -1
  65. package/build/cjs/blocks/Table/Table.js.map +1 -1
  66. package/build/cjs/blocks/index.d.ts +2 -0
  67. package/build/cjs/blocks/index.js +3 -1
  68. package/build/cjs/blocks/index.js.map +1 -1
  69. package/build/cjs/blocks/validators.d.ts +1 -0
  70. package/build/cjs/blocks/validators.js +1 -0
  71. package/build/cjs/blocks/validators.js.map +1 -1
  72. package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
  73. package/build/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
  74. package/build/cjs/components/ContentList/ContentList.css +10 -6
  75. package/build/cjs/components/ContentList/ContentList.js +1 -1
  76. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  77. package/build/cjs/components/FullscreenImage/FullscreenImage.css +99 -18
  78. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  79. package/build/cjs/components/FullscreenImage/FullscreenImage.js +14 -2
  80. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  81. package/build/cjs/components/FullscreenMedia/FullscreenMedia.css +1 -3
  82. package/build/cjs/components/HTML/HTML.d.ts +15 -8
  83. package/build/cjs/components/HTML/HTML.js +19 -10
  84. package/build/cjs/components/HTML/HTML.js.map +1 -1
  85. package/build/cjs/components/Image/Image.d.ts +2 -4
  86. package/build/cjs/components/Image/Image.js +8 -22
  87. package/build/cjs/components/Image/Image.js.map +1 -1
  88. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  89. package/build/cjs/components/Media/Image/Image.js +7 -5
  90. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  91. package/build/cjs/components/Media/Media.css +4 -0
  92. package/build/cjs/components/Media/Media.d.ts +1 -0
  93. package/build/cjs/components/Media/Media.js +3 -2
  94. package/build/cjs/components/Media/Media.js.map +1 -1
  95. package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
  96. package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
  97. package/build/cjs/components/MetaInfo/MetaInfo.js.map +1 -1
  98. package/build/cjs/components/Table/Table.css +2 -1
  99. package/build/cjs/components/Table/Table.js +4 -2
  100. package/build/cjs/components/Table/Table.js.map +1 -1
  101. package/build/cjs/components/Title/TitleItem.css +7 -4
  102. package/build/cjs/components/Title/TitleItem.js +3 -1
  103. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  104. package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
  105. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  106. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  107. package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -3
  108. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  109. package/build/cjs/components/YandexForm/YandexForm.js +1 -1
  110. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  111. package/build/cjs/constructor-items.d.ts +2 -2
  112. package/build/cjs/constructor-items.js +2 -4
  113. package/build/cjs/constructor-items.js.map +1 -1
  114. package/build/cjs/containers/Loadable/Loadable.js +1 -1
  115. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  116. package/build/cjs/editor/data/index.js +1 -1
  117. package/build/cjs/editor/data/index.js.map +1 -1
  118. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  119. package/build/cjs/editor/widget/utils.js +1 -1
  120. package/build/cjs/editor/widget/utils.js.map +1 -1
  121. package/build/cjs/models/common.d.ts +1 -0
  122. package/build/cjs/models/common.js.map +1 -1
  123. package/build/cjs/models/constructor-items/blocks.d.ts +17 -15
  124. package/build/cjs/models/constructor-items/blocks.js +3 -2
  125. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  126. package/build/cjs/models/constructor-items/common.d.ts +6 -13
  127. package/build/cjs/models/constructor-items/common.js +1 -8
  128. package/build/cjs/models/constructor-items/common.js.map +1 -1
  129. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -1
  130. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  131. package/build/cjs/schema/constants.js +4 -2
  132. package/build/cjs/schema/constants.js.map +1 -1
  133. package/build/cjs/schema/validators/blocks.d.ts +2 -1
  134. package/build/cjs/schema/validators/blocks.js +2 -1
  135. package/build/cjs/schema/validators/blocks.js.map +1 -1
  136. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +14 -8
  137. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -1
  138. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  139. package/build/cjs/sub-blocks/Content/Content.css +27 -25
  140. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  141. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  142. package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
  143. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  144. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  145. package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
  146. package/build/cjs/sub-blocks/Quote/Quote.js +2 -1
  147. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  148. package/build/cjs/text-transform/common.d.ts +4 -3
  149. package/build/cjs/text-transform/common.js +50 -21
  150. package/build/cjs/text-transform/common.js.map +1 -1
  151. package/build/cjs/text-transform/config.d.ts +5 -2
  152. package/build/cjs/text-transform/config.js +87 -43
  153. package/build/cjs/text-transform/config.js.map +1 -1
  154. package/build/cjs/text-transform/transformers.js +2 -2
  155. package/build/cjs/text-transform/transformers.js.map +1 -1
  156. package/build/cjs/utils/blocks.d.ts +10 -2
  157. package/build/cjs/utils/blocks.js +9 -3
  158. package/build/cjs/utils/blocks.js.map +1 -1
  159. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  160. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -6
  161. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  162. package/build/esm/blocks/Header/Header.css +15 -10
  163. package/build/esm/blocks/Header/Header.js +7 -2
  164. package/build/esm/blocks/Header/Header.js.map +1 -1
  165. package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
  166. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  167. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  168. package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -1
  169. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  170. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +4 -2
  171. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  172. package/build/esm/blocks/Share/Share.css +3 -2
  173. package/build/esm/blocks/Share/Share.js +4 -1
  174. package/build/esm/blocks/Share/Share.js.map +1 -1
  175. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  176. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  177. package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
  178. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  179. package/build/esm/blocks/Slider/Slider.css +549 -329
  180. package/build/esm/blocks/Slider/Slider.d.ts +6 -5
  181. package/build/esm/blocks/Slider/Slider.js +33 -276
  182. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  183. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  184. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  185. package/build/esm/blocks/Slider/models.d.ts +2 -2
  186. package/build/esm/blocks/Slider/models.js +1 -1
  187. package/build/esm/blocks/Slider/models.js.map +1 -1
  188. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  189. package/build/esm/blocks/Slider/schema.js +9 -0
  190. package/build/esm/blocks/Slider/schema.js.map +1 -1
  191. package/build/esm/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
  192. package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  193. package/build/esm/blocks/Slider/useSlider.js.map +1 -0
  194. package/build/esm/blocks/Slider/useSliderPagination.js.map +1 -0
  195. package/build/esm/blocks/Slider/utils.d.ts +7 -28
  196. package/build/esm/blocks/Slider/utils.js +25 -103
  197. package/build/esm/blocks/Slider/utils.js.map +1 -1
  198. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +14 -11
  199. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  200. package/build/esm/blocks/SliderOld/Arrow/Arrow.js +9 -0
  201. package/build/esm/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  202. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  203. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  204. package/build/esm/blocks/SliderOld/SliderOld.js +289 -0
  205. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -0
  206. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  207. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  208. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  209. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  210. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  211. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  212. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  213. package/build/esm/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  214. package/build/esm/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  215. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  216. package/build/esm/blocks/SliderOld/schema.js.map +1 -0
  217. package/build/esm/blocks/SliderOld/utils.d.ts +37 -0
  218. package/build/esm/blocks/SliderOld/utils.js +119 -0
  219. package/build/esm/blocks/SliderOld/utils.js.map +1 -0
  220. package/build/esm/blocks/Table/Table.css +4 -3
  221. package/build/esm/blocks/Table/Table.js +4 -2
  222. package/build/esm/blocks/Table/Table.js.map +1 -1
  223. package/build/esm/blocks/index.d.ts +2 -0
  224. package/build/esm/blocks/index.js +1 -0
  225. package/build/esm/blocks/index.js.map +1 -1
  226. package/build/esm/blocks/validators.d.ts +1 -0
  227. package/build/esm/blocks/validators.js +1 -0
  228. package/build/esm/blocks/validators.js.map +1 -1
  229. package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
  230. package/build/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  231. package/build/esm/components/ContentList/ContentList.css +10 -6
  232. package/build/esm/components/ContentList/ContentList.js +1 -1
  233. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  234. package/build/esm/components/FullscreenImage/FullscreenImage.css +99 -18
  235. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  236. package/build/esm/components/FullscreenImage/FullscreenImage.js +14 -2
  237. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  238. package/build/esm/components/FullscreenMedia/FullscreenMedia.css +1 -3
  239. package/build/esm/components/HTML/HTML.d.ts +15 -8
  240. package/build/esm/components/HTML/HTML.js +20 -11
  241. package/build/esm/components/HTML/HTML.js.map +1 -1
  242. package/build/esm/components/Image/Image.d.ts +2 -4
  243. package/build/esm/components/Image/Image.js +8 -21
  244. package/build/esm/components/Image/Image.js.map +1 -1
  245. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  246. package/build/esm/components/Media/Image/Image.js +7 -5
  247. package/build/esm/components/Media/Image/Image.js.map +1 -1
  248. package/build/esm/components/Media/Media.css +4 -0
  249. package/build/esm/components/Media/Media.d.ts +1 -0
  250. package/build/esm/components/Media/Media.js +3 -2
  251. package/build/esm/components/Media/Media.js.map +1 -1
  252. package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
  253. package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
  254. package/build/esm/components/MetaInfo/MetaInfo.js.map +1 -1
  255. package/build/esm/components/Table/Table.css +2 -1
  256. package/build/esm/components/Table/Table.js +5 -3
  257. package/build/esm/components/Table/Table.js.map +1 -1
  258. package/build/esm/components/Title/TitleItem.css +7 -4
  259. package/build/esm/components/Title/TitleItem.js +4 -2
  260. package/build/esm/components/Title/TitleItem.js.map +1 -1
  261. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  262. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  263. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  264. package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -3
  265. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  266. package/build/esm/components/YandexForm/YandexForm.js +1 -1
  267. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  268. package/build/esm/constructor-items.d.ts +2 -2
  269. package/build/esm/constructor-items.js +3 -5
  270. package/build/esm/constructor-items.js.map +1 -1
  271. package/build/esm/containers/Loadable/Loadable.js +1 -1
  272. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  273. package/build/esm/editor/data/index.js +1 -1
  274. package/build/esm/editor/data/index.js.map +1 -1
  275. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  276. package/build/esm/editor/widget/utils.js +1 -1
  277. package/build/esm/editor/widget/utils.js.map +1 -1
  278. package/build/esm/models/common.d.ts +1 -0
  279. package/build/esm/models/common.js.map +1 -1
  280. package/build/esm/models/constructor-items/blocks.d.ts +17 -15
  281. package/build/esm/models/constructor-items/blocks.js +3 -2
  282. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  283. package/build/esm/models/constructor-items/common.d.ts +6 -13
  284. package/build/esm/models/constructor-items/common.js +0 -7
  285. package/build/esm/models/constructor-items/common.js.map +1 -1
  286. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -1
  287. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  288. package/build/esm/schema/constants.js +5 -3
  289. package/build/esm/schema/constants.js.map +1 -1
  290. package/build/esm/schema/validators/blocks.d.ts +2 -1
  291. package/build/esm/schema/validators/blocks.js +2 -1
  292. package/build/esm/schema/validators/blocks.js.map +1 -1
  293. package/build/esm/sub-blocks/BannerCard/BannerCard.css +14 -8
  294. package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -2
  295. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  296. package/build/esm/sub-blocks/Content/Content.css +27 -25
  297. package/build/esm/sub-blocks/Content/Content.js +1 -1
  298. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  299. package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
  300. package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
  301. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  302. package/build/esm/sub-blocks/Quote/Quote.css +8 -4
  303. package/build/esm/sub-blocks/Quote/Quote.js +3 -2
  304. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  305. package/build/esm/text-transform/common.d.ts +4 -3
  306. package/build/esm/text-transform/common.js +50 -21
  307. package/build/esm/text-transform/common.js.map +1 -1
  308. package/build/esm/text-transform/config.d.ts +5 -2
  309. package/build/esm/text-transform/config.js +87 -43
  310. package/build/esm/text-transform/config.js.map +1 -1
  311. package/build/esm/text-transform/transformers.js +2 -2
  312. package/build/esm/text-transform/transformers.js.map +1 -1
  313. package/build/esm/utils/blocks.d.ts +10 -2
  314. package/build/esm/utils/blocks.js +8 -2
  315. package/build/esm/utils/blocks.js.map +1 -1
  316. package/package.json +2 -2
  317. package/schema/index.js +1 -1
  318. package/server/models/common.d.ts +1 -0
  319. package/server/models/constructor-items/blocks.d.ts +17 -15
  320. package/server/models/constructor-items/blocks.js +3 -2
  321. package/server/models/constructor-items/common.d.ts +6 -13
  322. package/server/models/constructor-items/common.js +1 -8
  323. package/server/text-transform/common.d.ts +4 -3
  324. package/server/text-transform/common.js +41 -18
  325. package/server/text-transform/config.d.ts +5 -2
  326. package/server/text-transform/config.js +84 -43
  327. package/server/text-transform/transformers.js +2 -2
  328. package/server/utils/blocks.d.ts +10 -2
  329. package/server/utils/blocks.js +9 -3
  330. package/styles/fonts.scss +1 -0
  331. package/styles/styles.css +0 -1
  332. package/styles/styles.scss +0 -1
  333. package/styles/variables.scss +1 -0
  334. package/widget/2042.index.js +1 -0
  335. package/widget/2723.index.js +1 -0
  336. package/widget/3392.index.js +1 -0
  337. package/widget/6173.index.js +1 -0
  338. package/widget/6328.index.js +1 -0
  339. package/widget/6353.index.js +1 -0
  340. package/widget/6463.index.js +1 -0
  341. package/widget/6887.index.js +1 -0
  342. package/widget/7458.index.js +1 -0
  343. package/widget/7570.index.js +1 -0
  344. package/widget/7627.index.js +1 -0
  345. package/widget/8446.index.js +1 -0
  346. package/widget/9340.index.js +1 -0
  347. package/widget/9979.index.js +1 -0
  348. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
  349. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -11
  350. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  351. package/build/cjs/blocks/SliderNew/Slider.css +0 -834
  352. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
  353. package/build/cjs/blocks/SliderNew/Slider.js +0 -60
  354. package/build/cjs/blocks/SliderNew/Slider.js.map +0 -1
  355. package/build/cjs/blocks/SliderNew/schema.js.map +0 -1
  356. package/build/cjs/blocks/SliderNew/useSlider.js.map +0 -1
  357. package/build/cjs/blocks/SliderNew/useSliderPagination.js.map +0 -1
  358. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  359. package/build/cjs/blocks/SliderNew/utils.js +0 -48
  360. package/build/cjs/blocks/SliderNew/utils.js.map +0 -1
  361. package/build/cjs/blocks/unstable.d.ts +0 -1
  362. package/build/cjs/blocks/unstable.js +0 -7
  363. package/build/cjs/blocks/unstable.js.map +0 -1
  364. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  365. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -9
  366. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  367. package/build/esm/blocks/SliderNew/Slider.css +0 -834
  368. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
  369. package/build/esm/blocks/SliderNew/Slider.js +0 -56
  370. package/build/esm/blocks/SliderNew/Slider.js.map +0 -1
  371. package/build/esm/blocks/SliderNew/schema.js.map +0 -1
  372. package/build/esm/blocks/SliderNew/useSlider.js.map +0 -1
  373. package/build/esm/blocks/SliderNew/useSliderPagination.js.map +0 -1
  374. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  375. package/build/esm/blocks/SliderNew/utils.js +0 -41
  376. package/build/esm/blocks/SliderNew/utils.js.map +0 -1
  377. package/build/esm/blocks/unstable.d.ts +0 -1
  378. package/build/esm/blocks/unstable.js +0 -2
  379. package/build/esm/blocks/unstable.js.map +0 -1
  380. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  381. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  382. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  383. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  384. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  385. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Quote.js","sourceRoot":"../../../../src","sources":["sub-blocks/Quote/Quote.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Author, Button, HTML, Image, YFMWrapper} from '../../components';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {useAnalytics} from '../../hooks';\nimport {AuthorItem, AuthorType, DefaultEventNames, QuoteProps, QuoteType} from '../../models';\nimport {block, getThemedValue} from '../../utils';\n\nimport './Quote.scss';\n\nconst b = block('quote');\n\nconst Quote = (props: QuoteProps) => {\n const {\n theme: textTheme = 'light',\n color,\n image,\n border = 'shadow',\n text,\n yfmText,\n logo,\n author,\n url,\n urlTitle,\n buttonText,\n quoteType = QuoteType.Chevron,\n button,\n } = props;\n const theme = useTheme();\n const imageThemed = getThemedValue(image, theme);\n const imageData = getMediaImage(imageThemed);\n const handleAnalytics = useAnalytics(DefaultEventNames.QuoteButton, url);\n\n const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);\n const themedAuthor = author\n ? ({\n ...author,\n avatar: getThemedValue(author.avatar, theme),\n } as AuthorItem)\n : author;\n\n const renderFooter = Boolean(author || url) && (\n <div className={b('author-wrapper')}>\n {themedAuthor && (\n <Author\n className={b('author', {theme: textTheme})}\n author={themedAuthor}\n type={AuthorType.Line}\n theme={textTheme}\n />\n )}\n {url && buttonText && !button && (\n <Button\n theme=\"outlined\"\n size=\"xl\"\n url={url}\n className={b('link-button', {theme: textTheme})}\n onClick={handleButtonClick}\n urlTitle={urlTitle}\n text={buttonText}\n />\n )}\n {button && <Button size=\"xl\" {...button} />}\n </div>\n );\n\n const themedLogoProps = getThemedValue(logo, theme);\n const logoProps = getMediaImage(themedLogoProps);\n\n return (\n <div\n className={b({theme: textTheme, border})}\n style={color ? {backgroundColor: color} : {}}\n >\n <div key={text} className={b('content-wrapper')}>\n <div>\n <Image className={b('logo')} {...logoProps} />\n <div className={b('content', {'quote-type': quoteType})}>\n {text && (\n <span className={b('text')}>\n <HTML>{text}</HTML>\n </span>\n )}\n {yfmText && (\n <YFMWrapper\n className={b('text')}\n content={yfmText}\n modifiers={{constructor: true}}\n />\n )}\n </div>\n </div>\n {renderFooter}\n </div>\n <div className={b('image-wrapper')}>\n <Image {...imageData} className={b('image')} />\n </div>\n </div>\n );\n};\n\nexport default Quote;\n"]}
1
+ {"version":3,"file":"Quote.js","sourceRoot":"../../../../src","sources":["sub-blocks/Quote/Quote.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Author, Button, Image, YFMWrapper} from '../../components';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {useAnalytics} from '../../hooks';\nimport {AuthorItem, AuthorType, DefaultEventNames, QuoteProps, QuoteType} from '../../models';\nimport {block, getThemedValue} from '../../utils';\n\nimport './Quote.scss';\n\nconst b = block('quote');\n\nconst Quote = (props: QuoteProps) => {\n const {\n theme: textTheme = 'light',\n color,\n image,\n border = 'shadow',\n text,\n yfmText,\n logo,\n author,\n url,\n urlTitle,\n buttonText,\n quoteType = QuoteType.Chevron,\n button,\n } = props;\n const theme = useTheme();\n const imageThemed = getThemedValue(image, theme);\n const imageData = getMediaImage(imageThemed);\n const handleAnalytics = useAnalytics(DefaultEventNames.QuoteButton, url);\n\n const handleButtonClick = React.useCallback(() => handleAnalytics(), [handleAnalytics]);\n const themedAuthor = author\n ? ({\n ...author,\n avatar: getThemedValue(author.avatar, theme),\n } as AuthorItem)\n : author;\n\n const renderFooter = Boolean(author || url) && (\n <div className={b('author-wrapper')}>\n {themedAuthor && (\n <Author\n className={b('author', {theme: textTheme})}\n author={themedAuthor}\n type={AuthorType.Line}\n theme={textTheme}\n />\n )}\n {url && buttonText && !button && (\n <Button\n theme=\"outlined\"\n size=\"xl\"\n url={url}\n className={b('link-button', {theme: textTheme})}\n onClick={handleButtonClick}\n urlTitle={urlTitle}\n text={buttonText}\n />\n )}\n {button && <Button size=\"xl\" {...button} />}\n </div>\n );\n\n const themedLogoProps = getThemedValue(logo, theme);\n const logoProps = getMediaImage(themedLogoProps);\n\n const textLocal = yfmText || text;\n\n return (\n <div\n className={b({theme: textTheme, border})}\n style={color ? {backgroundColor: color} : {}}\n >\n <div key={text} className={b('content-wrapper')}>\n <div>\n <Image className={b('logo')} {...logoProps} />\n <div className={b('content', {'quote-type': quoteType})}>\n {textLocal && (\n <YFMWrapper\n tagName=\"span\"\n contentClassName={b('text')}\n content={textLocal}\n modifiers={{constructor: true}}\n />\n )}\n </div>\n </div>\n {renderFooter}\n </div>\n <div className={b('image-wrapper')}>\n <Image {...imageData} className={b('image')} />\n </div>\n </div>\n );\n};\n\nexport default Quote;\n"]}
@@ -1,18 +1,19 @@
1
1
  import { MarkdownItPluginCb } from '@diplodoc/transform/lib/plugins/typings';
2
2
  import { Lang } from "./types.js";
3
3
  export type ComplexItem = {
4
- [key: string]: string;
4
+ [key: string]: string | object;
5
5
  };
6
6
  export type Item = string | null | ComplexItem;
7
7
  export type Transformer = (text: string) => string;
8
8
  export type TransformerRaw = (lang: Lang, content: string, options: {
9
9
  plugins: MarkdownItPluginCb[];
10
+ renderInline?: boolean;
10
11
  }) => string;
11
12
  export type Parser<T = any> = (transformer: Transformer, block: T) => T;
12
13
  export declare const createItemsParser: (fields: string[]) => (transformer: Transformer, items: Item[]) => (string | {
13
- [x: string]: string;
14
+ [x: string]: string | object;
14
15
  } | null)[];
15
16
  export declare function yfmTransformer(lang: Lang, content: string, options?: {
16
17
  plugins?: MarkdownItPluginCb[];
17
- }): string;
18
+ }, renderInline?: boolean): string;
18
19
  export declare function typografTransformer(lang: Lang, content: string): string;
@@ -1,30 +1,59 @@
1
1
  import defaultPlugins from '@diplodoc/transform/lib/plugins';
2
2
  import { fullTransform, typografToHTML } from "./utils.js";
3
- export const createItemsParser = (fields) => (transformer, items) => items.map((item) => {
4
- if (!item) {
5
- return item;
6
- }
7
- else if (typeof item === 'string') {
8
- return transformer(item);
9
- }
10
- else {
11
- return {
12
- ...item,
13
- ...fields.reduce((acc, fieldName) => {
14
- if (item[fieldName]) {
15
- // eslint-disable-next-line no-param-reassign
16
- acc[fieldName] = transformer(item[fieldName]);
17
- }
18
- return acc;
19
- }, {}),
20
- };
21
- }
22
- });
23
- export function yfmTransformer(lang, content, options = {}) {
3
+ export const createItemsParser = (fields) => (transformer, items) => {
4
+ const applyTransform = (itemLocal) => typeof itemLocal === 'string' ? transformer(itemLocal) : itemLocal;
5
+ return items.map((item) => {
6
+ if (!item) {
7
+ return item;
8
+ }
9
+ else if (typeof item === 'string') {
10
+ return transformer(item);
11
+ }
12
+ else {
13
+ return {
14
+ ...item,
15
+ ...fields.reduce((acc, fieldName) => {
16
+ if (fieldName.includes('.')) {
17
+ const [firstProperty, secondProperty] = fieldName.split('.');
18
+ const root = item[firstProperty];
19
+ if (!root || typeof root !== 'object') {
20
+ return acc;
21
+ }
22
+ if (Array.isArray(root)) {
23
+ if (!acc[firstProperty]) {
24
+ // eslint-disable-next-line no-param-reassign
25
+ acc[firstProperty] = [];
26
+ }
27
+ // eslint-disable-next-line no-param-reassign
28
+ acc[firstProperty] = root.map((subItem) => ({
29
+ ...subItem,
30
+ [secondProperty]: applyTransform(subItem[secondProperty]),
31
+ }));
32
+ }
33
+ else {
34
+ // eslint-disable-next-line no-param-reassign
35
+ acc[firstProperty] = {
36
+ ...root,
37
+ [secondProperty]: applyTransform(root[secondProperty]),
38
+ };
39
+ }
40
+ }
41
+ else if (item[fieldName]) {
42
+ // eslint-disable-next-line no-param-reassign
43
+ acc[fieldName] = applyTransform(item[fieldName]);
44
+ }
45
+ return acc;
46
+ }, {}),
47
+ };
48
+ }
49
+ });
50
+ };
51
+ export function yfmTransformer(lang, content, options = {}, renderInline = false) {
24
52
  const { plugins = [] } = options;
25
53
  const { html } = fullTransform(content, {
26
54
  lang,
27
55
  plugins: [...defaultPlugins, ...plugins],
56
+ renderInline,
28
57
  });
29
58
  return html;
30
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["text-transform/common.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAI7D,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,mBAAgB;AAatD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,CAAC,WAAwB,EAAE,KAAa,EAAE,EAAE,CAC/F,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,GAAG,IAAI;YACP,GAAG,MAAM,CAAC,MAAM,CAAc,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClB,6CAA6C;oBAC7C,GAAG,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClD,CAAC;gBAED,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAC;SACT,CAAC;IACN,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,MAAM,UAAU,cAAc,CAC1B,IAAU,EACV,OAAe,EACf,UAA4C,EAAE;IAE9C,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC;IAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,aAAa,CAAC,OAAO,EAAE;QAClC,IAAI;QACJ,OAAO,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;KAC3C,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU,EAAE,OAAe;IAC3D,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import defaultPlugins from '@diplodoc/transform/lib/plugins';\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\n\nimport {Lang} from './types';\nimport {fullTransform, typografToHTML} from './utils';\n\nexport type ComplexItem = {[key: string]: string};\nexport type Item = string | null | ComplexItem;\nexport type Transformer = (text: string) => string;\nexport type TransformerRaw = (\n lang: Lang,\n content: string,\n options: {plugins: MarkdownItPluginCb[]},\n) => string;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Parser<T = any> = (transformer: Transformer, block: T) => T;\n\nexport const createItemsParser = (fields: string[]) => (transformer: Transformer, items: Item[]) =>\n items.map((item) => {\n if (!item) {\n return item;\n } else if (typeof item === 'string') {\n return transformer(item);\n } else {\n return {\n ...item,\n ...fields.reduce<ComplexItem>((acc, fieldName) => {\n if (item[fieldName]) {\n // eslint-disable-next-line no-param-reassign\n acc[fieldName] = transformer(item[fieldName]);\n }\n\n return acc;\n }, {}),\n };\n }\n });\n\nexport function yfmTransformer(\n lang: Lang,\n content: string,\n options: {plugins?: MarkdownItPluginCb[]} = {},\n) {\n const {plugins = []} = options;\n const {html} = fullTransform(content, {\n lang,\n plugins: [...defaultPlugins, ...plugins],\n });\n\n return html;\n}\n\nexport function typografTransformer(lang: Lang, content: string) {\n return typografToHTML(content, lang);\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["text-transform/common.ts"],"names":[],"mappings":"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","sourcesContent":["import defaultPlugins from '@diplodoc/transform/lib/plugins';\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\n\nimport {Lang} from './types';\nimport {fullTransform, typografToHTML} from './utils';\n\nexport type ComplexItem = {[key: string]: string | object};\nexport type Item = string | null | ComplexItem;\nexport type Transformer = (text: string) => string;\nexport type TransformerRaw = (\n lang: Lang,\n content: string,\n options: {plugins: MarkdownItPluginCb[]; renderInline?: boolean},\n) => string;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Parser<T = any> = (transformer: Transformer, block: T) => T;\n\nexport const createItemsParser =\n (fields: string[]) => (transformer: Transformer, items: Item[]) => {\n const applyTransform = (itemLocal: string | object) =>\n typeof itemLocal === 'string' ? transformer(itemLocal as string) : itemLocal;\n\n return items.map((item) => {\n if (!item) {\n return item;\n } else if (typeof item === 'string') {\n return transformer(item);\n } else {\n return {\n ...item,\n ...fields.reduce<ComplexItem>((acc, fieldName) => {\n if (fieldName.includes('.')) {\n const [firstProperty, secondProperty] = fieldName.split('.');\n const root = item[firstProperty] as unknown as Record<string, string>;\n if (!root || typeof root !== 'object') {\n return acc;\n }\n\n if (Array.isArray(root)) {\n if (!acc[firstProperty]) {\n // eslint-disable-next-line no-param-reassign\n acc[firstProperty] = [];\n }\n\n // eslint-disable-next-line no-param-reassign\n acc[firstProperty] = root.map((subItem: ComplexItem) => ({\n ...subItem,\n [secondProperty]: applyTransform(subItem[secondProperty]),\n }));\n } else {\n // eslint-disable-next-line no-param-reassign\n acc[firstProperty] = {\n ...root,\n [secondProperty]: applyTransform(root[secondProperty]),\n };\n }\n } else if (item[fieldName]) {\n // eslint-disable-next-line no-param-reassign\n acc[fieldName] = applyTransform(item[fieldName]);\n }\n\n return acc;\n }, {} as ComplexItem),\n };\n }\n });\n };\n\nexport function yfmTransformer(\n lang: Lang,\n content: string,\n options: {plugins?: MarkdownItPluginCb[]} = {},\n renderInline = false,\n) {\n const {plugins = []} = options;\n const {html} = fullTransform(content, {\n lang,\n plugins: [...defaultPlugins, ...plugins],\n renderInline,\n });\n\n return html;\n}\n\nexport function typografTransformer(lang: Lang, content: string) {\n return typografToHTML(content, lang);\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import { TitleItemProps } from "../models/index.js";
2
- import { Parser, Transformer, TransformerRaw, typografTransformer, yfmTransformer } from "./common.js";
2
+ import { Parser, Transformer, TransformerRaw, yfmTransformer } from "./common.js";
3
3
  export declare const blockHeaderTransformer: ({
4
4
  fields: string[];
5
- transformer: typeof typografTransformer;
5
+ transformer: typeof yfmTransformer;
6
6
  parser: (transformer: Transformer, title: TitleItemProps | string) => string | {
7
7
  text: string;
8
8
  navTitle?: string;
@@ -14,15 +14,18 @@ export declare const blockHeaderTransformer: ({
14
14
  custom?: string | React.ReactNode;
15
15
  onClick?: () => void;
16
16
  };
17
+ renderInline: boolean;
17
18
  } | {
18
19
  fields: string[];
19
20
  transformer: typeof yfmTransformer;
20
21
  parser?: undefined;
22
+ renderInline?: undefined;
21
23
  })[];
22
24
  interface BlockConfig {
23
25
  transformer: TransformerRaw;
24
26
  fields?: string[];
25
27
  parser?: Parser;
28
+ renderInline?: boolean;
26
29
  }
27
30
  export type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;
28
31
  export declare const config: BlocksConfig;
@@ -2,13 +2,32 @@
2
2
  /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */
3
3
  import { BlockType, SubBlockType, } from "../models/index.js";
4
4
  import { createItemsParser, typografTransformer, yfmTransformer, } from "./common.js";
5
- function parseTableBlock(transformer, content) {
5
+ function parseTableBlockLegend(transformer, content) {
6
6
  const legend = content?.legend;
7
7
  return {
8
8
  ...(content || {}),
9
9
  legend: legend && legend.map((string) => transformer(string)),
10
10
  };
11
11
  }
12
+ function parseTableBlockContent(transformer, content) {
13
+ const legend = content?.legend;
14
+ const tableContent = content?.content;
15
+ return {
16
+ ...(content || {}),
17
+ content: tableContent &&
18
+ tableContent.map((row, i) => row.map((cell, j) => {
19
+ if (legend) {
20
+ if (i === 0 || j === 0) {
21
+ return transformer(cell);
22
+ }
23
+ return cell;
24
+ }
25
+ else {
26
+ return transformer(cell);
27
+ }
28
+ })),
29
+ };
30
+ }
12
31
  function parseFeatures(transformer, items) {
13
32
  return items.map(({ title, text, ...rest }) => ({
14
33
  title: title && transformer(title),
@@ -92,8 +111,9 @@ const parseBackgroundCardItems = (transformer, items) => items.map(({ text, ...r
92
111
  export const blockHeaderTransformer = [
93
112
  {
94
113
  fields: ['title'],
95
- transformer: typografTransformer,
114
+ transformer: yfmTransformer,
96
115
  parser: parseTitle,
116
+ renderInline: true,
97
117
  },
98
118
  {
99
119
  fields: ['description'],
@@ -104,7 +124,8 @@ export const config = {
104
124
  [SubBlockType.BasicCard]: [
105
125
  {
106
126
  fields: ['title'],
107
- transformer: typografTransformer,
127
+ transformer: yfmTransformer,
128
+ renderInline: true,
108
129
  },
109
130
  {
110
131
  fields: ['text', 'additionalInfo'],
@@ -113,12 +134,9 @@ export const config = {
113
134
  ],
114
135
  [SubBlockType.BackgroundCard]: [
115
136
  {
116
- fields: ['text', 'additionalInfo'],
137
+ fields: ['title', 'text', 'additionalInfo'],
117
138
  transformer: yfmTransformer,
118
- },
119
- {
120
- fields: ['title'],
121
- transformer: typografTransformer,
139
+ renderInline: true,
122
140
  },
123
141
  {
124
142
  fields: ['list'],
@@ -128,12 +146,9 @@ export const config = {
128
146
  ],
129
147
  [SubBlockType.ImageCard]: [
130
148
  {
131
- fields: ['text', 'additionalInfo'],
149
+ fields: ['title', 'text', 'additionalInfo'],
132
150
  transformer: yfmTransformer,
133
- },
134
- {
135
- fields: ['title'],
136
- transformer: typografTransformer,
151
+ renderInline: true,
137
152
  },
138
153
  ],
139
154
  [SubBlockType.LayoutItem]: [
@@ -145,7 +160,8 @@ export const config = {
145
160
  {
146
161
  fields: ['content'],
147
162
  parser: parseContentLayoutTitle,
148
- transformer: typografTransformer,
163
+ transformer: yfmTransformer,
164
+ renderInline: true,
149
165
  },
150
166
  {
151
167
  fields: ['metaInfo'],
@@ -155,26 +171,30 @@ export const config = {
155
171
  ],
156
172
  [SubBlockType.Quote]: [
157
173
  {
158
- fields: ['text'],
159
- transformer: typografTransformer,
160
- },
161
- {
162
- fields: ['yfmText'],
174
+ fields: ['text', 'yfmText'],
163
175
  transformer: yfmTransformer,
176
+ renderInline: true,
164
177
  },
165
178
  ],
166
179
  [BlockType.ExtendedFeaturesBlock]: [
167
180
  ...blockHeaderTransformer,
168
181
  {
169
182
  fields: ['items'],
170
- transformer: typografTransformer,
183
+ transformer: yfmTransformer,
171
184
  parser: createItemsParser(['title']),
185
+ renderInline: true,
172
186
  },
173
187
  {
174
188
  fields: ['items'],
175
189
  transformer: yfmTransformer,
176
190
  parser: createItemsParser(['text', 'additionalInfo']),
177
191
  },
192
+ {
193
+ fields: ['items'],
194
+ transformer: yfmTransformer,
195
+ parser: createItemsParser(['list.text']),
196
+ renderInline: true,
197
+ },
178
198
  ],
179
199
  [BlockType.PromoFeaturesBlock]: [
180
200
  ...blockHeaderTransformer,
@@ -184,16 +204,14 @@ export const config = {
184
204
  parser: parsePromoFeatures,
185
205
  },
186
206
  ],
207
+ [BlockType.SliderOldBlock]: blockHeaderTransformer,
187
208
  [BlockType.SliderBlock]: blockHeaderTransformer,
188
209
  [BlockType.CompaniesBlock]: blockHeaderTransformer,
189
210
  [BlockType.QuestionsBlock]: [
190
211
  {
191
- fields: ['title'],
192
- transformer: typografTransformer,
193
- },
194
- {
195
- fields: ['text', 'additionalInfo'],
212
+ fields: ['title', 'text', 'additionalInfo'],
196
213
  transformer: yfmTransformer,
214
+ renderInline: true,
197
215
  },
198
216
  {
199
217
  fields: ['items'],
@@ -219,7 +237,8 @@ export const config = {
219
237
  [BlockType.BannerBlock]: [
220
238
  {
221
239
  fields: ['title'],
222
- transformer: typografTransformer,
240
+ transformer: yfmTransformer,
241
+ renderInline: true,
223
242
  },
224
243
  {
225
244
  fields: ['subtitle'],
@@ -229,7 +248,8 @@ export const config = {
229
248
  [SubBlockType.BannerCard]: [
230
249
  {
231
250
  fields: ['title'],
232
- transformer: typografTransformer,
251
+ transformer: yfmTransformer,
252
+ renderInline: true,
233
253
  },
234
254
  {
235
255
  fields: ['subtitle'],
@@ -239,7 +259,7 @@ export const config = {
239
259
  [BlockType.MediaBlock]: [
240
260
  ...blockHeaderTransformer,
241
261
  {
242
- fields: ['title', 'additionalInfo'],
262
+ fields: ['additionalInfo'],
243
263
  transformer: yfmTransformer,
244
264
  },
245
265
  {
@@ -264,27 +284,35 @@ export const config = {
264
284
  },
265
285
  {
266
286
  fields: ['items'],
267
- transformer: typografTransformer,
287
+ transformer: yfmTransformer,
268
288
  parser: parseItemsTitle,
289
+ renderInline: true,
269
290
  },
270
291
  ],
271
292
  [BlockType.TableBlock]: [
293
+ {
294
+ fields: ['title'],
295
+ transformer: yfmTransformer,
296
+ renderInline: true,
297
+ },
272
298
  {
273
299
  fields: ['table'],
274
300
  transformer: yfmTransformer,
275
- parser: parseTableBlock,
301
+ parser: parseTableBlockLegend,
276
302
  },
277
- ],
278
- [BlockType.HeaderSliderBlock]: [
279
303
  {
280
- fields: ['items'],
281
- transformer: typografTransformer,
282
- parser: createItemsParser(['title', 'overtitle']),
304
+ fields: ['table'],
305
+ transformer: yfmTransformer,
306
+ parser: parseTableBlockContent,
307
+ renderInline: true,
283
308
  },
309
+ ],
310
+ [BlockType.HeaderSliderBlock]: [
284
311
  {
285
312
  fields: ['items'],
286
313
  transformer: yfmTransformer,
287
- parser: createItemsParser(['description']),
314
+ parser: createItemsParser(['title', 'overtitle', 'description']),
315
+ renderInline: true,
288
316
  },
289
317
  ],
290
318
  [SubBlockType.PriceDetailed]: [
@@ -298,6 +326,11 @@ export const config = {
298
326
  fields: ['description', 'additionalInfo'],
299
327
  transformer: yfmTransformer,
300
328
  },
329
+ {
330
+ fields: ['overtitle', 'title'],
331
+ transformer: yfmTransformer,
332
+ renderInline: true,
333
+ },
301
334
  ],
302
335
  [BlockType.ContentLayoutBlock]: [
303
336
  {
@@ -307,8 +340,9 @@ export const config = {
307
340
  },
308
341
  {
309
342
  fields: ['textContent'],
310
- transformer: typografTransformer,
343
+ transformer: yfmTransformer,
311
344
  parser: parseContentLayoutTitle,
345
+ renderInline: true,
312
346
  },
313
347
  ],
314
348
  [SubBlockType.Content]: [
@@ -318,8 +352,9 @@ export const config = {
318
352
  },
319
353
  {
320
354
  fields: ['title'],
321
- transformer: typografTransformer,
355
+ transformer: yfmTransformer,
322
356
  parser: parseTitle,
357
+ renderInline: true,
323
358
  },
324
359
  {
325
360
  fields: ['list'],
@@ -328,6 +363,11 @@ export const config = {
328
363
  },
329
364
  ],
330
365
  [BlockType.InfoBlock]: [
366
+ {
367
+ fields: ['title'],
368
+ transformer: yfmTransformer,
369
+ renderInline: true,
370
+ },
331
371
  {
332
372
  fields: ['rightContent', 'leftContent'],
333
373
  transformer: yfmTransformer,
@@ -335,14 +375,16 @@ export const config = {
335
375
  },
336
376
  {
337
377
  fields: ['rightContent', 'leftContent'],
338
- transformer: typografTransformer,
378
+ transformer: yfmTransformer,
339
379
  parser: parseContentLayoutTitle,
380
+ renderInline: true,
340
381
  },
341
382
  ],
342
383
  [BlockType.ShareBlock]: [
343
384
  {
344
385
  fields: ['title'],
345
- transformer: typografTransformer,
386
+ transformer: yfmTransformer,
387
+ renderInline: true,
346
388
  },
347
389
  ],
348
390
  [BlockType.CardLayoutBlock]: blockHeaderTransformer,
@@ -351,12 +393,13 @@ export const config = {
351
393
  [SubBlockType.PriceCard]: [
352
394
  {
353
395
  fields: ['title'],
354
- transformer: typografTransformer,
396
+ transformer: yfmTransformer,
397
+ renderInline: true,
355
398
  },
356
399
  {
357
400
  fields: ['list'],
358
401
  transformer: yfmTransformer,
359
- parser: createItemsParser(['text']),
402
+ parser: createItemsParser(['title', 'text']),
360
403
  },
361
404
  ],
362
405
  [BlockType.FormBlock]: [
@@ -367,8 +410,9 @@ export const config = {
367
410
  },
368
411
  {
369
412
  fields: ['textContent'],
370
- transformer: typografTransformer,
413
+ transformer: yfmTransformer,
371
414
  parser: parseContentLayoutTitle,
415
+ renderInline: true,
372
416
  },
373
417
  ],
374
418
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"../../../src","sources":["text-transform/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ContentItemProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {\n Parser,\n Transformer,\n TransformerRaw,\n createItemsParser,\n typografTransformer,\n yfmTransformer,\n} from './common';\n\nfunction parseTableBlock(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n\n return {\n ...(content || {}),\n legend: legend && legend.map((string) => transformer(string)),\n };\n}\n\nfunction parseFeatures(transformer: Transformer, items: ExtendedFeaturesItem[]) {\n return items.map(({title, text, ...rest}) => ({\n title: title && transformer(title),\n text: text && transformer(text),\n ...rest,\n }));\n}\n\nfunction parsePromoFeatures(transformer: Transformer, items: PromoFeaturesItem[]) {\n return items.map(({text, ...rest}) => ({\n text: transformer(text),\n ...rest,\n }));\n}\n\nconst parseTitle = (transformer: Transformer, title: TitleItemProps | string) =>\n typeof title === 'object' && 'text' in title\n ? {...title, text: transformer(title.text)}\n : title && transformer(title);\n\nconst parseItemsTitle = (transformer: Transformer, items: ExtendedFeaturesItem[]) =>\n items.map(({title, ...rest}) => ({\n title: title && parseTitle(transformer, title),\n ...rest,\n }));\n\nfunction parsePriceDetailedBlock(transformer: Transformer, block: PriceDetailedProps) {\n const {priceType} = block;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n block.items = block.items.map((item) => {\n const {description, items: details = []} = item;\n\n if (priceType === 'marked-list') {\n item.items = (details as PriceDetailsListProps[]).map((detail) => {\n detail.text = detail.text && transformer(detail.text);\n\n return detail;\n });\n } else {\n item.items = (details as PriceDetailsSettingsProps[]).map((detail) => {\n detail.description = detail.description && transformer(detail.description);\n\n return detail;\n });\n }\n\n item.description = transformer(description);\n\n return item;\n });\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\n return block;\n}\n\nconst parseContentLayout = (transformer: Transformer, content: ContentBlockProps) => {\n if (content) {\n const {text, additionalInfo, list} = content;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n if (text) {\n content.text = transformer(text);\n }\n\n if (additionalInfo) {\n content.additionalInfo = transformer(additionalInfo);\n }\n\n if (list) {\n content.list = list.map((item) => {\n if (item?.text) {\n return {\n ...item,\n text: transformer(item.text),\n };\n }\n\n return item;\n });\n }\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n }\n\n return content;\n};\n\nfunction parseContentLayoutTitle(transformer: Transformer, content: ContentBlockProps) {\n if (content?.title) {\n const {title} = content;\n\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign\n content.title = title && parseTitle(transformer, title);\n }\n\n return content;\n}\n\nconst parseBackgroundCardItems = (transformer: Transformer, items: ContentItemProps[]) =>\n items.map(({text, ...rest}) => ({\n text: text && parseTitle(transformer, text),\n ...rest,\n }));\n\nexport const blockHeaderTransformer = [\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n];\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n}\n\nexport type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;\n\nexport const config: BlocksConfig = {\n [SubBlockType.BasicCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BackgroundCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['list'],\n parser: parseBackgroundCardItems,\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.ImageCard]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.LayoutItem]: [\n {\n fields: ['content'],\n parser: parseContentLayout,\n transformer: yfmTransformer,\n },\n {\n fields: ['content'],\n parser: parseContentLayoutTitle,\n transformer: typografTransformer,\n },\n {\n fields: ['metaInfo'],\n parser: createItemsParser([]),\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.Quote]: [\n {\n fields: ['text'],\n transformer: typografTransformer,\n },\n {\n fields: ['yfmText'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ExtendedFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo']),\n },\n ],\n [BlockType.PromoFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parsePromoFeatures,\n },\n ],\n [BlockType.SliderBlock]: blockHeaderTransformer,\n [BlockType.CompaniesBlock]: blockHeaderTransformer,\n [BlockType.QuestionsBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n [BlockType.FoldableListBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n\n [BlockType.BannerBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BannerCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.MediaBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.MapBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.TabsBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo', 'caption']),\n },\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: parseItemsTitle,\n },\n ],\n [BlockType.TableBlock]: [\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlock,\n },\n ],\n [BlockType.HeaderSliderBlock]: [\n {\n fields: ['items'],\n transformer: typografTransformer,\n parser: createItemsParser(['title', 'overtitle']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['description']),\n },\n ],\n [SubBlockType.PriceDetailed]: [\n {\n transformer: yfmTransformer,\n parser: parsePriceDetailedBlock,\n },\n ],\n [BlockType.HeaderBlock]: [\n {\n fields: ['description', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.ContentLayoutBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [SubBlockType.Content]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: typografTransformer,\n parser: parseTitle,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.InfoBlock]: [\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n [BlockType.ShareBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n ],\n [BlockType.CardLayoutBlock]: blockHeaderTransformer,\n [BlockType.FilterBlock]: blockHeaderTransformer,\n [BlockType.IconsBlock]: blockHeaderTransformer,\n [SubBlockType.PriceCard]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.FormBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: typografTransformer,\n parser: parseContentLayoutTitle,\n },\n ],\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"../../../src","sources":["text-transform/config.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ContentItemProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {\n Parser,\n Transformer,\n TransformerRaw,\n createItemsParser,\n typografTransformer,\n yfmTransformer,\n} from './common';\n\nfunction parseTableBlockLegend(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n\n return {\n ...(content || {}),\n legend: legend && legend.map((string) => transformer(string)),\n };\n}\n\nfunction parseTableBlockContent(transformer: Transformer, content: TableProps) {\n const legend = content?.legend;\n const tableContent = content?.content;\n\n return {\n ...(content || {}),\n content:\n tableContent &&\n tableContent.map((row, i) =>\n row.map((cell, j) => {\n if (legend) {\n if (i === 0 || j === 0) {\n return transformer(cell);\n }\n return cell;\n } else {\n return transformer(cell);\n }\n }),\n ),\n };\n}\n\nfunction parseFeatures(transformer: Transformer, items: ExtendedFeaturesItem[]) {\n return items.map(({title, text, ...rest}) => ({\n title: title && transformer(title),\n text: text && transformer(text),\n ...rest,\n }));\n}\n\nfunction parsePromoFeatures(transformer: Transformer, items: PromoFeaturesItem[]) {\n return items.map(({text, ...rest}) => ({\n text: transformer(text),\n ...rest,\n }));\n}\n\nconst parseTitle = (transformer: Transformer, title: TitleItemProps | string) =>\n typeof title === 'object' && 'text' in title\n ? {...title, text: transformer(title.text)}\n : title && transformer(title);\n\nconst parseItemsTitle = (transformer: Transformer, items: ExtendedFeaturesItem[]) =>\n items.map(({title, ...rest}) => ({\n title: title && parseTitle(transformer, title),\n ...rest,\n }));\n\nfunction parsePriceDetailedBlock(transformer: Transformer, block: PriceDetailedProps) {\n const {priceType} = block;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n block.items = block.items.map((item) => {\n const {description, items: details = []} = item;\n\n if (priceType === 'marked-list') {\n item.items = (details as PriceDetailsListProps[]).map((detail) => {\n detail.text = detail.text && transformer(detail.text);\n\n return detail;\n });\n } else {\n item.items = (details as PriceDetailsSettingsProps[]).map((detail) => {\n detail.description = detail.description && transformer(detail.description);\n\n return detail;\n });\n }\n\n item.description = transformer(description);\n\n return item;\n });\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\n return block;\n}\n\nconst parseContentLayout = (transformer: Transformer, content: ContentBlockProps) => {\n if (content) {\n const {text, additionalInfo, list} = content;\n\n /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n if (text) {\n content.text = transformer(text);\n }\n\n if (additionalInfo) {\n content.additionalInfo = transformer(additionalInfo);\n }\n\n if (list) {\n content.list = list.map((item) => {\n if (item?.text) {\n return {\n ...item,\n text: transformer(item.text),\n };\n }\n\n return item;\n });\n }\n /* eslint-enable no-not-accumulator-reassign/no-not-accumulator-reassign */\n }\n\n return content;\n};\n\nfunction parseContentLayoutTitle(transformer: Transformer, content: ContentBlockProps) {\n if (content?.title) {\n const {title} = content;\n\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign\n content.title = title && parseTitle(transformer, title);\n }\n\n return content;\n}\n\nconst parseBackgroundCardItems = (transformer: Transformer, items: ContentItemProps[]) =>\n items.map(({text, ...rest}) => ({\n text: text && parseTitle(transformer, text),\n ...rest,\n }));\n\nexport const blockHeaderTransformer = [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n parser: parseTitle,\n renderInline: true,\n },\n {\n fields: ['description'],\n transformer: yfmTransformer,\n },\n];\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n renderInline?: boolean;\n}\n\nexport type BlocksConfig = Record<string, BlockConfig | BlockConfig[]>;\n\nexport const config: BlocksConfig = {\n [SubBlockType.BasicCard]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BackgroundCard]: [\n {\n fields: ['title', 'text', 'additionalInfo'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['list'],\n parser: parseBackgroundCardItems,\n transformer: typografTransformer,\n },\n ],\n [SubBlockType.ImageCard]: [\n {\n fields: ['title', 'text', 'additionalInfo'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [SubBlockType.LayoutItem]: [\n {\n fields: ['content'],\n parser: parseContentLayout,\n transformer: yfmTransformer,\n },\n {\n fields: ['content'],\n parser: parseContentLayoutTitle,\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['metaInfo'],\n parser: createItemsParser([]),\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.Quote]: [\n {\n fields: ['text', 'yfmText'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [BlockType.ExtendedFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title']),\n renderInline: true,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['list.text']),\n renderInline: true,\n },\n ],\n [BlockType.PromoFeaturesBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parsePromoFeatures,\n },\n ],\n [BlockType.SliderOldBlock]: blockHeaderTransformer,\n [BlockType.SliderBlock]: blockHeaderTransformer,\n [BlockType.CompaniesBlock]: blockHeaderTransformer,\n [BlockType.QuestionsBlock]: [\n {\n fields: ['title', 'text', 'additionalInfo'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n [BlockType.FoldableListBlock]: [\n {\n fields: ['title'],\n transformer: typografTransformer,\n },\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseFeatures,\n },\n ],\n\n [BlockType.BannerBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [SubBlockType.BannerCard]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['subtitle'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.MediaBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text']),\n },\n ],\n [BlockType.MapBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['title', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n ],\n [BlockType.TabsBlock]: [\n ...blockHeaderTransformer,\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['text', 'additionalInfo', 'caption']),\n },\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: parseItemsTitle,\n renderInline: true,\n },\n ],\n [BlockType.TableBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlockLegend,\n },\n {\n fields: ['table'],\n transformer: yfmTransformer,\n parser: parseTableBlockContent,\n renderInline: true,\n },\n ],\n [BlockType.HeaderSliderBlock]: [\n {\n fields: ['items'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'overtitle', 'description']),\n renderInline: true,\n },\n ],\n [SubBlockType.PriceDetailed]: [\n {\n transformer: yfmTransformer,\n parser: parsePriceDetailedBlock,\n },\n ],\n [BlockType.HeaderBlock]: [\n {\n fields: ['description', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['overtitle', 'title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [BlockType.ContentLayoutBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayoutTitle,\n renderInline: true,\n },\n ],\n [SubBlockType.Content]: [\n {\n fields: ['text', 'additionalInfo'],\n transformer: yfmTransformer,\n },\n {\n fields: ['title'],\n transformer: yfmTransformer,\n parser: parseTitle,\n renderInline: true,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.InfoBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['rightContent', 'leftContent'],\n transformer: yfmTransformer,\n parser: parseContentLayoutTitle,\n renderInline: true,\n },\n ],\n [BlockType.ShareBlock]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n ],\n [BlockType.CardLayoutBlock]: blockHeaderTransformer,\n [BlockType.FilterBlock]: blockHeaderTransformer,\n [BlockType.IconsBlock]: blockHeaderTransformer,\n [SubBlockType.PriceCard]: [\n {\n fields: ['title'],\n transformer: yfmTransformer,\n renderInline: true,\n },\n {\n fields: ['list'],\n transformer: yfmTransformer,\n parser: createItemsParser(['title', 'text']),\n },\n ],\n [BlockType.FormBlock]: [\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayout,\n },\n {\n fields: ['textContent'],\n transformer: yfmTransformer,\n parser: parseContentLayoutTitle,\n renderInline: true,\n },\n ],\n};\n"]}
@@ -18,10 +18,10 @@ function transformBlock(lang, blocksConfig, block, plugins) {
18
18
  if (blockConfig) {
19
19
  const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];
20
20
  configs.forEach((transformConfig) => {
21
- const { fields, transformer: transformerRaw, parser } = transformConfig;
21
+ const { fields, transformer: transformerRaw, parser, renderInline } = transformConfig;
22
22
  const transformer = (content) =>
23
23
  // eslint-disable-next-line no-useless-call
24
- transformerRaw.call(null, lang, content, { plugins });
24
+ transformerRaw.call(null, lang, content, { plugins, renderInline });
25
25
  if (fields) {
26
26
  fields.forEach((field) => {
27
27
  if (block[field]) {