@gravity-ui/page-constructor 6.6.2 → 7.0.0-alpha.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 (368) hide show
  1. package/README.md +10 -0
  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 +5 -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/ContentList/ContentList.css +10 -6
  73. package/build/cjs/components/ContentList/ContentList.js +1 -1
  74. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  75. package/build/cjs/components/FullscreenImage/FullscreenImage.css +99 -18
  76. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  77. package/build/cjs/components/FullscreenImage/FullscreenImage.js +14 -2
  78. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  79. package/build/cjs/components/FullscreenMedia/FullscreenMedia.css +1 -3
  80. package/build/cjs/components/HTML/HTML.d.ts +15 -8
  81. package/build/cjs/components/HTML/HTML.js +19 -10
  82. package/build/cjs/components/HTML/HTML.js.map +1 -1
  83. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  84. package/build/cjs/components/Media/Image/Image.js +7 -5
  85. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  86. package/build/cjs/components/Media/Media.css +4 -0
  87. package/build/cjs/components/Media/Media.d.ts +1 -0
  88. package/build/cjs/components/Media/Media.js +3 -2
  89. package/build/cjs/components/Media/Media.js.map +1 -1
  90. package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
  91. package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
  92. package/build/cjs/components/MetaInfo/MetaInfo.js.map +1 -1
  93. package/build/cjs/components/Table/Table.css +2 -1
  94. package/build/cjs/components/Table/Table.js +4 -2
  95. package/build/cjs/components/Table/Table.js.map +1 -1
  96. package/build/cjs/components/Title/TitleItem.css +7 -4
  97. package/build/cjs/components/Title/TitleItem.js +3 -1
  98. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  99. package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
  100. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  101. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  102. package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -3
  103. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  104. package/build/cjs/components/YandexForm/YandexForm.js +1 -1
  105. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  106. package/build/cjs/constructor-items.d.ts +2 -2
  107. package/build/cjs/constructor-items.js +2 -4
  108. package/build/cjs/constructor-items.js.map +1 -1
  109. package/build/cjs/containers/Loadable/Loadable.js +1 -1
  110. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  111. package/build/cjs/editor/data/index.js +1 -1
  112. package/build/cjs/editor/data/index.js.map +1 -1
  113. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  114. package/build/cjs/editor/widget/utils.js +1 -1
  115. package/build/cjs/editor/widget/utils.js.map +1 -1
  116. package/build/cjs/models/common.d.ts +1 -0
  117. package/build/cjs/models/common.js.map +1 -1
  118. package/build/cjs/models/constructor-items/blocks.d.ts +17 -15
  119. package/build/cjs/models/constructor-items/blocks.js +3 -2
  120. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  121. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -1
  122. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  123. package/build/cjs/schema/constants.js +4 -2
  124. package/build/cjs/schema/constants.js.map +1 -1
  125. package/build/cjs/schema/validators/blocks.d.ts +2 -1
  126. package/build/cjs/schema/validators/blocks.js +2 -1
  127. package/build/cjs/schema/validators/blocks.js.map +1 -1
  128. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +14 -8
  129. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -1
  130. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  131. package/build/cjs/sub-blocks/Content/Content.css +27 -25
  132. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  133. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  134. package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
  135. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  136. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  137. package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
  138. package/build/cjs/sub-blocks/Quote/Quote.js +2 -1
  139. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  140. package/build/cjs/text-transform/common.d.ts +4 -3
  141. package/build/cjs/text-transform/common.js +50 -21
  142. package/build/cjs/text-transform/common.js.map +1 -1
  143. package/build/cjs/text-transform/config.d.ts +5 -2
  144. package/build/cjs/text-transform/config.js +87 -58
  145. package/build/cjs/text-transform/config.js.map +1 -1
  146. package/build/cjs/text-transform/transformers.js +2 -2
  147. package/build/cjs/text-transform/transformers.js.map +1 -1
  148. package/build/cjs/utils/blocks.d.ts +10 -2
  149. package/build/cjs/utils/blocks.js +9 -3
  150. package/build/cjs/utils/blocks.js.map +1 -1
  151. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  152. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -6
  153. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  154. package/build/esm/blocks/Header/Header.css +15 -10
  155. package/build/esm/blocks/Header/Header.js +7 -2
  156. package/build/esm/blocks/Header/Header.js.map +1 -1
  157. package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
  158. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  159. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  160. package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -1
  161. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  162. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +4 -2
  163. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  164. package/build/esm/blocks/Share/Share.css +3 -2
  165. package/build/esm/blocks/Share/Share.js +5 -1
  166. package/build/esm/blocks/Share/Share.js.map +1 -1
  167. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  168. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  169. package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
  170. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  171. package/build/esm/blocks/Slider/Slider.css +549 -329
  172. package/build/esm/blocks/Slider/Slider.d.ts +6 -5
  173. package/build/esm/blocks/Slider/Slider.js +33 -276
  174. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  175. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  176. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  177. package/build/esm/blocks/Slider/models.d.ts +2 -2
  178. package/build/esm/blocks/Slider/models.js +1 -1
  179. package/build/esm/blocks/Slider/models.js.map +1 -1
  180. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  181. package/build/esm/blocks/Slider/schema.js +9 -0
  182. package/build/esm/blocks/Slider/schema.js.map +1 -1
  183. package/build/esm/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
  184. package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  185. package/build/esm/blocks/Slider/useSlider.js.map +1 -0
  186. package/build/esm/blocks/Slider/useSliderPagination.js.map +1 -0
  187. package/build/esm/blocks/Slider/utils.d.ts +7 -28
  188. package/build/esm/blocks/Slider/utils.js +25 -103
  189. package/build/esm/blocks/Slider/utils.js.map +1 -1
  190. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +14 -11
  191. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  192. package/build/esm/blocks/SliderOld/Arrow/Arrow.js +9 -0
  193. package/build/esm/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  194. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  195. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  196. package/build/esm/blocks/SliderOld/SliderOld.js +289 -0
  197. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -0
  198. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  199. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  200. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  201. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  202. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  203. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  204. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  205. package/build/esm/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  206. package/build/esm/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  207. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  208. package/build/esm/blocks/SliderOld/schema.js.map +1 -0
  209. package/build/esm/blocks/SliderOld/utils.d.ts +37 -0
  210. package/build/esm/blocks/SliderOld/utils.js +119 -0
  211. package/build/esm/blocks/SliderOld/utils.js.map +1 -0
  212. package/build/esm/blocks/Table/Table.css +4 -3
  213. package/build/esm/blocks/Table/Table.js +4 -2
  214. package/build/esm/blocks/Table/Table.js.map +1 -1
  215. package/build/esm/blocks/index.d.ts +2 -0
  216. package/build/esm/blocks/index.js +1 -0
  217. package/build/esm/blocks/index.js.map +1 -1
  218. package/build/esm/blocks/validators.d.ts +1 -0
  219. package/build/esm/blocks/validators.js +1 -0
  220. package/build/esm/blocks/validators.js.map +1 -1
  221. package/build/esm/components/ContentList/ContentList.css +10 -6
  222. package/build/esm/components/ContentList/ContentList.js +1 -1
  223. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  224. package/build/esm/components/FullscreenImage/FullscreenImage.css +99 -18
  225. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  226. package/build/esm/components/FullscreenImage/FullscreenImage.js +14 -2
  227. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  228. package/build/esm/components/FullscreenMedia/FullscreenMedia.css +1 -3
  229. package/build/esm/components/HTML/HTML.d.ts +15 -8
  230. package/build/esm/components/HTML/HTML.js +20 -11
  231. package/build/esm/components/HTML/HTML.js.map +1 -1
  232. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  233. package/build/esm/components/Media/Image/Image.js +7 -5
  234. package/build/esm/components/Media/Image/Image.js.map +1 -1
  235. package/build/esm/components/Media/Media.css +4 -0
  236. package/build/esm/components/Media/Media.d.ts +1 -0
  237. package/build/esm/components/Media/Media.js +3 -2
  238. package/build/esm/components/Media/Media.js.map +1 -1
  239. package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
  240. package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
  241. package/build/esm/components/MetaInfo/MetaInfo.js.map +1 -1
  242. package/build/esm/components/Table/Table.css +2 -1
  243. package/build/esm/components/Table/Table.js +5 -3
  244. package/build/esm/components/Table/Table.js.map +1 -1
  245. package/build/esm/components/Title/TitleItem.css +7 -4
  246. package/build/esm/components/Title/TitleItem.js +4 -2
  247. package/build/esm/components/Title/TitleItem.js.map +1 -1
  248. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  249. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  250. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  251. package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -3
  252. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  253. package/build/esm/components/YandexForm/YandexForm.js +1 -1
  254. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  255. package/build/esm/constructor-items.d.ts +2 -2
  256. package/build/esm/constructor-items.js +3 -5
  257. package/build/esm/constructor-items.js.map +1 -1
  258. package/build/esm/containers/Loadable/Loadable.js +1 -1
  259. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  260. package/build/esm/editor/data/index.js +1 -1
  261. package/build/esm/editor/data/index.js.map +1 -1
  262. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  263. package/build/esm/editor/widget/utils.js +1 -1
  264. package/build/esm/editor/widget/utils.js.map +1 -1
  265. package/build/esm/models/common.d.ts +1 -0
  266. package/build/esm/models/common.js.map +1 -1
  267. package/build/esm/models/constructor-items/blocks.d.ts +17 -15
  268. package/build/esm/models/constructor-items/blocks.js +3 -2
  269. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  270. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -1
  271. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  272. package/build/esm/schema/constants.js +5 -3
  273. package/build/esm/schema/constants.js.map +1 -1
  274. package/build/esm/schema/validators/blocks.d.ts +2 -1
  275. package/build/esm/schema/validators/blocks.js +2 -1
  276. package/build/esm/schema/validators/blocks.js.map +1 -1
  277. package/build/esm/sub-blocks/BannerCard/BannerCard.css +14 -8
  278. package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -2
  279. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  280. package/build/esm/sub-blocks/Content/Content.css +27 -25
  281. package/build/esm/sub-blocks/Content/Content.js +1 -1
  282. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  283. package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
  284. package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
  285. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  286. package/build/esm/sub-blocks/Quote/Quote.css +8 -4
  287. package/build/esm/sub-blocks/Quote/Quote.js +3 -2
  288. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  289. package/build/esm/text-transform/common.d.ts +4 -3
  290. package/build/esm/text-transform/common.js +50 -21
  291. package/build/esm/text-transform/common.js.map +1 -1
  292. package/build/esm/text-transform/config.d.ts +5 -2
  293. package/build/esm/text-transform/config.js +88 -59
  294. package/build/esm/text-transform/config.js.map +1 -1
  295. package/build/esm/text-transform/transformers.js +2 -2
  296. package/build/esm/text-transform/transformers.js.map +1 -1
  297. package/build/esm/utils/blocks.d.ts +10 -2
  298. package/build/esm/utils/blocks.js +8 -2
  299. package/build/esm/utils/blocks.js.map +1 -1
  300. package/package.json +2 -2
  301. package/schema/index.js +1 -1
  302. package/server/models/common.d.ts +1 -0
  303. package/server/models/constructor-items/blocks.d.ts +17 -15
  304. package/server/models/constructor-items/blocks.js +3 -2
  305. package/server/text-transform/common.d.ts +4 -3
  306. package/server/text-transform/common.js +41 -18
  307. package/server/text-transform/config.d.ts +5 -2
  308. package/server/text-transform/config.js +84 -58
  309. package/server/text-transform/transformers.js +2 -2
  310. package/server/utils/blocks.d.ts +10 -2
  311. package/server/utils/blocks.js +9 -3
  312. package/styles/fonts.scss +1 -0
  313. package/styles/styles.css +0 -1
  314. package/styles/styles.scss +0 -1
  315. package/styles/variables.scss +1 -0
  316. package/widget/2042.index.js +1 -0
  317. package/widget/2723.index.js +1 -0
  318. package/widget/3392.index.js +1 -0
  319. package/widget/6173.index.js +1 -0
  320. package/widget/6328.index.js +1 -0
  321. package/widget/6353.index.js +1 -0
  322. package/widget/6463.index.js +1 -0
  323. package/widget/6887.index.js +1 -0
  324. package/widget/7458.index.js +1 -0
  325. package/widget/7570.index.js +1 -0
  326. package/widget/7627.index.js +1 -0
  327. package/widget/8446.index.js +1 -0
  328. package/widget/9340.index.js +1 -0
  329. package/widget/9979.index.js +1 -0
  330. package/widget/index.js +1 -1
  331. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
  332. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -11
  333. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  334. package/build/cjs/blocks/SliderNew/Slider.css +0 -834
  335. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
  336. package/build/cjs/blocks/SliderNew/Slider.js +0 -60
  337. package/build/cjs/blocks/SliderNew/Slider.js.map +0 -1
  338. package/build/cjs/blocks/SliderNew/schema.js.map +0 -1
  339. package/build/cjs/blocks/SliderNew/useSlider.js.map +0 -1
  340. package/build/cjs/blocks/SliderNew/useSliderPagination.js.map +0 -1
  341. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  342. package/build/cjs/blocks/SliderNew/utils.js +0 -48
  343. package/build/cjs/blocks/SliderNew/utils.js.map +0 -1
  344. package/build/cjs/blocks/unstable.d.ts +0 -1
  345. package/build/cjs/blocks/unstable.js +0 -7
  346. package/build/cjs/blocks/unstable.js.map +0 -1
  347. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  348. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -9
  349. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  350. package/build/esm/blocks/SliderNew/Slider.css +0 -834
  351. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
  352. package/build/esm/blocks/SliderNew/Slider.js +0 -56
  353. package/build/esm/blocks/SliderNew/Slider.js.map +0 -1
  354. package/build/esm/blocks/SliderNew/schema.js.map +0 -1
  355. package/build/esm/blocks/SliderNew/useSlider.js.map +0 -1
  356. package/build/esm/blocks/SliderNew/useSliderPagination.js.map +0 -1
  357. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  358. package/build/esm/blocks/SliderNew/utils.js +0 -41
  359. package/build/esm/blocks/SliderNew/utils.js.map +0 -1
  360. package/build/esm/blocks/unstable.d.ts +0 -1
  361. package/build/esm/blocks/unstable.js +0 -2
  362. package/build/esm/blocks/unstable.js.map +0 -1
  363. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  364. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  365. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  366. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  367. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  368. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -1,14 +1,33 @@
1
1
  /* eslint-disable no-param-reassign */
2
2
  /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */
3
3
  import { BlockType, SubBlockType, } from "../models/index.js";
4
- import { createItemsParser, typografTransformer, yfmTransformer, } from "./common.js";
5
- function parseTableBlock(transformer, content) {
4
+ import { createItemsParser, yfmTransformer } from "./common.js";
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),
@@ -88,8 +107,9 @@ function parseContentLayoutTitle(transformer, content) {
88
107
  export const blockHeaderTransformer = [
89
108
  {
90
109
  fields: ['title'],
91
- transformer: typografTransformer,
110
+ transformer: yfmTransformer,
92
111
  parser: parseTitle,
112
+ renderInline: true,
93
113
  },
94
114
  {
95
115
  fields: ['description'],
@@ -100,7 +120,8 @@ export const config = {
100
120
  [SubBlockType.BasicCard]: [
101
121
  {
102
122
  fields: ['title'],
103
- transformer: typografTransformer,
123
+ transformer: yfmTransformer,
124
+ renderInline: true,
104
125
  },
105
126
  {
106
127
  fields: ['text', 'additionalInfo'],
@@ -109,22 +130,16 @@ export const config = {
109
130
  ],
110
131
  [SubBlockType.BackgroundCard]: [
111
132
  {
112
- fields: ['text', 'additionalInfo'],
133
+ fields: ['title', 'text', 'additionalInfo'],
113
134
  transformer: yfmTransformer,
114
- },
115
- {
116
- fields: ['title'],
117
- transformer: typografTransformer,
135
+ renderInline: true,
118
136
  },
119
137
  ],
120
138
  [SubBlockType.ImageCard]: [
121
139
  {
122
- fields: ['text', 'additionalInfo'],
140
+ fields: ['title', 'text', 'additionalInfo'],
123
141
  transformer: yfmTransformer,
124
- },
125
- {
126
- fields: ['title'],
127
- transformer: typografTransformer,
142
+ renderInline: true,
128
143
  },
129
144
  ],
130
145
  [SubBlockType.LayoutItem]: [
@@ -136,7 +151,8 @@ export const config = {
136
151
  {
137
152
  fields: ['content'],
138
153
  parser: parseContentLayoutTitle,
139
- transformer: typografTransformer,
154
+ transformer: yfmTransformer,
155
+ renderInline: true,
140
156
  },
141
157
  {
142
158
  fields: ['metaInfo'],
@@ -146,26 +162,30 @@ export const config = {
146
162
  ],
147
163
  [SubBlockType.Quote]: [
148
164
  {
149
- fields: ['text'],
150
- transformer: typografTransformer,
151
- },
152
- {
153
- fields: ['yfmText'],
165
+ fields: ['text', 'yfmText'],
154
166
  transformer: yfmTransformer,
167
+ renderInline: true,
155
168
  },
156
169
  ],
157
170
  [BlockType.ExtendedFeaturesBlock]: [
158
171
  ...blockHeaderTransformer,
159
172
  {
160
173
  fields: ['items'],
161
- transformer: typografTransformer,
174
+ transformer: yfmTransformer,
162
175
  parser: createItemsParser(['title']),
176
+ renderInline: true,
163
177
  },
164
178
  {
165
179
  fields: ['items'],
166
180
  transformer: yfmTransformer,
167
181
  parser: createItemsParser(['text', 'additionalInfo']),
168
182
  },
183
+ {
184
+ fields: ['items'],
185
+ transformer: yfmTransformer,
186
+ parser: createItemsParser(['list.text']),
187
+ renderInline: true,
188
+ },
169
189
  ],
170
190
  [BlockType.PromoFeaturesBlock]: [
171
191
  ...blockHeaderTransformer,
@@ -175,31 +195,14 @@ export const config = {
175
195
  parser: parsePromoFeatures,
176
196
  },
177
197
  ],
198
+ [BlockType.SliderOldBlock]: blockHeaderTransformer,
178
199
  [BlockType.SliderBlock]: blockHeaderTransformer,
179
200
  [BlockType.CompaniesBlock]: blockHeaderTransformer,
180
201
  [BlockType.QuestionsBlock]: [
181
202
  {
182
- fields: ['title'],
183
- transformer: typografTransformer,
184
- },
185
- {
186
- fields: ['text', 'additionalInfo'],
187
- transformer: yfmTransformer,
188
- },
189
- {
190
- fields: ['items'],
191
- transformer: yfmTransformer,
192
- parser: parseFeatures,
193
- },
194
- ],
195
- [BlockType.FoldableListBlock]: [
196
- {
197
- fields: ['title'],
198
- transformer: typografTransformer,
199
- },
200
- {
201
- fields: ['text', 'additionalInfo'],
203
+ fields: ['title', 'text', 'additionalInfo'],
202
204
  transformer: yfmTransformer,
205
+ renderInline: true,
203
206
  },
204
207
  {
205
208
  fields: ['items'],
@@ -210,7 +213,8 @@ export const config = {
210
213
  [BlockType.BannerBlock]: [
211
214
  {
212
215
  fields: ['title'],
213
- transformer: typografTransformer,
216
+ transformer: yfmTransformer,
217
+ renderInline: true,
214
218
  },
215
219
  {
216
220
  fields: ['subtitle'],
@@ -220,7 +224,8 @@ export const config = {
220
224
  [SubBlockType.BannerCard]: [
221
225
  {
222
226
  fields: ['title'],
223
- transformer: typografTransformer,
227
+ transformer: yfmTransformer,
228
+ renderInline: true,
224
229
  },
225
230
  {
226
231
  fields: ['subtitle'],
@@ -230,7 +235,7 @@ export const config = {
230
235
  [BlockType.MediaBlock]: [
231
236
  ...blockHeaderTransformer,
232
237
  {
233
- fields: ['title', 'additionalInfo'],
238
+ fields: ['additionalInfo'],
234
239
  transformer: yfmTransformer,
235
240
  },
236
241
  {
@@ -255,27 +260,35 @@ export const config = {
255
260
  },
256
261
  {
257
262
  fields: ['items'],
258
- transformer: typografTransformer,
263
+ transformer: yfmTransformer,
259
264
  parser: parseItemsTitle,
265
+ renderInline: true,
260
266
  },
261
267
  ],
262
268
  [BlockType.TableBlock]: [
269
+ {
270
+ fields: ['title'],
271
+ transformer: yfmTransformer,
272
+ renderInline: true,
273
+ },
263
274
  {
264
275
  fields: ['table'],
265
276
  transformer: yfmTransformer,
266
- parser: parseTableBlock,
277
+ parser: parseTableBlockLegend,
267
278
  },
268
- ],
269
- [BlockType.HeaderSliderBlock]: [
270
279
  {
271
- fields: ['items'],
272
- transformer: typografTransformer,
273
- parser: createItemsParser(['title', 'overtitle']),
280
+ fields: ['table'],
281
+ transformer: yfmTransformer,
282
+ parser: parseTableBlockContent,
283
+ renderInline: true,
274
284
  },
285
+ ],
286
+ [BlockType.HeaderSliderBlock]: [
275
287
  {
276
288
  fields: ['items'],
277
289
  transformer: yfmTransformer,
278
- parser: createItemsParser(['description']),
290
+ parser: createItemsParser(['title', 'overtitle', 'description']),
291
+ renderInline: true,
279
292
  },
280
293
  ],
281
294
  [SubBlockType.PriceDetailed]: [
@@ -289,6 +302,11 @@ export const config = {
289
302
  fields: ['description'],
290
303
  transformer: yfmTransformer,
291
304
  },
305
+ {
306
+ fields: ['overtitle', 'title'],
307
+ transformer: yfmTransformer,
308
+ renderInline: true,
309
+ },
292
310
  ],
293
311
  [BlockType.ContentLayoutBlock]: [
294
312
  {
@@ -298,8 +316,9 @@ export const config = {
298
316
  },
299
317
  {
300
318
  fields: ['textContent'],
301
- transformer: typografTransformer,
319
+ transformer: yfmTransformer,
302
320
  parser: parseContentLayoutTitle,
321
+ renderInline: true,
303
322
  },
304
323
  ],
305
324
  [SubBlockType.Content]: [
@@ -309,8 +328,9 @@ export const config = {
309
328
  },
310
329
  {
311
330
  fields: ['title'],
312
- transformer: typografTransformer,
331
+ transformer: yfmTransformer,
313
332
  parser: parseTitle,
333
+ renderInline: true,
314
334
  },
315
335
  {
316
336
  fields: ['list'],
@@ -319,6 +339,11 @@ export const config = {
319
339
  },
320
340
  ],
321
341
  [BlockType.InfoBlock]: [
342
+ {
343
+ fields: ['title'],
344
+ transformer: yfmTransformer,
345
+ renderInline: true,
346
+ },
322
347
  {
323
348
  fields: ['rightContent', 'leftContent'],
324
349
  transformer: yfmTransformer,
@@ -326,14 +351,16 @@ export const config = {
326
351
  },
327
352
  {
328
353
  fields: ['rightContent', 'leftContent'],
329
- transformer: typografTransformer,
354
+ transformer: yfmTransformer,
330
355
  parser: parseContentLayoutTitle,
356
+ renderInline: true,
331
357
  },
332
358
  ],
333
359
  [BlockType.ShareBlock]: [
334
360
  {
335
361
  fields: ['title'],
336
- transformer: typografTransformer,
362
+ transformer: yfmTransformer,
363
+ renderInline: true,
337
364
  },
338
365
  ],
339
366
  [BlockType.CardLayoutBlock]: blockHeaderTransformer,
@@ -342,12 +369,13 @@ export const config = {
342
369
  [SubBlockType.PriceCard]: [
343
370
  {
344
371
  fields: ['title'],
345
- transformer: typografTransformer,
372
+ transformer: yfmTransformer,
373
+ renderInline: true,
346
374
  },
347
375
  {
348
376
  fields: ['list'],
349
377
  transformer: yfmTransformer,
350
- parser: createItemsParser(['text']),
378
+ parser: createItemsParser(['title', 'text']),
351
379
  },
352
380
  ],
353
381
  [BlockType.FormBlock]: [
@@ -358,8 +386,9 @@ export const config = {
358
386
  },
359
387
  {
360
388
  fields: ['textContent'],
361
- transformer: typografTransformer,
389
+ transformer: yfmTransformer,
362
390
  parser: parseContentLayoutTitle,
391
+ renderInline: true,
363
392
  },
364
393
  ],
365
394
  };
@@ -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 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\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 [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'],\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":"AAAA,sCAAsC;AACtC,4EAA4E;AAE5E,OAAO,EACH,SAAS,EAOT,YAAY,GAGf,2BAAkB;AAEnB,OAAO,EAAsC,iBAAiB,EAAE,cAAc,EAAC,oBAAiB;AAEhG,SAAS,qBAAqB,CAAC,WAAwB,EAAE,OAAmB;IACxE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAE/B,OAAO;QACH,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAChE,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAwB,EAAE,OAAmB;IACzE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,MAAM,YAAY,GAAG,OAAO,EAAE,OAAO,CAAC;IAEtC,OAAO;QACH,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClB,OAAO,EACH,YAAY;YACZ,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACxB,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAChB,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC,CAAC,CACL;KACR,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,WAAwB,EAAE,KAA6B;IAC1E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,KAAK,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;QAC/B,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAwB,EAAE,KAA0B;IAC5E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,WAAwB,EAAE,KAA8B,EAAE,EAAE,CAC5E,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;IACxC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;IAC3C,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAEtC,MAAM,eAAe,GAAG,CAAC,WAAwB,EAAE,KAA6B,EAAE,EAAE,CAChF,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;IAC9C,GAAG,IAAI;CACV,CAAC,CAAC,CAAC;AAER,SAAS,uBAAuB,CAAC,WAAwB,EAAE,KAAyB;IAChF,MAAM,EAAC,SAAS,EAAC,GAAG,KAAK,CAAC;IAE1B,4EAA4E;IAC5E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC;QAEhD,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7D,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEtD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAI,OAAuC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE3E,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,2EAA2E;IAE3E,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,WAAwB,EAAE,OAA0B,EAAE,EAAE;IAChF,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;QAE7C,4EAA4E;QAC5E,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;oBACb,OAAO;wBACH,GAAG,IAAI;wBACP,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC/B,CAAC;gBACN,CAAC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,2EAA2E;IAC/E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,SAAS,uBAAuB,CAAC,WAAwB,EAAE,OAA0B;IACjF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;QAExB,mFAAmF;QACnF,OAAO,CAAC,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC;QACI,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,IAAI;KACrB;IACD;QACI,MAAM,EAAE,CAAC,aAAa,CAAC;QACvB,WAAW,EAAE,cAAc;KAC9B;CACJ,CAAC;AAWF,MAAM,CAAC,MAAM,MAAM,GAAiB;IAChC,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;QACtB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,cAAc;SAC9B;KACJ;IACD,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;QAC3B;YACI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC;YAC3C,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;QACtB;YACI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC;YAC3C,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACvB;YACI,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,cAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,uBAAuB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC7B,WAAW,EAAE,cAAc;SAC9B;KACJ;IACD,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QAClB;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;YAC3B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE;QAC/B,GAAG,sBAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;YACpC,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;SACxD;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;YACxC,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;QAC5B,GAAG,sBAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;KACJ;IACD,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB;IAClD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,sBAAsB;IAC/C,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB;IAClD,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;QACxB;YACI,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC;YAC3C,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,aAAa;SACxB;KACJ;IAED,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QACrB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,WAAW,EAAE,cAAc;SAC9B;KACJ;IACD,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;QACvB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,UAAU,CAAC;YACpB,WAAW,EAAE,cAAc;SAC9B;KACJ;IACD,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QACpB,GAAG,sBAAsB;QACzB;YACI,MAAM,EAAE,CAAC,gBAAgB,CAAC;YAC1B,WAAW,EAAE,cAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;SACtC;KACJ;IACD,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QAClB,GAAG,sBAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;YACnC,WAAW,EAAE,cAAc;SAC9B;KACJ;IACD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;QACnB,GAAG,sBAAsB;QACzB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;SACnE;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,eAAe;YACvB,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QACpB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,qBAAqB;SAChC;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,sBAAsB;YAC9B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC3B;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;YAChE,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;QAC1B;YACI,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,uBAAuB;SAClC;KACJ;IACD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QACrB;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,cAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;YAC9B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;QAC5B;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;QACD;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,uBAAuB;YAC/B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACpB;YACI,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;YAClC,WAAW,EAAE,cAAc;SAC9B;QACD;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC/C;KACJ;IACD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;QACnB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;YACvC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;QACD;YACI,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;YACvC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,uBAAuB;YAC/B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;QACpB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,sBAAsB;IACnD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,sBAAsB;IAC/C,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,sBAAsB;IAC9C,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;QACtB;YACI,MAAM,EAAE,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,IAAI;SACrB;QACD;YACI,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC/C;KACJ;IACD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;QACnB;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,kBAAkB;SAC7B;QACD;YACI,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,uBAAuB;YAC/B,YAAY,EAAE,IAAI;SACrB;KACJ;CACJ,CAAC","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\n\nimport {\n BlockType,\n ContentBlockProps,\n ExtendedFeaturesItem,\n PriceDetailedProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PromoFeaturesItem,\n SubBlockType,\n TableProps,\n TitleItemProps,\n} from '../models';\n\nimport {Parser, Transformer, TransformerRaw, createItemsParser, yfmTransformer} 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\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 [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\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'],\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]) {
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"../../../src","sources":["text-transform/transformers.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\nimport cloneDeep from 'lodash/cloneDeep';\nimport shuffle from 'lodash/shuffle';\n\nimport {ConstructorBlock, PageContent} from '../models/constructor';\n\nimport {Transformer} from './common';\nimport {BlocksConfig, config} from './config';\nimport {FilterableContent, filterContent} from './filter';\nimport {Lang} from './types';\n\nexport type ContentVariables = Record<string, string>;\nexport type ContentTransformerProps = {\n content: {\n blocks?: ConstructorBlock[];\n };\n options: {\n lang: Lang;\n customConfig?: {};\n vars?: ContentVariables;\n plugins?: MarkdownItPluginCb[];\n };\n};\n\nfunction transformBlocks(\n blocks: ConstructorBlock[],\n lang: Lang,\n customConfig = {},\n options: {plugins?: MarkdownItPluginCb[]} = {},\n) {\n const fullConfig = {...config, ...customConfig};\n const {plugins = []} = options;\n\n const clonedBlocks = cloneDeep(blocks);\n\n return clonedBlocks.map((block) => transformBlock(lang, fullConfig, block, plugins));\n}\n\nfunction transformBlock(\n lang: Lang,\n blocksConfig: BlocksConfig,\n block: ConstructorBlock,\n plugins: MarkdownItPluginCb[],\n) {\n const blockConfig = blocksConfig[block.type];\n\n if (block) {\n if ('randomOrder' in block && block.randomOrder && 'children' in block && block.children) {\n block.children = shuffle(block.children as ConstructorBlock[]);\n }\n }\n\n if (blockConfig) {\n const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];\n\n configs.forEach((transformConfig) => {\n const {fields, transformer: transformerRaw, parser} = transformConfig;\n const transformer: Transformer = (content) =>\n // eslint-disable-next-line no-useless-call\n transformerRaw.call(null, lang, content, {plugins});\n\n if (fields) {\n (fields as (keyof typeof block)[]).forEach((field) => {\n if (block[field]) {\n if (parser) {\n block[field] = parser(transformer, block[field]);\n } else if (typeof block[field] === 'string') {\n block[field] = transformer(block[field] as string);\n }\n }\n });\n } else if (parser) {\n parser(transformer, block);\n }\n });\n }\n\n if ('children' in block && block.children) {\n block.children = transformBlocks(block.children as ConstructorBlock[], lang, blocksConfig, {\n plugins,\n });\n }\n\n return block;\n}\n\nexport const contentTransformer = ({content, options}: ContentTransformerProps) => {\n const {lang, customConfig = {}, vars, plugins = []} = options;\n const {blocks = []} = (\n vars ? filterContent(content as FilterableContent, vars) : content\n ) as PageContent;\n\n const transformedBlocks = transformBlocks(blocks, lang, customConfig, {\n plugins,\n });\n\n return {\n blocks: transformedBlocks,\n };\n};\n"]}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"../../../src","sources":["text-transform/transformers.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,4BAAyB;AACzC,OAAO,OAAO,0BAAuB;AAKrC,OAAO,EAAe,MAAM,EAAC,oBAAiB;AAC9C,OAAO,EAAoB,aAAa,EAAC,oBAAiB;AAgB1D,SAAS,eAAe,CACpB,MAA0B,EAC1B,IAAU,EACV,YAAY,GAAG,EAAE,EACjB,UAA4C,EAAE;IAE9C,MAAM,UAAU,GAAG,EAAC,GAAG,MAAM,EAAE,GAAG,YAAY,EAAC,CAAC;IAChD,MAAM,EAAC,OAAO,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC;IAE/B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEvC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,cAAc,CACnB,IAAU,EACV,YAA0B,EAC1B,KAAuB,EACvB,OAA6B;IAE7B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,KAAK,EAAE,CAAC;QACR,IAAI,aAAa,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvF,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAA8B,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAEzE,OAAO,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAChC,MAAM,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAC,GAAG,eAAe,CAAC;YACpF,MAAM,WAAW,GAAgB,CAAC,OAAO,EAAE,EAAE;YACzC,2CAA2C;YAC3C,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;YAEtE,IAAI,MAAM,EAAE,CAAC;gBACR,MAAiC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACf,IAAI,MAAM,EAAE,CAAC;4BACT,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBACrD,CAAC;6BAAM,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC1C,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAW,CAAC,CAAC;wBACvD,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,QAA8B,EAAE,IAAI,EAAE,YAAY,EAAE;YACvF,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAC,OAAO,EAAE,OAAO,EAA0B,EAAE,EAAE;IAC9E,MAAM,EAAC,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC;IAC9D,MAAM,EAAC,MAAM,GAAG,EAAE,EAAC,GAAG,CAClB,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAA4B,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CACtD,CAAC;IAEjB,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE;QAClE,OAAO;KACV,CAAC,CAAC;IAEH,OAAO;QACH,MAAM,EAAE,iBAAiB;KAC5B,CAAC;AACN,CAAC,CAAC","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\nimport cloneDeep from 'lodash/cloneDeep';\nimport shuffle from 'lodash/shuffle';\n\nimport {ConstructorBlock, PageContent} from '../models/constructor';\n\nimport {Transformer} from './common';\nimport {BlocksConfig, config} from './config';\nimport {FilterableContent, filterContent} from './filter';\nimport {Lang} from './types';\n\nexport type ContentVariables = Record<string, string>;\nexport type ContentTransformerProps = {\n content: {\n blocks?: ConstructorBlock[];\n };\n options: {\n lang: Lang;\n customConfig?: {};\n vars?: ContentVariables;\n plugins?: MarkdownItPluginCb[];\n };\n};\n\nfunction transformBlocks(\n blocks: ConstructorBlock[],\n lang: Lang,\n customConfig = {},\n options: {plugins?: MarkdownItPluginCb[]} = {},\n) {\n const fullConfig = {...config, ...customConfig};\n const {plugins = []} = options;\n\n const clonedBlocks = cloneDeep(blocks);\n\n return clonedBlocks.map((block) => transformBlock(lang, fullConfig, block, plugins));\n}\n\nfunction transformBlock(\n lang: Lang,\n blocksConfig: BlocksConfig,\n block: ConstructorBlock,\n plugins: MarkdownItPluginCb[],\n) {\n const blockConfig = blocksConfig[block.type];\n\n if (block) {\n if ('randomOrder' in block && block.randomOrder && 'children' in block && block.children) {\n block.children = shuffle(block.children as ConstructorBlock[]);\n }\n }\n\n if (blockConfig) {\n const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];\n\n configs.forEach((transformConfig) => {\n const {fields, transformer: transformerRaw, parser, renderInline} = transformConfig;\n const transformer: Transformer = (content) =>\n // eslint-disable-next-line no-useless-call\n transformerRaw.call(null, lang, content, {plugins, renderInline});\n\n if (fields) {\n (fields as (keyof typeof block)[]).forEach((field) => {\n if (block[field]) {\n if (parser) {\n block[field] = parser(transformer, block[field]);\n } else if (typeof block[field] === 'string') {\n block[field] = transformer(block[field] as string);\n }\n }\n });\n } else if (parser) {\n parser(transformer, block);\n }\n });\n }\n\n if ('children' in block && block.children) {\n block.children = transformBlocks(block.children as ConstructorBlock[], lang, blocksConfig, {\n plugins,\n });\n }\n\n return block;\n}\n\nexport const contentTransformer = ({content, options}: ContentTransformerProps) => {\n const {lang, customConfig = {}, vars, plugins = []} = options;\n const {blocks = []} = (\n vars ? filterContent(content as FilterableContent, vars) : content\n ) as PageContent;\n\n const transformedBlocks = transformBlocks(blocks, lang, customConfig, {\n plugins,\n });\n\n return {\n blocks: transformedBlocks,\n };\n};\n"]}
@@ -1,6 +1,13 @@
1
- import { ConstructorBlock, CustomConfig, PCShareSocialNetwork, TextSize } from "../models/index.js";
1
+ import * as React from 'react';
2
+ import { ConstructorBlock, CustomConfig, PCShareSocialNetwork, TagName, TextSize } from "../models/index.js";
2
3
  export declare function getHeaderTag(size: TextSize): "h1" | "h3" | "h4" | "h2";
3
- export declare function hasBlockTag(content: string): boolean;
4
+ type SelectVariantArgs = {
5
+ block?: boolean;
6
+ content?: string;
7
+ children?: React.ReactNode;
8
+ tagName?: TagName;
9
+ };
10
+ export declare function selectTagName({ content, children, tagName }: SelectVariantArgs): string;
4
11
  export declare function getBlockKey(block: ConstructorBlock, index: number): string;
5
12
  export declare const getCustomItems: (types: (keyof CustomConfig)[], customBlocks?: CustomConfig) => {};
6
13
  export declare const getCustomTypes: (types: (keyof CustomConfig)[], customBlocks?: CustomConfig) => string[];
@@ -8,3 +15,4 @@ export declare const getOrderedBlocks: (blocks: ConstructorBlock[], headerBlockT
8
15
  export declare const getHeaderBlock: (blocks: ConstructorBlock[], headerBlockTypes?: string[]) => ConstructorBlock | undefined;
9
16
  export declare const getShareLink: (url: string, type: PCShareSocialNetwork, title?: string, text?: string) => string | undefined;
10
17
  export declare const getQaAttrubutes: (qa?: string, ...customKeys: (string | Array<string>)[]) => Record<string, string>;
18
+ export {};
@@ -53,9 +53,15 @@ export function getHeaderTag(size) {
53
53
  return 'h2';
54
54
  }
55
55
  }
56
- export function hasBlockTag(content) {
56
+ export function selectTagName({ content, children, tagName }) {
57
+ if (!children && tagName) {
58
+ return tagName;
59
+ }
60
+ if (!content) {
61
+ return 'span';
62
+ }
57
63
  const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');
58
- return regex.test(content);
64
+ return regex.test(content) ? 'div' : 'span';
59
65
  }
60
66
  export function getBlockKey(block, index) {
61
67
  return `${block.type}-${index}`;
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"../../../src","sources":["utils/blocks.ts"],"names":[],"mappings":"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","sourcesContent":["import camelCase from 'lodash/camelCase';\nimport flatten from 'lodash/flatten';\n\nimport {ConstructorBlock, CustomConfig, PCShareSocialNetwork, TextSize} from '../models';\n\nconst BLOCK_ELEMENTS = [\n 'div',\n 'p',\n 'h[1-6]',\n 'address',\n 'article',\n 'aside',\n 'blockquote',\n 'canvas',\n 'dd',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'footer',\n 'header',\n 'hr',\n 'main',\n 'nav',\n 'section',\n 'video',\n 'pre',\n 'figure',\n 'form',\n 'pre',\n 'ol',\n 'ul',\n 'li',\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td',\n];\n\nconst BLOCK_ELEMENTS_REGEX = `<(${BLOCK_ELEMENTS.join('|')})[^>]*>`;\n\nconst QA_ATTRIBUTES_KEYS = ['container', 'content', 'wrapper', 'image', 'button', 'animate'];\n\nexport function getHeaderTag(size: TextSize) {\n switch (size) {\n case 'l':\n return 'h1';\n case 's':\n return 'h3';\n case 'xs':\n return 'h4';\n case 'sm':\n case 'm':\n default:\n return 'h2';\n }\n}\n\nexport function hasBlockTag(content: string): boolean {\n const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');\n return regex.test(content);\n}\n\nexport function getBlockKey(block: ConstructorBlock, index: number) {\n return `${block.type}-${index}`;\n}\n\nexport const getCustomItems = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return Object.assign(result, customBlocks[type] || {});\n }, {});\n};\n\nexport const getCustomTypes = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return result.concat(Object.keys(customBlocks[type] || {}));\n }, [] as string[]);\n};\n\nconst getShareUrlWithParams = (url: string, params: Record<string, string | undefined> = {}) => {\n const result = new URL(url);\n\n Object.entries(params).forEach(([name, value]) => {\n if (value) {\n result.searchParams.set(name, value);\n }\n });\n\n return result.toString();\n};\n\nexport const getOrderedBlocks = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.filter(({type}) => !headerBlockTypes.includes(type));\n};\n\nexport const getHeaderBlock = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.find(({type}) => headerBlockTypes.includes(type));\n};\n\nexport const getShareLink = (\n url: string,\n type: PCShareSocialNetwork,\n title?: string,\n text?: string,\n) => {\n // https://github.com/bradvin/social-share-urls\n switch (type) {\n case PCShareSocialNetwork.Telegram:\n return getShareUrlWithParams('https://t.me/share/url', {url, text: title});\n case PCShareSocialNetwork.Facebook:\n return getShareUrlWithParams('https://facebook.com/sharer.php', {u: url});\n case PCShareSocialNetwork.Twitter:\n return getShareUrlWithParams('https://twitter.com/intent/tweet', {\n url,\n text: title,\n });\n case PCShareSocialNetwork.Vk:\n return getShareUrlWithParams('https://vk.com/share.php', {\n url,\n title,\n comment: text,\n });\n case PCShareSocialNetwork.LinkedIn:\n return getShareUrlWithParams('https://www.linkedin.com/sharing/share-offsite/', {\n url,\n });\n default:\n // eslint-disable-next-line no-console\n console.error(`Unknown share type: ${type}`);\n\n return undefined;\n }\n};\n\nexport const getQaAttrubutes = (qa?: string, ...customKeys: (string | Array<string>)[]) => {\n const attributes: Record<string, string> = {};\n\n if (qa) {\n const keys = QA_ATTRIBUTES_KEYS.concat(flatten(customKeys));\n\n keys.forEach((key) => {\n attributes[camelCase(key)] = `${qa}-${key}`;\n });\n\n attributes.default = qa;\n }\n\n return attributes;\n};\n"]}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"../../../src","sources":["utils/blocks.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport camelCase from 'lodash/camelCase';\nimport flatten from 'lodash/flatten';\n\nimport {ConstructorBlock, CustomConfig, PCShareSocialNetwork, TagName, TextSize} from '../models';\n\nconst BLOCK_ELEMENTS = [\n 'div',\n 'p',\n 'h[1-6]',\n 'address',\n 'article',\n 'aside',\n 'blockquote',\n 'canvas',\n 'dd',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'footer',\n 'header',\n 'hr',\n 'main',\n 'nav',\n 'section',\n 'video',\n 'pre',\n 'figure',\n 'form',\n 'pre',\n 'ol',\n 'ul',\n 'li',\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td',\n];\n\nconst BLOCK_ELEMENTS_REGEX = `<(${BLOCK_ELEMENTS.join('|')})[^>]*>`;\n\nconst QA_ATTRIBUTES_KEYS = ['container', 'content', 'wrapper', 'image', 'button', 'animate'];\n\nexport function getHeaderTag(size: TextSize) {\n switch (size) {\n case 'l':\n return 'h1';\n case 's':\n return 'h3';\n case 'xs':\n return 'h4';\n case 'sm':\n case 'm':\n default:\n return 'h2';\n }\n}\n\ntype SelectVariantArgs = {\n block?: boolean;\n content?: string;\n children?: React.ReactNode;\n tagName?: TagName;\n};\n\nexport function selectTagName({content, children, tagName}: SelectVariantArgs): string {\n if (!children && tagName) {\n return tagName;\n }\n\n if (!content) {\n return 'span';\n }\n\n const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');\n return regex.test(content) ? 'div' : 'span';\n}\n\nexport function getBlockKey(block: ConstructorBlock, index: number) {\n return `${block.type}-${index}`;\n}\n\nexport const getCustomItems = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return Object.assign(result, customBlocks[type] || {});\n }, {});\n};\n\nexport const getCustomTypes = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return result.concat(Object.keys(customBlocks[type] || {}));\n }, [] as string[]);\n};\n\nconst getShareUrlWithParams = (url: string, params: Record<string, string | undefined> = {}) => {\n const result = new URL(url);\n\n Object.entries(params).forEach(([name, value]) => {\n if (value) {\n result.searchParams.set(name, value);\n }\n });\n\n return result.toString();\n};\n\nexport const getOrderedBlocks = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.filter(({type}) => !headerBlockTypes.includes(type));\n};\n\nexport const getHeaderBlock = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.find(({type}) => headerBlockTypes.includes(type));\n};\n\nexport const getShareLink = (\n url: string,\n type: PCShareSocialNetwork,\n title?: string,\n text?: string,\n) => {\n // https://github.com/bradvin/social-share-urls\n switch (type) {\n case PCShareSocialNetwork.Telegram:\n return getShareUrlWithParams('https://t.me/share/url', {url, text: title});\n case PCShareSocialNetwork.Facebook:\n return getShareUrlWithParams('https://facebook.com/sharer.php', {u: url});\n case PCShareSocialNetwork.Twitter:\n return getShareUrlWithParams('https://twitter.com/intent/tweet', {\n url,\n text: title,\n });\n case PCShareSocialNetwork.Vk:\n return getShareUrlWithParams('https://vk.com/share.php', {\n url,\n title,\n comment: text,\n });\n case PCShareSocialNetwork.LinkedIn:\n return getShareUrlWithParams('https://www.linkedin.com/sharing/share-offsite/', {\n url,\n });\n default:\n // eslint-disable-next-line no-console\n console.error(`Unknown share type: ${type}`);\n\n return undefined;\n }\n};\n\nexport const getQaAttrubutes = (qa?: string, ...customKeys: (string | Array<string>)[]) => {\n const attributes: Record<string, string> = {};\n\n if (qa) {\n const keys = QA_ATTRIBUTES_KEYS.concat(flatten(customKeys));\n\n keys.forEach((key) => {\n attributes[camelCase(key)] = `${qa}-${key}`;\n });\n\n attributes.default = qa;\n }\n\n return attributes;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "6.6.2",
3
+ "version": "7.0.0-alpha.1",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -122,7 +122,7 @@
122
122
  "uuid": "^9.0.0"
123
123
  },
124
124
  "peerDependencies": {
125
- "@diplodoc/transform": "^4.10.4",
125
+ "@diplodoc/transform": "^4.28.2",
126
126
  "@gravity-ui/uikit": "^7.1.1",
127
127
  "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
128
128
  },