@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
@@ -5,13 +5,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.config = exports.blockHeaderTransformer = void 0;
6
6
  const models_1 = require("../models/index.js");
7
7
  const common_1 = require("./common.js");
8
- function parseTableBlock(transformer, content) {
8
+ function parseTableBlockLegend(transformer, content) {
9
9
  const legend = content?.legend;
10
10
  return {
11
11
  ...(content || {}),
12
12
  legend: legend && legend.map((string) => transformer(string)),
13
13
  };
14
14
  }
15
+ function parseTableBlockContent(transformer, content) {
16
+ const legend = content?.legend;
17
+ const tableContent = content?.content;
18
+ return {
19
+ ...(content || {}),
20
+ content: tableContent &&
21
+ tableContent.map((row, i) => row.map((cell, j) => {
22
+ if (legend) {
23
+ if (i === 0 || j === 0) {
24
+ return transformer(cell);
25
+ }
26
+ return cell;
27
+ }
28
+ else {
29
+ return transformer(cell);
30
+ }
31
+ })),
32
+ };
33
+ }
15
34
  function parseFeatures(transformer, items) {
16
35
  return items.map(({ title, text, ...rest }) => ({
17
36
  title: title && transformer(title),
@@ -91,8 +110,9 @@ function parseContentLayoutTitle(transformer, content) {
91
110
  exports.blockHeaderTransformer = [
92
111
  {
93
112
  fields: ['title'],
94
- transformer: common_1.typografTransformer,
113
+ transformer: common_1.yfmTransformer,
95
114
  parser: parseTitle,
115
+ renderInline: true,
96
116
  },
97
117
  {
98
118
  fields: ['description'],
@@ -103,7 +123,8 @@ exports.config = {
103
123
  [models_1.SubBlockType.BasicCard]: [
104
124
  {
105
125
  fields: ['title'],
106
- transformer: common_1.typografTransformer,
126
+ transformer: common_1.yfmTransformer,
127
+ renderInline: true,
107
128
  },
108
129
  {
109
130
  fields: ['text', 'additionalInfo'],
@@ -112,22 +133,16 @@ exports.config = {
112
133
  ],
113
134
  [models_1.SubBlockType.BackgroundCard]: [
114
135
  {
115
- fields: ['text', 'additionalInfo'],
136
+ fields: ['title', 'text', 'additionalInfo'],
116
137
  transformer: common_1.yfmTransformer,
117
- },
118
- {
119
- fields: ['title'],
120
- transformer: common_1.typografTransformer,
138
+ renderInline: true,
121
139
  },
122
140
  ],
123
141
  [models_1.SubBlockType.ImageCard]: [
124
142
  {
125
- fields: ['text', 'additionalInfo'],
143
+ fields: ['title', 'text', 'additionalInfo'],
126
144
  transformer: common_1.yfmTransformer,
127
- },
128
- {
129
- fields: ['title'],
130
- transformer: common_1.typografTransformer,
145
+ renderInline: true,
131
146
  },
132
147
  ],
133
148
  [models_1.SubBlockType.LayoutItem]: [
@@ -139,7 +154,8 @@ exports.config = {
139
154
  {
140
155
  fields: ['content'],
141
156
  parser: parseContentLayoutTitle,
142
- transformer: common_1.typografTransformer,
157
+ transformer: common_1.yfmTransformer,
158
+ renderInline: true,
143
159
  },
144
160
  {
145
161
  fields: ['metaInfo'],
@@ -149,26 +165,30 @@ exports.config = {
149
165
  ],
150
166
  [models_1.SubBlockType.Quote]: [
151
167
  {
152
- fields: ['text'],
153
- transformer: common_1.typografTransformer,
154
- },
155
- {
156
- fields: ['yfmText'],
168
+ fields: ['text', 'yfmText'],
157
169
  transformer: common_1.yfmTransformer,
170
+ renderInline: true,
158
171
  },
159
172
  ],
160
173
  [models_1.BlockType.ExtendedFeaturesBlock]: [
161
174
  ...exports.blockHeaderTransformer,
162
175
  {
163
176
  fields: ['items'],
164
- transformer: common_1.typografTransformer,
177
+ transformer: common_1.yfmTransformer,
165
178
  parser: (0, common_1.createItemsParser)(['title']),
179
+ renderInline: true,
166
180
  },
167
181
  {
168
182
  fields: ['items'],
169
183
  transformer: common_1.yfmTransformer,
170
184
  parser: (0, common_1.createItemsParser)(['text', 'additionalInfo']),
171
185
  },
186
+ {
187
+ fields: ['items'],
188
+ transformer: common_1.yfmTransformer,
189
+ parser: (0, common_1.createItemsParser)(['list.text']),
190
+ renderInline: true,
191
+ },
172
192
  ],
173
193
  [models_1.BlockType.PromoFeaturesBlock]: [
174
194
  ...exports.blockHeaderTransformer,
@@ -178,31 +198,14 @@ exports.config = {
178
198
  parser: parsePromoFeatures,
179
199
  },
180
200
  ],
201
+ [models_1.BlockType.SliderOldBlock]: exports.blockHeaderTransformer,
181
202
  [models_1.BlockType.SliderBlock]: exports.blockHeaderTransformer,
182
203
  [models_1.BlockType.CompaniesBlock]: exports.blockHeaderTransformer,
183
204
  [models_1.BlockType.QuestionsBlock]: [
184
205
  {
185
- fields: ['title'],
186
- transformer: common_1.typografTransformer,
187
- },
188
- {
189
- fields: ['text', 'additionalInfo'],
190
- transformer: common_1.yfmTransformer,
191
- },
192
- {
193
- fields: ['items'],
194
- transformer: common_1.yfmTransformer,
195
- parser: parseFeatures,
196
- },
197
- ],
198
- [models_1.BlockType.FoldableListBlock]: [
199
- {
200
- fields: ['title'],
201
- transformer: common_1.typografTransformer,
202
- },
203
- {
204
- fields: ['text', 'additionalInfo'],
206
+ fields: ['title', 'text', 'additionalInfo'],
205
207
  transformer: common_1.yfmTransformer,
208
+ renderInline: true,
206
209
  },
207
210
  {
208
211
  fields: ['items'],
@@ -213,7 +216,8 @@ exports.config = {
213
216
  [models_1.BlockType.BannerBlock]: [
214
217
  {
215
218
  fields: ['title'],
216
- transformer: common_1.typografTransformer,
219
+ transformer: common_1.yfmTransformer,
220
+ renderInline: true,
217
221
  },
218
222
  {
219
223
  fields: ['subtitle'],
@@ -223,7 +227,8 @@ exports.config = {
223
227
  [models_1.SubBlockType.BannerCard]: [
224
228
  {
225
229
  fields: ['title'],
226
- transformer: common_1.typografTransformer,
230
+ transformer: common_1.yfmTransformer,
231
+ renderInline: true,
227
232
  },
228
233
  {
229
234
  fields: ['subtitle'],
@@ -233,7 +238,7 @@ exports.config = {
233
238
  [models_1.BlockType.MediaBlock]: [
234
239
  ...exports.blockHeaderTransformer,
235
240
  {
236
- fields: ['title', 'additionalInfo'],
241
+ fields: ['additionalInfo'],
237
242
  transformer: common_1.yfmTransformer,
238
243
  },
239
244
  {
@@ -258,27 +263,35 @@ exports.config = {
258
263
  },
259
264
  {
260
265
  fields: ['items'],
261
- transformer: common_1.typografTransformer,
266
+ transformer: common_1.yfmTransformer,
262
267
  parser: parseItemsTitle,
268
+ renderInline: true,
263
269
  },
264
270
  ],
265
271
  [models_1.BlockType.TableBlock]: [
272
+ {
273
+ fields: ['title'],
274
+ transformer: common_1.yfmTransformer,
275
+ renderInline: true,
276
+ },
266
277
  {
267
278
  fields: ['table'],
268
279
  transformer: common_1.yfmTransformer,
269
- parser: parseTableBlock,
280
+ parser: parseTableBlockLegend,
270
281
  },
271
- ],
272
- [models_1.BlockType.HeaderSliderBlock]: [
273
282
  {
274
- fields: ['items'],
275
- transformer: common_1.typografTransformer,
276
- parser: (0, common_1.createItemsParser)(['title', 'overtitle']),
283
+ fields: ['table'],
284
+ transformer: common_1.yfmTransformer,
285
+ parser: parseTableBlockContent,
286
+ renderInline: true,
277
287
  },
288
+ ],
289
+ [models_1.BlockType.HeaderSliderBlock]: [
278
290
  {
279
291
  fields: ['items'],
280
292
  transformer: common_1.yfmTransformer,
281
- parser: (0, common_1.createItemsParser)(['description']),
293
+ parser: (0, common_1.createItemsParser)(['title', 'overtitle', 'description']),
294
+ renderInline: true,
282
295
  },
283
296
  ],
284
297
  [models_1.SubBlockType.PriceDetailed]: [
@@ -292,6 +305,11 @@ exports.config = {
292
305
  fields: ['description'],
293
306
  transformer: common_1.yfmTransformer,
294
307
  },
308
+ {
309
+ fields: ['overtitle', 'title'],
310
+ transformer: common_1.yfmTransformer,
311
+ renderInline: true,
312
+ },
295
313
  ],
296
314
  [models_1.BlockType.ContentLayoutBlock]: [
297
315
  {
@@ -301,8 +319,9 @@ exports.config = {
301
319
  },
302
320
  {
303
321
  fields: ['textContent'],
304
- transformer: common_1.typografTransformer,
322
+ transformer: common_1.yfmTransformer,
305
323
  parser: parseContentLayoutTitle,
324
+ renderInline: true,
306
325
  },
307
326
  ],
308
327
  [models_1.SubBlockType.Content]: [
@@ -312,8 +331,9 @@ exports.config = {
312
331
  },
313
332
  {
314
333
  fields: ['title'],
315
- transformer: common_1.typografTransformer,
334
+ transformer: common_1.yfmTransformer,
316
335
  parser: parseTitle,
336
+ renderInline: true,
317
337
  },
318
338
  {
319
339
  fields: ['list'],
@@ -322,6 +342,11 @@ exports.config = {
322
342
  },
323
343
  ],
324
344
  [models_1.BlockType.InfoBlock]: [
345
+ {
346
+ fields: ['title'],
347
+ transformer: common_1.yfmTransformer,
348
+ renderInline: true,
349
+ },
325
350
  {
326
351
  fields: ['rightContent', 'leftContent'],
327
352
  transformer: common_1.yfmTransformer,
@@ -329,14 +354,16 @@ exports.config = {
329
354
  },
330
355
  {
331
356
  fields: ['rightContent', 'leftContent'],
332
- transformer: common_1.typografTransformer,
357
+ transformer: common_1.yfmTransformer,
333
358
  parser: parseContentLayoutTitle,
359
+ renderInline: true,
334
360
  },
335
361
  ],
336
362
  [models_1.BlockType.ShareBlock]: [
337
363
  {
338
364
  fields: ['title'],
339
- transformer: common_1.typografTransformer,
365
+ transformer: common_1.yfmTransformer,
366
+ renderInline: true,
340
367
  },
341
368
  ],
342
369
  [models_1.BlockType.CardLayoutBlock]: exports.blockHeaderTransformer,
@@ -345,12 +372,13 @@ exports.config = {
345
372
  [models_1.SubBlockType.PriceCard]: [
346
373
  {
347
374
  fields: ['title'],
348
- transformer: common_1.typografTransformer,
375
+ transformer: common_1.yfmTransformer,
376
+ renderInline: true,
349
377
  },
350
378
  {
351
379
  fields: ['list'],
352
380
  transformer: common_1.yfmTransformer,
353
- parser: (0, common_1.createItemsParser)(['text']),
381
+ parser: (0, common_1.createItemsParser)(['title', 'text']),
354
382
  },
355
383
  ],
356
384
  [models_1.BlockType.FormBlock]: [
@@ -361,8 +389,9 @@ exports.config = {
361
389
  },
362
390
  {
363
391
  fields: ['textContent'],
364
- transformer: common_1.typografTransformer,
392
+ transformer: common_1.yfmTransformer,
365
393
  parser: parseContentLayoutTitle,
394
+ renderInline: true,
366
395
  },
367
396
  ],
368
397
  };
@@ -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":"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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 {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"]}
@@ -22,10 +22,10 @@ function transformBlock(lang, blocksConfig, block, plugins) {
22
22
  if (blockConfig) {
23
23
  const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];
24
24
  configs.forEach((transformConfig) => {
25
- const { fields, transformer: transformerRaw, parser } = transformConfig;
25
+ const { fields, transformer: transformerRaw, parser, renderInline } = transformConfig;
26
26
  const transformer = (content) =>
27
27
  // eslint-disable-next-line no-useless-call
28
- transformerRaw.call(null, lang, content, { plugins });
28
+ transformerRaw.call(null, lang, content, { plugins, renderInline });
29
29
  if (fields) {
30
30
  fields.forEach((field) => {
31
31
  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":"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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, 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 {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getQaAttrubutes = exports.getShareLink = exports.getHeaderBlock = exports.getOrderedBlocks = exports.getCustomTypes = exports.getCustomItems = void 0;
4
4
  exports.getHeaderTag = getHeaderTag;
5
- exports.hasBlockTag = hasBlockTag;
5
+ exports.selectTagName = selectTagName;
6
6
  exports.getBlockKey = getBlockKey;
7
7
  const tslib_1 = require("tslib");
8
8
  const camelCase_1 = tslib_1.__importDefault(require("lodash/camelCase.js"));
@@ -60,9 +60,15 @@ function getHeaderTag(size) {
60
60
  return 'h2';
61
61
  }
62
62
  }
63
- function hasBlockTag(content) {
63
+ function selectTagName({ content, children, tagName }) {
64
+ if (!children && tagName) {
65
+ return tagName;
66
+ }
67
+ if (!content) {
68
+ return 'span';
69
+ }
64
70
  const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');
65
- return regex.test(content);
71
+ return regex.test(content) ? 'div' : 'span';
66
72
  }
67
73
  function getBlockKey(block, index) {
68
74
  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"]}
@@ -1,4 +1,4 @@
1
- .pc-ExtendedFeaturesBlock__item-title {
1
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title {
2
2
  margin: 0;
3
3
  }
4
4
 
@@ -16,28 +16,33 @@ unpredictable css rules order in build */
16
16
  .pc-ExtendedFeaturesBlock__item.col {
17
17
  padding-right: 32px;
18
18
  }
19
- .pc-ExtendedFeaturesBlock__item-title {
19
+ .pc-ExtendedFeaturesBlock__item-title-container {
20
+ margin: inherit;
21
+ display: block;
22
+ margin-block: 0 8px;
23
+ }
24
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title {
20
25
  font-size: var(--g-text-header-1-font-size);
21
26
  line-height: var(--g-text-header-1-line-height);
22
27
  color: var(--pc-text-header-color);
23
28
  font-weight: var(--g-text-accent-font-weight);
24
- display: block;
25
29
  position: relative;
26
30
  margin-bottom: 8px;
27
31
  }
28
- .pc-ExtendedFeaturesBlock__item-title a {
32
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a {
29
33
  outline: none;
30
34
  color: var(--g-color-text-link);
31
35
  text-decoration: none;
32
36
  cursor: pointer;
33
37
  }
34
- .utilityfocus .pc-ExtendedFeaturesBlock__item-title a:focus {
38
+ .utilityfocus .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:focus {
35
39
  outline: 2px solid #ffdb4d;
36
40
  }
37
- .pc-ExtendedFeaturesBlock__item-title a:hover, .pc-ExtendedFeaturesBlock__item-title a:active {
41
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:hover, .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:active {
38
42
  --pc-text-header-color: var(--g-color-text-link-hover);
39
43
  color: var(--g-color-text-link-hover);
40
44
  }
45
+
41
46
  .pc-ExtendedFeaturesBlock__item-label {
42
47
  font-size: var(--g-text-caption-2-font-size);
43
48
  line-height: var(--g-text-caption-2-line-height);
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import { AnimateBlock, HTML, Title } from "../../components/index.js";
2
+ import { AnimateBlock, Title, YFMWrapper } from "../../components/index.js";
4
3
  import Image from "../../components/Image/Image.js";
5
4
  import { getMediaImage } from "../../components/Media/Image/utils.js";
6
5
  import { useTheme } from "../../context/theme/index.js";
@@ -24,10 +23,9 @@ export const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DE
24
23
  if (link) {
25
24
  itemLinks.push(link);
26
25
  }
27
- return (_jsxs(Col, { className: b('item'), sizes: colSizes, children: [iconData && (_jsx("div", { className: b('icon-wrap'), "aria-hidden": true, children: _jsx(Image, { ...iconData, className: b('icon') }) })), _jsxs("div", { className: b('container'), children: [itemTitle &&
28
- React.createElement(itemTitleHeadingTag, {
29
- className: b('item-title'),
30
- }, _jsxs(React.Fragment, { children: [_jsx(HTML, { children: itemTitle }), label && (_jsx("span", { className: b('item-label'), children: label }))] })), _jsx(Content, { text: text, links: itemLinks, size: "s", list: list, colSizes: { all: 12, md: 12 }, buttons: buttons, additionalInfo: additionalInfo })] })] }, text || itemTitle));
26
+ return (_jsxs(Col, { className: b('item'), sizes: colSizes, children: [iconData && (_jsx("div", { className: b('icon-wrap'), "aria-hidden": true, children: _jsx(Image, { ...iconData, className: b('icon') }) })), _jsxs("div", { className: b('container'), children: [itemTitle && (_jsx(YFMWrapper, { tagName: itemTitleHeadingTag, content: itemTitle, className: b('item-title-container'), contentClassName: b('item-title'), modifiers: {
27
+ constructor: true,
28
+ }, children: label && (_jsx("span", { className: b('item-label'), children: label })) })), _jsx(Content, { text: text, links: itemLinks, size: "s", list: list, colSizes: { all: 12, md: 12 }, buttons: buttons, additionalInfo: additionalInfo })] })] }, text || itemTitle));
31
29
  }) }) })] }));
32
30
  };
33
31
  export default ExtendedFeaturesBlock;