@gravity-ui/page-constructor 6.0.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 (347) hide show
  1. package/README.md +10 -0
  2. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  3. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -5
  4. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  5. package/build/cjs/blocks/Header/Header.css +15 -10
  6. package/build/cjs/blocks/Header/Header.js +6 -1
  7. package/build/cjs/blocks/Header/Header.js.map +1 -1
  8. package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
  9. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
  10. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  11. package/build/cjs/blocks/HeaderSlider/schema.d.ts +9 -1
  12. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  13. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +3 -1
  14. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  15. package/build/cjs/blocks/Share/Share.js +5 -1
  16. package/build/cjs/blocks/Share/Share.js.map +1 -1
  17. package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
  18. package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  19. package/build/cjs/blocks/Slider/Arrow/Arrow.js +1 -1
  20. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  21. package/build/cjs/blocks/Slider/Slider.css +549 -329
  22. package/build/cjs/blocks/Slider/Slider.d.ts +6 -5
  23. package/build/cjs/blocks/Slider/Slider.js +31 -271
  24. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  25. package/build/cjs/blocks/Slider/i18n/en.json +1 -1
  26. package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
  27. package/build/cjs/blocks/Slider/models.d.ts +2 -2
  28. package/build/cjs/blocks/Slider/models.js +1 -1
  29. package/build/cjs/blocks/Slider/models.js.map +1 -1
  30. package/build/cjs/blocks/Slider/schema.d.ts +18 -1
  31. package/build/cjs/blocks/Slider/schema.js +9 -0
  32. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  33. package/build/{esm/blocks/SliderNew → cjs/blocks/Slider}/useSlider.d.ts +1 -0
  34. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  35. package/build/cjs/blocks/Slider/useSlider.js.map +1 -0
  36. package/build/cjs/blocks/Slider/useSliderPagination.js.map +1 -0
  37. package/build/cjs/blocks/Slider/utils.d.ts +7 -28
  38. package/build/cjs/blocks/Slider/utils.js +27 -109
  39. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  40. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  41. package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
  42. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js +11 -0
  43. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  44. package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
  45. package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
  46. package/build/cjs/blocks/SliderOld/SliderOld.js +292 -0
  47. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -0
  48. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  49. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  50. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  51. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  52. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  53. package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  54. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
  55. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  56. package/build/{esm/blocks/SliderNew → cjs/blocks/SliderOld}/schema.d.ts +5 -21
  57. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
  58. package/build/cjs/blocks/SliderOld/schema.js.map +1 -0
  59. package/build/cjs/blocks/SliderOld/utils.d.ts +37 -0
  60. package/build/cjs/blocks/SliderOld/utils.js +126 -0
  61. package/build/cjs/blocks/SliderOld/utils.js.map +1 -0
  62. package/build/cjs/blocks/Table/Table.css +4 -3
  63. package/build/cjs/blocks/Table/Table.js +3 -1
  64. package/build/cjs/blocks/Table/Table.js.map +1 -1
  65. package/build/cjs/blocks/index.d.ts +2 -0
  66. package/build/cjs/blocks/index.js +3 -1
  67. package/build/cjs/blocks/index.js.map +1 -1
  68. package/build/cjs/blocks/validators.d.ts +1 -0
  69. package/build/cjs/blocks/validators.js +1 -0
  70. package/build/cjs/blocks/validators.js.map +1 -1
  71. package/build/cjs/components/ContentList/ContentList.css +16 -12
  72. package/build/cjs/components/ContentList/ContentList.js +1 -1
  73. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  74. package/build/cjs/components/FileLink/FileLink.js +8 -1
  75. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  76. package/build/cjs/components/FullscreenImage/FullscreenImage.css +96 -18
  77. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  78. package/build/cjs/components/FullscreenImage/FullscreenImage.js +14 -2
  79. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  80. package/build/cjs/components/HTML/HTML.d.ts +15 -8
  81. package/build/cjs/components/HTML/HTML.js +15 -10
  82. package/build/cjs/components/HTML/HTML.js.map +1 -1
  83. package/build/cjs/components/Link/Link.js +11 -2
  84. package/build/cjs/components/Link/Link.js.map +1 -1
  85. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  86. package/build/cjs/components/Media/Image/Image.js +7 -5
  87. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  88. package/build/cjs/components/Media/Media.css +4 -0
  89. package/build/cjs/components/Media/Media.d.ts +1 -0
  90. package/build/cjs/components/Media/Media.js +3 -2
  91. package/build/cjs/components/Media/Media.js.map +1 -1
  92. package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
  93. package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
  94. package/build/cjs/components/MetaInfo/MetaInfo.js.map +1 -1
  95. package/build/cjs/components/Table/Table.css +2 -1
  96. package/build/cjs/components/Table/Table.js +4 -2
  97. package/build/cjs/components/Table/Table.js.map +1 -1
  98. package/build/cjs/components/Title/TitleItem.css +15 -5
  99. package/build/cjs/components/Title/TitleItem.js +4 -1
  100. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  101. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  102. package/build/cjs/components/YFMWrapper/YFMWrapper.js +4 -3
  103. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  104. package/build/cjs/constructor-items.d.ts +2 -2
  105. package/build/cjs/constructor-items.js +2 -4
  106. package/build/cjs/constructor-items.js.map +1 -1
  107. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  108. package/build/cjs/models/common.d.ts +1 -0
  109. package/build/cjs/models/common.js.map +1 -1
  110. package/build/cjs/models/constructor-items/blocks.d.ts +17 -15
  111. package/build/cjs/models/constructor-items/blocks.js +3 -2
  112. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  113. package/build/cjs/models/constructor-items/common.d.ts +2 -2
  114. package/build/cjs/models/constructor-items/common.js.map +1 -1
  115. package/build/cjs/schema/constants.js +3 -1
  116. package/build/cjs/schema/constants.js.map +1 -1
  117. package/build/cjs/schema/validators/blocks.d.ts +2 -2
  118. package/build/cjs/schema/validators/blocks.js +2 -2
  119. package/build/cjs/schema/validators/blocks.js.map +1 -1
  120. package/build/cjs/schema/validators/common.js +1 -1
  121. package/build/cjs/schema/validators/common.js.map +1 -1
  122. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +14 -8
  123. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -1
  124. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  125. package/build/cjs/sub-blocks/Content/Content.css +80 -31
  126. package/build/cjs/sub-blocks/Content/Content.js +3 -1
  127. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  128. package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
  129. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  130. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  131. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  132. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  133. package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
  134. package/build/cjs/sub-blocks/Quote/Quote.js +2 -1
  135. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  136. package/build/cjs/text-transform/common.d.ts +4 -3
  137. package/build/cjs/text-transform/common.js +41 -18
  138. package/build/cjs/text-transform/common.js.map +1 -1
  139. package/build/cjs/text-transform/config.d.ts +5 -2
  140. package/build/cjs/text-transform/config.js +84 -43
  141. package/build/cjs/text-transform/config.js.map +1 -1
  142. package/build/cjs/text-transform/transformers.js +2 -2
  143. package/build/cjs/text-transform/transformers.js.map +1 -1
  144. package/build/cjs/utils/blocks.d.ts +10 -2
  145. package/build/cjs/utils/blocks.js +10 -3
  146. package/build/cjs/utils/blocks.js.map +1 -1
  147. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  148. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -6
  149. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  150. package/build/esm/blocks/Header/Header.css +15 -10
  151. package/build/esm/blocks/Header/Header.js +7 -2
  152. package/build/esm/blocks/Header/Header.js.map +1 -1
  153. package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
  154. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  155. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  156. package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -1
  157. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  158. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +4 -2
  159. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  160. package/build/esm/blocks/Share/Share.js +5 -1
  161. package/build/esm/blocks/Share/Share.js.map +1 -1
  162. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  163. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  164. package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
  165. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  166. package/build/esm/blocks/Slider/Slider.css +549 -329
  167. package/build/esm/blocks/Slider/Slider.d.ts +6 -5
  168. package/build/esm/blocks/Slider/Slider.js +32 -272
  169. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  170. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  171. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  172. package/build/esm/blocks/Slider/models.d.ts +2 -2
  173. package/build/esm/blocks/Slider/models.js +1 -1
  174. package/build/esm/blocks/Slider/models.js.map +1 -1
  175. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  176. package/build/esm/blocks/Slider/schema.js +9 -0
  177. package/build/esm/blocks/Slider/schema.js.map +1 -1
  178. package/build/{cjs/blocks/SliderNew → esm/blocks/Slider}/useSlider.d.ts +1 -0
  179. package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  180. package/build/esm/blocks/Slider/useSlider.js.map +1 -0
  181. package/build/esm/blocks/Slider/useSliderPagination.js.map +1 -0
  182. package/build/esm/blocks/Slider/utils.d.ts +7 -28
  183. package/build/esm/blocks/Slider/utils.js +24 -103
  184. package/build/esm/blocks/Slider/utils.js.map +1 -1
  185. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  186. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  187. package/build/esm/blocks/SliderOld/Arrow/Arrow.js +9 -0
  188. package/build/esm/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  189. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  190. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  191. package/build/esm/blocks/SliderOld/SliderOld.js +288 -0
  192. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -0
  193. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  194. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  195. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  196. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  197. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  198. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  199. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  200. package/build/esm/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  201. package/build/{cjs/blocks/SliderNew → esm/blocks/SliderOld}/schema.d.ts +5 -21
  202. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  203. package/build/esm/blocks/SliderOld/schema.js.map +1 -0
  204. package/build/esm/blocks/SliderOld/utils.d.ts +37 -0
  205. package/build/esm/blocks/SliderOld/utils.js +116 -0
  206. package/build/esm/blocks/SliderOld/utils.js.map +1 -0
  207. package/build/esm/blocks/Table/Table.css +4 -3
  208. package/build/esm/blocks/Table/Table.js +4 -2
  209. package/build/esm/blocks/Table/Table.js.map +1 -1
  210. package/build/esm/blocks/index.d.ts +2 -0
  211. package/build/esm/blocks/index.js +1 -0
  212. package/build/esm/blocks/index.js.map +1 -1
  213. package/build/esm/blocks/validators.d.ts +1 -0
  214. package/build/esm/blocks/validators.js +1 -0
  215. package/build/esm/blocks/validators.js.map +1 -1
  216. package/build/esm/components/ContentList/ContentList.css +16 -12
  217. package/build/esm/components/ContentList/ContentList.js +1 -1
  218. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  219. package/build/esm/components/FileLink/FileLink.js +8 -1
  220. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  221. package/build/esm/components/FullscreenImage/FullscreenImage.css +96 -18
  222. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  223. package/build/esm/components/FullscreenImage/FullscreenImage.js +14 -2
  224. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  225. package/build/esm/components/HTML/HTML.d.ts +15 -8
  226. package/build/esm/components/HTML/HTML.js +17 -11
  227. package/build/esm/components/HTML/HTML.js.map +1 -1
  228. package/build/esm/components/Link/Link.js +12 -3
  229. package/build/esm/components/Link/Link.js.map +1 -1
  230. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  231. package/build/esm/components/Media/Image/Image.js +7 -5
  232. package/build/esm/components/Media/Image/Image.js.map +1 -1
  233. package/build/esm/components/Media/Media.css +4 -0
  234. package/build/esm/components/Media/Media.d.ts +1 -0
  235. package/build/esm/components/Media/Media.js +3 -2
  236. package/build/esm/components/Media/Media.js.map +1 -1
  237. package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
  238. package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
  239. package/build/esm/components/MetaInfo/MetaInfo.js.map +1 -1
  240. package/build/esm/components/Table/Table.css +2 -1
  241. package/build/esm/components/Table/Table.js +5 -3
  242. package/build/esm/components/Table/Table.js.map +1 -1
  243. package/build/esm/components/Title/TitleItem.css +15 -5
  244. package/build/esm/components/Title/TitleItem.js +5 -2
  245. package/build/esm/components/Title/TitleItem.js.map +1 -1
  246. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  247. package/build/esm/components/YFMWrapper/YFMWrapper.js +5 -3
  248. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  249. package/build/esm/constructor-items.d.ts +2 -2
  250. package/build/esm/constructor-items.js +3 -5
  251. package/build/esm/constructor-items.js.map +1 -1
  252. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  253. package/build/esm/models/common.d.ts +1 -0
  254. package/build/esm/models/common.js.map +1 -1
  255. package/build/esm/models/constructor-items/blocks.d.ts +17 -15
  256. package/build/esm/models/constructor-items/blocks.js +3 -2
  257. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  258. package/build/esm/models/constructor-items/common.d.ts +2 -2
  259. package/build/esm/models/constructor-items/common.js.map +1 -1
  260. package/build/esm/schema/constants.js +4 -2
  261. package/build/esm/schema/constants.js.map +1 -1
  262. package/build/esm/schema/validators/blocks.d.ts +2 -2
  263. package/build/esm/schema/validators/blocks.js +2 -2
  264. package/build/esm/schema/validators/blocks.js.map +1 -1
  265. package/build/esm/schema/validators/common.js +1 -1
  266. package/build/esm/schema/validators/common.js.map +1 -1
  267. package/build/esm/sub-blocks/BannerCard/BannerCard.css +14 -8
  268. package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -2
  269. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  270. package/build/esm/sub-blocks/Content/Content.css +80 -31
  271. package/build/esm/sub-blocks/Content/Content.js +3 -1
  272. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  273. package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
  274. package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
  275. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  276. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  277. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  278. package/build/esm/sub-blocks/Quote/Quote.css +8 -4
  279. package/build/esm/sub-blocks/Quote/Quote.js +3 -2
  280. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  281. package/build/esm/text-transform/common.d.ts +4 -3
  282. package/build/esm/text-transform/common.js +41 -18
  283. package/build/esm/text-transform/common.js.map +1 -1
  284. package/build/esm/text-transform/config.d.ts +5 -2
  285. package/build/esm/text-transform/config.js +85 -44
  286. package/build/esm/text-transform/config.js.map +1 -1
  287. package/build/esm/text-transform/transformers.js +2 -2
  288. package/build/esm/text-transform/transformers.js.map +1 -1
  289. package/build/esm/utils/blocks.d.ts +10 -2
  290. package/build/esm/utils/blocks.js +9 -2
  291. package/build/esm/utils/blocks.js.map +1 -1
  292. package/package.json +2 -2
  293. package/schema/index.js +1 -1
  294. package/server/models/common.d.ts +1 -0
  295. package/server/models/constructor-items/blocks.d.ts +17 -15
  296. package/server/models/constructor-items/blocks.js +3 -2
  297. package/server/models/constructor-items/common.d.ts +2 -2
  298. package/server/text-transform/common.d.ts +4 -3
  299. package/server/text-transform/common.js +41 -18
  300. package/server/text-transform/config.d.ts +5 -2
  301. package/server/text-transform/config.js +84 -43
  302. package/server/text-transform/transformers.js +2 -2
  303. package/server/utils/blocks.d.ts +10 -2
  304. package/server/utils/blocks.js +10 -3
  305. package/styles/fonts.scss +1 -0
  306. package/styles/styles.css +0 -1
  307. package/styles/styles.scss +0 -1
  308. package/styles/variables.scss +1 -0
  309. package/widget/index.js +1 -1
  310. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
  311. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -11
  312. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  313. package/build/cjs/blocks/SliderNew/Slider.css +0 -834
  314. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
  315. package/build/cjs/blocks/SliderNew/Slider.js +0 -49
  316. package/build/cjs/blocks/SliderNew/Slider.js.map +0 -1
  317. package/build/cjs/blocks/SliderNew/schema.js.map +0 -1
  318. package/build/cjs/blocks/SliderNew/useSlider.js.map +0 -1
  319. package/build/cjs/blocks/SliderNew/useSliderPagination.js.map +0 -1
  320. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  321. package/build/cjs/blocks/SliderNew/utils.js +0 -44
  322. package/build/cjs/blocks/SliderNew/utils.js.map +0 -1
  323. package/build/cjs/blocks/unstable.d.ts +0 -1
  324. package/build/cjs/blocks/unstable.js +0 -7
  325. package/build/cjs/blocks/unstable.js.map +0 -1
  326. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  327. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -9
  328. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  329. package/build/esm/blocks/SliderNew/Slider.css +0 -834
  330. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
  331. package/build/esm/blocks/SliderNew/Slider.js +0 -45
  332. package/build/esm/blocks/SliderNew/Slider.js.map +0 -1
  333. package/build/esm/blocks/SliderNew/schema.js.map +0 -1
  334. package/build/esm/blocks/SliderNew/useSlider.js.map +0 -1
  335. package/build/esm/blocks/SliderNew/useSliderPagination.js.map +0 -1
  336. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  337. package/build/esm/blocks/SliderNew/utils.js +0 -37
  338. package/build/esm/blocks/SliderNew/utils.js.map +0 -1
  339. package/build/esm/blocks/unstable.d.ts +0 -1
  340. package/build/esm/blocks/unstable.js +0 -2
  341. package/build/esm/blocks/unstable.js.map +0 -1
  342. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  343. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  344. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  345. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  346. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  347. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -22,10 +22,10 @@ function transformBlock(lang, blocksConfig, block, plugins) {
22
22
  if (blockConfig) {
23
23
  const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];
24
24
  configs.forEach((transformConfig) => {
25
- const { fields, transformer: transformerRaw, parser } = transformConfig;
25
+ const { fields, transformer: transformerRaw, parser, renderInline } = transformConfig;
26
26
  const transformer = (content) =>
27
27
  // eslint-disable-next-line no-useless-call
28
- transformerRaw.call(null, lang, content, { plugins });
28
+ transformerRaw.call(null, lang, content, { plugins, renderInline });
29
29
  if (fields) {
30
30
  fields.forEach((field) => {
31
31
  if (block[field]) {
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"../../../src","sources":["text-transform/transformers.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\nimport cloneDeep from 'lodash/cloneDeep';\nimport shuffle from 'lodash/shuffle';\n\nimport {ConstructorBlock, PageContent} from '../models/constructor';\n\nimport {Transformer} from './common';\nimport {BlocksConfig, config} from './config';\nimport {FilterableContent, filterContent} from './filter';\nimport {Lang} from './types';\n\nexport type ContentVariables = Record<string, string>;\nexport type ContentTransformerProps = {\n content: {\n blocks?: ConstructorBlock[];\n };\n options: {\n lang: Lang;\n customConfig?: {};\n vars?: ContentVariables;\n plugins?: MarkdownItPluginCb[];\n };\n};\n\nfunction transformBlocks(\n blocks: ConstructorBlock[],\n lang: Lang,\n customConfig = {},\n options: {plugins?: MarkdownItPluginCb[]} = {},\n) {\n const fullConfig = {...config, ...customConfig};\n const {plugins = []} = options;\n\n const clonedBlocks = cloneDeep(blocks);\n\n return clonedBlocks.map((block) => transformBlock(lang, fullConfig, block, plugins));\n}\n\nfunction transformBlock(\n lang: Lang,\n blocksConfig: BlocksConfig,\n block: ConstructorBlock,\n plugins: MarkdownItPluginCb[],\n) {\n const blockConfig = blocksConfig[block.type];\n\n if (block) {\n if ('randomOrder' in block && block.randomOrder && 'children' in block && block.children) {\n block.children = shuffle(block.children as ConstructorBlock[]);\n }\n }\n\n if (blockConfig) {\n const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];\n\n configs.forEach((transformConfig) => {\n const {fields, transformer: transformerRaw, parser} = transformConfig;\n const transformer: Transformer = (content) =>\n // eslint-disable-next-line no-useless-call\n transformerRaw.call(null, lang, content, {plugins});\n\n if (fields) {\n (fields as (keyof typeof block)[]).forEach((field) => {\n if (block[field]) {\n if (parser) {\n block[field] = parser(transformer, block[field]);\n } else if (typeof block[field] === 'string') {\n block[field] = transformer(block[field] as string);\n }\n }\n });\n } else if (parser) {\n parser(transformer, block);\n }\n });\n }\n\n if ('children' in block && block.children) {\n block.children = transformBlocks(block.children as ConstructorBlock[], lang, blocksConfig, {\n plugins,\n });\n }\n\n return block;\n}\n\nexport const contentTransformer = ({content, options}: ContentTransformerProps) => {\n const {lang, customConfig = {}, vars, plugins = []} = options;\n const {blocks = []} = (\n vars ? filterContent(content as FilterableContent, vars) : content\n ) as PageContent;\n\n const transformedBlocks = transformBlocks(blocks, lang, customConfig, {\n plugins,\n });\n\n return {\n blocks: transformedBlocks,\n };\n};\n"]}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"../../../src","sources":["text-transform/transformers.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\nimport {MarkdownItPluginCb} from '@diplodoc/transform/lib/plugins/typings';\nimport cloneDeep from 'lodash/cloneDeep';\nimport shuffle from 'lodash/shuffle';\n\nimport {ConstructorBlock, PageContent} from '../models/constructor';\n\nimport {Transformer} from './common';\nimport {BlocksConfig, config} from './config';\nimport {FilterableContent, filterContent} from './filter';\nimport {Lang} from './types';\n\nexport type ContentVariables = Record<string, string>;\nexport type ContentTransformerProps = {\n content: {\n blocks?: ConstructorBlock[];\n };\n options: {\n lang: Lang;\n customConfig?: {};\n vars?: ContentVariables;\n plugins?: MarkdownItPluginCb[];\n };\n};\n\nfunction transformBlocks(\n blocks: ConstructorBlock[],\n lang: Lang,\n customConfig = {},\n options: {plugins?: MarkdownItPluginCb[]} = {},\n) {\n const fullConfig = {...config, ...customConfig};\n const {plugins = []} = options;\n\n const clonedBlocks = cloneDeep(blocks);\n\n return clonedBlocks.map((block) => transformBlock(lang, fullConfig, block, plugins));\n}\n\nfunction transformBlock(\n lang: Lang,\n blocksConfig: BlocksConfig,\n block: ConstructorBlock,\n plugins: MarkdownItPluginCb[],\n) {\n const blockConfig = blocksConfig[block.type];\n\n if (block) {\n if ('randomOrder' in block && block.randomOrder && 'children' in block && block.children) {\n block.children = shuffle(block.children as ConstructorBlock[]);\n }\n }\n\n if (blockConfig) {\n const configs = Array.isArray(blockConfig) ? blockConfig : [blockConfig];\n\n configs.forEach((transformConfig) => {\n const {fields, transformer: transformerRaw, parser, renderInline} = transformConfig;\n const transformer: Transformer = (content) =>\n // eslint-disable-next-line no-useless-call\n transformerRaw.call(null, lang, content, {plugins, renderInline});\n\n if (fields) {\n (fields as (keyof typeof block)[]).forEach((field) => {\n if (block[field]) {\n if (parser) {\n block[field] = parser(transformer, block[field]);\n } else if (typeof block[field] === 'string') {\n block[field] = transformer(block[field] as string);\n }\n }\n });\n } else if (parser) {\n parser(transformer, block);\n }\n });\n }\n\n if ('children' in block && block.children) {\n block.children = transformBlocks(block.children as ConstructorBlock[], lang, blocksConfig, {\n plugins,\n });\n }\n\n return block;\n}\n\nexport const contentTransformer = ({content, options}: ContentTransformerProps) => {\n const {lang, customConfig = {}, vars, plugins = []} = options;\n const {blocks = []} = (\n vars ? filterContent(content as FilterableContent, vars) : content\n ) as PageContent;\n\n const transformedBlocks = transformBlocks(blocks, lang, customConfig, {\n plugins,\n });\n\n return {\n blocks: transformedBlocks,\n };\n};\n"]}
@@ -1,6 +1,13 @@
1
- import { ConstructorBlock, CustomConfig, PCShareSocialNetwork, TextSize } from "../models/index.js";
1
+ import * as React from 'react';
2
+ import { ConstructorBlock, CustomConfig, PCShareSocialNetwork, TagName, TextSize } from "../models/index.js";
2
3
  export declare function getHeaderTag(size: TextSize): "h1" | "h3" | "h4" | "h2";
3
- export declare function hasBlockTag(content: string): boolean;
4
+ type SelectVariantArgs = {
5
+ block?: boolean;
6
+ content?: string;
7
+ children?: React.ReactNode;
8
+ tagName?: TagName;
9
+ };
10
+ export declare function selectTagName({ content, children, tagName }: SelectVariantArgs): string;
4
11
  export declare function getBlockKey(block: ConstructorBlock, index: number): string;
5
12
  export declare const getCustomItems: (types: (keyof CustomConfig)[], customBlocks?: CustomConfig) => {};
6
13
  export declare const getCustomTypes: (types: (keyof CustomConfig)[], customBlocks?: CustomConfig) => string[];
@@ -8,3 +15,4 @@ export declare const getOrderedBlocks: (blocks: ConstructorBlock[], headerBlockT
8
15
  export declare const getHeaderBlock: (blocks: ConstructorBlock[], headerBlockTypes?: string[]) => ConstructorBlock | undefined;
9
16
  export declare const getShareLink: (url: string, type: PCShareSocialNetwork, title?: string, text?: string) => string | undefined;
10
17
  export declare const getQaAttrubutes: (qa?: string, ...customKeys: (string | Array<string>)[]) => Record<string, string>;
18
+ export {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getQaAttrubutes = exports.getShareLink = exports.getHeaderBlock = exports.getOrderedBlocks = exports.getCustomTypes = exports.getCustomItems = void 0;
4
4
  exports.getHeaderTag = getHeaderTag;
5
- exports.hasBlockTag = hasBlockTag;
5
+ exports.selectTagName = selectTagName;
6
6
  exports.getBlockKey = getBlockKey;
7
7
  const tslib_1 = require("tslib");
8
8
  const camelCase_1 = tslib_1.__importDefault(require("lodash/camelCase.js"));
@@ -54,14 +54,21 @@ function getHeaderTag(size) {
54
54
  return 'h3';
55
55
  case 'xs':
56
56
  return 'h4';
57
+ case 'sm':
57
58
  case 'm':
58
59
  default:
59
60
  return 'h2';
60
61
  }
61
62
  }
62
- function hasBlockTag(content) {
63
+ function selectTagName({ content, children, tagName }) {
64
+ if (!children && tagName) {
65
+ return tagName;
66
+ }
67
+ if (!content) {
68
+ return 'span';
69
+ }
63
70
  const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');
64
- return regex.test(content);
71
+ return regex.test(content) ? 'div' : 'span';
65
72
  }
66
73
  function getBlockKey(block, index) {
67
74
  return `${block.type}-${index}`;
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"../../../src","sources":["utils/blocks.ts"],"names":[],"mappings":"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","sourcesContent":["import camelCase from 'lodash/camelCase';\nimport flatten from 'lodash/flatten';\n\nimport {ConstructorBlock, CustomConfig, PCShareSocialNetwork, TextSize} from '../models';\n\nconst BLOCK_ELEMENTS = [\n 'div',\n 'p',\n 'h[1-6]',\n 'address',\n 'article',\n 'aside',\n 'blockquote',\n 'canvas',\n 'dd',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'footer',\n 'header',\n 'hr',\n 'main',\n 'nav',\n 'section',\n 'video',\n 'pre',\n 'figure',\n 'form',\n 'pre',\n 'ol',\n 'ul',\n 'li',\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td',\n];\n\nconst BLOCK_ELEMENTS_REGEX = `<(${BLOCK_ELEMENTS.join('|')})[^>]*>`;\n\nconst QA_ATTRIBUTES_KEYS = ['container', 'content', 'wrapper', 'image', 'button', 'animate'];\n\nexport function getHeaderTag(size: TextSize) {\n switch (size) {\n case 'l':\n return 'h1';\n case 's':\n return 'h3';\n case 'xs':\n return 'h4';\n case 'm':\n default:\n return 'h2';\n }\n}\n\nexport function hasBlockTag(content: string): boolean {\n const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');\n return regex.test(content);\n}\n\nexport function getBlockKey(block: ConstructorBlock, index: number) {\n return `${block.type}-${index}`;\n}\n\nexport const getCustomItems = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return Object.assign(result, customBlocks[type] || {});\n }, {});\n};\n\nexport const getCustomTypes = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return result.concat(Object.keys(customBlocks[type] || {}));\n }, [] as string[]);\n};\n\nconst getShareUrlWithParams = (url: string, params: Record<string, string | undefined> = {}) => {\n const result = new URL(url);\n\n Object.entries(params).forEach(([name, value]) => {\n if (value) {\n result.searchParams.set(name, value);\n }\n });\n\n return result.toString();\n};\n\nexport const getOrderedBlocks = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.filter(({type}) => !headerBlockTypes.includes(type));\n};\n\nexport const getHeaderBlock = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.find(({type}) => headerBlockTypes.includes(type));\n};\n\nexport const getShareLink = (\n url: string,\n type: PCShareSocialNetwork,\n title?: string,\n text?: string,\n) => {\n // https://github.com/bradvin/social-share-urls\n switch (type) {\n case PCShareSocialNetwork.Telegram:\n return getShareUrlWithParams('https://t.me/share/url', {url, text: title});\n case PCShareSocialNetwork.Facebook:\n return getShareUrlWithParams('https://facebook.com/sharer.php', {u: url});\n case PCShareSocialNetwork.Twitter:\n return getShareUrlWithParams('https://twitter.com/intent/tweet', {\n url,\n text: title,\n });\n case PCShareSocialNetwork.Vk:\n return getShareUrlWithParams('https://vk.com/share.php', {\n url,\n title,\n comment: text,\n });\n case PCShareSocialNetwork.LinkedIn:\n return getShareUrlWithParams('https://www.linkedin.com/sharing/share-offsite/', {\n url,\n });\n default:\n // eslint-disable-next-line no-console\n console.error(`Unknown share type: ${type}`);\n\n return undefined;\n }\n};\n\nexport const getQaAttrubutes = (qa?: string, ...customKeys: (string | Array<string>)[]) => {\n const attributes: Record<string, string> = {};\n\n if (qa) {\n const keys = QA_ATTRIBUTES_KEYS.concat(flatten(customKeys));\n\n keys.forEach((key) => {\n attributes[camelCase(key)] = `${qa}-${key}`;\n });\n\n attributes.default = qa;\n }\n\n return attributes;\n};\n"]}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"../../../src","sources":["utils/blocks.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport camelCase from 'lodash/camelCase';\nimport flatten from 'lodash/flatten';\n\nimport {ConstructorBlock, CustomConfig, PCShareSocialNetwork, TagName, TextSize} from '../models';\n\nconst BLOCK_ELEMENTS = [\n 'div',\n 'p',\n 'h[1-6]',\n 'address',\n 'article',\n 'aside',\n 'blockquote',\n 'canvas',\n 'dd',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'footer',\n 'header',\n 'hr',\n 'main',\n 'nav',\n 'section',\n 'video',\n 'pre',\n 'figure',\n 'form',\n 'pre',\n 'ol',\n 'ul',\n 'li',\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td',\n];\n\nconst BLOCK_ELEMENTS_REGEX = `<(${BLOCK_ELEMENTS.join('|')})[^>]*>`;\n\nconst QA_ATTRIBUTES_KEYS = ['container', 'content', 'wrapper', 'image', 'button', 'animate'];\n\nexport function getHeaderTag(size: TextSize) {\n switch (size) {\n case 'l':\n return 'h1';\n case 's':\n return 'h3';\n case 'xs':\n return 'h4';\n case 'sm':\n case 'm':\n default:\n return 'h2';\n }\n}\n\ntype SelectVariantArgs = {\n block?: boolean;\n content?: string;\n children?: React.ReactNode;\n tagName?: TagName;\n};\n\nexport function selectTagName({content, children, tagName}: SelectVariantArgs): string {\n if (!children && tagName) {\n return tagName;\n }\n\n if (!content) {\n return 'span';\n }\n\n const regex = new RegExp(BLOCK_ELEMENTS_REGEX, 'g');\n return regex.test(content) ? 'div' : 'span';\n}\n\nexport function getBlockKey(block: ConstructorBlock, index: number) {\n return `${block.type}-${index}`;\n}\n\nexport const getCustomItems = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return Object.assign(result, customBlocks[type] || {});\n }, {});\n};\n\nexport const getCustomTypes = (types: (keyof CustomConfig)[], customBlocks: CustomConfig = {}) => {\n return types.reduce((result, type: keyof CustomConfig) => {\n return result.concat(Object.keys(customBlocks[type] || {}));\n }, [] as string[]);\n};\n\nconst getShareUrlWithParams = (url: string, params: Record<string, string | undefined> = {}) => {\n const result = new URL(url);\n\n Object.entries(params).forEach(([name, value]) => {\n if (value) {\n result.searchParams.set(name, value);\n }\n });\n\n return result.toString();\n};\n\nexport const getOrderedBlocks = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.filter(({type}) => !headerBlockTypes.includes(type));\n};\n\nexport const getHeaderBlock = (blocks: ConstructorBlock[], headerBlockTypes: string[] = []) => {\n return blocks.find(({type}) => headerBlockTypes.includes(type));\n};\n\nexport const getShareLink = (\n url: string,\n type: PCShareSocialNetwork,\n title?: string,\n text?: string,\n) => {\n // https://github.com/bradvin/social-share-urls\n switch (type) {\n case PCShareSocialNetwork.Telegram:\n return getShareUrlWithParams('https://t.me/share/url', {url, text: title});\n case PCShareSocialNetwork.Facebook:\n return getShareUrlWithParams('https://facebook.com/sharer.php', {u: url});\n case PCShareSocialNetwork.Twitter:\n return getShareUrlWithParams('https://twitter.com/intent/tweet', {\n url,\n text: title,\n });\n case PCShareSocialNetwork.Vk:\n return getShareUrlWithParams('https://vk.com/share.php', {\n url,\n title,\n comment: text,\n });\n case PCShareSocialNetwork.LinkedIn:\n return getShareUrlWithParams('https://www.linkedin.com/sharing/share-offsite/', {\n url,\n });\n default:\n // eslint-disable-next-line no-console\n console.error(`Unknown share type: ${type}`);\n\n return undefined;\n }\n};\n\nexport const getQaAttrubutes = (qa?: string, ...customKeys: (string | Array<string>)[]) => {\n const attributes: Record<string, string> = {};\n\n if (qa) {\n const keys = QA_ATTRIBUTES_KEYS.concat(flatten(customKeys));\n\n keys.forEach((key) => {\n attributes[camelCase(key)] = `${qa}-${key}`;\n });\n\n attributes.default = qa;\n }\n\n return attributes;\n};\n"]}
@@ -1,4 +1,4 @@
1
- .pc-ExtendedFeaturesBlock__item-title {
1
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title {
2
2
  margin: 0;
3
3
  }
4
4
 
@@ -16,28 +16,33 @@ unpredictable css rules order in build */
16
16
  .pc-ExtendedFeaturesBlock__item.col {
17
17
  padding-right: 32px;
18
18
  }
19
- .pc-ExtendedFeaturesBlock__item-title {
19
+ .pc-ExtendedFeaturesBlock__item-title-container {
20
+ margin: inherit;
21
+ display: block;
22
+ margin-block: 0 8px;
23
+ }
24
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title {
20
25
  font-size: var(--g-text-header-1-font-size);
21
26
  line-height: var(--g-text-header-1-line-height);
22
27
  color: var(--pc-text-header-color);
23
28
  font-weight: var(--g-text-accent-font-weight);
24
- display: block;
25
29
  position: relative;
26
30
  margin-bottom: 8px;
27
31
  }
28
- .pc-ExtendedFeaturesBlock__item-title a {
32
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a {
29
33
  outline: none;
30
34
  color: var(--g-color-text-link);
31
35
  text-decoration: none;
32
36
  cursor: pointer;
33
37
  }
34
- .utilityfocus .pc-ExtendedFeaturesBlock__item-title a:focus {
38
+ .utilityfocus .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:focus {
35
39
  outline: 2px solid #ffdb4d;
36
40
  }
37
- .pc-ExtendedFeaturesBlock__item-title a:hover, .pc-ExtendedFeaturesBlock__item-title a:active {
41
+ .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:hover, .pc-ExtendedFeaturesBlock__item-title.pc-ExtendedFeaturesBlock__item-title a:active {
38
42
  --pc-text-header-color: var(--g-color-text-link-hover);
39
43
  color: var(--g-color-text-link-hover);
40
44
  }
45
+
41
46
  .pc-ExtendedFeaturesBlock__item-label {
42
47
  font-size: var(--g-text-caption-2-font-size);
43
48
  line-height: var(--g-text-caption-2-line-height);
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import { AnimateBlock, HTML, Title } from "../../components/index.js";
2
+ import { AnimateBlock, Title, YFMWrapper } from "../../components/index.js";
4
3
  import Image from "../../components/Image/Image.js";
5
4
  import { getMediaImage } from "../../components/Media/Image/utils.js";
6
5
  import { useTheme } from "../../context/theme/index.js";
@@ -24,10 +23,9 @@ export const ExtendedFeaturesBlock = ({ title, description, items, colSizes = DE
24
23
  if (link) {
25
24
  itemLinks.push(link);
26
25
  }
27
- return (_jsxs(Col, { className: b('item'), sizes: colSizes, children: [iconData && (_jsx("div", { className: b('icon-wrap'), "aria-hidden": true, children: _jsx(Image, Object.assign({}, iconData, { className: b('icon') })) })), _jsxs("div", { className: b('container'), children: [itemTitle &&
28
- React.createElement(itemTitleHeadingTag, {
29
- className: b('item-title'),
30
- }, _jsxs(React.Fragment, { children: [_jsx(HTML, { children: itemTitle }), label && (_jsx("span", { className: b('item-label'), children: label }))] })), _jsx(Content, { text: text, links: itemLinks, size: "s", list: list, colSizes: { all: 12, md: 12 }, buttons: buttons, additionalInfo: additionalInfo })] })] }, text || itemTitle));
26
+ return (_jsxs(Col, { className: b('item'), sizes: colSizes, children: [iconData && (_jsx("div", { className: b('icon-wrap'), "aria-hidden": true, children: _jsx(Image, Object.assign({}, iconData, { className: b('icon') })) })), _jsxs("div", { className: b('container'), children: [itemTitle && (_jsx(YFMWrapper, { tagName: itemTitleHeadingTag, content: itemTitle, className: b('item-title-container'), contentClassName: b('item-title'), modifiers: {
27
+ constructor: true,
28
+ }, children: label && (_jsx("span", { className: b('item-label'), children: label })) })), _jsx(Content, { text: text, links: itemLinks, size: "s", list: list, colSizes: { all: 12, md: 12 }, buttons: buttons, additionalInfo: additionalInfo })] })] }, text || itemTitle));
31
29
  }) }) })] }));
32
30
  };
33
31
  export default ExtendedFeaturesBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendedFeatures.js","sourceRoot":"../../../../src","sources":["blocks/ExtendedFeatures/ExtendedFeatures.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {AnimateBlock, HTML, Title} from '../../components/';\nimport Image from '../../components/Image/Image';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {Col, Row} from '../../grid';\nimport {ExtendedFeaturesProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block, getThemedValue} from '../../utils';\n\nimport './ExtendedFeatures.scss';\n\nconst b = block('ExtendedFeaturesBlock');\n\nconst DEFAULT_SIZES = {\n all: 12,\n sm: 6,\n md: 4,\n};\n\nexport const ExtendedFeaturesBlock = ({\n title,\n description,\n items,\n colSizes = DEFAULT_SIZES,\n animated,\n}: ExtendedFeaturesProps) => {\n const theme = useTheme();\n const itemTitleHeadingTag = title ? 'h3' : 'h2';\n\n return (\n <AnimateBlock className={b()} animate={animated}>\n <Title title={title} subtitle={description} className={b('header')} />\n <div className={b('items')}>\n <Row>\n {items.map(\n ({\n title: itemTitle,\n text,\n list,\n link,\n links,\n label,\n icon,\n buttons,\n additionalInfo,\n }) => {\n const itemLinks = links || [];\n\n const iconThemed = icon && getThemedValue(icon, theme);\n const iconData = iconThemed && getMediaImage(iconThemed);\n\n if (link) {\n itemLinks.push(link);\n }\n\n return (\n <Col className={b('item')} key={text || itemTitle} sizes={colSizes}>\n {iconData && (\n <div className={b('icon-wrap')} aria-hidden>\n <Image {...iconData} className={b('icon')} />\n </div>\n )}\n <div className={b('container')}>\n {itemTitle &&\n React.createElement(\n itemTitleHeadingTag,\n {\n className: b('item-title'),\n },\n <React.Fragment>\n <HTML>{itemTitle}</HTML>\n {label && (\n <span className={b('item-label')}>\n {label}\n </span>\n )}\n </React.Fragment>,\n )}\n <Content\n text={text}\n links={itemLinks}\n size=\"s\"\n list={list}\n colSizes={{all: 12, md: 12}}\n buttons={buttons}\n additionalInfo={additionalInfo}\n />\n </div>\n </Col>\n );\n },\n )}\n </Row>\n </div>\n </AnimateBlock>\n );\n};\n\nexport default ExtendedFeaturesBlock;\n"]}
1
+ {"version":3,"file":"ExtendedFeatures.js","sourceRoot":"../../../../src","sources":["blocks/ExtendedFeatures/ExtendedFeatures.tsx"],"names":[],"mappings":"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","sourcesContent":["import {AnimateBlock, Title, YFMWrapper} from '../../components/';\nimport Image from '../../components/Image/Image';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport {useTheme} from '../../context/theme';\nimport {Col, Row} from '../../grid';\nimport {ExtendedFeaturesProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block, getThemedValue} from '../../utils';\n\nimport './ExtendedFeatures.scss';\n\nconst b = block('ExtendedFeaturesBlock');\n\nconst DEFAULT_SIZES = {\n all: 12,\n sm: 6,\n md: 4,\n};\n\nexport const ExtendedFeaturesBlock = ({\n title,\n description,\n items,\n colSizes = DEFAULT_SIZES,\n animated,\n}: ExtendedFeaturesProps) => {\n const theme = useTheme();\n const itemTitleHeadingTag = title ? 'h3' : 'h2';\n\n return (\n <AnimateBlock className={b()} animate={animated}>\n <Title title={title} subtitle={description} className={b('header')} />\n <div className={b('items')}>\n <Row>\n {items.map(\n ({\n title: itemTitle,\n text,\n list,\n link,\n links,\n label,\n icon,\n buttons,\n additionalInfo,\n }) => {\n const itemLinks = links || [];\n\n const iconThemed = icon && getThemedValue(icon, theme);\n const iconData = iconThemed && getMediaImage(iconThemed);\n\n if (link) {\n itemLinks.push(link);\n }\n\n return (\n <Col className={b('item')} key={text || itemTitle} sizes={colSizes}>\n {iconData && (\n <div className={b('icon-wrap')} aria-hidden>\n <Image {...iconData} className={b('icon')} />\n </div>\n )}\n <div className={b('container')}>\n {itemTitle && (\n <YFMWrapper\n tagName={itemTitleHeadingTag}\n content={itemTitle}\n className={b('item-title-container')}\n contentClassName={b('item-title')}\n modifiers={{\n constructor: true,\n }}\n >\n {label && (\n <span className={b('item-label')}>{label}</span>\n )}\n </YFMWrapper>\n )}\n <Content\n text={text}\n links={itemLinks}\n size=\"s\"\n list={list}\n colSizes={{all: 12, md: 12}}\n buttons={buttons}\n additionalInfo={additionalInfo}\n />\n </div>\n </Col>\n );\n },\n )}\n </Row>\n </div>\n </AnimateBlock>\n );\n};\n\nexport default ExtendedFeaturesBlock;\n"]}
@@ -1,4 +1,4 @@
1
- .pc-header-block__title {
1
+ .pc-header-block__title.pc-header-block__title {
2
2
  margin: 0;
3
3
  }
4
4
 
@@ -20,16 +20,17 @@ unpredictable css rules order in build */
20
20
  position: relative;
21
21
  height: 100%;
22
22
  }
23
- .pc-header-block__content_theme_dark {
23
+ .pc-header-block__content_theme_dark.pc-header-block__content_theme_dark {
24
24
  --g-color-line-focus: var(--pc-color-line-focus-dark);
25
25
  }
26
- .pc-header-block__content_theme_dark .pc-header-block__title,
27
- .pc-header-block__content_theme_dark .pc-header-block__overtitle {
26
+ .pc-header-block__content_theme_dark.pc-header-block__content_theme_dark .pc-header-block__title,
27
+ .pc-header-block__content_theme_dark.pc-header-block__content_theme_dark .pc-header-block__overtitle {
28
28
  color: var(--g-color-text-light-primary);
29
29
  }
30
- .pc-header-block__content_theme_dark .pc-header-block__description .yfm {
30
+ .pc-header-block__content_theme_dark.pc-header-block__content_theme_dark .pc-header-block__description .yfm {
31
31
  color: var(--g-color-text-light-primary);
32
32
  }
33
+
33
34
  .pc-header-block__content_vertical-offset {
34
35
  margin: 16px 0;
35
36
  }
@@ -56,7 +57,7 @@ unpredictable css rules order in build */
56
57
  margin-inline: auto;
57
58
  text-align: center;
58
59
  }
59
- .pc-header-block__title {
60
+ .pc-header-block__title.pc-header-block__title {
60
61
  font-size: var(--g-text-display-4-font-size);
61
62
  line-height: var(--g-text-display-4-line-height);
62
63
  color: var(--pc-text-header-color);
@@ -64,24 +65,28 @@ unpredictable css rules order in build */
64
65
  position: relative;
65
66
  }
66
67
  @media (max-width: 577px) {
67
- .pc-header-block__title {
68
+ .pc-header-block__title.pc-header-block__title {
68
69
  font-size: var(--g-text-display-2-font-size);
69
70
  line-height: var(--g-text-display-2-line-height);
70
71
  }
71
72
  }
72
- .pc-header-block__title a {
73
+ .pc-header-block__title.pc-header-block__title a {
73
74
  outline: none;
74
75
  color: var(--g-color-text-link);
75
76
  text-decoration: none;
76
77
  cursor: pointer;
77
78
  }
78
- .utilityfocus .pc-header-block__title a:focus {
79
+ .utilityfocus .pc-header-block__title.pc-header-block__title a:focus {
79
80
  outline: 2px solid #ffdb4d;
80
81
  }
81
- .pc-header-block__title a:hover, .pc-header-block__title a:active {
82
+ .pc-header-block__title.pc-header-block__title a:hover, .pc-header-block__title.pc-header-block__title a:active {
82
83
  --pc-text-header-color: var(--g-color-text-link-hover);
83
84
  color: var(--g-color-text-link-hover);
84
85
  }
86
+
87
+ .pc-header-block__title-container {
88
+ margin: 0;
89
+ }
85
90
  .pc-header-block__description {
86
91
  margin-top: 16px;
87
92
  }
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable complexity */
3
3
  import { useUniqId } from '@gravity-ui/uikit';
4
4
  import * as React from 'react';
5
- import { Button, HTML, Media, RouterLink } from "../../components/index.js";
5
+ import { Button, Media, RouterLink } from "../../components/index.js";
6
6
  import HeaderBreadcrumbs from "../../components/HeaderBreadcrumbs/HeaderBreadcrumbs.js";
7
7
  import { getMediaImage } from "../../components/Media/Image/utils.js";
8
8
  import YFMWrapper from "../../components/YFMWrapper/YFMWrapper.js";
@@ -50,7 +50,12 @@ export const HeaderBlock = (props) => {
50
50
  offset,
51
51
  theme: textTheme,
52
52
  'vertical-offset': curVerticalOffset,
53
- }), children: _jsxs(Col, { sizes: titleSizes, className: b('content-inner', { centered }), children: [overtitle && (_jsx("div", { className: b('overtitle'), children: typeof overtitle === 'string' ? (_jsx(HTML, { children: overtitle })) : (overtitle) })), _jsxs("h1", { className: b('title'), id: titleId, children: [status, renderTitle ? renderTitle(title) : _jsx(HTML, { children: title })] }), description && (_jsx("div", { className: b('description', { theme: textTheme }), children: _jsx(YFMWrapper, { content: description, modifiers: {
53
+ }), children: _jsxs(Col, { sizes: titleSizes, className: b('content-inner', { centered }), children: [overtitle && typeof overtitle === 'string' ? (_jsx(YFMWrapper, { tagName: "div", className: b('overtitle'), content: overtitle, modifiers: {
54
+ constructor: true,
55
+ } })) : (_jsx("div", { className: b('overtitle'), children: overtitle })), _jsxs(YFMWrapper, { content: title, contentClassName: b('title'), className: b('title-container'), modifiers: {
56
+ constructor: true,
57
+ constructorTheme: textTheme,
58
+ }, tagName: "h1", contentPosition: "end", children: [status, renderTitle ? renderTitle(title) : null] }), description && (_jsx("div", { className: b('description', { theme: textTheme }), children: _jsx(YFMWrapper, { content: description, modifiers: {
54
59
  constructor: true,
55
60
  constructorTheme: textTheme,
56
61
  } }) })), buttons && (_jsx("div", { className: b('buttons'), "data-qa": "header-buttons", children: buttons.map((button, index) => (_jsx(RouterLink, { href: button.url, children: _jsx(Button, Object.assign({ className: b('button'), size: "xl", extraProps: Object.assign({ 'aria-describedby': titleId }, button.extraProps) }, button), index) }, index))) })), children] }) }) }), hasRightSideImage && (_jsx(Media, Object.assign({ className: b('media', { [curImageSize]: true }), videoClassName: b('video'), imageClassName: b('image') }, mediaWithMicrodata)))] }) })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"../../../../src","sources":["blocks/Header/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\nimport {useUniqId} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport {Button, HTML, Media, RouterLink} from '../../components';\nimport HeaderBreadcrumbs from '../../components/HeaderBreadcrumbs/HeaderBreadcrumbs';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {MobileContext} from '../../context/mobileContext';\nimport {useTheme} from '../../context/theme';\nimport {Col, Grid, Row} from '../../grid';\nimport {ClassNameProps, HeaderBlockBackground, HeaderBlockProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport {getImageSize, getTitleSizes, titleWithImageSizes} from './utils';\nimport './Header.scss';\n\nconst b = block('header-block');\n\ntype HeaderBlockFullProps = HeaderBlockProps & ClassNameProps;\n\ninterface BackgroundProps {\n background: HeaderBlockBackground;\n isMobile: boolean;\n}\n\nconst Background = ({background, isMobile}: BackgroundProps) => {\n const {url, image, fullWidthMedia, video, color} = background;\n const imageObject = url ? getMediaImage(url) : image;\n const renderMedia = !isMobile || (typeof image === 'object' && 'mobile' in image);\n\n return (\n <div\n className={b('background', {media: true, 'full-width-media': fullWidthMedia})}\n style={{backgroundColor: color}}\n >\n {renderMedia && (\n <Media\n {...background}\n className={b('background-media')}\n imageClassName={b('image')}\n videoClassName={b('video')}\n isBackground={true}\n parallax={false}\n video={isMobile ? undefined : video}\n image={imageObject}\n />\n )}\n </div>\n );\n};\n\ninterface FullWidthBackgroundProps {\n background: HeaderBlockBackground;\n}\n\nconst FullWidthBackground = ({background}: FullWidthBackgroundProps) => (\n <div\n className={b('background', {['full-width']: true})}\n style={{backgroundColor: background?.color}}\n />\n);\n\nexport const HeaderBlock = (props: React.PropsWithChildren<HeaderBlockFullProps>) => {\n const {\n title,\n overtitle,\n description,\n buttons,\n image,\n video,\n width = 'm',\n imageSize,\n offset = 'default',\n background,\n theme: textTheme = 'light',\n verticalOffset = 'm',\n className,\n breadcrumbs,\n status,\n renderTitle,\n children,\n mediaView = 'full',\n centered,\n } = props;\n const isMobile = React.useContext(MobileContext);\n const theme = useTheme();\n const hasRightSideImage = Boolean((image || video) && !centered);\n const curImageSize = imageSize || getImageSize(width);\n const titleSizes = hasRightSideImage ? titleWithImageSizes(curImageSize) : getTitleSizes(width);\n let curVerticalOffset = verticalOffset;\n\n if (hasRightSideImage && !verticalOffset) {\n curVerticalOffset = 'm';\n }\n\n const backgroundThemed = background && getThemedValue(background, theme);\n const imageThemed = image && getThemedValue(image, theme);\n const videoThemed = video && getThemedValue(video, theme);\n const mediaWithMicrodata = mergeVideoMicrodata(\n {video: videoThemed, image: imageThemed},\n {\n name: title,\n description,\n },\n );\n const fullWidth = backgroundThemed?.fullWidth || backgroundThemed?.fullWidthMedia;\n const titleId = useUniqId();\n\n return (\n <header\n className={b(\n {\n ['has-media']: hasRightSideImage,\n ['full-width']: fullWidth,\n ['media-view']: mediaView,\n ['controls-view']: textTheme,\n },\n className,\n )}\n >\n {backgroundThemed && fullWidth && <FullWidthBackground background={backgroundThemed} />}\n {backgroundThemed && <Background background={backgroundThemed} isMobile={isMobile} />}\n <Grid containerClass={b('container-fluid')}>\n {breadcrumbs && (\n <Row className={b('breadcrumbs')}>\n <Col>\n <HeaderBreadcrumbs {...breadcrumbs} theme={textTheme} />\n </Col>\n </Row>\n )}\n <Row>\n <Col reset className={b('content-wrapper')}>\n <Row>\n <Col\n className={b('content', {\n offset,\n theme: textTheme,\n 'vertical-offset': curVerticalOffset,\n })}\n >\n <Col sizes={titleSizes} className={b('content-inner', {centered})}>\n {overtitle && (\n <div className={b('overtitle')}>\n {typeof overtitle === 'string' ? (\n <HTML>{overtitle}</HTML>\n ) : (\n overtitle\n )}\n </div>\n )}\n <h1 className={b('title')} id={titleId}>\n {status}\n {renderTitle ? renderTitle(title) : <HTML>{title}</HTML>}\n </h1>\n {description && (\n <div className={b('description', {theme: textTheme})}>\n <YFMWrapper\n content={description}\n modifiers={{\n constructor: true,\n constructorTheme: textTheme,\n }}\n />\n </div>\n )}\n {buttons && (\n <div className={b('buttons')} data-qa=\"header-buttons\">\n {buttons.map((button, index) => (\n <RouterLink href={button.url} key={index}>\n <Button\n key={index}\n className={b('button')}\n size=\"xl\"\n extraProps={{\n 'aria-describedby': titleId,\n ...button.extraProps,\n }}\n {...button}\n />\n </RouterLink>\n ))}\n </div>\n )}\n {children}\n </Col>\n </Col>\n </Row>\n {hasRightSideImage && (\n <Media\n className={b('media', {[curImageSize]: true})}\n videoClassName={b('video')}\n imageClassName={b('image')}\n {...mediaWithMicrodata}\n />\n )}\n </Col>\n </Row>\n </Grid>\n </header>\n );\n};\n\nexport default HeaderBlock;\n"]}
1
+ {"version":3,"file":"Header.js","sourceRoot":"../../../../src","sources":["blocks/Header/Header.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\nimport {useUniqId} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport {Button, Media, RouterLink} from '../../components';\nimport HeaderBreadcrumbs from '../../components/HeaderBreadcrumbs/HeaderBreadcrumbs';\nimport {getMediaImage} from '../../components/Media/Image/utils';\nimport YFMWrapper from '../../components/YFMWrapper/YFMWrapper';\nimport {MobileContext} from '../../context/mobileContext';\nimport {useTheme} from '../../context/theme';\nimport {Col, Grid, Row} from '../../grid';\nimport {ClassNameProps, HeaderBlockBackground, HeaderBlockProps} from '../../models';\nimport {block, getThemedValue} from '../../utils';\nimport {mergeVideoMicrodata} from '../../utils/microdata';\n\nimport {getImageSize, getTitleSizes, titleWithImageSizes} from './utils';\nimport './Header.scss';\n\nconst b = block('header-block');\n\ntype HeaderBlockFullProps = HeaderBlockProps & ClassNameProps;\n\ninterface BackgroundProps {\n background: HeaderBlockBackground;\n isMobile: boolean;\n}\n\nconst Background = ({background, isMobile}: BackgroundProps) => {\n const {url, image, fullWidthMedia, video, color} = background;\n const imageObject = url ? getMediaImage(url) : image;\n const renderMedia = !isMobile || (typeof image === 'object' && 'mobile' in image);\n\n return (\n <div\n className={b('background', {media: true, 'full-width-media': fullWidthMedia})}\n style={{backgroundColor: color}}\n >\n {renderMedia && (\n <Media\n {...background}\n className={b('background-media')}\n imageClassName={b('image')}\n videoClassName={b('video')}\n isBackground={true}\n parallax={false}\n video={isMobile ? undefined : video}\n image={imageObject}\n />\n )}\n </div>\n );\n};\n\ninterface FullWidthBackgroundProps {\n background: HeaderBlockBackground;\n}\n\nconst FullWidthBackground = ({background}: FullWidthBackgroundProps) => (\n <div\n className={b('background', {['full-width']: true})}\n style={{backgroundColor: background?.color}}\n />\n);\n\nexport const HeaderBlock = (props: React.PropsWithChildren<HeaderBlockFullProps>) => {\n const {\n title,\n overtitle,\n description,\n buttons,\n image,\n video,\n width = 'm',\n imageSize,\n offset = 'default',\n background,\n theme: textTheme = 'light',\n verticalOffset = 'm',\n className,\n breadcrumbs,\n status,\n renderTitle,\n children,\n mediaView = 'full',\n centered,\n } = props;\n const isMobile = React.useContext(MobileContext);\n const theme = useTheme();\n const hasRightSideImage = Boolean((image || video) && !centered);\n const curImageSize = imageSize || getImageSize(width);\n const titleSizes = hasRightSideImage ? titleWithImageSizes(curImageSize) : getTitleSizes(width);\n let curVerticalOffset = verticalOffset;\n\n if (hasRightSideImage && !verticalOffset) {\n curVerticalOffset = 'm';\n }\n\n const backgroundThemed = background && getThemedValue(background, theme);\n const imageThemed = image && getThemedValue(image, theme);\n const videoThemed = video && getThemedValue(video, theme);\n const mediaWithMicrodata = mergeVideoMicrodata(\n {video: videoThemed, image: imageThemed},\n {\n name: title,\n description,\n },\n );\n const fullWidth = backgroundThemed?.fullWidth || backgroundThemed?.fullWidthMedia;\n const titleId = useUniqId();\n\n return (\n <header\n className={b(\n {\n ['has-media']: hasRightSideImage,\n ['full-width']: fullWidth,\n ['media-view']: mediaView,\n ['controls-view']: textTheme,\n },\n className,\n )}\n >\n {backgroundThemed && fullWidth && <FullWidthBackground background={backgroundThemed} />}\n {backgroundThemed && <Background background={backgroundThemed} isMobile={isMobile} />}\n <Grid containerClass={b('container-fluid')}>\n {breadcrumbs && (\n <Row className={b('breadcrumbs')}>\n <Col>\n <HeaderBreadcrumbs {...breadcrumbs} theme={textTheme} />\n </Col>\n </Row>\n )}\n <Row>\n <Col reset className={b('content-wrapper')}>\n <Row>\n <Col\n className={b('content', {\n offset,\n theme: textTheme,\n 'vertical-offset': curVerticalOffset,\n })}\n >\n <Col sizes={titleSizes} className={b('content-inner', {centered})}>\n {overtitle && typeof overtitle === 'string' ? (\n <YFMWrapper\n tagName=\"div\"\n className={b('overtitle')}\n content={overtitle}\n modifiers={{\n constructor: true,\n }}\n />\n ) : (\n <div className={b('overtitle')}>{overtitle}</div>\n )}\n <YFMWrapper\n content={title}\n contentClassName={b('title')}\n className={b('title-container')}\n modifiers={{\n constructor: true,\n constructorTheme: textTheme,\n }}\n tagName=\"h1\"\n contentPosition=\"end\"\n >\n {status}\n {renderTitle ? renderTitle(title) : null}\n </YFMWrapper>\n {description && (\n <div className={b('description', {theme: textTheme})}>\n <YFMWrapper\n content={description}\n modifiers={{\n constructor: true,\n constructorTheme: textTheme,\n }}\n />\n </div>\n )}\n {buttons && (\n <div className={b('buttons')} data-qa=\"header-buttons\">\n {buttons.map((button, index) => (\n <RouterLink href={button.url} key={index}>\n <Button\n key={index}\n className={b('button')}\n size=\"xl\"\n extraProps={{\n 'aria-describedby': titleId,\n ...button.extraProps,\n }}\n {...button}\n />\n </RouterLink>\n ))}\n </div>\n )}\n {children}\n </Col>\n </Col>\n </Row>\n {hasRightSideImage && (\n <Media\n className={b('media', {[curImageSize]: true})}\n videoClassName={b('video')}\n imageClassName={b('image')}\n {...mediaWithMicrodata}\n />\n )}\n </Col>\n </Row>\n </Grid>\n </header>\n );\n};\n\nexport default HeaderBlock;\n"]}
@@ -34,13 +34,6 @@ unpredictable css rules order in build */
34
34
  padding-right: 32px;
35
35
  }
36
36
  }
37
- @media (max-width: 769px) {
38
- .pc-header-slider-block.pc-SliderBlock {
39
- margin-left: -8px;
40
- padding-left: 0;
41
- width: calc(100% + 8px);
42
- }
43
- }
44
37
  @media (max-width: 577px) {
45
38
  .pc-header-slider-block__item-content .pc-header-block__content {
46
39
  padding-left: 0;
@@ -49,7 +42,4 @@ unpredictable css rules order in build */
49
42
  .pc-header-slider-block__item-content .pc-header-block__container-fluid {
50
43
  padding-left: 24px;
51
44
  }
52
- .pc-header-slider-block .slick-track .slick-slide {
53
- max-width: 100%;
54
- }
55
45
  }
@@ -1,11 +1,11 @@
1
1
  import { __rest } from "tslib";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
+ import { SliderBlock } from "../index.js";
4
5
  import { MobileContext } from "../../context/mobileContext/index.js";
5
6
  import { SliderType } from "../../models/index.js";
6
7
  import { block } from "../../utils/index.js";
7
8
  import Header from "../Header/Header.js";
8
- import { SliderBlock } from "../index.js";
9
9
  import './HeaderSlider.css';
10
10
  const b = block('header-slider-block');
11
11
  export const HeaderSliderBlock = (_a) => {
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderSlider.js","sourceRoot":"../../../../src","sources":["blocks/HeaderSlider/HeaderSlider.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAC1D,OAAO,EAAyB,UAAU,EAAC,8BAAqB;AAChE,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,MAAM,4BAAyB;AACtC,OAAO,EAAC,WAAW,EAAC,oBAAiB;AAErC,OAAO,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAiD,EAAE,EAAE;QAArD,EAAC,KAAK,EAAE,MAAM,OAAmC,EAA9B,KAAK,cAAxB,mBAAyB,CAAD;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7C,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aAAU,eAAe,YACjD,KAAC,WAAW,oBACJ,KAAK,IACT,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,UAAU,CAAC,UAAU,EAC3B,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,CAAC,EAAE,EACnB,SAAS,EAAE,EAAE,YAEZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,cAEI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACX,sBAAsB,KAAK,GAAG,CAAC,EAAE,YAE1C,KAAC,MAAM,oBAAK,IAAI,IAAE,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,IAJ7C,KAAK,CAKR,CACT,CAAC,IACQ,GACZ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {HeaderSliderBlockProps, SliderType} from '../../models';\nimport {block} from '../../utils';\nimport Header from '../Header/Header';\nimport {SliderBlock} from '../index';\n\nimport './HeaderSlider.scss';\n\nconst b = block('header-slider-block');\n\nexport const HeaderSliderBlock = ({items, arrows, ...props}: HeaderSliderBlockProps) => {\n const isMobile = React.useContext(MobileContext);\n const showArrows = isMobile ? false : arrows;\n\n return (\n <div className={b('wrapper')} data-qa=\"header-slider\">\n <SliderBlock\n {...props}\n arrows={showArrows}\n slidesToShow={1}\n type={SliderType.HeaderCard}\n animated={false}\n blockClassName={b()}\n arrowSize={20}\n >\n {items.map((item, index) => (\n <div\n key={index}\n className={b('item')}\n data-qa={`header-slider-item-${index + 1}`}\n >\n <Header {...item} className={b('item-content')} />\n </div>\n ))}\n </SliderBlock>\n </div>\n );\n};\n\nexport default HeaderSliderBlock;\n"]}
1
+ {"version":3,"file":"HeaderSlider.js","sourceRoot":"../../../../src","sources":["blocks/HeaderSlider/HeaderSlider.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,WAAW,EAAC,oBAAqB;AACzC,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAC1D,OAAO,EAAyB,UAAU,EAAC,8BAAqB;AAChE,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,MAAM,4BAAyB;AAEtC,OAAO,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAiD,EAAE,EAAE;QAArD,EAAC,KAAK,EAAE,MAAM,OAAmC,EAA9B,KAAK,cAAxB,mBAAyB,CAAD;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7C,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aAAU,eAAe,YACjD,KAAC,WAAW,oBACJ,KAAK,IACT,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,UAAU,CAAC,UAAU,EAC3B,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,CAAC,EAAE,EACnB,SAAS,EAAE,EAAE,YAEZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,cAEI,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACX,sBAAsB,KAAK,GAAG,CAAC,EAAE,YAE1C,KAAC,MAAM,oBAAK,IAAI,IAAE,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,IAJ7C,KAAK,CAKR,CACT,CAAC,IACQ,GACZ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {SliderBlock} from '../../blocks';\nimport {MobileContext} from '../../context/mobileContext';\nimport {HeaderSliderBlockProps, SliderType} from '../../models';\nimport {block} from '../../utils';\nimport Header from '../Header/Header';\n\nimport './HeaderSlider.scss';\n\nconst b = block('header-slider-block');\n\nexport const HeaderSliderBlock = ({items, arrows, ...props}: HeaderSliderBlockProps) => {\n const isMobile = React.useContext(MobileContext);\n const showArrows = isMobile ? false : arrows;\n\n return (\n <div className={b('wrapper')} data-qa=\"header-slider\">\n <SliderBlock\n {...props}\n arrows={showArrows}\n slidesToShow={1}\n type={SliderType.HeaderCard}\n animated={false}\n blockClassName={b()}\n arrowSize={20}\n >\n {items.map((item, index) => (\n <div\n key={index}\n className={b('item')}\n data-qa={`header-slider-item-${index + 1}`}\n >\n <Header {...item} className={b('item-content')} />\n </div>\n ))}\n </SliderBlock>\n </div>\n );\n};\n\nexport default HeaderSliderBlock;\n"]}
@@ -574,6 +574,9 @@ export declare const HeaderSliderBlock: {
574
574
  };
575
575
  };
576
576
  };
577
+ type: {
578
+ type: string;
579
+ };
577
580
  dots: {
578
581
  type: string;
579
582
  };
@@ -613,11 +616,17 @@ export declare const HeaderSliderBlock: {
613
616
  randomOrder: {
614
617
  type: string;
615
618
  };
619
+ adaptive: {
620
+ type: string;
621
+ };
616
622
  animated: {
617
623
  animated: {
618
624
  type: string;
619
625
  };
620
626
  };
627
+ arrowSize: {
628
+ type: string;
629
+ };
621
630
  anchor: {
622
631
  type: string;
623
632
  additionalProperties: boolean;
@@ -657,7 +666,6 @@ export declare const HeaderSliderBlock: {
657
666
  };
658
667
  };
659
668
  };
660
- type: {};
661
669
  when: {
662
670
  type: string;
663
671
  };
@@ -1,4 +1,4 @@
1
- .pc-QuestionsBlockItem__title {
1
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title {
2
2
  margin: 0;
3
3
  }
4
4
 
@@ -11,45 +11,55 @@ unpredictable css rules order in build */
11
11
  .pc-QuestionsBlockItem + .pc-QuestionsBlockItem {
12
12
  padding-top: 32px;
13
13
  }
14
- .pc-QuestionsBlockItem__title {
15
- display: inline-block;
16
- margin: 0;
17
- padding: 0;
18
- font: inherit;
19
- border: none;
20
- outline: none;
21
- color: inherit;
22
- background: none;
23
- cursor: pointer;
14
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title {
24
15
  font-size: var(--g-text-header-1-font-size);
25
16
  line-height: var(--g-text-header-1-line-height);
26
17
  color: var(--pc-text-header-color);
27
18
  font-weight: var(--g-text-accent-font-weight);
28
- position: relative;
29
- display: block;
30
- width: 100%;
31
- padding-right: 24px;
32
- text-align: start;
33
19
  cursor: pointer;
34
20
  border-radius: var(--g-focus-border-radius);
35
21
  }
36
- .pc-QuestionsBlockItem__title:focus {
22
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title:focus {
37
23
  outline: 2px solid var(--g-color-line-focus);
38
24
  outline-offset: 0;
39
25
  }
40
- .pc-QuestionsBlockItem__title:focus:not(:focus-visible) {
26
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title:focus:not(:focus-visible) {
41
27
  outline: 0;
42
28
  }
43
- .pc-QuestionsBlockItem__title a {
29
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a {
44
30
  outline: none;
45
31
  color: var(--g-color-text-link);
46
32
  text-decoration: none;
47
33
  cursor: pointer;
48
34
  }
49
- .utilityfocus .pc-QuestionsBlockItem__title a:focus {
35
+ .utilityfocus .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:focus {
50
36
  outline: 2px solid #ffdb4d;
51
37
  }
52
- .pc-QuestionsBlockItem__title a:hover, .pc-QuestionsBlockItem__title a:active {
38
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:hover, .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:active {
39
+ --pc-text-header-color: var(--g-color-text-link-hover);
40
+ color: var(--g-color-text-link-hover);
41
+ }
42
+
43
+ .pc-QuestionsBlockItem__title-container {
44
+ margin: 0;
45
+ position: relative;
46
+ display: block;
47
+ width: 100%;
48
+ padding-right: 24px;
49
+ text-align: start;
50
+ cursor: pointer;
51
+ border-radius: var(--g-focus-border-radius);
52
+ }
53
+ .pc-QuestionsBlockItem__title-container a {
54
+ outline: none;
55
+ color: var(--g-color-text-link);
56
+ text-decoration: none;
57
+ cursor: pointer;
58
+ }
59
+ .utilityfocus .pc-QuestionsBlockItem__title-container a:focus {
60
+ outline: 2px solid #ffdb4d;
61
+ }
62
+ .pc-QuestionsBlockItem__title-container a:hover, .pc-QuestionsBlockItem__title-container a:active {
53
63
  --pc-text-header-color: var(--g-color-text-link-hover);
54
64
  color: var(--g-color-text-link-hover);
55
65
  }
@@ -75,4 +85,16 @@ unpredictable css rules order in build */
75
85
  font-size: var(--g-text-body-2-font-size);
76
86
  line-height: var(--g-text-body-2-line-height);
77
87
  margin-top: 12px;
88
+ }
89
+ .pc-QuestionsBlockItem__button {
90
+ display: inline-block;
91
+ margin: 0;
92
+ padding: 0;
93
+ font: inherit;
94
+ border: none;
95
+ outline: none;
96
+ color: inherit;
97
+ background: none;
98
+ cursor: pointer;
99
+ width: 100%;
78
100
  }