@gravity-ui/page-constructor 6.0.1-beta.0 → 7.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/README.md +10 -0
  2. package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
  3. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  4. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  5. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -5
  6. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  7. package/build/cjs/blocks/Form/schema.js +1 -1
  8. package/build/cjs/blocks/Form/schema.js.map +1 -1
  9. package/build/cjs/blocks/Header/Header.css +21 -10
  10. package/build/cjs/blocks/Header/Header.js +15 -4
  11. package/build/cjs/blocks/Header/Header.js.map +1 -1
  12. package/build/cjs/blocks/Header/schema.d.ts +6 -0
  13. package/build/cjs/blocks/Header/schema.js +3 -0
  14. package/build/cjs/blocks/Header/schema.js.map +1 -1
  15. package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
  16. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
  17. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  18. package/build/cjs/blocks/HeaderSlider/schema.d.ts +12 -1
  19. package/build/cjs/blocks/HeaderSlider/schema.js +1 -1
  20. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  21. package/build/cjs/blocks/Info/schema.js +1 -1
  22. package/build/cjs/blocks/Info/schema.js.map +1 -1
  23. package/build/cjs/blocks/Media/schema.js +1 -1
  24. package/build/cjs/blocks/Media/schema.js.map +1 -1
  25. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  26. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +3 -1
  27. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  28. package/build/cjs/blocks/Questions/schema.js +1 -1
  29. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  30. package/build/cjs/blocks/Share/Share.js +5 -1
  31. package/build/cjs/blocks/Share/Share.js.map +1 -1
  32. package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
  33. package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  34. package/build/cjs/blocks/Slider/Arrow/Arrow.js +1 -1
  35. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  36. package/build/cjs/blocks/Slider/Slider.css +549 -329
  37. package/build/cjs/blocks/Slider/Slider.d.ts +6 -5
  38. package/build/cjs/blocks/Slider/Slider.js +31 -271
  39. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  40. package/build/cjs/blocks/Slider/i18n/en.json +1 -1
  41. package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
  42. package/build/cjs/blocks/Slider/models.d.ts +2 -2
  43. package/build/cjs/blocks/Slider/models.js +1 -1
  44. package/build/cjs/blocks/Slider/models.js.map +1 -1
  45. package/build/cjs/blocks/Slider/schema.d.ts +18 -1
  46. package/build/cjs/blocks/Slider/schema.js +9 -0
  47. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  48. package/build/{esm/blocks/SliderNew → cjs/blocks/Slider}/useSlider.d.ts +1 -0
  49. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  50. package/build/cjs/blocks/Slider/useSlider.js.map +1 -0
  51. package/build/cjs/blocks/Slider/useSliderPagination.js.map +1 -0
  52. package/build/cjs/blocks/Slider/utils.d.ts +7 -28
  53. package/build/cjs/blocks/Slider/utils.js +27 -109
  54. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  55. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  56. package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
  57. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js +11 -0
  58. package/build/cjs/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  59. package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
  60. package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
  61. package/build/cjs/blocks/SliderOld/SliderOld.js +292 -0
  62. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -0
  63. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  64. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  65. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  66. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  67. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  68. package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  69. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
  70. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  71. package/build/{esm/blocks/SliderNew → cjs/blocks/SliderOld}/schema.d.ts +5 -21
  72. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
  73. package/build/cjs/blocks/SliderOld/schema.js.map +1 -0
  74. package/build/cjs/blocks/SliderOld/utils.d.ts +37 -0
  75. package/build/cjs/blocks/SliderOld/utils.js +126 -0
  76. package/build/cjs/blocks/SliderOld/utils.js.map +1 -0
  77. package/build/cjs/blocks/Table/Table.css +4 -3
  78. package/build/cjs/blocks/Table/Table.js +3 -1
  79. package/build/cjs/blocks/Table/Table.js.map +1 -1
  80. package/build/cjs/blocks/Tabs/schema.js +1 -1
  81. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  82. package/build/cjs/blocks/index.d.ts +2 -0
  83. package/build/cjs/blocks/index.js +3 -1
  84. package/build/cjs/blocks/index.js.map +1 -1
  85. package/build/cjs/blocks/validators.d.ts +1 -0
  86. package/build/cjs/blocks/validators.js +1 -0
  87. package/build/cjs/blocks/validators.js.map +1 -1
  88. package/build/cjs/components/BackLink/BackLink.js +5 -2
  89. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  90. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +3 -3
  91. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  92. package/build/cjs/components/BrandFooter/BrandFooter.css +21 -17
  93. package/build/cjs/components/BrandFooter/BrandFooter.js +1 -1
  94. package/build/cjs/components/BrandFooter/BrandFooter.js.map +1 -1
  95. package/build/cjs/components/Button/Button.js +2 -3
  96. package/build/cjs/components/Button/Button.js.map +1 -1
  97. package/build/cjs/components/CardBase/CardBase.css +1 -0
  98. package/build/cjs/components/ContentList/ContentList.css +16 -12
  99. package/build/cjs/components/ContentList/ContentList.js +1 -1
  100. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  101. package/build/cjs/components/FileLink/FileLink.js +8 -1
  102. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  103. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +1 -1
  104. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  105. package/build/cjs/components/FullscreenImage/FullscreenImage.css +96 -18
  106. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  107. package/build/cjs/components/FullscreenImage/FullscreenImage.js +14 -2
  108. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  109. package/build/cjs/components/HTML/HTML.d.ts +15 -8
  110. package/build/cjs/components/HTML/HTML.js +15 -10
  111. package/build/cjs/components/HTML/HTML.js.map +1 -1
  112. package/build/cjs/components/ImageBase/ImageBase.js +1 -1
  113. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  114. package/build/cjs/components/Link/Link.js +11 -2
  115. package/build/cjs/components/Link/Link.js.map +1 -1
  116. package/build/cjs/components/Map/GoogleMap.js +1 -1
  117. package/build/cjs/components/Map/GoogleMap.js.map +1 -1
  118. package/build/cjs/components/Map/YMap/YandexMap.js +1 -1
  119. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  120. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  121. package/build/cjs/components/Media/Image/Image.js +8 -6
  122. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  123. package/build/cjs/components/Media/Media.css +4 -0
  124. package/build/cjs/components/Media/Media.d.ts +1 -0
  125. package/build/cjs/components/Media/Media.js +3 -2
  126. package/build/cjs/components/Media/Media.js.map +1 -1
  127. package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
  128. package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
  129. package/build/cjs/components/MetaInfo/MetaInfo.js.map +1 -1
  130. package/build/cjs/components/OutsideClick/OutsideClick.js +1 -1
  131. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  132. package/build/cjs/components/OverflowScroller/OverflowScroller.js +1 -1
  133. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  134. package/build/cjs/components/ReactPlayer/ReactPlayer.js +1 -1
  135. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  136. package/build/cjs/components/Table/Table.css +2 -1
  137. package/build/cjs/components/Table/Table.js +4 -2
  138. package/build/cjs/components/Table/Table.js.map +1 -1
  139. package/build/cjs/components/Title/TitleItem.css +15 -5
  140. package/build/cjs/components/Title/TitleItem.js +4 -1
  141. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  142. package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
  143. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  144. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  145. package/build/cjs/components/YFMWrapper/YFMWrapper.js +4 -3
  146. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  147. package/build/cjs/constructor-items.d.ts +2 -2
  148. package/build/cjs/constructor-items.js +2 -4
  149. package/build/cjs/constructor-items.js.map +1 -1
  150. package/build/cjs/containers/PageConstructor/PageConstructor.css +1 -0
  151. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
  152. package/build/cjs/containers/PageConstructor/PageConstructor.js +1 -1
  153. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  154. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  155. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  156. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  157. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  158. package/build/cjs/editor/components/AddBlock/AddBlock.js +1 -1
  159. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  160. package/build/cjs/editor/components/BlockForm/BlockForm.js +2 -2
  161. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  162. package/build/cjs/editor/components/CodeEditor/CodeEditor.js +1 -1
  163. package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  164. package/build/cjs/editor/components/ControlPanel/ControlPanel.css +1 -1
  165. package/build/cjs/editor/components/PageSettings/PageSettings.js +1 -1
  166. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  167. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  168. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  169. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  170. package/build/cjs/editor/dynamic-forms-custom/config.js +1 -1
  171. package/build/cjs/editor/dynamic-forms-custom/config.js.map +1 -1
  172. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  173. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  174. package/build/cjs/editor/store/main/utils.js +1 -1
  175. package/build/cjs/editor/store/main/utils.js.map +1 -1
  176. package/build/cjs/editor/utils/index.js +1 -1
  177. package/build/cjs/editor/utils/index.js.map +1 -1
  178. package/build/cjs/editor/utils/validation.js +1 -1
  179. package/build/cjs/editor/utils/validation.js.map +1 -1
  180. package/build/cjs/hooks/useFocus.js +1 -1
  181. package/build/cjs/hooks/useFocus.js.map +1 -1
  182. package/build/cjs/hooks/useHeightCalculator.js +1 -1
  183. package/build/cjs/hooks/useHeightCalculator.js.map +1 -1
  184. package/build/cjs/hooks/useWindowBreakpoint.js +1 -1
  185. package/build/cjs/hooks/useWindowBreakpoint.js.map +1 -1
  186. package/build/cjs/models/common.d.ts +1 -0
  187. package/build/cjs/models/common.js.map +1 -1
  188. package/build/cjs/models/constructor-items/blocks.d.ts +19 -16
  189. package/build/cjs/models/constructor-items/blocks.js +3 -2
  190. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  191. package/build/cjs/models/constructor-items/common.d.ts +2 -2
  192. package/build/cjs/models/constructor-items/common.js.map +1 -1
  193. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +1 -1
  194. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  195. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  196. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  197. package/build/cjs/navigation/hooks/useActiveNavItem.d.ts +2 -2
  198. package/build/cjs/navigation/hooks/useShowBorder.js +1 -1
  199. package/build/cjs/navigation/hooks/useShowBorder.js.map +1 -1
  200. package/build/cjs/navigation/schema.js +1 -1
  201. package/build/cjs/navigation/schema.js.map +1 -1
  202. package/build/cjs/navigation/utils.d.ts +1 -1
  203. package/build/cjs/schema/constants.js +3 -1
  204. package/build/cjs/schema/constants.js.map +1 -1
  205. package/build/cjs/schema/validators/blocks.d.ts +2 -2
  206. package/build/cjs/schema/validators/blocks.js +2 -2
  207. package/build/cjs/schema/validators/blocks.js.map +1 -1
  208. package/build/cjs/schema/validators/common.js +1 -1
  209. package/build/cjs/schema/validators/common.js.map +1 -1
  210. package/build/cjs/sub-blocks/BackgroundCard/schema.js +1 -1
  211. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  212. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +14 -8
  213. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +3 -1
  214. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  215. package/build/cjs/sub-blocks/BasicCard/schema.js +1 -1
  216. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  217. package/build/cjs/sub-blocks/Content/Content.css +80 -31
  218. package/build/cjs/sub-blocks/Content/Content.js +3 -1
  219. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  220. package/build/cjs/sub-blocks/ImageCard/ImageCard.css +2 -0
  221. package/build/cjs/sub-blocks/ImageCard/schema.js +1 -1
  222. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  223. package/build/cjs/sub-blocks/LayoutItem/schema.js +1 -1
  224. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  225. package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
  226. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +3 -4
  227. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  228. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  229. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  230. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  231. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  232. package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
  233. package/build/cjs/sub-blocks/Quote/Quote.js +2 -1
  234. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  235. package/build/cjs/text-transform/common.d.ts +4 -3
  236. package/build/cjs/text-transform/common.js +41 -18
  237. package/build/cjs/text-transform/common.js.map +1 -1
  238. package/build/cjs/text-transform/config.d.ts +5 -2
  239. package/build/cjs/text-transform/config.js +84 -43
  240. package/build/cjs/text-transform/config.js.map +1 -1
  241. package/build/cjs/text-transform/transformers.js +4 -4
  242. package/build/cjs/text-transform/transformers.js.map +1 -1
  243. package/build/cjs/utils/blocks.d.ts +10 -2
  244. package/build/cjs/utils/blocks.js +12 -5
  245. package/build/cjs/utils/blocks.js.map +1 -1
  246. package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
  247. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  248. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  249. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -6
  250. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  251. package/build/esm/blocks/Form/schema.js +1 -1
  252. package/build/esm/blocks/Form/schema.js.map +1 -1
  253. package/build/esm/blocks/Header/Header.css +21 -10
  254. package/build/esm/blocks/Header/Header.js +16 -5
  255. package/build/esm/blocks/Header/Header.js.map +1 -1
  256. package/build/esm/blocks/Header/schema.d.ts +6 -0
  257. package/build/esm/blocks/Header/schema.js +3 -0
  258. package/build/esm/blocks/Header/schema.js.map +1 -1
  259. package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
  260. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  261. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  262. package/build/esm/blocks/HeaderSlider/schema.d.ts +12 -1
  263. package/build/esm/blocks/HeaderSlider/schema.js +1 -1
  264. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  265. package/build/esm/blocks/Info/schema.js +1 -1
  266. package/build/esm/blocks/Info/schema.js.map +1 -1
  267. package/build/esm/blocks/Media/schema.js +1 -1
  268. package/build/esm/blocks/Media/schema.js.map +1 -1
  269. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  270. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +4 -2
  271. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  272. package/build/esm/blocks/Questions/schema.js +1 -1
  273. package/build/esm/blocks/Questions/schema.js.map +1 -1
  274. package/build/esm/blocks/Share/Share.js +5 -1
  275. package/build/esm/blocks/Share/Share.js.map +1 -1
  276. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  277. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +4 -2
  278. package/build/esm/blocks/Slider/Arrow/Arrow.js +1 -1
  279. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  280. package/build/esm/blocks/Slider/Slider.css +549 -329
  281. package/build/esm/blocks/Slider/Slider.d.ts +6 -5
  282. package/build/esm/blocks/Slider/Slider.js +32 -272
  283. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  284. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  285. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  286. package/build/esm/blocks/Slider/models.d.ts +2 -2
  287. package/build/esm/blocks/Slider/models.js +1 -1
  288. package/build/esm/blocks/Slider/models.js.map +1 -1
  289. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  290. package/build/esm/blocks/Slider/schema.js +9 -0
  291. package/build/esm/blocks/Slider/schema.js.map +1 -1
  292. package/build/{cjs/blocks/SliderNew → esm/blocks/Slider}/useSlider.d.ts +1 -0
  293. package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  294. package/build/esm/blocks/Slider/useSlider.js.map +1 -0
  295. package/build/esm/blocks/Slider/useSliderPagination.js.map +1 -0
  296. package/build/esm/blocks/Slider/utils.d.ts +7 -28
  297. package/build/esm/blocks/Slider/utils.js +24 -103
  298. package/build/esm/blocks/Slider/utils.js.map +1 -1
  299. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  300. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  301. package/build/esm/blocks/SliderOld/Arrow/Arrow.js +9 -0
  302. package/build/esm/blocks/SliderOld/Arrow/Arrow.js.map +1 -0
  303. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  304. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  305. package/build/esm/blocks/SliderOld/SliderOld.js +288 -0
  306. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -0
  307. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  308. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +1 -1
  309. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  310. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js.map +1 -1
  311. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  312. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  313. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  314. package/build/esm/blocks/{SliderNew → SliderOld}/models.js.map +1 -1
  315. package/build/{cjs/blocks/SliderNew → esm/blocks/SliderOld}/schema.d.ts +5 -21
  316. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  317. package/build/esm/blocks/SliderOld/schema.js.map +1 -0
  318. package/build/esm/blocks/SliderOld/utils.d.ts +37 -0
  319. package/build/esm/blocks/SliderOld/utils.js +116 -0
  320. package/build/esm/blocks/SliderOld/utils.js.map +1 -0
  321. package/build/esm/blocks/Table/Table.css +4 -3
  322. package/build/esm/blocks/Table/Table.js +4 -2
  323. package/build/esm/blocks/Table/Table.js.map +1 -1
  324. package/build/esm/blocks/Tabs/schema.js +1 -1
  325. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  326. package/build/esm/blocks/index.d.ts +2 -0
  327. package/build/esm/blocks/index.js +1 -0
  328. package/build/esm/blocks/index.js.map +1 -1
  329. package/build/esm/blocks/validators.d.ts +1 -0
  330. package/build/esm/blocks/validators.js +1 -0
  331. package/build/esm/blocks/validators.js.map +1 -1
  332. package/build/esm/components/BackLink/BackLink.js +5 -2
  333. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  334. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +3 -3
  335. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  336. package/build/esm/components/BrandFooter/BrandFooter.css +21 -17
  337. package/build/esm/components/BrandFooter/BrandFooter.js +1 -1
  338. package/build/esm/components/BrandFooter/BrandFooter.js.map +1 -1
  339. package/build/esm/components/Button/Button.js +3 -4
  340. package/build/esm/components/Button/Button.js.map +1 -1
  341. package/build/esm/components/CardBase/CardBase.css +1 -0
  342. package/build/esm/components/ContentList/ContentList.css +16 -12
  343. package/build/esm/components/ContentList/ContentList.js +1 -1
  344. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  345. package/build/esm/components/FileLink/FileLink.js +8 -1
  346. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  347. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +1 -1
  348. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  349. package/build/esm/components/FullscreenImage/FullscreenImage.css +96 -18
  350. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  351. package/build/esm/components/FullscreenImage/FullscreenImage.js +14 -2
  352. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  353. package/build/esm/components/HTML/HTML.d.ts +15 -8
  354. package/build/esm/components/HTML/HTML.js +17 -11
  355. package/build/esm/components/HTML/HTML.js.map +1 -1
  356. package/build/esm/components/ImageBase/ImageBase.js +1 -1
  357. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  358. package/build/esm/components/Link/Link.js +12 -3
  359. package/build/esm/components/Link/Link.js.map +1 -1
  360. package/build/esm/components/Map/GoogleMap.js +1 -1
  361. package/build/esm/components/Map/GoogleMap.js.map +1 -1
  362. package/build/esm/components/Map/YMap/YandexMap.js +1 -1
  363. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  364. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  365. package/build/esm/components/Media/Image/Image.js +8 -6
  366. package/build/esm/components/Media/Image/Image.js.map +1 -1
  367. package/build/esm/components/Media/Media.css +4 -0
  368. package/build/esm/components/Media/Media.d.ts +1 -0
  369. package/build/esm/components/Media/Media.js +3 -2
  370. package/build/esm/components/Media/Media.js.map +1 -1
  371. package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
  372. package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
  373. package/build/esm/components/MetaInfo/MetaInfo.js.map +1 -1
  374. package/build/esm/components/OutsideClick/OutsideClick.js +1 -1
  375. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  376. package/build/esm/components/OverflowScroller/OverflowScroller.js +1 -1
  377. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  378. package/build/esm/components/ReactPlayer/ReactPlayer.js +1 -1
  379. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  380. package/build/esm/components/Table/Table.css +2 -1
  381. package/build/esm/components/Table/Table.js +5 -3
  382. package/build/esm/components/Table/Table.js.map +1 -1
  383. package/build/esm/components/Title/TitleItem.css +15 -5
  384. package/build/esm/components/Title/TitleItem.js +5 -2
  385. package/build/esm/components/Title/TitleItem.js.map +1 -1
  386. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  387. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  388. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  389. package/build/esm/components/YFMWrapper/YFMWrapper.js +5 -3
  390. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  391. package/build/esm/constructor-items.d.ts +2 -2
  392. package/build/esm/constructor-items.js +3 -5
  393. package/build/esm/constructor-items.js.map +1 -1
  394. package/build/esm/containers/PageConstructor/PageConstructor.css +1 -0
  395. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  396. package/build/esm/containers/PageConstructor/PageConstructor.js +1 -1
  397. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  398. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  399. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  400. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  401. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  402. package/build/esm/editor/components/AddBlock/AddBlock.js +1 -1
  403. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  404. package/build/esm/editor/components/BlockForm/BlockForm.js +2 -2
  405. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  406. package/build/esm/editor/components/CodeEditor/CodeEditor.js +1 -1
  407. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  408. package/build/esm/editor/components/ControlPanel/ControlPanel.css +1 -1
  409. package/build/esm/editor/components/PageSettings/PageSettings.js +1 -1
  410. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  411. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  412. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  413. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  414. package/build/esm/editor/dynamic-forms-custom/config.js +1 -1
  415. package/build/esm/editor/dynamic-forms-custom/config.js.map +1 -1
  416. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  417. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  418. package/build/esm/editor/store/main/utils.js +1 -1
  419. package/build/esm/editor/store/main/utils.js.map +1 -1
  420. package/build/esm/editor/utils/index.js +1 -1
  421. package/build/esm/editor/utils/index.js.map +1 -1
  422. package/build/esm/editor/utils/validation.js +1 -1
  423. package/build/esm/editor/utils/validation.js.map +1 -1
  424. package/build/esm/hooks/useFocus.js +1 -1
  425. package/build/esm/hooks/useFocus.js.map +1 -1
  426. package/build/esm/hooks/useHeightCalculator.js +1 -1
  427. package/build/esm/hooks/useHeightCalculator.js.map +1 -1
  428. package/build/esm/hooks/useWindowBreakpoint.js +1 -1
  429. package/build/esm/hooks/useWindowBreakpoint.js.map +1 -1
  430. package/build/esm/models/common.d.ts +1 -0
  431. package/build/esm/models/common.js.map +1 -1
  432. package/build/esm/models/constructor-items/blocks.d.ts +19 -16
  433. package/build/esm/models/constructor-items/blocks.js +3 -2
  434. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  435. package/build/esm/models/constructor-items/common.d.ts +2 -2
  436. package/build/esm/models/constructor-items/common.js.map +1 -1
  437. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +1 -1
  438. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  439. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  440. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  441. package/build/esm/navigation/hooks/useActiveNavItem.d.ts +2 -2
  442. package/build/esm/navigation/hooks/useShowBorder.js +1 -1
  443. package/build/esm/navigation/hooks/useShowBorder.js.map +1 -1
  444. package/build/esm/navigation/schema.js +1 -1
  445. package/build/esm/navigation/schema.js.map +1 -1
  446. package/build/esm/navigation/utils.d.ts +1 -1
  447. package/build/esm/schema/constants.js +4 -2
  448. package/build/esm/schema/constants.js.map +1 -1
  449. package/build/esm/schema/validators/blocks.d.ts +2 -2
  450. package/build/esm/schema/validators/blocks.js +2 -2
  451. package/build/esm/schema/validators/blocks.js.map +1 -1
  452. package/build/esm/schema/validators/common.js +1 -1
  453. package/build/esm/schema/validators/common.js.map +1 -1
  454. package/build/esm/sub-blocks/BackgroundCard/schema.js +1 -1
  455. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  456. package/build/esm/sub-blocks/BannerCard/BannerCard.css +14 -8
  457. package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -2
  458. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  459. package/build/esm/sub-blocks/BasicCard/schema.js +1 -1
  460. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  461. package/build/esm/sub-blocks/Content/Content.css +80 -31
  462. package/build/esm/sub-blocks/Content/Content.js +3 -1
  463. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  464. package/build/esm/sub-blocks/ImageCard/ImageCard.css +2 -0
  465. package/build/esm/sub-blocks/ImageCard/schema.js +1 -1
  466. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  467. package/build/esm/sub-blocks/LayoutItem/schema.js +1 -1
  468. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  469. package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
  470. package/build/esm/sub-blocks/PriceCard/PriceCard.js +3 -3
  471. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  472. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  473. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  474. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -0
  475. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  476. package/build/esm/sub-blocks/Quote/Quote.css +8 -4
  477. package/build/esm/sub-blocks/Quote/Quote.js +3 -2
  478. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  479. package/build/esm/text-transform/common.d.ts +4 -3
  480. package/build/esm/text-transform/common.js +41 -18
  481. package/build/esm/text-transform/common.js.map +1 -1
  482. package/build/esm/text-transform/config.d.ts +5 -2
  483. package/build/esm/text-transform/config.js +85 -44
  484. package/build/esm/text-transform/config.js.map +1 -1
  485. package/build/esm/text-transform/transformers.js +4 -4
  486. package/build/esm/text-transform/transformers.js.map +1 -1
  487. package/build/esm/utils/blocks.d.ts +10 -2
  488. package/build/esm/utils/blocks.js +11 -4
  489. package/build/esm/utils/blocks.js.map +1 -1
  490. package/package.json +17 -12
  491. package/schema/index.js +1 -1
  492. package/server/models/common.d.ts +1 -0
  493. package/server/models/constructor-items/blocks.d.ts +19 -16
  494. package/server/models/constructor-items/blocks.js +3 -2
  495. package/server/models/constructor-items/common.d.ts +2 -2
  496. package/server/text-transform/common.d.ts +4 -3
  497. package/server/text-transform/common.js +41 -18
  498. package/server/text-transform/config.d.ts +5 -2
  499. package/server/text-transform/config.js +84 -43
  500. package/server/text-transform/transformers.js +2 -2
  501. package/server/utils/blocks.d.ts +10 -2
  502. package/server/utils/blocks.js +10 -3
  503. package/styles/fonts.scss +1 -0
  504. package/styles/root.scss +1 -0
  505. package/styles/styles.css +0 -1
  506. package/styles/styles.scss +0 -1
  507. package/styles/variables.scss +1 -0
  508. package/widget/2957.index.js +1 -1
  509. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
  510. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +0 -11
  511. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  512. package/build/cjs/blocks/SliderNew/Slider.css +0 -834
  513. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
  514. package/build/cjs/blocks/SliderNew/Slider.js +0 -49
  515. package/build/cjs/blocks/SliderNew/Slider.js.map +0 -1
  516. package/build/cjs/blocks/SliderNew/schema.js.map +0 -1
  517. package/build/cjs/blocks/SliderNew/useSlider.js.map +0 -1
  518. package/build/cjs/blocks/SliderNew/useSliderPagination.js.map +0 -1
  519. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  520. package/build/cjs/blocks/SliderNew/utils.js +0 -44
  521. package/build/cjs/blocks/SliderNew/utils.js.map +0 -1
  522. package/build/cjs/blocks/unstable.d.ts +0 -1
  523. package/build/cjs/blocks/unstable.js +0 -7
  524. package/build/cjs/blocks/unstable.js.map +0 -1
  525. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  526. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +0 -9
  527. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +0 -1
  528. package/build/esm/blocks/SliderNew/Slider.css +0 -834
  529. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
  530. package/build/esm/blocks/SliderNew/Slider.js +0 -45
  531. package/build/esm/blocks/SliderNew/Slider.js.map +0 -1
  532. package/build/esm/blocks/SliderNew/schema.js.map +0 -1
  533. package/build/esm/blocks/SliderNew/useSlider.js.map +0 -1
  534. package/build/esm/blocks/SliderNew/useSliderPagination.js.map +0 -1
  535. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  536. package/build/esm/blocks/SliderNew/utils.js +0 -37
  537. package/build/esm/blocks/SliderNew/utils.js.map +0 -1
  538. package/build/esm/blocks/unstable.d.ts +0 -1
  539. package/build/esm/blocks/unstable.js +0 -2
  540. package/build/esm/blocks/unstable.js.map +0 -1
  541. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  542. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  543. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  544. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  545. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  546. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -1,34 +1,38 @@
1
1
  /* use this for style redefinitions to awoid problems with
2
2
  unpredictable css rules order in build */
3
- .pc-content-list_size_l {
3
+ .pc-content-list_size_l, .pc-content-list_size_m {
4
4
  max-width: 480px;
5
5
  }
6
- .pc-content-list_size_l .pc-content-list__title {
6
+ .pc-content-list_size_l .pc-content-list__title, .pc-content-list_size_m .pc-content-list__title {
7
7
  font-size: var(--g-text-header-1-font-size);
8
8
  line-height: var(--g-text-header-1-line-height);
9
9
  margin: 0 0 8px;
10
10
  }
11
- .pc-content-list_size_l .pc-content-list__icon {
11
+ .pc-content-list_size_l .pc-content-list__icon, .pc-content-list_size_m .pc-content-list__icon {
12
12
  width: 22px;
13
13
  height: 22px;
14
14
  margin-top: 1px;
15
15
  margin-bottom: 1px;
16
16
  margin-right: 12px;
17
17
  }
18
- .pc-content-list_size_l .pc-content-list__item:not(:last-child) {
18
+ .pc-content-list_size_l .pc-content-list__item:not(:last-child), .pc-content-list_size_m .pc-content-list__item:not(:last-child) {
19
19
  margin-bottom: 16px;
20
20
  }
21
- .pc-content-list_size_l .pc-content-list__item_without-title:not(:last-child) {
21
+ .pc-content-list_size_l .pc-content-list__item_without-title:not(:last-child), .pc-content-list_size_m .pc-content-list__item_without-title:not(:last-child) {
22
22
  margin-bottom: 12px;
23
23
  }
24
- .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__icon {
24
+ .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__icon, .pc-content-list_size_m .pc-content-list__item_without-title .pc-content-list__icon {
25
25
  width: 20px;
26
26
  height: 20px;
27
27
  margin-top: 2px;
28
28
  margin-bottom: 2px;
29
29
  margin-right: 8px;
30
30
  }
31
- .pc-content-list_size_l .pc-content-list__item_without-title .pc-content-list__text {
31
+ .pc-content-list_size_l .pc-content-list__text, .pc-content-list_size_m .pc-content-list__text {
32
+ font-size: var(--g-text-subheader-2-font-size);
33
+ line-height: var(--g-text-subheader-2-line-height);
34
+ }
35
+ .pc-content-list_size_l .pc-content-list__text_without-title, .pc-content-list_size_m .pc-content-list__text_without-title {
32
36
  font-size: var(--g-text-subheader-3-font-size);
33
37
  line-height: var(--g-text-subheader-3-line-height);
34
38
  }
@@ -47,10 +51,6 @@ unpredictable css rules order in build */
47
51
  margin-bottom: 2px;
48
52
  margin-right: 8px;
49
53
  }
50
- .pc-content-list_size_s .pc-content-list__text {
51
- font-size: var(--g-text-body-1-font-size);
52
- line-height: var(--g-text-body-1-line-height);
53
- }
54
54
  .pc-content-list_size_s .pc-content-list__item:not(:last-child) {
55
55
  margin-bottom: 12px;
56
56
  }
@@ -63,7 +63,11 @@ unpredictable css rules order in build */
63
63
  margin-top: 1px;
64
64
  margin-bottom: 1px;
65
65
  }
66
- .pc-content-list_size_s .pc-content-list__item_without-title .pc-content-list__text {
66
+ .pc-content-list_size_s .pc-content-list__text {
67
+ font-size: var(--g-text-body-1-font-size);
68
+ line-height: var(--g-text-body-1-line-height);
69
+ }
70
+ .pc-content-list_size_s .pc-content-list__text_without-title {
67
71
  font-size: var(--g-text-subheader-2-font-size);
68
72
  line-height: var(--g-text-subheader-2-line-height);
69
73
  }
@@ -23,7 +23,7 @@ const ContentList = ({ list, size = 'l', qa, theme }) => {
23
23
  return ((0, jsx_runtime_1.jsx)("div", { className: b({ size, theme }), "data-qa": qa, children: list === null || list === void 0 ? void 0 : list.map((item) => {
24
24
  const { icon, title, text } = item;
25
25
  return ((0, jsx_runtime_1.jsxs)("div", { className: b('item', { 'without-title': !title }), children: [(0, jsx_runtime_1.jsx)(ContentListItemIcon_1.default, { icon: icon, className: b('icon'), qa: qaAttributes.image }), (0, jsx_runtime_1.jsxs)("div", { children: [title &&
26
- React.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, (0, jsx_runtime_1.jsx)(YFMWrapper_1.default, { content: title, modifiers: { constructor: true } })), text && ((0, jsx_runtime_1.jsx)(YFMWrapper_1.default, { className: b('text'), content: text, modifiers: { constructor: true }, qa: qaAttributes.text }))] })] }, (0, uuid_1.v4)()));
26
+ React.createElement(getHeadingLevel(size), { className: b('title'), 'data-qa': qaAttributes.title }, (0, jsx_runtime_1.jsx)(YFMWrapper_1.default, { content: title, modifiers: { constructor: true } })), text && ((0, jsx_runtime_1.jsx)(YFMWrapper_1.default, { contentClassName: b('text', { 'without-title': !title }), content: text, modifiers: { constructor: true }, qa: qaAttributes.text }))] })] }, (0, uuid_1.v4)()));
27
27
  }) }));
28
28
  };
29
29
  exports.default = ContentList;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentList.js","sourceRoot":"../../../../src","sources":["components/ContentList/ContentList.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,+BAAkC;AAIlC,gDAAkC;AAClC,kDAAmD;AACnD,qFAAkD;AAElD,2FAA6C;AAI7C,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC;AAEhC,SAAS,eAAe,CAAC,IAAiB;IACtC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG;YACJ,OAAO,IAAI,CAAC;QAChB,KAAK,GAAG,CAAC;QACT;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAA6B,EAAE,EAAE;IAC9E,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAErE,OAAO,CACH,gCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,aAAW,EAAE,YACxC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;YACjC,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,aAChD,uBAAC,6BAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,KAAK,GAAI,EACtE,4CACK,KAAK;gCACF,KAAK,CAAC,aAAa,CACf,eAAe,CAAC,IAAI,CAAC,EACrB,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,EAAC,EACtD,uBAAC,oBAAU,IAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAAI,CACjE,EACJ,IAAI,IAAI,CACL,uBAAC,oBAAU,IACP,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAC9B,EAAE,EAAE,YAAY,CAAC,IAAI,GACvB,CACL,IACC,KAjBiD,IAAA,SAAM,GAAE,CAkB7D,CACT,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {v4 as uuidv4} from 'uuid';\n\nimport {ContentListProps, ContentSize} from '../../models';\nimport {QAProps} from '../../models/common';\nimport {block} from '../../utils';\nimport {getQaAttrubutes} from '../../utils/blocks';\nimport YFMWrapper from '../YFMWrapper/YFMWrapper';\n\nimport ItemIcon from './ContentListItemIcon';\n\nimport './ContentList.scss';\n\nconst b = block('content-list');\n\nfunction getHeadingLevel(size: ContentSize) {\n switch (size) {\n case 's':\n return 'h4';\n case 'l':\n default:\n return 'h3';\n }\n}\n\nconst ContentList = ({list, size = 'l', qa, theme}: ContentListProps & QAProps) => {\n const qaAttributes = getQaAttrubutes(qa, ['image', 'title', 'text']);\n\n return (\n <div className={b({size, theme})} data-qa={qa}>\n {list?.map((item) => {\n const {icon, title, text} = item;\n return (\n <div className={b('item', {'without-title': !title})} key={uuidv4()}>\n <ItemIcon icon={icon} className={b('icon')} qa={qaAttributes.image} />\n <div>\n {title &&\n React.createElement(\n getHeadingLevel(size),\n {className: b('title'), 'data-qa': qaAttributes.title},\n <YFMWrapper content={title} modifiers={{constructor: true}} />,\n )}\n {text && (\n <YFMWrapper\n className={b('text')}\n content={text}\n modifiers={{constructor: true}}\n qa={qaAttributes.text}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default ContentList;\n"]}
1
+ {"version":3,"file":"ContentList.js","sourceRoot":"../../../../src","sources":["components/ContentList/ContentList.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,+BAAkC;AAIlC,gDAAkC;AAClC,kDAAmD;AACnD,qFAAkD;AAElD,2FAA6C;AAI7C,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC;AAEhC,SAAS,eAAe,CAAC,IAAiB;IACtC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,GAAG;YACJ,OAAO,IAAI,CAAC;QAChB,KAAK,GAAG,CAAC;QACT;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAA6B,EAAE,EAAE;IAC9E,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAErE,OAAO,CACH,gCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,aAAW,EAAE,YACxC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;YACjC,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,aAChD,uBAAC,6BAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,KAAK,GAAI,EACtE,4CACK,KAAK;gCACF,KAAK,CAAC,aAAa,CACf,eAAe,CAAC,IAAI,CAAC,EACrB,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,EAAC,EACtD,uBAAC,oBAAU,IAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAAI,CACjE,EACJ,IAAI,IAAI,CACL,uBAAC,oBAAU,IACP,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,eAAe,EAAE,CAAC,KAAK,EAAC,CAAC,EACtD,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,EAC9B,EAAE,EAAE,YAAY,CAAC,IAAI,GACvB,CACL,IACC,KAjBiD,IAAA,SAAM,GAAE,CAkB7D,CACT,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {v4 as uuidv4} from 'uuid';\n\nimport {ContentListProps, ContentSize} from '../../models';\nimport {QAProps} from '../../models/common';\nimport {block} from '../../utils';\nimport {getQaAttrubutes} from '../../utils/blocks';\nimport YFMWrapper from '../YFMWrapper/YFMWrapper';\n\nimport ItemIcon from './ContentListItemIcon';\n\nimport './ContentList.scss';\n\nconst b = block('content-list');\n\nfunction getHeadingLevel(size: ContentSize) {\n switch (size) {\n case 's':\n return 'h4';\n case 'l':\n default:\n return 'h3';\n }\n}\n\nconst ContentList = ({list, size = 'l', qa, theme}: ContentListProps & QAProps) => {\n const qaAttributes = getQaAttrubutes(qa, ['image', 'title', 'text']);\n\n return (\n <div className={b({size, theme})} data-qa={qa}>\n {list?.map((item) => {\n const {icon, title, text} = item;\n return (\n <div className={b('item', {'without-title': !title})} key={uuidv4()}>\n <ItemIcon icon={icon} className={b('icon')} qa={qaAttributes.image} />\n <div>\n {title &&\n React.createElement(\n getHeadingLevel(size),\n {className: b('title'), 'data-qa': qaAttributes.title},\n <YFMWrapper content={title} modifiers={{constructor: true}} />,\n )}\n {text && (\n <YFMWrapper\n contentClassName={b('text', {'without-title': !title})}\n content={text}\n modifiers={{constructor: true}}\n qa={qaAttributes.text}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default ContentList;\n"]}
@@ -37,16 +37,23 @@ const FileExtensionThemes = {
37
37
  const LabelSizeMap = {
38
38
  l: 's',
39
39
  m: 's',
40
+ sm: 's',
40
41
  s: 'xs',
41
42
  xs: 'xs',
42
43
  };
44
+ function getTextSize(size) {
45
+ if (size === 'sm') {
46
+ return 'm';
47
+ }
48
+ return size;
49
+ }
43
50
  const FileLink = (props) => {
44
51
  const { hostname } = React.useContext(locationContext_1.LocationContext);
45
52
  const { href, text, type = 'vertical', textSize = 'm', className, theme = 'default', onClick, tabIndex, urlTitle, extraProps, } = props;
46
53
  const fileExt = getFileExt(href);
47
54
  const labelTheme = (FileExtensionThemes[fileExt] || 'unknown');
48
55
  const labelSize = LabelSizeMap[textSize];
49
- return ((0, jsx_runtime_1.jsxs)("div", { className: b({ ext: fileExt, type, size: textSize, theme }, className), children: [(0, jsx_runtime_1.jsx)(uikit_1.Label, { className: b('file-label'), size: labelSize, theme: labelTheme, children: fileExt }), (0, jsx_runtime_1.jsx)("div", { className: b('link'), children: (0, jsx_runtime_1.jsx)("a", Object.assign({ href: href, onClick: onClick, tabIndex: tabIndex, title: urlTitle }, (0, utils_1.getLinkProps)(href, hostname), extraProps, { children: text })) })] }));
56
+ return ((0, jsx_runtime_1.jsxs)("div", { className: b({ ext: fileExt, type, size: getTextSize(textSize), theme }, className), children: [(0, jsx_runtime_1.jsx)(uikit_1.Label, { className: b('file-label'), size: labelSize, theme: labelTheme, children: fileExt }), (0, jsx_runtime_1.jsx)("div", { className: b('link'), children: (0, jsx_runtime_1.jsx)("a", Object.assign({ href: href, onClick: onClick, tabIndex: tabIndex, title: urlTitle }, (0, utils_1.getLinkProps)(href, hostname), extraProps, { children: text })) })] }));
50
57
  };
51
58
  exports.default = FileLink;
52
59
  //# sourceMappingURL=FileLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileLink.js","sourceRoot":"../../../../src","sources":["components/FileLink/FileLink.tsx"],"names":[],"mappings":";;;AAuBA,gCAMC;;;AA7BD,qDAA+B;AAE/B,6CAAoD;AAEpD,4EAA8D;AAE9D,gDAAgD;AAIhD,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC;AAE7B,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;IACX,4BAAW,CAAA;AACf,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;AAED,SAAgB,UAAU,CAAC,IAAY;IACnC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,GAAG,CAAC;IAC7B,CAAC;IACD,oEAAoE;IACpE,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,mBAAmB,GAAG;IACxB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ;IAC7B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM;IAC3B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS;IAC9B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS;IAC9B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ;IAC7B,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS;CACjC,CAAC;AAEF,MAAM,YAAY,GAAyC;IACvD,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAA6C,EAAE,EAAE;IAC/D,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iCAAe,CAAC,CAAC;IACrD,MAAM,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,GAAG,UAAU,EACjB,QAAQ,GAAG,GAAG,EACd,SAAS,EACT,KAAK,GAAG,SAAS,EACjB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,GACb,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAkB,CAAC;IAClD,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,SAAS,CAAwB,CAAC;IACtF,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEzC,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,EAAE,SAAS,CAAC,aACrE,uBAAC,aAAK,IAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,YAChE,OAAO,GACJ,EACR,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,4CACI,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,IACX,IAAA,oBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,EAC5B,UAAU,cAEb,IAAI,IACL,GACF,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Label, LabelProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {FileLinkProps, TextSize} from '../../models';\nimport {block, getLinkProps} from '../../utils';\n\nimport './FileLink.scss';\n\nconst b = block('file-link');\n\nconst FIGMA_URL = 'https://www.figma.com';\n\nexport enum FileExtension {\n PDF = 'pdf',\n DOC = 'doc',\n XLS = 'xls',\n PPT = 'ppt',\n FIG = 'fig',\n ZIP = 'zip',\n}\n\nexport function getFileExt(name: string) {\n if (name?.includes(FIGMA_URL)) {\n return FileExtension.FIG;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return name && name.split('.').pop()!.toLowerCase();\n}\n\nconst FileExtensionThemes = {\n [FileExtension.PDF]: 'danger',\n [FileExtension.DOC]: 'info',\n [FileExtension.XLS]: 'success',\n [FileExtension.PPT]: 'warning',\n [FileExtension.FIG]: 'normal',\n [FileExtension.ZIP]: 'unknown',\n};\n\nconst LabelSizeMap: Record<TextSize, LabelProps['size']> = {\n l: 's',\n m: 's',\n s: 'xs',\n xs: 'xs',\n};\n\nconst FileLink = (props: React.PropsWithChildren<FileLinkProps>) => {\n const {hostname} = React.useContext(LocationContext);\n const {\n href,\n text,\n type = 'vertical',\n textSize = 'm',\n className,\n theme = 'default',\n onClick,\n tabIndex,\n urlTitle,\n extraProps,\n } = props;\n const fileExt = getFileExt(href) as FileExtension;\n const labelTheme = (FileExtensionThemes[fileExt] || 'unknown') as LabelProps['theme'];\n const labelSize = LabelSizeMap[textSize];\n\n return (\n <div className={b({ext: fileExt, type, size: textSize, theme}, className)}>\n <Label className={b('file-label')} size={labelSize} theme={labelTheme}>\n {fileExt}\n </Label>\n <div className={b('link')}>\n <a\n href={href}\n onClick={onClick}\n tabIndex={tabIndex}\n title={urlTitle}\n {...getLinkProps(href, hostname)}\n {...extraProps}\n >\n {text}\n </a>\n </div>\n </div>\n );\n};\n\nexport default FileLink;\n"]}
1
+ {"version":3,"file":"FileLink.js","sourceRoot":"../../../../src","sources":["components/FileLink/FileLink.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Label, LabelProps} from '@gravity-ui/uikit';\n\nimport {LocationContext} from '../../context/locationContext';\nimport {FileLinkProps, TextSize} from '../../models';\nimport {block, getLinkProps} from '../../utils';\n\nimport './FileLink.scss';\n\nconst b = block('file-link');\n\nconst FIGMA_URL = 'https://www.figma.com';\n\nexport enum FileExtension {\n PDF = 'pdf',\n DOC = 'doc',\n XLS = 'xls',\n PPT = 'ppt',\n FIG = 'fig',\n ZIP = 'zip',\n}\n\nexport function getFileExt(name: string) {\n if (name?.includes(FIGMA_URL)) {\n return FileExtension.FIG;\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return name && name.split('.').pop()!.toLowerCase();\n}\n\nconst FileExtensionThemes = {\n [FileExtension.PDF]: 'danger',\n [FileExtension.DOC]: 'info',\n [FileExtension.XLS]: 'success',\n [FileExtension.PPT]: 'warning',\n [FileExtension.FIG]: 'normal',\n [FileExtension.ZIP]: 'unknown',\n};\n\nconst LabelSizeMap: Record<TextSize, LabelProps['size']> = {\n l: 's',\n m: 's',\n sm: 's',\n s: 'xs',\n xs: 'xs',\n};\n\nfunction getTextSize(size: TextSize) {\n if (size === 'sm') {\n return 'm';\n }\n\n return size;\n}\n\nconst FileLink = (props: React.PropsWithChildren<FileLinkProps>) => {\n const {hostname} = React.useContext(LocationContext);\n const {\n href,\n text,\n type = 'vertical',\n textSize = 'm',\n className,\n theme = 'default',\n onClick,\n tabIndex,\n urlTitle,\n extraProps,\n } = props;\n const fileExt = getFileExt(href) as FileExtension;\n const labelTheme = (FileExtensionThemes[fileExt] || 'unknown') as LabelProps['theme'];\n const labelSize = LabelSizeMap[textSize];\n\n return (\n <div className={b({ext: fileExt, type, size: getTextSize(textSize), theme}, className)}>\n <Label className={b('file-label')} size={labelSize} theme={labelTheme}>\n {fileExt}\n </Label>\n <div className={b('link')}>\n <a\n href={href}\n onClick={onClick}\n tabIndex={tabIndex}\n title={urlTitle}\n {...getLinkProps(href, hostname)}\n {...extraProps}\n >\n {text}\n </a>\n </div>\n </div>\n );\n};\n\nexport default FileLink;\n"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
6
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce.js"));
7
7
  const constants_1 = require("../../constants.js");
8
8
  const utils_1 = require("../../utils/index.js");
9
9
  const b = (0, utils_1.block)('FullWidthBackground');
@@ -1 +1 @@
1
- {"version":3,"file":"FullWidthBackground.js","sourceRoot":"../../../../src","sources":["components/FullWidthBackground/FullWidthBackground.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,uEAAuC;AAEvC,kDAA4C;AAE5C,gDAAkC;AAIlC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,qBAAqB,CAAC,CAAC;AAOvC,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,GAAG,uBAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAqB,mBAAoB,SAAQ,KAAK,CAAC,SAEtD;IAFD;;QAGY,QAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAExC,UAAK,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;;YAC1B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,EAAC,IAAI,EAAC,GAAG,MAAA,MAAA,EAAE,CAAC,aAAa,0CAAE,qBAAqB,EAAE,mCAAI,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;gBAEtE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;gBAC5C,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAsBZ,CAAC;IApBG,iBAAiB;;QACb,IAAI,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,0CAAE,OAAO,0CAAE,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnE,OAAO,CACH,gCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,YACrE,QAAQ,GACP,CACT,CAAC;IACN,CAAC;CACJ;AArCD,sCAqCC","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {BREAKPOINTS} from '../../constants';\nimport {ClassNameProps} from '../../models';\nimport {block} from '../../utils';\n\nimport './FullWidthBackground.scss';\n\nconst b = block('FullWidthBackground');\n\nexport interface FullWidthBackgroundProps extends ClassNameProps {\n style?: React.CSSProperties;\n theme?: 'default' | 'rounded';\n}\n\nfunction getPadding(width: number) {\n return width > BREAKPOINTS.sm ? 16 : 8;\n}\n\nexport default class FullWidthBackground extends React.Component<\n React.PropsWithChildren<FullWidthBackgroundProps>\n> {\n private ref = React.createRef<HTMLDivElement>();\n\n private setBg = debounce(() => {\n if (this.ref && this.ref.current) {\n const bg = this.ref.current;\n const width = document.documentElement.clientWidth || document.body.clientWidth;\n const padding = this.props.theme === 'rounded' ? getPadding(width) : 0;\n const {left} = bg.parentElement?.getBoundingClientRect() ?? {left: 0};\n\n bg.style.width = `${width - padding * 2}px`;\n bg.style.left = `-${left - padding}px`;\n }\n }, 100);\n\n componentDidMount() {\n if (this?.ref?.current?.parentElement) {\n this.ref.current.parentElement.style.position = 'relative';\n this.setBg();\n window.addEventListener('resize', this.setBg, {passive: true});\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setBg);\n }\n\n render() {\n const {children, className, style, theme = 'default'} = this.props;\n return (\n <div className={b({[theme]: true}, className)} ref={this.ref} style={style}>\n {children}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"FullWidthBackground.js","sourceRoot":"../../../../src","sources":["components/FullWidthBackground/FullWidthBackground.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,0EAAuC;AAEvC,kDAA4C;AAE5C,gDAAkC;AAIlC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,qBAAqB,CAAC,CAAC;AAOvC,SAAS,UAAU,CAAC,KAAa;IAC7B,OAAO,KAAK,GAAG,uBAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAqB,mBAAoB,SAAQ,KAAK,CAAC,SAEtD;IAFD;;QAGY,QAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAExC,UAAK,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;;YAC1B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,MAAM,EAAC,IAAI,EAAC,GAAG,MAAA,MAAA,EAAE,CAAC,aAAa,0CAAE,qBAAqB,EAAE,mCAAI,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC;gBAEtE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;gBAC5C,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,OAAO,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAsBZ,CAAC;IApBG,iBAAiB;;QACb,IAAI,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,0CAAE,OAAO,0CAAE,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACnE,OAAO,CACH,gCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAC,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,YACrE,QAAQ,GACP,CACT,CAAC;IACN,CAAC;CACJ;AArCD,sCAqCC","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {BREAKPOINTS} from '../../constants';\nimport {ClassNameProps} from '../../models';\nimport {block} from '../../utils';\n\nimport './FullWidthBackground.scss';\n\nconst b = block('FullWidthBackground');\n\nexport interface FullWidthBackgroundProps extends ClassNameProps {\n style?: React.CSSProperties;\n theme?: 'default' | 'rounded';\n}\n\nfunction getPadding(width: number) {\n return width > BREAKPOINTS.sm ? 16 : 8;\n}\n\nexport default class FullWidthBackground extends React.Component<\n React.PropsWithChildren<FullWidthBackgroundProps>\n> {\n private ref = React.createRef<HTMLDivElement>();\n\n private setBg = debounce(() => {\n if (this.ref && this.ref.current) {\n const bg = this.ref.current;\n const width = document.documentElement.clientWidth || document.body.clientWidth;\n const padding = this.props.theme === 'rounded' ? getPadding(width) : 0;\n const {left} = bg.parentElement?.getBoundingClientRect() ?? {left: 0};\n\n bg.style.width = `${width - padding * 2}px`;\n bg.style.left = `-${left - padding}px`;\n }\n }, 100);\n\n componentDidMount() {\n if (this?.ref?.current?.parentElement) {\n this.ref.current.parentElement.style.position = 'relative';\n this.setBg();\n window.addEventListener('resize', this.setBg, {passive: true});\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setBg);\n }\n\n render() {\n const {children, className, style, theme = 'default'} = this.props;\n return (\n <div className={b({[theme]: true}, className)} ref={this.ref} style={style}>\n {children}\n </div>\n );\n }\n}\n"]}
@@ -6,12 +6,31 @@ unpredictable css rules order in build */
6
6
  .pc-fullscreen-image__image-wrapper {
7
7
  position: relative;
8
8
  }
9
- .pc-fullscreen-image__image-wrapper:hover .pc-fullscreen-image__icon-wrapper {
9
+ .pc-fullscreen-image__image-wrapper:hover .pc-fullscreen-image__expand-icon-wrapper {
10
10
  opacity: 1;
11
11
  }
12
12
  .pc-fullscreen-image__modal-content {
13
13
  position: relative;
14
14
  border-radius: var(--pc-border-radius);
15
+ width: 100%;
16
+ }
17
+ .pc-fullscreen-image__modal-content-wrapper {
18
+ width: 100%;
19
+ }
20
+ .pc-fullscreen-image__modal-content_loaded {
21
+ max-width: fit-content;
22
+ }
23
+ .pc-fullscreen-image__modal_with-slider .g-modal__content-wrapper {
24
+ width: 100%;
25
+ height: 100vh;
26
+ margin: 0;
27
+ justify-content: center;
28
+ }
29
+ .pc-fullscreen-image__modal_with-slider .pc-fullscreen-image__modal-content {
30
+ background-color: transparent;
31
+ }
32
+ .pc-fullscreen-image__modal_with-slider .pc-fullscreen-image__modal-content:hover .pc-fullscreen-image__expand-icon-wrapper, .pc-fullscreen-image__modal_with-slider .pc-fullscreen-image__modal-content:hover .pc-fullscreen-image__close-icon-wrapper {
33
+ opacity: 1;
15
34
  }
16
35
  .pc-fullscreen-image__modal-image {
17
36
  display: block;
@@ -19,10 +38,32 @@ unpredictable css rules order in build */
19
38
  max-height: 70vh;
20
39
  overflow: hidden;
21
40
  }
41
+ .pc-fullscreen-image__modal-slider {
42
+ max-width: 100vw;
43
+ width: 100%;
44
+ height: 100vh;
45
+ }
46
+ .pc-fullscreen-image__modal-slider_item {
47
+ height: 100%;
48
+ display: flex;
49
+ justify-content: center;
50
+ align-items: center;
51
+ }
52
+ .pc-fullscreen-image__modal-slider_item-image {
53
+ display: block;
54
+ margin: auto;
55
+ border-radius: var(--pc-border-radius);
56
+ overflow: hidden;
57
+ margin-top: 40px;
58
+ max-height: calc(100vh - 120px);
59
+ max-width: 100%;
60
+ object-fit: contain;
61
+ object-position: center;
62
+ }
22
63
  .pc-fullscreen-image__modal .g-modal__content, .pc-fullscreen-image__modal-image {
23
64
  border-radius: var(--pc-border-radius);
24
65
  }
25
- .pc-fullscreen-image__icon-wrapper {
66
+ .pc-fullscreen-image__expand-icon-wrapper {
26
67
  display: inline-block;
27
68
  margin: 0;
28
69
  padding: 0;
@@ -35,9 +76,45 @@ unpredictable css rules order in build */
35
76
  display: flex;
36
77
  align-items: center;
37
78
  justify-content: center;
79
+ width: 36px;
80
+ height: 36px;
81
+ border-radius: 8px;
82
+ background-color: var(--g-color-base-simple-hover-solid);
83
+ cursor: pointer;
84
+ opacity: 0;
85
+ transition: 0.3s;
38
86
  position: absolute;
39
87
  right: 16px;
40
88
  top: 16px;
89
+ }
90
+ .pc-fullscreen-image__expand-icon-wrapper:focus {
91
+ outline: 2px solid var(--g-color-line-focus);
92
+ outline-offset: 0;
93
+ }
94
+ .pc-fullscreen-image__expand-icon-wrapper:focus:not(:focus-visible) {
95
+ outline: 0;
96
+ }
97
+ .pc-fullscreen-image__expand-icon-wrapper:focus {
98
+ opacity: 1;
99
+ }
100
+ @media (max-width: 769px) {
101
+ .pc-fullscreen-image__expand-icon-wrapper {
102
+ opacity: 1;
103
+ }
104
+ }
105
+ .pc-fullscreen-image__close-icon-wrapper {
106
+ display: inline-block;
107
+ margin: 0;
108
+ padding: 0;
109
+ font: inherit;
110
+ border: none;
111
+ outline: none;
112
+ color: inherit;
113
+ background: none;
114
+ cursor: pointer;
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
41
118
  width: 36px;
42
119
  height: 36px;
43
120
  border-radius: 8px;
@@ -45,36 +122,37 @@ unpredictable css rules order in build */
45
122
  cursor: pointer;
46
123
  opacity: 0;
47
124
  transition: 0.3s;
125
+ z-index: 1001;
126
+ position: absolute;
127
+ right: 24px;
128
+ top: 24px;
48
129
  }
49
- .pc-fullscreen-image__icon-wrapper:focus {
130
+ .pc-fullscreen-image__close-icon-wrapper:focus {
50
131
  outline: 2px solid var(--g-color-line-focus);
51
132
  outline-offset: 0;
52
133
  }
53
- .pc-fullscreen-image__icon-wrapper:focus:not(:focus-visible) {
134
+ .pc-fullscreen-image__close-icon-wrapper:focus:not(:focus-visible) {
54
135
  outline: 0;
55
136
  }
56
- .pc-fullscreen-image__icon-wrapper:focus {
137
+ .pc-fullscreen-image__close-icon-wrapper:focus {
57
138
  opacity: 1;
58
139
  }
140
+ @media (max-width: 769px) {
141
+ .pc-fullscreen-image__close-icon-wrapper {
142
+ opacity: 1;
143
+ }
144
+ }
59
145
  .pc-fullscreen-image__icon {
60
146
  color: var(--g-color-text-hint);
61
147
  }
62
148
  .pc-fullscreen-image__icon_hover:hover {
63
149
  color: var(--g-color-text-secondary);
64
150
  }
65
- @media (max-width: 1185px) {
66
- .pc-fullscreen-image__modal-image {
67
- width: 100%;
68
- }
69
- }
70
- @media (max-width: 1081px) {
71
- .pc-fullscreen-image__image {
72
- pointer-events: none;
73
- }
74
- .pc-fullscreen-image__icon-wrapper {
75
- display: none;
151
+ @media (max-width: 769px) {
152
+ .pc-fullscreen-image__modal .g-modal__content-wrapper {
153
+ margin: 8px;
76
154
  }
77
- .pc-fullscreen-image__modal {
78
- display: none !important; /* stylelint-disable-line declaration-no-important */
155
+ .pc-fullscreen-image__modal_with-slider .g-modal__content-wrapper {
156
+ margin: 0;
79
157
  }
80
158
  }
@@ -1,10 +1,15 @@
1
1
  import * as React from 'react';
2
+ import { ImageProps as ModelImageProps } from "../../models/index.js";
2
3
  import { ImageProps } from "../Image/Image.js";
3
4
  export interface FullscreenImageProps extends ImageProps {
4
5
  imageClassName?: string;
5
6
  modalImageClass?: string;
6
7
  imageStyle?: React.CSSProperties;
7
8
  extraProps?: React.HTMLProps<HTMLDivElement>;
9
+ sliderData?: {
10
+ items: ModelImageProps[];
11
+ initialIndex: number;
12
+ };
8
13
  }
9
14
  declare const FullscreenImage: (props: FullscreenImageProps) => import("react/jsx-runtime").JSX.Element;
10
15
  export default FullscreenImage;
@@ -5,18 +5,30 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const icons_1 = require("@gravity-ui/icons");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
+ const blocks_1 = require("../../blocks/index.js");
9
+ const models_1 = require("../../models/index.js");
8
10
  const utils_1 = require("../../utils/index.js");
9
11
  const Image_1 = tslib_1.__importDefault(require("../Image/Image.js"));
12
+ const utils_2 = require("../Media/Image/utils.js");
10
13
  const i18n_1 = require("./i18n/index.js");
11
14
  const b = (0, utils_1.block)('fullscreen-image');
12
15
  const FULL_SCREEN_ICON_SIZE = 18;
13
16
  const CLOSE_ICON_SIZE = 24;
14
17
  const FullscreenImage = (props) => {
15
- const { imageClassName, modalImageClass, imageStyle, alt = (0, i18n_1.i18n)('img-alt'), extraProps } = props;
18
+ const { imageClassName, sliderData, modalImageClass, imageStyle, alt = (0, i18n_1.i18n)('img-alt'), extraProps, } = props;
16
19
  const [isOpened, setIsOpened] = React.useState(false);
20
+ const [sliderLoaded, setSliderLoaded] = React.useState(false);
17
21
  const openModal = () => setIsOpened(true);
18
22
  const closeModal = () => setIsOpened(false);
19
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: b() }, extraProps, { children: [(0, jsx_runtime_1.jsxs)("div", { className: b('image-wrapper'), children: [(0, jsx_runtime_1.jsx)(Image_1.default, Object.assign({}, props, { alt: alt, className: b('image', imageClassName), onClick: openModal, style: imageStyle })), (0, jsx_runtime_1.jsx)("button", { className: b('icon-wrapper'), onClick: openModal, children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.ChevronsExpandUpRight, width: FULL_SCREEN_ICON_SIZE, height: FULL_SCREEN_ICON_SIZE, className: b('icon') }) })] }), isOpened && ((0, jsx_runtime_1.jsxs)(uikit_1.Modal, { open: isOpened, onClose: closeModal, className: b('modal'), contentClassName: b('modal-content'), children: [(0, jsx_runtime_1.jsx)("button", { className: b('icon-wrapper', { visible: true }), onClick: closeModal, "aria-label": (0, i18n_1.i18n)('close'), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Xmark, width: CLOSE_ICON_SIZE, height: CLOSE_ICON_SIZE, className: b('icon', { hover: true }) }) }), (0, jsx_runtime_1.jsx)(Image_1.default, Object.assign({}, props, { className: b('modal-image', modalImageClass) }))] }))] })));
23
+ React.useEffect(() => {
24
+ if (sliderData && !isOpened) {
25
+ setSliderLoaded(false);
26
+ }
27
+ }, [isOpened, sliderData]);
28
+ const handleSliderImageLoad = () => {
29
+ setSliderLoaded(true);
30
+ };
31
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: b() }, extraProps, { children: [(0, jsx_runtime_1.jsxs)("div", { className: b('image-wrapper'), children: [(0, jsx_runtime_1.jsx)(Image_1.default, Object.assign({}, props, { alt: alt, className: b('image', imageClassName), onClick: openModal, style: imageStyle })), (0, jsx_runtime_1.jsx)("button", { className: b('expand-icon-wrapper'), onClick: openModal, children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.ChevronsExpandUpRight, width: FULL_SCREEN_ICON_SIZE, height: FULL_SCREEN_ICON_SIZE, className: b('icon') }) })] }), isOpened && ((0, jsx_runtime_1.jsxs)(uikit_1.Modal, { open: isOpened, onClose: closeModal, className: b('modal', { 'with-slider': Boolean(sliderData) }), contentClassName: b('modal-content', { loaded: sliderLoaded }), children: [(0, jsx_runtime_1.jsx)("button", { className: b('close-icon-wrapper', { visible: true }), onClick: closeModal, "aria-label": (0, i18n_1.i18n)('close'), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Xmark, width: CLOSE_ICON_SIZE, height: CLOSE_ICON_SIZE, className: b('icon', { hover: true }) }) }), sliderData ? ((0, jsx_runtime_1.jsx)("div", { className: b('modal-slider'), children: (0, jsx_runtime_1.jsx)(blocks_1.SliderBlock, { initialSlide: sliderData.initialIndex, slidesToShow: 1, type: models_1.SliderType.FullscreenCard, children: sliderData.items.map((item, index) => ((0, jsx_runtime_1.jsx)("div", { className: b('modal-slider_item'), children: (0, jsx_runtime_1.jsx)(Image_1.default, Object.assign({ onLoad: handleSliderImageLoad, className: b('modal-slider_item-image', modalImageClass), containerClassName: b('modal-slider_item-image-wrapper') }, (0, utils_2.getMediaImage)(item))) }, index))) }) })) : ((0, jsx_runtime_1.jsx)(Image_1.default, Object.assign({}, props, { className: b('modal-image', modalImageClass) })))] }))] })));
20
32
  };
21
33
  exports.default = FullscreenImage;
22
34
  //# sourceMappingURL=FullscreenImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FullscreenImage.js","sourceRoot":"../../../../src","sources":["components/FullscreenImage/FullscreenImage.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,6CAA+D;AAC/D,6CAA8C;AAE9C,gDAAkC;AAClC,sEAAiD;AAEjD,0CAA4B;AAW5B,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,kBAAkB,CAAC,CAAC;AACpC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IACpD,MAAM,EAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,GAAG,IAAA,WAAI,EAAC,SAAS,CAAC,EAAE,UAAU,EAAC,GAAG,KAAK,CAAC;IAC/F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,CACH,+CAAK,SAAS,EAAE,CAAC,EAAE,IAAM,UAAU,eAC/B,iCAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,uBAAC,eAAK,oBACE,KAAK,IACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EACrC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,UAAU,IACnB,EACF,mCAAQ,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,YACpD,uBAAC,YAAI,IACD,IAAI,EAAE,6BAAqB,EAC3B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GACtB,GACG,IACP,EACL,QAAQ,IAAI,CACT,wBAAC,aAAK,IACF,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,gBAAgB,EAAE,CAAC,CAAC,eAAe,CAAC,aAEpC,mCACI,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EAC7C,OAAO,EAAE,UAAU,gBACP,IAAA,WAAI,EAAC,OAAO,CAAC,YAEzB,uBAAC,YAAI,IACD,IAAI,EAAE,aAAK,EACX,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,GACrC,GACG,EACT,uBAAC,eAAK,oBAAK,KAAK,IAAE,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,IAC9D,CACX,KACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ChevronsExpandUpRight, Xmark} from '@gravity-ui/icons';\nimport {Icon, Modal} from '@gravity-ui/uikit';\n\nimport {block} from '../../utils';\nimport Image, {ImageProps} from '../Image/Image';\n\nimport {i18n} from './i18n';\n\nimport './FullscreenImage.scss';\n\nexport interface FullscreenImageProps extends ImageProps {\n imageClassName?: string;\n modalImageClass?: string;\n imageStyle?: React.CSSProperties;\n extraProps?: React.HTMLProps<HTMLDivElement>;\n}\n\nconst b = block('fullscreen-image');\nconst FULL_SCREEN_ICON_SIZE = 18;\nconst CLOSE_ICON_SIZE = 24;\n\nconst FullscreenImage = (props: FullscreenImageProps) => {\n const {imageClassName, modalImageClass, imageStyle, alt = i18n('img-alt'), extraProps} = props;\n const [isOpened, setIsOpened] = React.useState(false);\n\n const openModal = () => setIsOpened(true);\n const closeModal = () => setIsOpened(false);\n\n return (\n <div className={b()} {...extraProps}>\n <div className={b('image-wrapper')}>\n <Image\n {...props}\n alt={alt}\n className={b('image', imageClassName)}\n onClick={openModal}\n style={imageStyle}\n />\n <button className={b('icon-wrapper')} onClick={openModal}>\n <Icon\n data={ChevronsExpandUpRight}\n width={FULL_SCREEN_ICON_SIZE}\n height={FULL_SCREEN_ICON_SIZE}\n className={b('icon')}\n />\n </button>\n </div>\n {isOpened && (\n <Modal\n open={isOpened}\n onClose={closeModal}\n className={b('modal')}\n contentClassName={b('modal-content')}\n >\n <button\n className={b('icon-wrapper', {visible: true})}\n onClick={closeModal}\n aria-label={i18n('close')}\n >\n <Icon\n data={Xmark}\n width={CLOSE_ICON_SIZE}\n height={CLOSE_ICON_SIZE}\n className={b('icon', {hover: true})}\n />\n </button>\n <Image {...props} className={b('modal-image', modalImageClass)} />\n </Modal>\n )}\n </div>\n );\n};\n\nexport default FullscreenImage;\n"]}
1
+ {"version":3,"file":"FullscreenImage.js","sourceRoot":"../../../../src","sources":["components/FullscreenImage/FullscreenImage.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {ChevronsExpandUpRight, Xmark} from '@gravity-ui/icons';\nimport {Icon, Modal} from '@gravity-ui/uikit';\n\nimport {SliderBlock} from '../../blocks';\nimport {ImageProps as ModelImageProps, SliderType} from '../../models';\nimport {block} from '../../utils';\nimport Image, {ImageProps} from '../Image/Image';\nimport {getMediaImage} from '../Media/Image/utils';\n\nimport {i18n} from './i18n';\n\nimport './FullscreenImage.scss';\n\nexport interface FullscreenImageProps extends ImageProps {\n imageClassName?: string;\n modalImageClass?: string;\n imageStyle?: React.CSSProperties;\n extraProps?: React.HTMLProps<HTMLDivElement>;\n sliderData?: {items: ModelImageProps[]; initialIndex: number};\n}\n\nconst b = block('fullscreen-image');\nconst FULL_SCREEN_ICON_SIZE = 18;\nconst CLOSE_ICON_SIZE = 24;\n\nconst FullscreenImage = (props: FullscreenImageProps) => {\n const {\n imageClassName,\n sliderData,\n modalImageClass,\n imageStyle,\n alt = i18n('img-alt'),\n extraProps,\n } = props;\n const [isOpened, setIsOpened] = React.useState(false);\n const [sliderLoaded, setSliderLoaded] = React.useState(false);\n\n const openModal = () => setIsOpened(true);\n const closeModal = () => setIsOpened(false);\n\n React.useEffect(() => {\n if (sliderData && !isOpened) {\n setSliderLoaded(false);\n }\n }, [isOpened, sliderData]);\n\n const handleSliderImageLoad = () => {\n setSliderLoaded(true);\n };\n\n return (\n <div className={b()} {...extraProps}>\n <div className={b('image-wrapper')}>\n <Image\n {...props}\n alt={alt}\n className={b('image', imageClassName)}\n onClick={openModal}\n style={imageStyle}\n />\n <button className={b('expand-icon-wrapper')} onClick={openModal}>\n <Icon\n data={ChevronsExpandUpRight}\n width={FULL_SCREEN_ICON_SIZE}\n height={FULL_SCREEN_ICON_SIZE}\n className={b('icon')}\n />\n </button>\n </div>\n {isOpened && (\n <Modal\n open={isOpened}\n onClose={closeModal}\n className={b('modal', {'with-slider': Boolean(sliderData)})}\n contentClassName={b('modal-content', {loaded: sliderLoaded})}\n >\n <button\n className={b('close-icon-wrapper', {visible: true})}\n onClick={closeModal}\n aria-label={i18n('close')}\n >\n <Icon\n data={Xmark}\n width={CLOSE_ICON_SIZE}\n height={CLOSE_ICON_SIZE}\n className={b('icon', {hover: true})}\n />\n </button>\n {sliderData ? (\n <div className={b('modal-slider')}>\n <SliderBlock\n initialSlide={sliderData.initialIndex}\n slidesToShow={1}\n type={SliderType.FullscreenCard}\n >\n {sliderData.items.map((item, index) => (\n <div key={index} className={b('modal-slider_item')}>\n <Image\n onLoad={handleSliderImageLoad}\n className={b(\n 'modal-slider_item-image',\n modalImageClass,\n )}\n containerClassName={b(\n 'modal-slider_item-image-wrapper',\n )}\n {...getMediaImage(item)}\n />\n </div>\n ))}\n </SliderBlock>\n </div>\n ) : (\n <Image {...props} className={b('modal-image', modalImageClass)} />\n )}\n </Modal>\n )}\n </div>\n );\n};\n\nexport default FullscreenImage;\n"]}
@@ -1,19 +1,26 @@
1
1
  import * as React from 'react';
2
- import { QAProps } from "../../models/common.js";
3
- export interface HTMLProps {
4
- children?: string;
2
+ import { ClassNameProps, QAProps, TagName } from "../../models/common.js";
3
+ export interface HTMLExtraProps {
4
+ tagName?: TagName;
5
+ contentPosition?: 'start' | 'end';
6
+ contentClassName?: string;
7
+ onlyContent?: boolean;
8
+ }
9
+ export interface HTMLProps extends HTMLExtraProps, React.PropsWithChildren, QAProps, ClassNameProps {
10
+ content?: string;
5
11
  block?: boolean;
6
- className?: string;
7
12
  itemProp?: string;
8
13
  id?: string;
9
14
  }
10
- declare const HTML: ({ children, block, className, itemProp, id, qa, }: React.PropsWithChildren<HTMLProps & QAProps>) => React.DetailedReactHTMLElement<{
15
+ declare const HTML: ({ content, children, block, className, contentClassName, qa, contentPosition, tagName, onlyContent, ...rest }: HTMLProps) => React.DOMElement<{
16
+ itemProp?: string;
17
+ id?: string;
11
18
  dangerouslySetInnerHTML: {
12
- __html: string | (string & React.ReactElement<any, string | React.JSXElementConstructor<any>>) | (string & Iterable<React.ReactNode>) | (string & React.ReactPortal);
19
+ __html: string;
13
20
  };
14
21
  className: string | undefined;
15
- itemProp: string | undefined;
16
- id: string | undefined;
17
22
  'data-qa': string | undefined;
23
+ }, Element> | React.DetailedReactHTMLElement<{
24
+ className: string | undefined;
18
25
  }, HTMLElement> | null;
19
26
  export default HTML;
@@ -3,17 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const React = tslib_1.__importStar(require("react"));
5
5
  const utils_1 = require("../../utils/index.js");
6
- const HTML = ({ children, block = false, className, itemProp, id, qa, }) => {
7
- if (!children) {
8
- return null;
6
+ const HTML = (_a) => {
7
+ var { content, children, block = false, className, contentClassName, qa, contentPosition = 'start', tagName = 'span', onlyContent = false } = _a, rest = tslib_1.__rest(_a, ["content", "children", "block", "className", "contentClassName", "qa", "contentPosition", "tagName", "onlyContent"]);
8
+ const renderedContent = React.useMemo(() => {
9
+ return content
10
+ ? React.createElement((0, utils_1.selectTagName)({ content, block, tagName, children }), Object.assign({ dangerouslySetInnerHTML: { __html: content }, className: contentClassName, 'data-qa': qa }, rest))
11
+ : null;
12
+ }, [block, children, content, contentClassName, qa, rest, tagName]);
13
+ if (onlyContent) {
14
+ return renderedContent;
9
15
  }
10
- return React.createElement(block || (0, utils_1.hasBlockTag)(children) ? 'div' : 'span', {
11
- dangerouslySetInnerHTML: { __html: children },
12
- className,
13
- itemProp,
14
- id,
15
- 'data-qa': qa,
16
- });
16
+ if (children) {
17
+ return React.createElement(tagName, {
18
+ className,
19
+ }, contentPosition === 'start' ? renderedContent : null, children, contentPosition === 'end' ? renderedContent : null);
20
+ }
21
+ return renderedContent;
17
22
  };
18
23
  exports.default = HTML;
19
24
  //# sourceMappingURL=HTML.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTML.js","sourceRoot":"../../../../src","sources":["components/HTML/HTML.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAG/B,gDAAwC;AAUxC,MAAM,IAAI,GAAG,CAAC,EACV,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,SAAS,EACT,QAAQ,EACR,EAAE,EACF,EAAE,GACyC,EAAE,EAAE;IAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,IAAA,mBAAW,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE;QACxE,uBAAuB,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC;QAC3C,SAAS;QACT,QAAQ;QACR,EAAE;QACF,SAAS,EAAE,EAAE;KAChB,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {QAProps} from '../../models/common';\nimport {hasBlockTag} from '../../utils';\n\nexport interface HTMLProps {\n children?: string;\n block?: boolean;\n className?: string;\n itemProp?: string;\n id?: string;\n}\n\nconst HTML = ({\n children,\n block = false,\n className,\n itemProp,\n id,\n qa,\n}: React.PropsWithChildren<HTMLProps & QAProps>) => {\n if (!children) {\n return null;\n }\n\n return React.createElement(block || hasBlockTag(children) ? 'div' : 'span', {\n dangerouslySetInnerHTML: {__html: children},\n className,\n itemProp,\n id,\n 'data-qa': qa,\n });\n};\n\nexport default HTML;\n"]}
1
+ {"version":3,"file":"HTML.js","sourceRoot":"../../../../src","sources":["components/HTML/HTML.tsx"],"names":[],"mappings":";;;AAAA,qDAA+B;AAG/B,gDAA0C;AAmB1C,MAAM,IAAI,GAAG,CAAC,EAWF,EAAE,EAAE;QAXF,EACV,OAAO,EACP,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,SAAS,EACT,gBAAgB,EAChB,EAAE,EACF,eAAe,GAAG,OAAO,EACzB,OAAO,GAAG,MAAM,EAChB,WAAW,GAAG,KAAK,OAEX,EADL,IAAI,sBAVG,oHAWb,CADU;IAEP,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,OAAO;YACV,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAA,qBAAa,EAAC,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC,kBAClE,uBAAuB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,EAC1C,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,EAAE,IACV,IAAI,EACT;YACJ,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpE,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,aAAa,CACtB,OAAO,EACP;YACI,SAAS;SACZ,EACD,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EACpD,QAAQ,EACR,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ClassNameProps, QAProps, TagName} from '../../models/common';\nimport {selectTagName} from '../../utils';\n\nexport interface HTMLExtraProps {\n tagName?: TagName;\n contentPosition?: 'start' | 'end';\n contentClassName?: string;\n onlyContent?: boolean;\n}\nexport interface HTMLProps\n extends HTMLExtraProps,\n React.PropsWithChildren,\n QAProps,\n ClassNameProps {\n content?: string;\n block?: boolean;\n itemProp?: string;\n id?: string;\n}\n\nconst HTML = ({\n content,\n children,\n block = false,\n className,\n contentClassName,\n qa,\n contentPosition = 'start',\n tagName = 'span',\n onlyContent = false,\n ...rest\n}: HTMLProps) => {\n const renderedContent = React.useMemo(() => {\n return content\n ? React.createElement(selectTagName({content, block, tagName, children}), {\n dangerouslySetInnerHTML: {__html: content},\n className: contentClassName,\n 'data-qa': qa,\n ...rest,\n })\n : null;\n }, [block, children, content, contentClassName, qa, rest, tagName]);\n\n if (onlyContent) {\n return renderedContent;\n }\n\n if (children) {\n return React.createElement(\n tagName,\n {\n className,\n },\n contentPosition === 'start' ? renderedContent : null,\n children,\n contentPosition === 'end' ? renderedContent : null,\n );\n }\n\n return renderedContent;\n};\n\nexport default HTML;\n"]}
@@ -13,7 +13,7 @@ const ImageBase = (_a) => {
13
13
  // It is still not supported. However it's nice to have ability to manage
14
14
  // this prop is good to have to improve Core Web Vitals.
15
15
  // So, here is a workaround to assign the attr.
16
- (0, jsx_runtime_1.jsx)("img", Object.assign({ fetchpriority: fetchPriority, alt: alt }, props)));
16
+ (0, jsx_runtime_1.jsx)("img", Object.assign({ fetchPriority: fetchPriority, alt: alt }, props)));
17
17
  };
18
18
  exports.ImageBase = ImageBase;
19
19
  exports.default = exports.ImageBase;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageBase.js","sourceRoot":"../../../../src","sources":["components/ImageBase/ImageBase.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6EAAqE;AAW9D,MAAM,SAAS,GAAG,CAAC,EAA8C,EAAE,EAAE;QAAlD,EAAC,aAAa,EAAE,GAAG,OAA2B,EAAtB,KAAK,sBAA7B,wBAA8B,CAAD;IACnD,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAY,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,CAAC,CAAC,CACX,uBAAC,KAAK,kBAAC,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAC/D,CAAC,CAAC,CAAC;IACA,6DAA6D;IAC7D,yEAAyE;IACzE,wDAAwD;IACxD,+CAA+C;IAC/C,8CAAU,aAAa,EAAE,aAAa,EAAG,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CACnE,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB;AAEF,kBAAe,iBAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ImageContext} from '../../context/imageContext/imageContext';\nimport {ImageObjectProps} from '../../models';\n\nexport interface ImageBaseProps extends Partial<ImageObjectProps> {\n style?: React.CSSProperties;\n className?: string;\n onClick?: React.MouseEventHandler;\n onLoad?: React.ReactEventHandler<HTMLDivElement>;\n onError?: () => void;\n}\n\nexport const ImageBase = ({fetchPriority, alt, ...props}: ImageBaseProps) => {\n const {Image} = React.useContext(ImageContext);\n\n return Image ? (\n <Image fetchPriority={fetchPriority} alt={alt} {...props} />\n ) : (\n // There is an issue with fetchpriority attr in img in React.\n // It is still not supported. However it's nice to have ability to manage\n // this prop is good to have to improve Core Web Vitals.\n // So, here is a workaround to assign the attr.\n <img {...{fetchpriority: fetchPriority}} alt={alt} {...props} />\n );\n};\n\nexport default ImageBase;\n"]}
1
+ {"version":3,"file":"ImageBase.js","sourceRoot":"../../../../src","sources":["components/ImageBase/ImageBase.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6EAAqE;AAW9D,MAAM,SAAS,GAAG,CAAC,EAA8C,EAAE,EAAE;QAAlD,EAAC,aAAa,EAAE,GAAG,OAA2B,EAAtB,KAAK,sBAA7B,wBAA8B,CAAD;IACnD,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAY,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,CAAC,CAAC,CACX,uBAAC,KAAK,kBAAC,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAC/D,CAAC,CAAC,CAAC;IACA,6DAA6D;IAC7D,yEAAyE;IACzE,wDAAwD;IACxD,+CAA+C;IAC/C,8CAAU,aAAa,EAAE,aAAa,EAAG,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CACnE,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB;AAEF,kBAAe,iBAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ImageContext} from '../../context/imageContext/imageContext';\nimport {ImageObjectProps} from '../../models';\n\nexport interface ImageBaseProps extends Partial<ImageObjectProps> {\n style?: React.CSSProperties;\n className?: string;\n onClick?: React.MouseEventHandler;\n onLoad?: React.ReactEventHandler<HTMLDivElement>;\n onError?: () => void;\n}\n\nexport const ImageBase = ({fetchPriority, alt, ...props}: ImageBaseProps) => {\n const {Image} = React.useContext(ImageContext);\n\n return Image ? (\n <Image fetchPriority={fetchPriority} alt={alt} {...props} />\n ) : (\n // There is an issue with fetchpriority attr in img in React.\n // It is still not supported. However it's nice to have ability to manage\n // this prop is good to have to improve Core Web Vitals.\n // So, here is a workaround to assign the attr.\n <img {...{fetchPriority: fetchPriority}} alt={alt} {...props} />\n );\n};\n\nexport default ImageBase;\n"]}
@@ -19,6 +19,7 @@ function getArrowSize(size) {
19
19
  case 'l':
20
20
  return 20;
21
21
  case 'm':
22
+ case 'sm':
22
23
  return 18;
23
24
  case 's':
24
25
  return 14;
@@ -26,6 +27,15 @@ function getArrowSize(size) {
26
27
  return 14;
27
28
  }
28
29
  }
30
+ function getTextSize({ size, theme }) {
31
+ if (!size) {
32
+ return theme === 'back' ? 'l' : 'm';
33
+ }
34
+ if (size === 'sm') {
35
+ return 'm';
36
+ }
37
+ return size;
38
+ }
29
39
  const LinkBlock = (props) => {
30
40
  const { text, url, arrow, analyticsEvents, theme = 'file-link', colorTheme = 'light', textSize = 'm', className, target, children, tabIndex, qa, urlTitle, extraProps, } = props;
31
41
  const qaAttributes = (0, utils_1.getQaAttrubutes)(qa, ['normal']);
@@ -33,7 +43,6 @@ const LinkBlock = (props) => {
33
43
  const { hostname } = React.useContext(locationContext_1.LocationContext);
34
44
  const { tld } = React.useContext(localeContext_1.LocaleContext);
35
45
  const href = (0, utils_1.setUrlTld)(props.url, tld);
36
- const defaultTextSize = theme === 'back' ? 'l' : 'm';
37
46
  const onClick = () => {
38
47
  handleAnalytics(analyticsEvents);
39
48
  };
@@ -53,7 +62,7 @@ const LinkBlock = (props) => {
53
62
  return null;
54
63
  }
55
64
  };
56
- return ((0, jsx_runtime_1.jsx)("div", { className: b({ size: textSize || defaultTextSize }, className), children: getLinkByType() }));
65
+ return ((0, jsx_runtime_1.jsx)("div", { className: b({ size: getTextSize({ size: textSize, theme }) }, className), children: getLinkByType() }));
57
66
  };
58
67
  exports.default = LinkBlock;
59
68
  //# sourceMappingURL=Link.js.map