@gravity-ui/page-constructor 4.1.2 → 4.3.12-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/README.md +4 -0
  2. package/build/cjs/blocks/CardLayout/CardLayout.d.ts +2 -2
  3. package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
  4. package/build/cjs/blocks/ContentLayout/schema.d.ts +38 -0
  5. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +7 -3
  6. package/build/cjs/blocks/Header/Header.css +0 -6
  7. package/build/cjs/blocks/Icons/Icons.js +7 -1
  8. package/build/cjs/blocks/Icons/schema.d.ts +162 -0
  9. package/build/cjs/blocks/Icons/schema.js +11 -0
  10. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  11. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +50 -0
  12. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.d.ts +2 -0
  13. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +27 -0
  14. package/build/cjs/blocks/Questions/Questions.css +0 -48
  15. package/build/cjs/blocks/Questions/Questions.js +7 -27
  16. package/build/cjs/blocks/Questions/models.d.ts +10 -0
  17. package/build/cjs/blocks/Questions/models.js +13 -0
  18. package/build/cjs/blocks/Slider/Arrow/Arrow.js +2 -1
  19. package/build/cjs/blocks/Slider/Slider.css +4 -1
  20. package/build/cjs/blocks/Slider/Slider.js +32 -6
  21. package/build/cjs/blocks/Slider/i18n/en.json +4 -0
  22. package/build/cjs/blocks/Slider/i18n/index.d.ts +2 -0
  23. package/build/cjs/blocks/Slider/i18n/index.js +8 -0
  24. package/build/cjs/blocks/Slider/i18n/ru.json +4 -0
  25. package/build/cjs/components/BackLink/BackLink.d.ts +2 -1
  26. package/build/cjs/components/BackLink/BackLink.js +2 -2
  27. package/build/cjs/components/BackgroundImage/BackgroundImage.d.ts +1 -0
  28. package/build/cjs/components/BackgroundImage/BackgroundImage.js +5 -2
  29. package/build/cjs/components/BackgroundMedia/BackgroundMedia.d.ts +1 -1
  30. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js +4 -3
  31. package/build/cjs/components/ButtonTabs/ButtonTabs.js +6 -1
  32. package/build/cjs/components/CardBase/CardBase.css +4 -4
  33. package/build/cjs/components/FileLink/FileLink.js +2 -2
  34. package/build/cjs/components/FullscreenImage/FullscreenImage.js +1 -1
  35. package/build/cjs/components/FullscreenImage/i18n/en.json +2 -1
  36. package/build/cjs/components/FullscreenImage/i18n/ru.json +2 -1
  37. package/build/cjs/components/HTML/HTML.d.ts +5 -1
  38. package/build/cjs/components/HTML/HTML.js +3 -1
  39. package/build/cjs/components/Image/Image.js +7 -5
  40. package/build/cjs/components/Image/i18n/en.json +1 -1
  41. package/build/cjs/components/Image/i18n/ru.json +1 -1
  42. package/build/cjs/components/Image/schema.d.ts +19 -0
  43. package/build/cjs/components/Image/schema.js +12 -1
  44. package/build/cjs/components/Link/Link.d.ts +3 -2
  45. package/build/cjs/components/Link/Link.js +8 -6
  46. package/build/cjs/components/Media/Image/Image.d.ts +3 -2
  47. package/build/cjs/components/Media/Image/Image.js +8 -5
  48. package/build/cjs/components/Media/Media.d.ts +2 -2
  49. package/build/cjs/components/Media/Media.js +9 -7
  50. package/build/cjs/components/Media/Video/Video.d.ts +2 -2
  51. package/build/cjs/components/Media/Video/Video.js +15 -6
  52. package/build/cjs/components/MetaInfo/MetaInfo.css +0 -2
  53. package/build/cjs/components/MetaInfo/MetaInfo.js +2 -1
  54. package/build/cjs/components/ReactPlayer/CustomBarControls.css +46 -14
  55. package/build/cjs/components/ReactPlayer/CustomBarControls.d.ts +4 -1
  56. package/build/cjs/components/ReactPlayer/CustomBarControls.js +33 -9
  57. package/build/cjs/components/ReactPlayer/ReactPlayer.css +12 -0
  58. package/build/cjs/components/ReactPlayer/ReactPlayer.js +52 -27
  59. package/build/cjs/components/ReactPlayer/i18n/en.json +6 -0
  60. package/build/cjs/components/ReactPlayer/i18n/index.d.ts +2 -0
  61. package/build/cjs/components/ReactPlayer/i18n/index.js +8 -0
  62. package/build/cjs/components/ReactPlayer/i18n/ru.json +6 -0
  63. package/build/cjs/components/Table/Table.js +11 -5
  64. package/build/cjs/components/VideoBlock/VideoBlock.js +7 -6
  65. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -3
  66. package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -3
  67. package/build/cjs/components/constants.d.ts +0 -4
  68. package/build/cjs/components/constants.js +1 -5
  69. package/build/cjs/constructor-items.d.ts +10 -3
  70. package/build/cjs/constructor-items.js +11 -1
  71. package/build/cjs/containers/Loadable/Loadable.js +2 -2
  72. package/build/cjs/containers/PageConstructor/PageConstructor.css +4 -0
  73. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +2 -1
  74. package/build/cjs/containers/PageConstructor/PageConstructor.js +10 -6
  75. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +38 -0
  76. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +3 -2
  77. package/build/cjs/context/innerContext/InnerContext.d.ts +3 -1
  78. package/build/cjs/context/innerContext/InnerContext.js +2 -0
  79. package/build/cjs/editor/components/AddBlock/AddBlock.css +1 -1
  80. package/build/cjs/editor/components/EditBlock/EditBlock.css +1 -0
  81. package/build/cjs/editor/components/Layout/Layout.css +2 -1
  82. package/build/cjs/editor/containers/Form/Form.css +14 -35
  83. package/build/cjs/editor/store/index.js +1 -1
  84. package/build/cjs/editor/styles/root.css +2 -1
  85. package/build/cjs/editor/utils/index.d.ts +1 -0
  86. package/build/cjs/grid/Col/Col.d.ts +3 -4
  87. package/build/cjs/grid/Col/Col.js +2 -2
  88. package/build/cjs/icons/Mute.d.ts +2 -0
  89. package/build/cjs/icons/Mute.js +12 -0
  90. package/build/cjs/icons/MuteSmall.d.ts +2 -0
  91. package/build/cjs/icons/MuteSmall.js +15 -0
  92. package/build/cjs/icons/Unmute.d.ts +2 -0
  93. package/build/cjs/icons/Unmute.js +12 -0
  94. package/build/cjs/icons/UnmuteSmall.d.ts +2 -0
  95. package/build/cjs/icons/UnmuteSmall.js +17 -0
  96. package/build/cjs/icons/VideoControlPause.d.ts +2 -0
  97. package/build/cjs/icons/VideoControlPause.js +16 -0
  98. package/build/cjs/icons/VideoControlPlay.d.ts +2 -0
  99. package/build/cjs/icons/VideoControlPlay.js +12 -0
  100. package/build/cjs/models/constructor-items/blocks.d.ts +16 -5
  101. package/build/cjs/models/constructor-items/common.d.ts +22 -36
  102. package/build/cjs/models/constructor-items/common.js +6 -1
  103. package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -4
  104. package/build/cjs/models/constructor.d.ts +7 -1
  105. package/build/cjs/models/navigation.d.ts +1 -0
  106. package/build/cjs/models/navigation.js +2 -1
  107. package/build/cjs/navigation/components/MobileMenuButton/MobileMenuButton.js +1 -0
  108. package/build/cjs/navigation/components/NavigationItem/NavigationItem.css +1 -1
  109. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +4 -16
  110. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +1 -1
  111. package/build/cjs/navigation/components/NavigationItem/index.d.ts +6 -0
  112. package/build/cjs/navigation/components/NavigationItem/index.js +14 -0
  113. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js +1 -1
  114. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js +1 -1
  115. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +2 -1
  116. package/build/cjs/schema/constants.d.ts +181 -78
  117. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +2 -3
  118. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +100 -0
  119. package/build/cjs/sub-blocks/BackgroundCard/schema.js +10 -0
  120. package/build/cjs/sub-blocks/Content/Content.d.ts +3 -1
  121. package/build/cjs/sub-blocks/Content/Content.js +7 -5
  122. package/build/cjs/sub-blocks/Content/ContentList/ContentList.d.ts +2 -1
  123. package/build/cjs/sub-blocks/Content/ContentList/ContentList.js +17 -5
  124. package/build/cjs/sub-blocks/HubspotForm/HubspotForm.css +2 -2
  125. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  126. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +3 -3
  127. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +81 -0
  128. package/build/cjs/sub-blocks/LayoutItem/schema.js +10 -0
  129. package/build/cjs/sub-blocks/LayoutItem/utils.d.ts +1 -0
  130. package/build/cjs/sub-blocks/MediaCard/MediaCard.d.ts +1 -1
  131. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +2 -2
  132. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +81 -78
  133. package/build/cjs/sub-blocks/MediaCard/schema.js +11 -1
  134. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +2 -2
  135. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +2 -2
  136. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +7 -4
  137. package/build/cjs/sub-blocks/PriceDetailed/schema.js +11 -1
  138. package/build/cjs/sub-blocks/Quote/Quote.css +0 -3
  139. package/build/cjs/text-transform/common.d.ts +7 -2
  140. package/build/cjs/text-transform/common.js +8 -2
  141. package/build/cjs/text-transform/config.js +1 -1
  142. package/build/cjs/text-transform/transformers.d.ts +2 -0
  143. package/build/cjs/text-transform/transformers.js +11 -8
  144. package/build/cjs/utils/blocks.d.ts +4 -7
  145. package/build/cjs/utils/blocks.js +27 -18
  146. package/build/cjs/utils/cn.d.ts +3 -3
  147. package/build/cjs/utils/cn.js +4 -7
  148. package/build/esm/blocks/CardLayout/CardLayout.d.ts +2 -2
  149. package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
  150. package/build/esm/blocks/ContentLayout/schema.d.ts +38 -0
  151. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +7 -3
  152. package/build/esm/blocks/Header/Header.css +0 -6
  153. package/build/esm/blocks/Icons/Icons.js +8 -2
  154. package/build/esm/blocks/Icons/schema.d.ts +162 -0
  155. package/build/esm/blocks/Icons/schema.js +11 -0
  156. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  157. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +50 -0
  158. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.d.ts +3 -0
  159. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +23 -0
  160. package/build/esm/blocks/Questions/Questions.css +0 -48
  161. package/build/esm/blocks/Questions/Questions.js +6 -26
  162. package/build/esm/blocks/Questions/models.d.ts +10 -0
  163. package/build/esm/blocks/Questions/models.js +10 -0
  164. package/build/esm/blocks/Slider/Arrow/Arrow.js +2 -1
  165. package/build/esm/blocks/Slider/Slider.css +4 -1
  166. package/build/esm/blocks/Slider/Slider.js +33 -7
  167. package/build/esm/blocks/Slider/i18n/en.json +4 -0
  168. package/build/esm/blocks/Slider/i18n/index.d.ts +2 -0
  169. package/build/esm/blocks/Slider/i18n/index.js +5 -0
  170. package/build/esm/blocks/Slider/i18n/ru.json +4 -0
  171. package/build/esm/components/BackLink/BackLink.d.ts +2 -1
  172. package/build/esm/components/BackLink/BackLink.js +2 -2
  173. package/build/esm/components/BackgroundImage/BackgroundImage.d.ts +1 -0
  174. package/build/esm/components/BackgroundImage/BackgroundImage.js +5 -3
  175. package/build/esm/components/BackgroundMedia/BackgroundMedia.d.ts +1 -1
  176. package/build/esm/components/BackgroundMedia/BackgroundMedia.js +5 -4
  177. package/build/esm/components/ButtonTabs/ButtonTabs.js +6 -1
  178. package/build/esm/components/CardBase/CardBase.css +4 -4
  179. package/build/esm/components/FileLink/FileLink.js +2 -2
  180. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  181. package/build/esm/components/FullscreenImage/i18n/en.json +2 -1
  182. package/build/esm/components/FullscreenImage/i18n/ru.json +2 -1
  183. package/build/esm/components/HTML/HTML.d.ts +5 -1
  184. package/build/esm/components/HTML/HTML.js +3 -1
  185. package/build/esm/components/Image/Image.js +7 -5
  186. package/build/esm/components/Image/i18n/en.json +1 -1
  187. package/build/esm/components/Image/i18n/ru.json +1 -1
  188. package/build/esm/components/Image/schema.d.ts +19 -0
  189. package/build/esm/components/Image/schema.js +12 -1
  190. package/build/esm/components/Link/Link.d.ts +3 -2
  191. package/build/esm/components/Link/Link.js +9 -7
  192. package/build/esm/components/Media/Image/Image.d.ts +3 -2
  193. package/build/esm/components/Media/Image/Image.js +8 -6
  194. package/build/esm/components/Media/Media.d.ts +2 -2
  195. package/build/esm/components/Media/Media.js +10 -8
  196. package/build/esm/components/Media/Video/Video.d.ts +2 -2
  197. package/build/esm/components/Media/Video/Video.js +16 -7
  198. package/build/esm/components/MetaInfo/MetaInfo.css +0 -2
  199. package/build/esm/components/MetaInfo/MetaInfo.js +2 -1
  200. package/build/esm/components/ReactPlayer/CustomBarControls.css +46 -14
  201. package/build/esm/components/ReactPlayer/CustomBarControls.d.ts +4 -1
  202. package/build/esm/components/ReactPlayer/CustomBarControls.js +34 -10
  203. package/build/esm/components/ReactPlayer/ReactPlayer.css +12 -0
  204. package/build/esm/components/ReactPlayer/ReactPlayer.js +55 -30
  205. package/build/esm/components/ReactPlayer/i18n/en.json +6 -0
  206. package/build/esm/components/ReactPlayer/i18n/index.d.ts +2 -0
  207. package/build/esm/components/ReactPlayer/i18n/index.js +5 -0
  208. package/build/esm/components/ReactPlayer/i18n/ru.json +6 -0
  209. package/build/esm/components/Table/Table.js +11 -5
  210. package/build/esm/components/VideoBlock/VideoBlock.js +7 -6
  211. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -3
  212. package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -3
  213. package/build/esm/components/constants.d.ts +0 -4
  214. package/build/esm/components/constants.js +0 -4
  215. package/build/esm/constructor-items.d.ts +10 -3
  216. package/build/esm/constructor-items.js +10 -1
  217. package/build/esm/containers/Loadable/Loadable.js +1 -1
  218. package/build/esm/containers/PageConstructor/PageConstructor.css +4 -0
  219. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +2 -1
  220. package/build/esm/containers/PageConstructor/PageConstructor.js +12 -8
  221. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +38 -0
  222. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.d.ts +1 -0
  223. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +4 -2
  224. package/build/esm/context/innerContext/InnerContext.d.ts +3 -1
  225. package/build/esm/context/innerContext/InnerContext.js +2 -0
  226. package/build/esm/editor/components/AddBlock/AddBlock.css +1 -1
  227. package/build/esm/editor/components/EditBlock/EditBlock.css +1 -0
  228. package/build/esm/editor/components/Layout/Layout.css +2 -1
  229. package/build/esm/editor/containers/Form/Form.css +14 -35
  230. package/build/esm/editor/store/index.js +2 -2
  231. package/build/esm/editor/styles/root.css +2 -1
  232. package/build/esm/editor/utils/index.d.ts +1 -0
  233. package/build/esm/grid/Col/Col.d.ts +3 -4
  234. package/build/esm/grid/Col/Col.js +2 -2
  235. package/build/esm/icons/Mute.d.ts +2 -0
  236. package/build/esm/icons/Mute.js +7 -0
  237. package/build/esm/icons/MuteSmall.d.ts +2 -0
  238. package/build/esm/icons/MuteSmall.js +10 -0
  239. package/build/esm/icons/Unmute.d.ts +2 -0
  240. package/build/esm/icons/Unmute.js +7 -0
  241. package/build/esm/icons/UnmuteSmall.d.ts +2 -0
  242. package/build/esm/icons/UnmuteSmall.js +12 -0
  243. package/build/esm/icons/VideoControlPause.d.ts +2 -0
  244. package/build/esm/icons/VideoControlPause.js +11 -0
  245. package/build/esm/icons/VideoControlPlay.d.ts +2 -0
  246. package/build/esm/icons/VideoControlPlay.js +7 -0
  247. package/build/esm/models/constructor-items/blocks.d.ts +16 -5
  248. package/build/esm/models/constructor-items/common.d.ts +22 -36
  249. package/build/esm/models/constructor-items/common.js +5 -0
  250. package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -4
  251. package/build/esm/models/constructor.d.ts +7 -1
  252. package/build/esm/models/navigation.d.ts +1 -0
  253. package/build/esm/models/navigation.js +1 -0
  254. package/build/esm/navigation/components/MobileMenuButton/MobileMenuButton.js +1 -0
  255. package/build/esm/navigation/components/NavigationItem/NavigationItem.css +1 -1
  256. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +5 -17
  257. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +1 -1
  258. package/build/esm/navigation/components/NavigationItem/index.d.ts +6 -0
  259. package/build/esm/navigation/components/NavigationItem/index.js +6 -0
  260. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js +1 -1
  261. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js +1 -1
  262. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +2 -1
  263. package/build/esm/schema/constants.d.ts +181 -78
  264. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +2 -3
  265. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +100 -0
  266. package/build/esm/sub-blocks/BackgroundCard/schema.js +10 -0
  267. package/build/esm/sub-blocks/Content/Content.d.ts +3 -1
  268. package/build/esm/sub-blocks/Content/Content.js +7 -5
  269. package/build/esm/sub-blocks/Content/ContentList/ContentList.d.ts +2 -1
  270. package/build/esm/sub-blocks/Content/ContentList/ContentList.js +17 -5
  271. package/build/esm/sub-blocks/HubspotForm/HubspotForm.css +2 -2
  272. package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  273. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +3 -3
  274. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +81 -0
  275. package/build/esm/sub-blocks/LayoutItem/schema.js +10 -0
  276. package/build/esm/sub-blocks/LayoutItem/utils.d.ts +1 -0
  277. package/build/esm/sub-blocks/MediaCard/MediaCard.d.ts +1 -1
  278. package/build/esm/sub-blocks/MediaCard/MediaCard.js +2 -2
  279. package/build/esm/sub-blocks/MediaCard/schema.d.ts +81 -78
  280. package/build/esm/sub-blocks/MediaCard/schema.js +11 -1
  281. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +2 -2
  282. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +2 -2
  283. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +8 -4
  284. package/build/esm/sub-blocks/PriceDetailed/schema.js +11 -1
  285. package/build/esm/sub-blocks/Quote/Quote.css +0 -3
  286. package/build/esm/text-transform/common.d.ts +7 -2
  287. package/build/esm/text-transform/common.js +7 -2
  288. package/build/esm/text-transform/config.js +1 -1
  289. package/build/esm/text-transform/transformers.d.ts +2 -0
  290. package/build/esm/text-transform/transformers.js +11 -8
  291. package/build/esm/utils/blocks.d.ts +4 -7
  292. package/build/esm/utils/blocks.js +23 -13
  293. package/build/esm/utils/cn.d.ts +3 -3
  294. package/build/esm/utils/cn.js +3 -4
  295. package/package.json +7 -7
  296. package/server/components/constants.d.ts +0 -4
  297. package/server/components/constants.js +1 -5
  298. package/server/models/constructor-items/blocks.d.ts +16 -5
  299. package/server/models/constructor-items/common.d.ts +22 -36
  300. package/server/models/constructor-items/common.js +6 -1
  301. package/server/models/constructor-items/sub-blocks.d.ts +4 -4
  302. package/server/models/constructor.d.ts +7 -1
  303. package/server/models/navigation.d.ts +1 -0
  304. package/server/models/navigation.js +2 -1
  305. package/server/text-transform/common.d.ts +7 -2
  306. package/server/text-transform/common.js +10 -2
  307. package/server/text-transform/config.js +1 -1
  308. package/server/text-transform/transformers.d.ts +2 -0
  309. package/server/text-transform/transformers.js +11 -8
  310. package/server/utils/blocks.d.ts +4 -7
  311. package/server/utils/blocks.js +27 -18
  312. package/server/utils/cn.d.ts +3 -3
  313. package/server/utils/cn.js +4 -9
  314. package/styles/mixins.scss +4 -1
  315. package/styles/storybook/common.scss +2 -0
  316. package/styles/styles.css +4 -0
  317. package/styles/yfm.scss +7 -0
  318. package/widget/index.js +1 -1
@@ -1,3 +1,5 @@
1
1
  import { ClassNameProps, ContentBlockProps } from '../../models';
2
- declare const Content: (props: ContentBlockProps & ClassNameProps) => JSX.Element;
2
+ import { QAProps } from '../../models/common';
3
+ export type ContentProps = ContentBlockProps & ClassNameProps & QAProps;
4
+ declare const Content: (props: ContentProps) => JSX.Element;
3
5
  export default Content;
@@ -6,6 +6,7 @@ const components_1 = require("../../components");
6
6
  const Link_1 = tslib_1.__importDefault(require("../../components/Link/Link"));
7
7
  const grid_1 = require("../../grid");
8
8
  const utils_1 = require("../../utils");
9
+ const blocks_1 = require("../../utils/blocks");
9
10
  const ContentList_1 = tslib_1.__importDefault(require("./ContentList/ContentList"));
10
11
  const b = (0, utils_1.block)('content');
11
12
  function getTextSize(size) {
@@ -36,23 +37,24 @@ function getButtonSize(size) {
36
37
  }
37
38
  }
38
39
  const Content = (props) => {
39
- const { title, text, additionalInfo, size = 'l', links, buttons, colSizes = { all: 12, sm: 8 }, centered, theme, className, list, } = props;
40
+ const { title, text, additionalInfo, size = 'l', links, buttons, colSizes = { all: 12, sm: 8 }, centered, theme, className, list, qa, } = props;
41
+ const qaAttributes = (0, blocks_1.getQaAttrubutes)(qa, ['links', 'link', 'buttons', 'button', 'list']);
40
42
  const titleProps = !title || typeof title === 'string'
41
43
  ? { text: title, textSize: getTextSize(size) }
42
44
  : title;
43
45
  const hasTitle = Boolean(title);
44
- return (react_1.default.createElement(grid_1.Col, { className: b({ size, centered, theme }, className), reset: true, sizes: colSizes },
46
+ return (react_1.default.createElement(grid_1.Col, { className: b({ size, centered, theme }, className), reset: true, sizes: colSizes, qa: qaAttributes.container },
45
47
  title && react_1.default.createElement(components_1.Title, { className: b('title'), title: titleProps, colSizes: { all: 12 } }),
46
48
  text && (react_1.default.createElement("div", { className: b('text', { ['without-title']: !hasTitle }) },
47
49
  react_1.default.createElement(components_1.YFMWrapper, { content: text, modifiers: { constructor: true, [`constructor-size-${size}`]: true } }))),
48
- (list === null || list === void 0 ? void 0 : list.length) ? react_1.default.createElement(ContentList_1.default, { list: list, size: size }) : null,
50
+ (list === null || list === void 0 ? void 0 : list.length) ? react_1.default.createElement(ContentList_1.default, { list: list, size: size, qa: qaAttributes.list }) : null,
49
51
  additionalInfo && (react_1.default.createElement("div", { className: b('notice') },
50
52
  react_1.default.createElement(components_1.YFMWrapper, { content: additionalInfo, modifiers: {
51
53
  constructor: true,
52
54
  'constructor-notice': true,
53
55
  [`constructor-size-${size}`]: true,
54
56
  } }))),
55
- links && (react_1.default.createElement("div", { className: b('links') }, links.map((link) => (react_1.default.createElement(Link_1.default, Object.assign({ className: b('link') }, link, { textSize: getLinkSize(size), key: link.url })))))),
56
- buttons && (react_1.default.createElement("div", { className: b('buttons') }, buttons.map((item) => (react_1.default.createElement(components_1.Button, Object.assign({ className: b('button') }, item, { key: item.url, size: getButtonSize(size) }))))))));
57
+ links && (react_1.default.createElement("div", { className: b('links'), "data-qa": qaAttributes.links }, links.map((link) => (react_1.default.createElement(Link_1.default, Object.assign({ className: b('link') }, link, { textSize: getLinkSize(size), key: link.url, qa: qaAttributes.link })))))),
58
+ buttons && (react_1.default.createElement("div", { className: b('buttons'), "data-qa": qaAttributes.buttons }, buttons.map((item) => (react_1.default.createElement(components_1.Button, Object.assign({ className: b('button') }, item, { key: item.url, size: getButtonSize(size), qa: qaAttributes.button }))))))));
57
59
  };
58
60
  exports.default = Content;
@@ -1,7 +1,8 @@
1
1
  import { ContentItemProps, ContentSize } from '../../../models';
2
+ import { QAProps } from '../../../models/common';
2
3
  interface ContentListProps {
3
4
  list: ContentItemProps[];
4
5
  size: ContentSize;
5
6
  }
6
- declare const ContentList: ({ list, size }: ContentListProps) => JSX.Element;
7
+ declare const ContentList: ({ list, size, qa }: ContentListProps & QAProps) => JSX.Element;
7
8
  export default ContentList;
@@ -8,18 +8,30 @@ const Image_1 = tslib_1.__importDefault(require("../../../components/Image/Image
8
8
  const utils_1 = require("../../../components/Media/Image/utils");
9
9
  const theme_1 = require("../../../context/theme");
10
10
  const utils_2 = require("../../../utils");
11
+ const blocks_1 = require("../../../utils/blocks");
11
12
  const b = (0, utils_2.block)('content-list');
12
- const ContentList = ({ list, size }) => {
13
+ function getHeadingLevel(size) {
14
+ switch (size) {
15
+ case 's':
16
+ return 'h4';
17
+ case 'l':
18
+ default:
19
+ return 'h3';
20
+ }
21
+ }
22
+ const ContentList = ({ list, size, qa }) => {
13
23
  const theme = (0, theme_1.useTheme)();
14
- return (react_1.default.createElement("div", { className: b({ size }) }, list === null || list === void 0 ? void 0 : list.map((item) => {
24
+ const qaAttributes = (0, blocks_1.getQaAttrubutes)(qa, ['image', 'title', 'text']);
25
+ return (react_1.default.createElement("div", { className: b({ size }), "data-qa": qa }, list === null || list === void 0 ? void 0 : list.map((item) => {
15
26
  const { icon, title, text } = item;
16
27
  const iconThemed = (0, utils_2.getThemedValue)(icon, theme);
17
28
  const iconData = (0, utils_1.getMediaImage)(iconThemed);
18
29
  return (react_1.default.createElement("div", { className: b('item'), key: (0, uuid_1.v4)() },
19
- react_1.default.createElement(Image_1.default, Object.assign({}, iconData, { className: b('icon') })),
30
+ react_1.default.createElement(Image_1.default, Object.assign({}, iconData, { className: b('icon'), qa: qaAttributes.image })),
20
31
  react_1.default.createElement("div", null,
21
- title && react_1.default.createElement("h4", { className: b('title') }, title),
22
- text && (react_1.default.createElement(components_1.YFMWrapper, { className: b('text'), content: text, modifiers: { constructor: true } })))));
32
+ title &&
33
+ react_1.default.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, title),
34
+ text && (react_1.default.createElement(components_1.YFMWrapper, { className: b('text'), content: text, modifiers: { constructor: true }, qa: qaAttributes.text })))));
23
35
  })));
24
36
  };
25
37
  exports.default = ContentList;
@@ -268,9 +268,9 @@ unpredictable css rules order in build */
268
268
  .pc-hubspot-form .hs-button.primary {
269
269
  margin: 0;
270
270
  padding: 0;
271
- font-family: var(--g-font-family-sans);
271
+ font-family: var(--g-text-body-font-family);
272
272
  font-size: inherit;
273
- font-weight: 400;
273
+ font-weight: var(--g-text-body-font-weight);
274
274
  color: inherit;
275
275
  background: none;
276
276
  border: none;
@@ -1,3 +1,3 @@
1
1
  import { LayoutItemProps } from '../../models';
2
- declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullscreen, className, }: LayoutItemProps) => JSX.Element;
2
+ declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullscreen, className, analyticsEvents, }: LayoutItemProps) => JSX.Element;
3
3
  export default LayoutItem;
@@ -8,12 +8,12 @@ const utils_1 = require("../../utils");
8
8
  const utils_2 = require("./utils");
9
9
  const b = (0, utils_1.block)('layout-item');
10
10
  const LayoutItem = (_a) => {
11
- var _b = _a.content, { links } = _b, content = tslib_1.__rest(_b, ["links"]), { metaInfo, media, border, fullscreen, className } = _a;
11
+ var _b = _a.content, { links } = _b, content = tslib_1.__rest(_b, ["links"]), { metaInfo, media, border, fullscreen, className, analyticsEvents } = _a;
12
12
  return (react_1.default.createElement("div", { className: b(null, className) },
13
13
  fullscreen && (0, utils_2.hasFullscreen)(media) ? (react_1.default.createElement(components_1.FullscreenMedia, { showFullscreenIcon: (0, utils_2.showFullscreenIcon)(media) }, (_a = {}) => {
14
14
  var { className: mediaClassName, fullscreen: _fullscreen } = _a, fullscreenMediaProps = tslib_1.__rest(_a, ["className", "fullscreen"]);
15
- return (react_1.default.createElement(components_1.Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName) })));
16
- })) : (react_1.default.createElement(components_1.Media, Object.assign({}, media, { className: b('media', { border }) }))),
15
+ return (react_1.default.createElement(components_1.Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName), analyticsEvents: analyticsEvents })));
16
+ })) : (react_1.default.createElement(components_1.Media, Object.assign({}, media, { className: b('media', { border }), analyticsEvents: analyticsEvents }))),
17
17
  metaInfo && react_1.default.createElement(components_1.MetaInfo, { items: metaInfo, className: b('meta-info') }),
18
18
  react_1.default.createElement("div", { className: b('content') },
19
19
  react_1.default.createElement(__1.Content, Object.assign({}, content, { links: (0, utils_2.getLayoutItemLinks)(links), size: "s", colSizes: { all: 12, md: 12 } })))));
@@ -318,6 +318,87 @@ export declare const LayoutItem: {
318
318
  fullscreen: {
319
319
  type: string;
320
320
  };
321
+ analyticsEvents: {
322
+ oneOf: ({
323
+ optionName: string;
324
+ type: string;
325
+ additionalProperties: {
326
+ type: string;
327
+ };
328
+ required: string[];
329
+ properties: {
330
+ name: {
331
+ type: string;
332
+ };
333
+ type: {
334
+ type: string;
335
+ };
336
+ counters: {
337
+ type: string;
338
+ additionalProperties: boolean;
339
+ required: never[];
340
+ properties: {
341
+ include: {
342
+ type: string;
343
+ items: {
344
+ type: string;
345
+ };
346
+ };
347
+ exclude: {
348
+ type: string;
349
+ items: {
350
+ type: string;
351
+ };
352
+ };
353
+ };
354
+ };
355
+ context: {
356
+ type: string;
357
+ };
358
+ };
359
+ items?: undefined;
360
+ } | {
361
+ type: string;
362
+ items: {
363
+ type: string;
364
+ additionalProperties: {
365
+ type: string;
366
+ };
367
+ required: string[];
368
+ properties: {
369
+ name: {
370
+ type: string;
371
+ };
372
+ type: {
373
+ type: string;
374
+ };
375
+ counters: {
376
+ type: string;
377
+ additionalProperties: boolean;
378
+ required: never[];
379
+ properties: {
380
+ include: {
381
+ type: string;
382
+ items: {
383
+ type: string;
384
+ };
385
+ };
386
+ exclude: {
387
+ type: string;
388
+ items: {
389
+ type: string;
390
+ };
391
+ };
392
+ };
393
+ };
394
+ context: {
395
+ type: string;
396
+ };
397
+ };
398
+ };
399
+ optionName: string;
400
+ })[];
401
+ };
321
402
  type: {};
322
403
  when: {
323
404
  type: string;
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const lodash_1 = require("lodash");
6
6
  const schema_1 = tslib_1.__importDefault(require("../../components/MetaInfo/schema"));
7
7
  const common_1 = require("../../schema/validators/common");
8
+ const event_1 = require("../../schema/validators/event");
8
9
  const schema_2 = require("../../sub-blocks/Content/schema");
9
10
  exports.LayoutItem = {
10
11
  type: 'object',
@@ -14,5 +15,14 @@ exports.LayoutItem = {
14
15
  type: 'boolean',
15
16
  }, fullscreen: {
16
17
  type: 'boolean',
18
+ }, analyticsEvents: {
19
+ oneOf: [
20
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
21
+ {
22
+ type: 'array',
23
+ items: event_1.AnalyticsEventSchema,
24
+ optionName: 'list',
25
+ },
26
+ ],
17
27
  } }),
18
28
  };
@@ -23,6 +23,7 @@ export declare const getLayoutItemLinks: (links: LayoutItemProps['content']['lin
23
23
  target?: string | undefined;
24
24
  }[] | undefined;
25
25
  className?: string | undefined;
26
+ tabIndex?: number | undefined;
26
27
  }[] | undefined;
27
28
  export declare const hasFullscreen: ({ dataLens, image }: MediaProps) => boolean;
28
29
  export declare const showFullscreenIcon: ({ youtube }: MediaProps) => boolean;
@@ -1,3 +1,3 @@
1
1
  import { MediaCardProps } from '../../models';
2
- declare const MediaCard: ({ border, ...mediaProps }: MediaCardProps) => JSX.Element;
2
+ declare const MediaCard: ({ border, analyticsEvents, ...mediaProps }: MediaCardProps) => JSX.Element;
3
3
  export default MediaCard;
@@ -6,8 +6,8 @@ const components_1 = require("../../components");
6
6
  const utils_1 = require("../../utils");
7
7
  const b = (0, utils_1.block)('MediaCard');
8
8
  const MediaCard = (_a) => {
9
- var { border } = _a, mediaProps = tslib_1.__rest(_a, ["border"]);
10
- return (react_1.default.createElement(components_1.CardBase, { className: b(), bodyClassName: b('body'), border: border },
9
+ var { border, analyticsEvents } = _a, mediaProps = tslib_1.__rest(_a, ["border", "analyticsEvents"]);
10
+ return (react_1.default.createElement(components_1.CardBase, { className: b(), bodyClassName: b('body'), border: border, analyticsEvents: analyticsEvents },
11
11
  react_1.default.createElement(components_1.CardBase.Content, null,
12
12
  react_1.default.createElement(components_1.Media, Object.assign({}, mediaProps)))));
13
13
  };
@@ -3,6 +3,87 @@ export declare const MediaCardBlock: {
3
3
  additionalProperties: boolean;
4
4
  required: never[];
5
5
  properties: {
6
+ analyticsEvents: {
7
+ oneOf: ({
8
+ optionName: string;
9
+ type: string;
10
+ additionalProperties: {
11
+ type: string;
12
+ };
13
+ required: string[];
14
+ properties: {
15
+ name: {
16
+ type: string;
17
+ };
18
+ type: {
19
+ type: string;
20
+ };
21
+ counters: {
22
+ type: string;
23
+ additionalProperties: boolean;
24
+ required: never[];
25
+ properties: {
26
+ include: {
27
+ type: string;
28
+ items: {
29
+ type: string;
30
+ };
31
+ };
32
+ exclude: {
33
+ type: string;
34
+ items: {
35
+ type: string;
36
+ };
37
+ };
38
+ };
39
+ };
40
+ context: {
41
+ type: string;
42
+ };
43
+ };
44
+ items?: undefined;
45
+ } | {
46
+ type: string;
47
+ items: {
48
+ type: string;
49
+ additionalProperties: {
50
+ type: string;
51
+ };
52
+ required: string[];
53
+ properties: {
54
+ name: {
55
+ type: string;
56
+ };
57
+ type: {
58
+ type: string;
59
+ };
60
+ counters: {
61
+ type: string;
62
+ additionalProperties: boolean;
63
+ required: never[];
64
+ properties: {
65
+ include: {
66
+ type: string;
67
+ items: {
68
+ type: string;
69
+ };
70
+ };
71
+ exclude: {
72
+ type: string;
73
+ items: {
74
+ type: string;
75
+ };
76
+ };
77
+ };
78
+ };
79
+ context: {
80
+ type: string;
81
+ };
82
+ };
83
+ };
84
+ optionName: string;
85
+ })[];
86
+ };
6
87
  animated: {
7
88
  type: string;
8
89
  };
@@ -147,84 +228,6 @@ export declare const MediaCardBlock: {
147
228
  fullscreen: {
148
229
  type: string;
149
230
  };
150
- analyticsEvents: {
151
- anyOf: ({
152
- type: string;
153
- additionalProperties: {
154
- type: string;
155
- };
156
- required: string[];
157
- properties: {
158
- name: {
159
- type: string;
160
- };
161
- type: {
162
- type: string;
163
- };
164
- counters: {
165
- type: string;
166
- additionalProperties: boolean;
167
- required: never[];
168
- properties: {
169
- include: {
170
- type: string;
171
- items: {
172
- type: string;
173
- };
174
- };
175
- exclude: {
176
- type: string;
177
- items: {
178
- type: string;
179
- };
180
- };
181
- };
182
- };
183
- context: {
184
- type: string;
185
- };
186
- };
187
- } | {
188
- type: string;
189
- items: {
190
- type: string;
191
- additionalProperties: {
192
- type: string;
193
- };
194
- required: string[];
195
- properties: {
196
- name: {
197
- type: string;
198
- };
199
- type: {
200
- type: string;
201
- };
202
- counters: {
203
- type: string;
204
- additionalProperties: boolean;
205
- required: never[];
206
- properties: {
207
- include: {
208
- type: string;
209
- items: {
210
- type: string;
211
- };
212
- };
213
- exclude: {
214
- type: string;
215
- items: {
216
- type: string;
217
- };
218
- };
219
- };
220
- };
221
- context: {
222
- type: string;
223
- };
224
- };
225
- };
226
- })[];
227
- };
228
231
  border: {
229
232
  type: string;
230
233
  enum: string[];
@@ -2,10 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MediaCardBlock = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ const event_1 = require("../../schema/validators/event");
5
6
  exports.MediaCardBlock = {
6
7
  'media-card': {
7
8
  additionalProperties: false,
8
9
  required: [],
9
- properties: Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), common_1.MediaProps), common_1.AnimatableProps),
10
+ properties: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), common_1.MediaProps), common_1.AnimatableProps), { analyticsEvents: {
11
+ oneOf: [
12
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
13
+ {
14
+ type: 'array',
15
+ items: event_1.AnalyticsEventSchema,
16
+ optionName: 'list',
17
+ },
18
+ ],
19
+ } }),
10
20
  },
11
21
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { CardBorder, PriceDescriptionProps, PriceDetailsListProps, PriceDetailsSettingsProps, PriceItemProps } from '../../../models';
3
- interface CombinedPriceDetailedProps {
2
+ import { AnalyticsEventsBase, CardBorder, PriceDescriptionProps, PriceDetailsListProps, PriceDetailsSettingsProps, PriceItemProps } from '../../../models';
3
+ interface CombinedPriceDetailedProps extends AnalyticsEventsBase {
4
4
  items: PriceItemProps[];
5
5
  numberGroupItems: number;
6
6
  useMixedView?: boolean;
@@ -14,7 +14,7 @@ const CombinedPricesGroupSize = {
14
14
  [grid_1.GridColumnSize.Lg]: 3,
15
15
  };
16
16
  const CombinedPriceDetailed = (props) => {
17
- const { items, numberGroupItems, border, useMixedView, getDescriptionComponent, getDetailsComponent, } = props;
17
+ const { items, numberGroupItems, border, useMixedView, getDescriptionComponent, getDetailsComponent, analyticsEvents, } = props;
18
18
  const [groupItemsSize, setGroupItemsSize] = (0, react_1.useState)(numberGroupItems);
19
19
  const updateGroupItemsSize = (0, react_1.useCallback)((windowWidth) => {
20
20
  if (windowWidth >= constants_1.BREAKPOINTS.lg) {
@@ -51,7 +51,7 @@ const CombinedPriceDetailed = (props) => {
51
51
  react_1.default.createElement("div", { className: b('description', { delimiter: useMixedView }) }, detailsComponents)));
52
52
  };
53
53
  const chunkedItems = lodash_1.default.chunk(items, groupItemsSize);
54
- return (react_1.default.createElement(components_1.CardBase, { className: b(), border: border },
54
+ return (react_1.default.createElement(components_1.CardBase, { className: b(), border: border, analyticsEvents: analyticsEvents },
55
55
  react_1.default.createElement(components_1.CardBase.Content, null,
56
56
  react_1.default.createElement(grid_1.Grid, null, chunkedItems.map((chunk, id) => {
57
57
  return (react_1.default.createElement(grid_1.Row, { key: id, className: b('row') }, getPrice(chunk)));
@@ -7,9 +7,12 @@ const utils_1 = require("../../../utils");
7
7
  const b = (0, utils_1.block)('separate-price-detailed-block');
8
8
  const SeparatePriceDetailed = (props) => {
9
9
  const { items, border, getDescriptionComponent, getDetailsComponent } = props;
10
- return (react_1.default.createElement(react_1.Fragment, null, items.map((item, id) => (react_1.default.createElement(components_1.CardBase, { key: id, className: b(), border: border },
11
- react_1.default.createElement(components_1.CardBase.Content, null,
12
- getDescriptionComponent(item),
13
- getDetailsComponent(item.items)))))));
10
+ return (react_1.default.createElement(react_1.Fragment, null, items.map((_a, id) => {
11
+ var { analyticsEvents } = _a, item = tslib_1.__rest(_a, ["analyticsEvents"]);
12
+ return (react_1.default.createElement(components_1.CardBase, { key: id, className: b(), border: border, analyticsEvents: analyticsEvents },
13
+ react_1.default.createElement(components_1.CardBase.Content, null,
14
+ getDescriptionComponent(item),
15
+ getDetailsComponent(item.items))));
16
+ })));
14
17
  };
15
18
  exports.default = SeparatePriceDetailed;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PriceDetailedBlock = void 0;
4
4
  const common_1 = require("../../schema/validators/common");
5
+ const event_1 = require("../../schema/validators/event");
5
6
  const utils_1 = require("../../schema/validators/utils");
6
7
  const PriceDetailedDetailsType = ['marked-list', 'settings'];
7
8
  const PriceDetailedDescriptionColor = ['cornflower', 'black'];
@@ -137,7 +138,16 @@ const PriceItem = {
137
138
  type: 'object',
138
139
  additionalProperties: false,
139
140
  required: ['title', 'description'],
140
- properties: Object.assign(Object.assign({}, PriceDetailsProps), PriceDescriptionProps),
141
+ properties: Object.assign(Object.assign(Object.assign({}, PriceDetailsProps), PriceDescriptionProps), { analyticsEvents: {
142
+ oneOf: [
143
+ Object.assign(Object.assign({}, event_1.AnalyticsEventSchema), { optionName: 'single' }),
144
+ {
145
+ type: 'array',
146
+ items: event_1.AnalyticsEventSchema,
147
+ optionName: 'list',
148
+ },
149
+ ],
150
+ } }),
141
151
  };
142
152
  exports.PriceDetailedBlock = {
143
153
  'price-detailed': {
@@ -31,9 +31,6 @@ unpredictable css rules order in build */
31
31
  .pc-quote_border_line {
32
32
  border: 1px solid var(--g-color-line-generic);
33
33
  }
34
- .pc-quote_border_line, .pc-quote_border_none {
35
- cursor: default;
36
- }
37
34
  @media (min-width: 577px) {
38
35
  .slick-slide:not(.slick-active) .pc-quote {
39
36
  box-shadow: none;
@@ -1,13 +1,18 @@
1
+ import { MarkdownItPluginCb } from '@doc-tools/transform/lib/plugins/typings';
1
2
  import { Lang } from '../utils/configure';
2
3
  export type ComplexItem = {
3
4
  [key: string]: string;
4
5
  };
5
6
  export type Item = string | null | ComplexItem;
6
7
  export type Transformer = (text: string) => string;
7
- export type TransformerRaw = (lang: Lang, content: string) => string;
8
+ export type TransformerRaw = (lang: Lang, content: string, options: {
9
+ plugins: MarkdownItPluginCb[];
10
+ }) => string;
8
11
  export type Parser<T = any> = (transformer: Transformer, block: T) => T;
9
12
  export declare const createItemsParser: (fields: string[]) => (transformer: Transformer, items: Item[]) => (string | {
10
13
  [x: string]: string;
11
14
  } | null)[];
12
- export declare function yfmTransformer(lang: Lang, content: string): string;
15
+ export declare function yfmTransformer(lang: Lang, content: string, options?: {
16
+ plugins?: MarkdownItPluginCb[];
17
+ }): string;
13
18
  export declare function typografTransformer(lang: Lang, content: string): string;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.typografTransformer = exports.yfmTransformer = exports.createItemsParser = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const plugins_1 = tslib_1.__importDefault(require("@doc-tools/transform/lib/plugins"));
4
6
  const utils_1 = require("./utils");
5
7
  const createItemsParser = (fields) => (transformer, items) => items.map((item) => {
6
8
  if (!item) {
@@ -20,8 +22,12 @@ const createItemsParser = (fields) => (transformer, items) => items.map((item) =
20
22
  }
21
23
  });
22
24
  exports.createItemsParser = createItemsParser;
23
- function yfmTransformer(lang, content) {
24
- const { html } = (0, utils_1.fullTransform)(content, { lang });
25
+ function yfmTransformer(lang, content, options = {}) {
26
+ const { plugins = [] } = options;
27
+ const { html } = (0, utils_1.fullTransform)(content, {
28
+ lang,
29
+ plugins: [...plugins_1.default, ...plugins],
30
+ });
25
31
  return html;
26
32
  }
27
33
  exports.yfmTransformer = yfmTransformer;
@@ -125,7 +125,7 @@ exports.config = {
125
125
  {
126
126
  fields: ['metaInfo'],
127
127
  parser: (0, common_1.createItemsParser)([]),
128
- transformer: common_1.typografTransformer,
128
+ transformer: common_1.yfmTransformer,
129
129
  },
130
130
  ],
131
131
  [models_1.SubBlockType.Quote]: {
@@ -1,3 +1,4 @@
1
+ import { MarkdownItPluginCb } from '@doc-tools/transform/lib/plugins/typings';
1
2
  import { ConstructorBlock } from '../models/constructor';
2
3
  import { Lang } from '../utils/configure';
3
4
  export type ContentVariables = Record<string, string>;
@@ -9,6 +10,7 @@ export type ContentTransformerProps = {
9
10
  lang: Lang;
10
11
  customConfig?: {};
11
12
  vars?: ContentVariables;
13
+ plugins?: MarkdownItPluginCb[];
12
14
  };
13
15
  };
14
16
  export declare const contentTransformer: ({ content, options }: ContentTransformerProps) => {