@gravity-ui/page-constructor 6.0.1-beta.0 → 7.0.0-beta.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 (546) hide show
  1. package/README.md +10 -0
  2. package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
  3. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  4. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  5. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -5
  6. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  7. package/build/cjs/blocks/Form/schema.js +1 -1
  8. package/build/cjs/blocks/Form/schema.js.map +1 -1
  9. package/build/cjs/blocks/Header/Header.css +21 -10
  10. package/build/cjs/blocks/Header/Header.js +15 -4
  11. package/build/cjs/blocks/Header/Header.js.map +1 -1
  12. package/build/cjs/blocks/Header/schema.d.ts +6 -0
  13. package/build/cjs/blocks/Header/schema.js +3 -0
  14. package/build/cjs/blocks/Header/schema.js.map +1 -1
  15. package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
  16. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
  17. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  18. package/build/cjs/blocks/HeaderSlider/schema.d.ts +12 -1
  19. package/build/cjs/blocks/HeaderSlider/schema.js +1 -1
  20. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  21. package/build/cjs/blocks/Info/schema.js +1 -1
  22. package/build/cjs/blocks/Info/schema.js.map +1 -1
  23. package/build/cjs/blocks/Media/schema.js +1 -1
  24. package/build/cjs/blocks/Media/schema.js.map +1 -1
  25. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  26. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +3 -1
  27. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  28. package/build/cjs/blocks/Questions/schema.js +1 -1
  29. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  30. package/build/cjs/blocks/Share/Share.js +5 -1
  31. package/build/cjs/blocks/Share/Share.js.map +1 -1
  32. package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
  33. package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  34. package/build/cjs/blocks/Slider/Arrow/Arrow.js +1 -1
  35. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  36. package/build/cjs/blocks/Slider/Slider.css +549 -329
  37. package/build/cjs/blocks/Slider/Slider.d.ts +6 -5
  38. package/build/cjs/blocks/Slider/Slider.js +31 -271
  39. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  40. package/build/cjs/blocks/Slider/i18n/en.json +1 -1
  41. package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
  42. package/build/cjs/blocks/Slider/models.d.ts +2 -2
  43. package/build/cjs/blocks/Slider/models.js +1 -1
  44. package/build/cjs/blocks/Slider/models.js.map +1 -1
  45. package/build/cjs/blocks/Slider/schema.d.ts +18 -1
  46. package/build/cjs/blocks/Slider/schema.js +9 -0
  47. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  48. package/build/{esm/blocks/SliderNew → cjs/blocks/Slider}/useSlider.d.ts +1 -0
  49. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  50. package/build/cjs/blocks/Slider/useSlider.js.map +1 -0
  51. package/build/cjs/blocks/Slider/useSliderPagination.js.map +1 -0
  52. package/build/cjs/blocks/Slider/utils.d.ts +7 -28
  53. package/build/cjs/blocks/Slider/utils.js +27 -109
  54. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  55. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  56. package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
  57. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js +11 -0
  58. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  59. package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
  60. package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
  61. package/build/cjs/blocks/SliderOld/SliderOld.js +292 -0
  62. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -0
  63. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  64. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  65. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  66. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  67. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  68. package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  69. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
  70. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  71. package/build/{esm/blocks/SliderNew → cjs/blocks/SliderOld}/schema.d.ts +5 -21
  72. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
  73. package/build/cjs/blocks/SliderOld/schema.js.map +1 -0
  74. package/build/cjs/blocks/SliderOld/utils.d.ts +37 -0
  75. package/build/cjs/blocks/SliderOld/utils.js +126 -0
  76. package/build/cjs/blocks/SliderOld/utils.js.map +1 -0
  77. package/build/cjs/blocks/Table/Table.css +4 -3
  78. package/build/cjs/blocks/Table/Table.js +3 -1
  79. package/build/cjs/blocks/Table/Table.js.map +1 -1
  80. package/build/cjs/blocks/Tabs/schema.js +1 -1
  81. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  82. package/build/cjs/blocks/index.d.ts +2 -0
  83. package/build/cjs/blocks/index.js +3 -1
  84. package/build/cjs/blocks/index.js.map +1 -1
  85. package/build/cjs/blocks/validators.d.ts +1 -0
  86. package/build/cjs/blocks/validators.js +1 -0
  87. package/build/cjs/blocks/validators.js.map +1 -1
  88. package/build/cjs/components/BackLink/BackLink.js +5 -2
  89. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  90. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +3 -3
  91. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  92. package/build/cjs/components/BrandFooter/BrandFooter.css +21 -17
  93. package/build/cjs/components/BrandFooter/BrandFooter.js +1 -1
  94. package/build/cjs/components/BrandFooter/BrandFooter.js.map +1 -1
  95. package/build/cjs/components/Button/Button.js +2 -3
  96. package/build/cjs/components/Button/Button.js.map +1 -1
  97. package/build/cjs/components/CardBase/CardBase.css +1 -0
  98. package/build/cjs/components/ContentList/ContentList.css +16 -12
  99. package/build/cjs/components/ContentList/ContentList.js +1 -1
  100. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  101. package/build/cjs/components/FileLink/FileLink.js +8 -1
  102. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  103. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +1 -1
  104. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  105. package/build/cjs/components/FullscreenImage/FullscreenImage.css +96 -18
  106. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  107. package/build/cjs/components/FullscreenImage/FullscreenImage.js +14 -2
  108. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  109. package/build/cjs/components/HTML/HTML.d.ts +15 -8
  110. package/build/cjs/components/HTML/HTML.js +15 -10
  111. package/build/cjs/components/HTML/HTML.js.map +1 -1
  112. package/build/cjs/components/ImageBase/ImageBase.js +1 -1
  113. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  114. package/build/cjs/components/Link/Link.js +11 -2
  115. package/build/cjs/components/Link/Link.js.map +1 -1
  116. package/build/cjs/components/Map/GoogleMap.js +1 -1
  117. package/build/cjs/components/Map/GoogleMap.js.map +1 -1
  118. package/build/cjs/components/Map/YMap/YandexMap.js +1 -1
  119. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  120. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  121. package/build/cjs/components/Media/Image/Image.js +8 -6
  122. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  123. package/build/cjs/components/Media/Media.css +4 -0
  124. package/build/cjs/components/Media/Media.d.ts +1 -0
  125. package/build/cjs/components/Media/Media.js +3 -2
  126. package/build/cjs/components/Media/Media.js.map +1 -1
  127. package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
  128. package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
  129. package/build/cjs/components/MetaInfo/MetaInfo.js.map +1 -1
  130. package/build/cjs/components/OutsideClick/OutsideClick.js +1 -1
  131. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  132. package/build/cjs/components/OverflowScroller/OverflowScroller.js +1 -1
  133. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  134. package/build/cjs/components/ReactPlayer/ReactPlayer.js +1 -1
  135. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  136. package/build/cjs/components/Table/Table.css +2 -1
  137. package/build/cjs/components/Table/Table.js +4 -2
  138. package/build/cjs/components/Table/Table.js.map +1 -1
  139. package/build/cjs/components/Title/TitleItem.css +15 -5
  140. package/build/cjs/components/Title/TitleItem.js +4 -1
  141. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  142. package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
  143. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  144. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  145. package/build/cjs/components/YFMWrapper/YFMWrapper.js +4 -3
  146. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  147. package/build/cjs/constructor-items.d.ts +2 -2
  148. package/build/cjs/constructor-items.js +2 -4
  149. package/build/cjs/constructor-items.js.map +1 -1
  150. package/build/cjs/containers/PageConstructor/PageConstructor.css +1 -0
  151. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
  152. package/build/cjs/containers/PageConstructor/PageConstructor.js +1 -1
  153. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  154. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  155. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  156. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  157. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  158. package/build/cjs/editor/components/AddBlock/AddBlock.js +1 -1
  159. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  160. package/build/cjs/editor/components/BlockForm/BlockForm.js +2 -2
  161. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  162. package/build/cjs/editor/components/CodeEditor/CodeEditor.js +1 -1
  163. package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  164. package/build/cjs/editor/components/ControlPanel/ControlPanel.css +1 -1
  165. package/build/cjs/editor/components/PageSettings/PageSettings.js +1 -1
  166. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  167. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  168. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  169. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  170. package/build/cjs/editor/dynamic-forms-custom/config.js +1 -1
  171. package/build/cjs/editor/dynamic-forms-custom/config.js.map +1 -1
  172. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  173. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  174. package/build/cjs/editor/store/main/utils.js +1 -1
  175. package/build/cjs/editor/store/main/utils.js.map +1 -1
  176. package/build/cjs/editor/utils/index.js +1 -1
  177. package/build/cjs/editor/utils/index.js.map +1 -1
  178. package/build/cjs/editor/utils/validation.js +1 -1
  179. package/build/cjs/editor/utils/validation.js.map +1 -1
  180. package/build/cjs/hooks/useFocus.js +1 -1
  181. package/build/cjs/hooks/useFocus.js.map +1 -1
  182. package/build/cjs/hooks/useHeightCalculator.js +1 -1
  183. package/build/cjs/hooks/useHeightCalculator.js.map +1 -1
  184. package/build/cjs/hooks/useWindowBreakpoint.js +1 -1
  185. package/build/cjs/hooks/useWindowBreakpoint.js.map +1 -1
  186. package/build/cjs/models/common.d.ts +1 -0
  187. package/build/cjs/models/common.js.map +1 -1
  188. package/build/cjs/models/constructor-items/blocks.d.ts +19 -16
  189. package/build/cjs/models/constructor-items/blocks.js +3 -2
  190. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  191. package/build/cjs/models/constructor-items/common.d.ts +2 -2
  192. package/build/cjs/models/constructor-items/common.js.map +1 -1
  193. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +1 -1
  194. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  195. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  196. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  197. package/build/cjs/navigation/hooks/useActiveNavItem.d.ts +2 -2
  198. package/build/cjs/navigation/hooks/useShowBorder.js +1 -1
  199. package/build/cjs/navigation/hooks/useShowBorder.js.map +1 -1
  200. package/build/cjs/navigation/schema.js +1 -1
  201. package/build/cjs/navigation/schema.js.map +1 -1
  202. package/build/cjs/navigation/utils.d.ts +1 -1
  203. package/build/cjs/schema/constants.js +3 -1
  204. package/build/cjs/schema/constants.js.map +1 -1
  205. package/build/cjs/schema/validators/blocks.d.ts +2 -2
  206. package/build/cjs/schema/validators/blocks.js +2 -2
  207. package/build/cjs/schema/validators/blocks.js.map +1 -1
  208. package/build/cjs/schema/validators/common.js +1 -1
  209. package/build/cjs/schema/validators/common.js.map +1 -1
  210. package/build/cjs/sub-blocks/BackgroundCard/schema.js +1 -1
  211. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  212. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +14 -8
  213. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -1
  214. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  215. package/build/cjs/sub-blocks/BasicCard/schema.js +1 -1
  216. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  217. package/build/cjs/sub-blocks/Content/Content.css +80 -31
  218. package/build/cjs/sub-blocks/Content/Content.js +3 -1
  219. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  220. package/build/cjs/sub-blocks/ImageCard/ImageCard.css +2 -0
  221. package/build/cjs/sub-blocks/ImageCard/schema.js +1 -1
  222. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  223. package/build/cjs/sub-blocks/LayoutItem/schema.js +1 -1
  224. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  225. package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
  226. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +3 -4
  227. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  228. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  229. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  230. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  231. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  232. package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
  233. package/build/cjs/sub-blocks/Quote/Quote.js +2 -1
  234. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  235. package/build/cjs/text-transform/common.d.ts +4 -3
  236. package/build/cjs/text-transform/common.js +41 -18
  237. package/build/cjs/text-transform/common.js.map +1 -1
  238. package/build/cjs/text-transform/config.d.ts +5 -2
  239. package/build/cjs/text-transform/config.js +84 -43
  240. package/build/cjs/text-transform/config.js.map +1 -1
  241. package/build/cjs/text-transform/transformers.js +4 -4
  242. package/build/cjs/text-transform/transformers.js.map +1 -1
  243. package/build/cjs/utils/blocks.d.ts +10 -2
  244. package/build/cjs/utils/blocks.js +12 -5
  245. package/build/cjs/utils/blocks.js.map +1 -1
  246. package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
  247. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  248. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  249. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -6
  250. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  251. package/build/esm/blocks/Form/schema.js +1 -1
  252. package/build/esm/blocks/Form/schema.js.map +1 -1
  253. package/build/esm/blocks/Header/Header.css +21 -10
  254. package/build/esm/blocks/Header/Header.js +16 -5
  255. package/build/esm/blocks/Header/Header.js.map +1 -1
  256. package/build/esm/blocks/Header/schema.d.ts +6 -0
  257. package/build/esm/blocks/Header/schema.js +3 -0
  258. package/build/esm/blocks/Header/schema.js.map +1 -1
  259. package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
  260. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  261. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  262. package/build/esm/blocks/HeaderSlider/schema.d.ts +12 -1
  263. package/build/esm/blocks/HeaderSlider/schema.js +1 -1
  264. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  265. package/build/esm/blocks/Info/schema.js +1 -1
  266. package/build/esm/blocks/Info/schema.js.map +1 -1
  267. package/build/esm/blocks/Media/schema.js +1 -1
  268. package/build/esm/blocks/Media/schema.js.map +1 -1
  269. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  270. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +4 -2
  271. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  272. package/build/esm/blocks/Questions/schema.js +1 -1
  273. package/build/esm/blocks/Questions/schema.js.map +1 -1
  274. package/build/esm/blocks/Share/Share.js +5 -1
  275. package/build/esm/blocks/Share/Share.js.map +1 -1
  276. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  277. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  278. package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
  279. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  280. package/build/esm/blocks/Slider/Slider.css +549 -329
  281. package/build/esm/blocks/Slider/Slider.d.ts +6 -5
  282. package/build/esm/blocks/Slider/Slider.js +32 -272
  283. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  284. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  285. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  286. package/build/esm/blocks/Slider/models.d.ts +2 -2
  287. package/build/esm/blocks/Slider/models.js +1 -1
  288. package/build/esm/blocks/Slider/models.js.map +1 -1
  289. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  290. package/build/esm/blocks/Slider/schema.js +9 -0
  291. package/build/esm/blocks/Slider/schema.js.map +1 -1
  292. package/build/{cjs/blocks/SliderNew → esm/blocks/Slider}/useSlider.d.ts +1 -0
  293. package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  294. package/build/esm/blocks/Slider/useSlider.js.map +1 -0
  295. package/build/esm/blocks/Slider/useSliderPagination.js.map +1 -0
  296. package/build/esm/blocks/Slider/utils.d.ts +7 -28
  297. package/build/esm/blocks/Slider/utils.js +24 -103
  298. package/build/esm/blocks/Slider/utils.js.map +1 -1
  299. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  300. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  301. package/build/esm/blocks/SliderOld/Arrow/Arrow.js +9 -0
  302. package/build/esm/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  303. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  304. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  305. package/build/esm/blocks/SliderOld/SliderOld.js +288 -0
  306. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -0
  307. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  308. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  309. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  310. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  311. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  312. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  313. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  314. package/build/esm/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  315. package/build/{cjs/blocks/SliderNew → esm/blocks/SliderOld}/schema.d.ts +5 -21
  316. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  317. package/build/esm/blocks/SliderOld/schema.js.map +1 -0
  318. package/build/esm/blocks/SliderOld/utils.d.ts +37 -0
  319. package/build/esm/blocks/SliderOld/utils.js +116 -0
  320. package/build/esm/blocks/SliderOld/utils.js.map +1 -0
  321. package/build/esm/blocks/Table/Table.css +4 -3
  322. package/build/esm/blocks/Table/Table.js +4 -2
  323. package/build/esm/blocks/Table/Table.js.map +1 -1
  324. package/build/esm/blocks/Tabs/schema.js +1 -1
  325. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  326. package/build/esm/blocks/index.d.ts +2 -0
  327. package/build/esm/blocks/index.js +1 -0
  328. package/build/esm/blocks/index.js.map +1 -1
  329. package/build/esm/blocks/validators.d.ts +1 -0
  330. package/build/esm/blocks/validators.js +1 -0
  331. package/build/esm/blocks/validators.js.map +1 -1
  332. package/build/esm/components/BackLink/BackLink.js +5 -2
  333. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  334. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +3 -3
  335. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  336. package/build/esm/components/BrandFooter/BrandFooter.css +21 -17
  337. package/build/esm/components/BrandFooter/BrandFooter.js +1 -1
  338. package/build/esm/components/BrandFooter/BrandFooter.js.map +1 -1
  339. package/build/esm/components/Button/Button.js +3 -4
  340. package/build/esm/components/Button/Button.js.map +1 -1
  341. package/build/esm/components/CardBase/CardBase.css +1 -0
  342. package/build/esm/components/ContentList/ContentList.css +16 -12
  343. package/build/esm/components/ContentList/ContentList.js +1 -1
  344. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  345. package/build/esm/components/FileLink/FileLink.js +8 -1
  346. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  347. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +1 -1
  348. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  349. package/build/esm/components/FullscreenImage/FullscreenImage.css +96 -18
  350. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  351. package/build/esm/components/FullscreenImage/FullscreenImage.js +14 -2
  352. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  353. package/build/esm/components/HTML/HTML.d.ts +15 -8
  354. package/build/esm/components/HTML/HTML.js +17 -11
  355. package/build/esm/components/HTML/HTML.js.map +1 -1
  356. package/build/esm/components/ImageBase/ImageBase.js +1 -1
  357. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  358. package/build/esm/components/Link/Link.js +12 -3
  359. package/build/esm/components/Link/Link.js.map +1 -1
  360. package/build/esm/components/Map/GoogleMap.js +1 -1
  361. package/build/esm/components/Map/GoogleMap.js.map +1 -1
  362. package/build/esm/components/Map/YMap/YandexMap.js +1 -1
  363. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  364. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  365. package/build/esm/components/Media/Image/Image.js +8 -6
  366. package/build/esm/components/Media/Image/Image.js.map +1 -1
  367. package/build/esm/components/Media/Media.css +4 -0
  368. package/build/esm/components/Media/Media.d.ts +1 -0
  369. package/build/esm/components/Media/Media.js +3 -2
  370. package/build/esm/components/Media/Media.js.map +1 -1
  371. package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
  372. package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
  373. package/build/esm/components/MetaInfo/MetaInfo.js.map +1 -1
  374. package/build/esm/components/OutsideClick/OutsideClick.js +1 -1
  375. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  376. package/build/esm/components/OverflowScroller/OverflowScroller.js +1 -1
  377. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  378. package/build/esm/components/ReactPlayer/ReactPlayer.js +1 -1
  379. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  380. package/build/esm/components/Table/Table.css +2 -1
  381. package/build/esm/components/Table/Table.js +5 -3
  382. package/build/esm/components/Table/Table.js.map +1 -1
  383. package/build/esm/components/Title/TitleItem.css +15 -5
  384. package/build/esm/components/Title/TitleItem.js +5 -2
  385. package/build/esm/components/Title/TitleItem.js.map +1 -1
  386. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  387. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  388. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  389. package/build/esm/components/YFMWrapper/YFMWrapper.js +5 -3
  390. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  391. package/build/esm/constructor-items.d.ts +2 -2
  392. package/build/esm/constructor-items.js +3 -5
  393. package/build/esm/constructor-items.js.map +1 -1
  394. package/build/esm/containers/PageConstructor/PageConstructor.css +1 -0
  395. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  396. package/build/esm/containers/PageConstructor/PageConstructor.js +1 -1
  397. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  398. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  399. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  400. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  401. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  402. package/build/esm/editor/components/AddBlock/AddBlock.js +1 -1
  403. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  404. package/build/esm/editor/components/BlockForm/BlockForm.js +2 -2
  405. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  406. package/build/esm/editor/components/CodeEditor/CodeEditor.js +1 -1
  407. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  408. package/build/esm/editor/components/ControlPanel/ControlPanel.css +1 -1
  409. package/build/esm/editor/components/PageSettings/PageSettings.js +1 -1
  410. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  411. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  412. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  413. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  414. package/build/esm/editor/dynamic-forms-custom/config.js +1 -1
  415. package/build/esm/editor/dynamic-forms-custom/config.js.map +1 -1
  416. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  417. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  418. package/build/esm/editor/store/main/utils.js +1 -1
  419. package/build/esm/editor/store/main/utils.js.map +1 -1
  420. package/build/esm/editor/utils/index.js +1 -1
  421. package/build/esm/editor/utils/index.js.map +1 -1
  422. package/build/esm/editor/utils/validation.js +1 -1
  423. package/build/esm/editor/utils/validation.js.map +1 -1
  424. package/build/esm/hooks/useFocus.js +1 -1
  425. package/build/esm/hooks/useFocus.js.map +1 -1
  426. package/build/esm/hooks/useHeightCalculator.js +1 -1
  427. package/build/esm/hooks/useHeightCalculator.js.map +1 -1
  428. package/build/esm/hooks/useWindowBreakpoint.js +1 -1
  429. package/build/esm/hooks/useWindowBreakpoint.js.map +1 -1
  430. package/build/esm/models/common.d.ts +1 -0
  431. package/build/esm/models/common.js.map +1 -1
  432. package/build/esm/models/constructor-items/blocks.d.ts +19 -16
  433. package/build/esm/models/constructor-items/blocks.js +3 -2
  434. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  435. package/build/esm/models/constructor-items/common.d.ts +2 -2
  436. package/build/esm/models/constructor-items/common.js.map +1 -1
  437. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +1 -1
  438. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  439. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  440. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  441. package/build/esm/navigation/hooks/useActiveNavItem.d.ts +2 -2
  442. package/build/esm/navigation/hooks/useShowBorder.js +1 -1
  443. package/build/esm/navigation/hooks/useShowBorder.js.map +1 -1
  444. package/build/esm/navigation/schema.js +1 -1
  445. package/build/esm/navigation/schema.js.map +1 -1
  446. package/build/esm/navigation/utils.d.ts +1 -1
  447. package/build/esm/schema/constants.js +4 -2
  448. package/build/esm/schema/constants.js.map +1 -1
  449. package/build/esm/schema/validators/blocks.d.ts +2 -2
  450. package/build/esm/schema/validators/blocks.js +2 -2
  451. package/build/esm/schema/validators/blocks.js.map +1 -1
  452. package/build/esm/schema/validators/common.js +1 -1
  453. package/build/esm/schema/validators/common.js.map +1 -1
  454. package/build/esm/sub-blocks/BackgroundCard/schema.js +1 -1
  455. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  456. package/build/esm/sub-blocks/BannerCard/BannerCard.css +14 -8
  457. package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -2
  458. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  459. package/build/esm/sub-blocks/BasicCard/schema.js +1 -1
  460. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  461. package/build/esm/sub-blocks/Content/Content.css +80 -31
  462. package/build/esm/sub-blocks/Content/Content.js +3 -1
  463. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  464. package/build/esm/sub-blocks/ImageCard/ImageCard.css +2 -0
  465. package/build/esm/sub-blocks/ImageCard/schema.js +1 -1
  466. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  467. package/build/esm/sub-blocks/LayoutItem/schema.js +1 -1
  468. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  469. package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
  470. package/build/esm/sub-blocks/PriceCard/PriceCard.js +3 -3
  471. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  472. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  473. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  474. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  475. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  476. package/build/esm/sub-blocks/Quote/Quote.css +8 -4
  477. package/build/esm/sub-blocks/Quote/Quote.js +3 -2
  478. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  479. package/build/esm/text-transform/common.d.ts +4 -3
  480. package/build/esm/text-transform/common.js +41 -18
  481. package/build/esm/text-transform/common.js.map +1 -1
  482. package/build/esm/text-transform/config.d.ts +5 -2
  483. package/build/esm/text-transform/config.js +85 -44
  484. package/build/esm/text-transform/config.js.map +1 -1
  485. package/build/esm/text-transform/transformers.js +4 -4
  486. package/build/esm/text-transform/transformers.js.map +1 -1
  487. package/build/esm/utils/blocks.d.ts +10 -2
  488. package/build/esm/utils/blocks.js +11 -4
  489. package/build/esm/utils/blocks.js.map +1 -1
  490. package/package.json +17 -12
  491. package/schema/index.js +1 -1
  492. package/server/models/common.d.ts +1 -0
  493. package/server/models/constructor-items/blocks.d.ts +19 -16
  494. package/server/models/constructor-items/blocks.js +3 -2
  495. package/server/models/constructor-items/common.d.ts +2 -2
  496. package/server/text-transform/common.d.ts +4 -3
  497. package/server/text-transform/common.js +41 -18
  498. package/server/text-transform/config.d.ts +5 -2
  499. package/server/text-transform/config.js +84 -43
  500. package/server/text-transform/transformers.js +2 -2
  501. package/server/utils/blocks.d.ts +10 -2
  502. package/server/utils/blocks.js +10 -3
  503. package/styles/fonts.scss +1 -0
  504. package/styles/root.scss +1 -0
  505. package/styles/styles.css +0 -1
  506. package/styles/styles.scss +0 -1
  507. package/styles/variables.scss +1 -0
  508. package/widget/2957.index.js +1 -1
  509. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
  510. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -11
  511. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  512. package/build/cjs/blocks/SliderNew/Slider.css +0 -834
  513. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
  514. package/build/cjs/blocks/SliderNew/Slider.js +0 -49
  515. package/build/cjs/blocks/SliderNew/Slider.js.map +0 -1
  516. package/build/cjs/blocks/SliderNew/schema.js.map +0 -1
  517. package/build/cjs/blocks/SliderNew/useSlider.js.map +0 -1
  518. package/build/cjs/blocks/SliderNew/useSliderPagination.js.map +0 -1
  519. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  520. package/build/cjs/blocks/SliderNew/utils.js +0 -44
  521. package/build/cjs/blocks/SliderNew/utils.js.map +0 -1
  522. package/build/cjs/blocks/unstable.d.ts +0 -1
  523. package/build/cjs/blocks/unstable.js +0 -7
  524. package/build/cjs/blocks/unstable.js.map +0 -1
  525. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  526. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -9
  527. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  528. package/build/esm/blocks/SliderNew/Slider.css +0 -834
  529. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
  530. package/build/esm/blocks/SliderNew/Slider.js +0 -45
  531. package/build/esm/blocks/SliderNew/Slider.js.map +0 -1
  532. package/build/esm/blocks/SliderNew/schema.js.map +0 -1
  533. package/build/esm/blocks/SliderNew/useSlider.js.map +0 -1
  534. package/build/esm/blocks/SliderNew/useSliderPagination.js.map +0 -1
  535. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  536. package/build/esm/blocks/SliderNew/utils.js +0 -37
  537. package/build/esm/blocks/SliderNew/utils.js.map +0 -1
  538. package/build/esm/blocks/unstable.d.ts +0 -1
  539. package/build/esm/blocks/unstable.js +0 -2
  540. package/build/esm/blocks/unstable.js.map +0 -1
  541. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  542. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  543. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  544. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  545. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  546. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -2,11 +2,27 @@
2
2
  /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */
3
3
  import { __rest } from "tslib";
4
4
  import { BlockType, SubBlockType, } from "../models/index.js";
5
- import { createItemsParser, typografTransformer, yfmTransformer, } from "./common.js";
6
- function parseTableBlock(transformer, content) {
5
+ import { createItemsParser, yfmTransformer } from "./common.js";
6
+ function parseTableBlockLegend(transformer, content) {
7
7
  const legend = content === null || content === void 0 ? void 0 : content.legend;
8
8
  return Object.assign(Object.assign({}, (content || {})), { legend: legend && legend.map((string) => transformer(string)) });
9
9
  }
10
+ function parseTableBlockContent(transformer, content) {
11
+ const legend = content === null || content === void 0 ? void 0 : content.legend;
12
+ const tableContent = content === null || content === void 0 ? void 0 : content.content;
13
+ return Object.assign(Object.assign({}, (content || {})), { content: tableContent &&
14
+ tableContent.map((row, i) => row.map((cell, j) => {
15
+ if (legend) {
16
+ if (i === 0 || j === 0) {
17
+ return transformer(cell);
18
+ }
19
+ return cell;
20
+ }
21
+ else {
22
+ return transformer(cell);
23
+ }
24
+ })) });
25
+ }
10
26
  function parseFeatures(transformer, items) {
11
27
  return items.map((_a) => {
12
28
  var { title, text } = _a, rest = __rest(_a, ["title", "text"]);
@@ -81,8 +97,9 @@ function parseContentLayoutTitle(transformer, content) {
81
97
  export const blockHeaderTransformer = [
82
98
  {
83
99
  fields: ['title'],
84
- transformer: typografTransformer,
100
+ transformer: yfmTransformer,
85
101
  parser: parseTitle,
102
+ renderInline: true,
86
103
  },
87
104
  {
88
105
  fields: ['description'],
@@ -93,7 +110,8 @@ export const config = {
93
110
  [SubBlockType.BasicCard]: [
94
111
  {
95
112
  fields: ['title'],
96
- transformer: typografTransformer,
113
+ transformer: yfmTransformer,
114
+ renderInline: true,
97
115
  },
98
116
  {
99
117
  fields: ['text', 'additionalInfo'],
@@ -102,22 +120,16 @@ export const config = {
102
120
  ],
103
121
  [SubBlockType.BackgroundCard]: [
104
122
  {
105
- fields: ['text', 'additionalInfo'],
123
+ fields: ['title', 'text', 'additionalInfo'],
106
124
  transformer: yfmTransformer,
107
- },
108
- {
109
- fields: ['title'],
110
- transformer: typografTransformer,
125
+ renderInline: true,
111
126
  },
112
127
  ],
113
128
  [SubBlockType.ImageCard]: [
114
129
  {
115
- fields: ['text', 'additionalInfo'],
130
+ fields: ['title', 'text', 'additionalInfo'],
116
131
  transformer: yfmTransformer,
117
- },
118
- {
119
- fields: ['title'],
120
- transformer: typografTransformer,
132
+ renderInline: true,
121
133
  },
122
134
  ],
123
135
  [SubBlockType.LayoutItem]: [
@@ -129,7 +141,8 @@ export const config = {
129
141
  {
130
142
  fields: ['content'],
131
143
  parser: parseContentLayoutTitle,
132
- transformer: typografTransformer,
144
+ transformer: yfmTransformer,
145
+ renderInline: true,
133
146
  },
134
147
  {
135
148
  fields: ['metaInfo'],
@@ -139,26 +152,30 @@ export const config = {
139
152
  ],
140
153
  [SubBlockType.Quote]: [
141
154
  {
142
- fields: ['text'],
143
- transformer: typografTransformer,
144
- },
145
- {
146
- fields: ['yfmText'],
155
+ fields: ['text', 'yfmText'],
147
156
  transformer: yfmTransformer,
157
+ renderInline: true,
148
158
  },
149
159
  ],
150
160
  [BlockType.ExtendedFeaturesBlock]: [
151
161
  ...blockHeaderTransformer,
152
162
  {
153
163
  fields: ['items'],
154
- transformer: typografTransformer,
164
+ transformer: yfmTransformer,
155
165
  parser: createItemsParser(['title']),
166
+ renderInline: true,
156
167
  },
157
168
  {
158
169
  fields: ['items'],
159
170
  transformer: yfmTransformer,
160
171
  parser: createItemsParser(['text', 'additionalInfo']),
161
172
  },
173
+ {
174
+ fields: ['items'],
175
+ transformer: yfmTransformer,
176
+ parser: createItemsParser(['list.text']),
177
+ renderInline: true,
178
+ },
162
179
  ],
163
180
  [BlockType.PromoFeaturesBlock]: [
164
181
  ...blockHeaderTransformer,
@@ -168,16 +185,14 @@ export const config = {
168
185
  parser: parsePromoFeatures,
169
186
  },
170
187
  ],
188
+ [BlockType.SliderOldBlock]: blockHeaderTransformer,
171
189
  [BlockType.SliderBlock]: blockHeaderTransformer,
172
190
  [BlockType.CompaniesBlock]: blockHeaderTransformer,
173
191
  [BlockType.QuestionsBlock]: [
174
192
  {
175
- fields: ['title'],
176
- transformer: typografTransformer,
177
- },
178
- {
179
- fields: ['text', 'additionalInfo'],
193
+ fields: ['title', 'text', 'additionalInfo'],
180
194
  transformer: yfmTransformer,
195
+ renderInline: true,
181
196
  },
182
197
  {
183
198
  fields: ['items'],
@@ -188,7 +203,8 @@ export const config = {
188
203
  [BlockType.BannerBlock]: [
189
204
  {
190
205
  fields: ['title'],
191
- transformer: typografTransformer,
206
+ transformer: yfmTransformer,
207
+ renderInline: true,
192
208
  },
193
209
  {
194
210
  fields: ['subtitle'],
@@ -198,7 +214,8 @@ export const config = {
198
214
  [SubBlockType.BannerCard]: [
199
215
  {
200
216
  fields: ['title'],
201
- transformer: typografTransformer,
217
+ transformer: yfmTransformer,
218
+ renderInline: true,
202
219
  },
203
220
  {
204
221
  fields: ['subtitle'],
@@ -208,7 +225,7 @@ export const config = {
208
225
  [BlockType.MediaBlock]: [
209
226
  ...blockHeaderTransformer,
210
227
  {
211
- fields: ['title', 'additionalInfo'],
228
+ fields: ['additionalInfo'],
212
229
  transformer: yfmTransformer,
213
230
  },
214
231
  {
@@ -233,27 +250,35 @@ export const config = {
233
250
  },
234
251
  {
235
252
  fields: ['items'],
236
- transformer: typografTransformer,
253
+ transformer: yfmTransformer,
237
254
  parser: parseItemsTitle,
255
+ renderInline: true,
238
256
  },
239
257
  ],
240
258
  [BlockType.TableBlock]: [
259
+ {
260
+ fields: ['title'],
261
+ transformer: yfmTransformer,
262
+ renderInline: true,
263
+ },
241
264
  {
242
265
  fields: ['table'],
243
266
  transformer: yfmTransformer,
244
- parser: parseTableBlock,
267
+ parser: parseTableBlockLegend,
245
268
  },
246
- ],
247
- [BlockType.HeaderSliderBlock]: [
248
269
  {
249
- fields: ['items'],
250
- transformer: typografTransformer,
251
- parser: createItemsParser(['title', 'overtitle']),
270
+ fields: ['table'],
271
+ transformer: yfmTransformer,
272
+ parser: parseTableBlockContent,
273
+ renderInline: true,
252
274
  },
275
+ ],
276
+ [BlockType.HeaderSliderBlock]: [
253
277
  {
254
278
  fields: ['items'],
255
279
  transformer: yfmTransformer,
256
- parser: createItemsParser(['description']),
280
+ parser: createItemsParser(['title', 'overtitle', 'description']),
281
+ renderInline: true,
257
282
  },
258
283
  ],
259
284
  [SubBlockType.PriceDetailed]: [
@@ -267,6 +292,11 @@ export const config = {
267
292
  fields: ['description'],
268
293
  transformer: yfmTransformer,
269
294
  },
295
+ {
296
+ fields: ['overtitle', 'title'],
297
+ transformer: yfmTransformer,
298
+ renderInline: true,
299
+ },
270
300
  ],
271
301
  [BlockType.ContentLayoutBlock]: [
272
302
  {
@@ -276,8 +306,9 @@ export const config = {
276
306
  },
277
307
  {
278
308
  fields: ['textContent'],
279
- transformer: typografTransformer,
309
+ transformer: yfmTransformer,
280
310
  parser: parseContentLayoutTitle,
311
+ renderInline: true,
281
312
  },
282
313
  ],
283
314
  [SubBlockType.Content]: [
@@ -287,8 +318,9 @@ export const config = {
287
318
  },
288
319
  {
289
320
  fields: ['title'],
290
- transformer: typografTransformer,
321
+ transformer: yfmTransformer,
291
322
  parser: parseTitle,
323
+ renderInline: true,
292
324
  },
293
325
  {
294
326
  fields: ['list'],
@@ -297,6 +329,11 @@ export const config = {
297
329
  },
298
330
  ],
299
331
  [BlockType.InfoBlock]: [
332
+ {
333
+ fields: ['title'],
334
+ transformer: yfmTransformer,
335
+ renderInline: true,
336
+ },
300
337
  {
301
338
  fields: ['rightContent', 'leftContent'],
302
339
  transformer: yfmTransformer,
@@ -304,14 +341,16 @@ export const config = {
304
341
  },
305
342
  {
306
343
  fields: ['rightContent', 'leftContent'],
307
- transformer: typografTransformer,
344
+ transformer: yfmTransformer,
308
345
  parser: parseContentLayoutTitle,
346
+ renderInline: true,
309
347
  },
310
348
  ],
311
349
  [BlockType.ShareBlock]: [
312
350
  {
313
351
  fields: ['title'],
314
- transformer: typografTransformer,
352
+ transformer: yfmTransformer,
353
+ renderInline: true,
315
354
  },
316
355
  ],
317
356
  [BlockType.CardLayoutBlock]: blockHeaderTransformer,
@@ -320,12 +359,13 @@ export const config = {
320
359
  [SubBlockType.PriceCard]: [
321
360
  {
322
361
  fields: ['title'],
323
- transformer: typografTransformer,
362
+ transformer: yfmTransformer,
363
+ renderInline: true,
324
364
  },
325
365
  {
326
366
  fields: ['list'],
327
367
  transformer: yfmTransformer,
328
- parser: createItemsParser(['text']),
368
+ parser: createItemsParser(['title', 'text']),
329
369
  },
330
370
  ],
331
371
  [BlockType.FormBlock]: [
@@ -336,8 +376,9 @@ export const config = {
336
376
  },
337
377
  {
338
378
  fields: ['textContent'],
339
- transformer: typografTransformer,
379
+ transformer: yfmTransformer,
340
380
  parser: parseContentLayoutTitle,
381
+ renderInline: true,
341
382
  },
342
383
  ],
343
384
  };
@@ -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\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"]}
@@ -1,5 +1,5 @@
1
- import cloneDeep from 'lodash/cloneDeep';
2
- import shuffle from 'lodash/shuffle';
1
+ import cloneDeep from "lodash/cloneDeep.js";
2
+ import shuffle from "lodash/shuffle.js";
3
3
  import { config } from "./config.js";
4
4
  import { filterContent } from "./filter.js";
5
5
  function transformBlocks(blocks, lang, customConfig = {}, options = {}) {
@@ -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":"AAGA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,OAAO,MAAM,gBAAgB,CAAC;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,mCAAO,MAAM,GAAK,YAAY,CAAC,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,EAAC,GAAG,eAAe,CAAC;YACtE,MAAM,WAAW,GAAgB,CAAC,OAAO,EAAE,EAAE;YACzC,2CAA2C;YAC3C,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;YAExD,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} = 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 {};
@@ -1,5 +1,5 @@
1
- import camelCase from 'lodash/camelCase';
2
- import flatten from 'lodash/flatten';
1
+ import camelCase from "lodash/camelCase.js";
2
+ import flatten from "lodash/flatten.js";
3
3
  import { PCShareSocialNetwork } from "../models/index.js";
4
4
  const BLOCK_ELEMENTS = [
5
5
  'div',
@@ -47,14 +47,21 @@ export function getHeaderTag(size) {
47
47
  return 'h3';
48
48
  case 'xs':
49
49
  return 'h4';
50
+ case 'sm':
50
51
  case 'm':
51
52
  default:
52
53
  return 'h2';
53
54
  }
54
55
  }
55
- 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
+ }
56
63
  const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');
57
- return regex.test(content);
64
+ return regex.test(content) ? 'div' : 'span';
58
65
  }
59
66
  export function getBlockKey(block, index) {
60
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 '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.0.1-beta.0",
3
+ "version": "7.0.0-beta.1",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -10,9 +10,14 @@
10
10
  },
11
11
  "exports": {
12
12
  ".": {
13
- "types": "./build/esm/index.d.ts",
14
- "require": "./build/cjs/index.js",
15
- "import": "./build/esm/index.js"
13
+ "import": {
14
+ "types": "./build/esm/index.d.ts",
15
+ "default": "./build/esm/index.js"
16
+ },
17
+ "require": {
18
+ "types": "./build/cjs/index.d.ts",
19
+ "default": "./build/cjs/index.js"
20
+ }
16
21
  },
17
22
  "./editor": {
18
23
  "types": "./build/esm/editor/index.d.ts",
@@ -30,7 +35,7 @@
30
35
  },
31
36
  "main": "./build/cjs/index.js",
32
37
  "module": "./build/esm/index.js",
33
- "types": "./build/esm/index.d.ts",
38
+ "types": "./build/cjs/index.d.ts",
34
39
  "typesVersions": {
35
40
  "*": {
36
41
  "index.d.ts": [
@@ -92,9 +97,9 @@
92
97
  },
93
98
  "dependencies": {
94
99
  "@bem-react/classname": "^1.6.0",
95
- "@gravity-ui/components": "^4.0.0-beta.5",
96
- "@gravity-ui/dynamic-forms": "^5.0.0-beta.0",
97
- "@gravity-ui/gulp-utils": "^1.0.0",
100
+ "@gravity-ui/components": "^4.0.1",
101
+ "@gravity-ui/dynamic-forms": "^5.0.0",
102
+ "@gravity-ui/gulp-utils": "^1.0.1",
98
103
  "@gravity-ui/i18n": "^1.7.0",
99
104
  "@react-spring/web": "^9.7.3",
100
105
  "@testing-library/dom": "^10.4.0",
@@ -122,9 +127,9 @@
122
127
  "uuid": "^9.0.0"
123
128
  },
124
129
  "peerDependencies": {
125
- "@diplodoc/transform": "^4.10.4",
126
- "@gravity-ui/uikit": "^7.0.0-beta.5",
127
- "react": "^16.14.0 || ^17.0.0 || ^18.0.0"
130
+ "@diplodoc/transform": "^4.28.2",
131
+ "@gravity-ui/uikit": "^7.1.1",
132
+ "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
128
133
  },
129
134
  "devDependencies": {
130
135
  "@babel/core": "^7.22.8",
@@ -140,7 +145,7 @@
140
145
  "@gravity-ui/prettier-config": "^1.1.0",
141
146
  "@gravity-ui/stylelint-config": "^4.0.1",
142
147
  "@gravity-ui/tsconfig": "^1.0.0",
143
- "@gravity-ui/uikit": "^7.0.0-beta.5",
148
+ "@gravity-ui/uikit": "^7.1.1",
144
149
  "@playwright/experimental-ct-react": "^1.45.3",
145
150
  "@playwright/test": "^1.45.3",
146
151
  "@storybook/addon-actions": "8.0.5",