@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 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"../../../../src","sources":["components/Link/Link.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {ChevronRight} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {LocaleContext} from '../../context/localeContext';\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {ClassNameProps, DefaultEventNames, LinkProps, Tabbable, TextSize} from '../../models';\nimport {QAProps} from '../../models/common';\nimport {block, getLinkProps, getQaAttrubutes, setUrlTld} from '../../utils';\nimport BackLink from '../BackLink/BackLink';\nimport FileLink from '../FileLink/FileLink';\n\nimport './Link.scss';\n\nconst b = block('link-block');\nconst WORD_JOINER_SYM = '\\u200b';\n\nexport type LinkFullProps = LinkProps & ClassNameProps & Tabbable & QAProps;\n\nfunction getArrowSize(size: TextSize) {\n switch (size) {\n case 'l':\n return 20;\n case 'm':\n return 18;\n case 's':\n return 14;\n default:\n return 14;\n }\n}\n\nconst LinkBlock = (props: React.PropsWithChildren<LinkFullProps>) => {\n const {\n text,\n url,\n arrow,\n analyticsEvents,\n theme = 'file-link',\n colorTheme = 'light',\n textSize = 'm',\n className,\n target,\n children,\n tabIndex,\n qa,\n urlTitle,\n extraProps,\n } = props;\n const qaAttributes = getQaAttrubutes(qa, ['normal']);\n\n const handleAnalytics = useAnalytics(DefaultEventNames.Link, url);\n const {hostname} = React.useContext(LocationContext);\n const {tld} = React.useContext(LocaleContext);\n const href = setUrlTld(props.url, tld);\n const defaultTextSize = theme === 'back' ? 'l' : 'm';\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n const getLinkByType = () => {\n switch (theme) {\n case 'back':\n return (\n <BackLink\n title={children || text}\n url={href}\n onClick={onClick}\n tabIndex={tabIndex}\n extraProps={extraProps}\n />\n );\n case 'file-link':\n case 'underline':\n return (\n <FileLink\n text={children || text}\n href={href}\n type=\"horizontal\"\n textSize={textSize}\n onClick={onClick}\n tabIndex={tabIndex}\n extraProps={extraProps}\n />\n );\n case 'normal': {\n const linkProps = getLinkProps(url, hostname, target);\n const content = children || text;\n\n return (\n <a\n className={b('link', {theme: colorTheme, 'has-arrow': arrow})}\n href={href}\n onClick={onClick}\n tabIndex={tabIndex}\n title={urlTitle}\n {...linkProps}\n data-qa={qaAttributes.normal}\n {...extraProps}\n >\n {arrow ? (\n <React.Fragment>\n <span className={b('content')}>{content}</span>\n {WORD_JOINER_SYM}\n <Icon\n className={b('arrow')}\n data={ChevronRight}\n size={getArrowSize(textSize)}\n />\n </React.Fragment>\n ) : (\n content\n )}\n </a>\n );\n }\n default:\n return null;\n }\n };\n return (\n <div className={b({size: textSize || defaultTextSize}, className)}>{getLinkByType()}</div>\n );\n};\n\nexport default LinkBlock;\n"]}
1
+ {"version":3,"file":"Link.js","sourceRoot":"../../../../src","sources":["components/Link/Link.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {ChevronRight} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {LocaleContext} from '../../context/localeContext';\nimport {LocationContext} from '../../context/locationContext';\nimport {useAnalytics} from '../../hooks';\nimport {\n ClassNameProps,\n DefaultEventNames,\n LinkProps,\n LinkTheme,\n Tabbable,\n TextSize,\n} from '../../models';\nimport {QAProps} from '../../models/common';\nimport {block, getLinkProps, getQaAttrubutes, setUrlTld} from '../../utils';\nimport BackLink from '../BackLink/BackLink';\nimport FileLink from '../FileLink/FileLink';\n\nimport './Link.scss';\n\nconst b = block('link-block');\nconst WORD_JOINER_SYM = '\\u200b';\n\nexport type LinkFullProps = LinkProps & ClassNameProps & Tabbable & QAProps;\n\nfunction getArrowSize(size: TextSize) {\n switch (size) {\n case 'l':\n return 20;\n case 'm':\n case 'sm':\n return 18;\n case 's':\n return 14;\n default:\n return 14;\n }\n}\n\nfunction getTextSize({size, theme}: {size?: TextSize; theme: LinkTheme}) {\n if (!size) {\n return theme === 'back' ? 'l' : 'm';\n }\n\n if (size === 'sm') {\n return 'm';\n }\n\n return size;\n}\n\nconst LinkBlock = (props: React.PropsWithChildren<LinkFullProps>) => {\n const {\n text,\n url,\n arrow,\n analyticsEvents,\n theme = 'file-link',\n colorTheme = 'light',\n textSize = 'm',\n className,\n target,\n children,\n tabIndex,\n qa,\n urlTitle,\n extraProps,\n } = props;\n const qaAttributes = getQaAttrubutes(qa, ['normal']);\n\n const handleAnalytics = useAnalytics(DefaultEventNames.Link, url);\n const {hostname} = React.useContext(LocationContext);\n const {tld} = React.useContext(LocaleContext);\n const href = setUrlTld(props.url, tld);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n const getLinkByType = () => {\n switch (theme) {\n case 'back':\n return (\n <BackLink\n title={children || text}\n url={href}\n onClick={onClick}\n tabIndex={tabIndex}\n extraProps={extraProps}\n />\n );\n case 'file-link':\n case 'underline':\n return (\n <FileLink\n text={children || text}\n href={href}\n type=\"horizontal\"\n textSize={textSize}\n onClick={onClick}\n tabIndex={tabIndex}\n extraProps={extraProps}\n />\n );\n case 'normal': {\n const linkProps = getLinkProps(url, hostname, target);\n const content = children || text;\n\n return (\n <a\n className={b('link', {theme: colorTheme, 'has-arrow': arrow})}\n href={href}\n onClick={onClick}\n tabIndex={tabIndex}\n title={urlTitle}\n {...linkProps}\n data-qa={qaAttributes.normal}\n {...extraProps}\n >\n {arrow ? (\n <React.Fragment>\n <span className={b('content')}>{content}</span>\n {WORD_JOINER_SYM}\n <Icon\n className={b('arrow')}\n data={ChevronRight}\n size={getArrowSize(textSize)}\n />\n </React.Fragment>\n ) : (\n content\n )}\n </a>\n );\n }\n default:\n return null;\n }\n };\n return (\n <div className={b({size: getTextSize({size: textSize, theme})}, className)}>\n {getLinkByType()}\n </div>\n );\n};\n\nexport default LinkBlock;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { Lang } from '@gravity-ui/uikit';
4
- import debounce from 'lodash/debounce';
4
+ import debounce from "lodash/debounce.js";
5
5
  import { LocaleContext } from "../../context/localeContext/localeContext.js";
6
6
  import { MapsContext } from "../../context/mapsContext/mapsContext.js";
7
7
  import { MobileContext } from "../../context/mobileContext/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMap.js","sourceRoot":"../../../../src","sources":["components/Map/GoogleMap.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Lang} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\n\nimport {LocaleContext} from '../../context/localeContext/localeContext';\nimport {MapsContext} from '../../context/mapsContext/mapsContext';\nimport {MobileContext} from '../../context/mobileContext';\nimport {GMapProps} from '../../models';\nimport {block} from '../../utils';\n\nimport {getMapHeight} from './helpers';\n\nconst b = block('map');\n\ninterface GoogleMapLinkParams {\n apiKey: string;\n scriptSrc: string;\n address: string;\n lang: `${Lang}`;\n zoom?: number;\n}\n\nfunction getScriptSrc(params: GoogleMapLinkParams) {\n const {apiKey, scriptSrc, address, lang, zoom} = params;\n\n return `${scriptSrc}?key=${apiKey}&language=${lang}${zoom ? '&zoom=' + zoom : ''}&q=${encodeURI(\n address,\n )}`;\n}\n\nconst GoogleMap: React.FC<GMapProps> = (props) => {\n const {address, zoom, className} = props;\n const {apiKey, scriptSrc} = React.useContext(MapsContext);\n const {lang = Lang.Ru} = React.useContext(LocaleContext);\n const isMobile = React.useContext(MobileContext);\n\n const [height, setHeight] = React.useState<number | undefined>(undefined);\n const ref = React.useRef<HTMLIFrameElement>(null);\n const src = React.useMemo(\n () => getScriptSrc({apiKey, scriptSrc, address, lang, zoom}),\n [apiKey, scriptSrc, address, lang, zoom],\n );\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n setHeight(Math.round(getMapHeight(ref.current.offsetWidth, isMobile)));\n }\n }, 100);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [isMobile]);\n\n if (!apiKey || !address) {\n return null;\n }\n\n return (\n <iframe\n className={b(null, className)}\n ref={ref}\n style={{\n height,\n }}\n title=\"Google Map\"\n loading=\"lazy\"\n allowFullScreen\n referrerPolicy=\"no-referrer-when-downgrade\"\n src={src}\n />\n );\n};\n\nexport default GoogleMap;\n"]}
1
+ {"version":3,"file":"GoogleMap.js","sourceRoot":"../../../../src","sources":["components/Map/GoogleMap.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,2BAAwB;AAEvC,OAAO,EAAC,aAAa,EAAC,qDAAkD;AACxE,OAAO,EAAC,WAAW,EAAC,iDAA8C;AAClE,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAE1D,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,YAAY,EAAC,qBAAkB;AAEvC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAUvB,SAAS,YAAY,CAAC,MAA2B;IAC7C,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAExD,OAAO,GAAG,SAAS,QAAQ,MAAM,aAAa,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,SAAS,CAC3F,OAAO,CACV,EAAE,CAAC;AACR,CAAC;AAED,MAAM,SAAS,GAAwB,CAAC,KAAK,EAAE,EAAE;IAC7C,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC;IACzC,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,EAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACrB,GAAG,EAAE,CAAC,YAAY,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,EAC5D,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAC3C,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC7B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,UAAU,EAAE,CAAC;QACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,iBACI,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;YACH,MAAM;SACT,EACD,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,MAAM,EACd,eAAe,QACf,cAAc,EAAC,4BAA4B,EAC3C,GAAG,EAAE,GAAG,GACV,CACL,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Lang} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\n\nimport {LocaleContext} from '../../context/localeContext/localeContext';\nimport {MapsContext} from '../../context/mapsContext/mapsContext';\nimport {MobileContext} from '../../context/mobileContext';\nimport {GMapProps} from '../../models';\nimport {block} from '../../utils';\n\nimport {getMapHeight} from './helpers';\n\nconst b = block('map');\n\ninterface GoogleMapLinkParams {\n apiKey: string;\n scriptSrc: string;\n address: string;\n lang: `${Lang}`;\n zoom?: number;\n}\n\nfunction getScriptSrc(params: GoogleMapLinkParams) {\n const {apiKey, scriptSrc, address, lang, zoom} = params;\n\n return `${scriptSrc}?key=${apiKey}&language=${lang}${zoom ? '&zoom=' + zoom : ''}&q=${encodeURI(\n address,\n )}`;\n}\n\nconst GoogleMap: React.FC<GMapProps> = (props) => {\n const {address, zoom, className} = props;\n const {apiKey, scriptSrc} = React.useContext(MapsContext);\n const {lang = Lang.Ru} = React.useContext(LocaleContext);\n const isMobile = React.useContext(MobileContext);\n\n const [height, setHeight] = React.useState<number | undefined>(undefined);\n const ref = React.useRef<HTMLIFrameElement>(null);\n const src = React.useMemo(\n () => getScriptSrc({apiKey, scriptSrc, address, lang, zoom}),\n [apiKey, scriptSrc, address, lang, zoom],\n );\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n setHeight(Math.round(getMapHeight(ref.current.offsetWidth, isMobile)));\n }\n }, 100);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [isMobile]);\n\n if (!apiKey || !address) {\n return null;\n }\n\n return (\n <iframe\n className={b(null, className)}\n ref={ref}\n style={{\n height,\n }}\n title=\"Google Map\"\n loading=\"lazy\"\n allowFullScreen\n referrerPolicy=\"no-referrer-when-downgrade\"\n src={src}\n />\n );\n};\n\nexport default GoogleMap;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { Spin } from '@gravity-ui/uikit';
4
- import debounce from 'lodash/debounce';
4
+ import debounce from "lodash/debounce.js";
5
5
  import { LocaleContext } from "../../../context/localeContext/localeContext.js";
6
6
  import { MapsContext } from "../../../context/mapsContext/mapsContext.js";
7
7
  import { MobileContext } from "../../../context/mobileContext/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YandexMap.js","sourceRoot":"../../../../../src","sources":["components/Map/YMap/YandexMap.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Spin} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\n\nimport {LocaleContext} from '../../../context/localeContext/localeContext';\nimport {MapsContext} from '../../../context/mapsContext/mapsContext';\nimport {MobileContext} from '../../../context/mobileContext';\nimport {YMapProps} from '../../../models';\nimport {block} from '../../../utils';\nimport ErrorWrapper from '../../ErrorWrapper/ErrorWrapper';\nimport {getMapHeight} from '../helpers';\n\nimport {YMap} from './YMap';\nimport {MapApiStatus, YMapsApiLoader} from './YandexMapApiLoader';\nimport {i18n} from './i18n';\n\nconst b = block('map');\nconst DEFAULT_CONTAINER_ID = 'ymap';\nconst DEFAULT_ZOOM = 9;\n// Center - is a required parameter for creating a new map\n// We use this init center to create a map\n// The real center of the map will be calculated later, using the coordinates of the markers\nconst INITIAL_CENTER = [0, 0];\n\nconst YandexMap: React.FC<YMapProps> = (props) => {\n const {markers, zoom, id, className} = props;\n const {apiKey, scriptSrc, nonce} = React.useContext(MapsContext);\n const isMobile = React.useContext(MobileContext);\n\n const {lang = 'ru'} = React.useContext(LocaleContext);\n const containerId = `${DEFAULT_CONTAINER_ID}-${id}`;\n\n const [ymap, setYmaps] = React.useState<YMap | null>(null);\n const [height, setHeight] = React.useState<number | undefined>(undefined);\n const ref = React.useRef<HTMLDivElement>(null);\n\n const [loading, setLoading] = React.useState<boolean>(false);\n const [ready, setReady] = React.useState<boolean>(false);\n const [attemptsIndex, setAttemptsIndex] = React.useState<number>(0);\n const onTryAgain = React.useCallback(() => {\n setAttemptsIndex(attemptsIndex + 1);\n }, [attemptsIndex]);\n\n React.useEffect(() => {\n (async function () {\n setLoading(true);\n\n await YMapsApiLoader.loadApi(apiKey, scriptSrc, lang, nonce);\n\n window.ymaps?.ready(() => {\n setYmaps(\n new YMap(\n new window.ymaps.Map(\n containerId,\n {\n center: INITIAL_CENTER,\n zoom: zoom || DEFAULT_ZOOM,\n },\n {autoFitToViewport: 'always'},\n ),\n ref.current,\n ),\n );\n });\n\n setLoading(false);\n })();\n }, [apiKey, lang, scriptSrc, containerId, zoom, nonce, attemptsIndex, setLoading]);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n setHeight(Math.round(getMapHeight(ref.current.offsetWidth, isMobile)));\n }\n }, 100);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [markers, ymap, setYmaps, isMobile]);\n\n React.useEffect(() => {\n if (ymap) {\n // show with computed center and placemarks\n const showPlacemarks = async () => {\n await ymap.showPlacemarks({markers, zoom});\n\n setReady(true);\n };\n\n showPlacemarks();\n }\n });\n\n if (!markers) return null;\n\n return (\n <ErrorWrapper\n isError={YMapsApiLoader.status === MapApiStatus.Error}\n text={i18n('map-load-error')}\n buttonText={i18n('map-try-again')}\n handler={onTryAgain}\n className={b('wrapper')}\n >\n <div className={b('wrapper')}>\n {/* hidden - to show the map after calculating the center */}\n <div\n id={containerId}\n className={b({hidden: !ready}, className)}\n ref={ref}\n style={{height}}\n />\n {loading ? <Spin size=\"xl\" className={b('spinner')} /> : null}\n </div>\n </ErrorWrapper>\n );\n};\n\nexport default YandexMap;\n"]}
1
+ {"version":3,"file":"YandexMap.js","sourceRoot":"../../../../../src","sources":["components/Map/YMap/YandexMap.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,2BAAwB;AAEvC,OAAO,EAAC,aAAa,EAAC,wDAAqD;AAC3E,OAAO,EAAC,WAAW,EAAC,oDAAiD;AACrE,OAAO,EAAC,aAAa,EAAC,gDAAuC;AAE7D,OAAO,EAAC,KAAK,EAAC,gCAAuB;AACrC,OAAO,YAAY,2CAAwC;AAC3D,OAAO,EAAC,YAAY,EAAC,sBAAmB;AAExC,OAAO,EAAC,IAAI,EAAC,kBAAe;AAC5B,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,gCAA6B;AAClE,OAAO,EAAC,IAAI,EAAC,wBAAe;AAE5B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,0DAA0D;AAC1D,0CAA0C;AAC1C,4FAA4F;AAC5F,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9B,MAAM,SAAS,GAAwB,CAAC,KAAK,EAAE,EAAE;IAC7C,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC;IAC7C,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,EAAC,IAAI,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,GAAG,oBAAoB,IAAI,EAAE,EAAE,CAAC;IAEpD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACzD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACtC,gBAAgB,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,CAAC,KAAK;;YACF,UAAU,CAAC,IAAI,CAAC,CAAC;YAEjB,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAE7D,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE;gBACrB,QAAQ,CACJ,IAAI,IAAI,CACJ,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAChB,WAAW,EACX;oBACI,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE,IAAI,IAAI,YAAY;iBAC7B,EACD,EAAC,iBAAiB,EAAE,QAAQ,EAAC,CAChC,EACD,GAAG,CAAC,OAAO,CACd,CACJ,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC7B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,UAAU,EAAE,CAAC;QACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,IAAI,EAAE,CAAC;YACP,2CAA2C;YAC3C,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;gBAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;gBAE3C,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,cAAc,EAAE,CAAC;QACrB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACH,KAAC,YAAY,IACT,OAAO,EAAE,cAAc,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK,EACrD,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAC5B,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EACjC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAEvB,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aAExB,cACI,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,KAAK,EAAC,EAAE,SAAS,CAAC,EACzC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAC,MAAM,EAAC,GACjB,EACD,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,IAC3D,GACK,CAClB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Spin} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\n\nimport {LocaleContext} from '../../../context/localeContext/localeContext';\nimport {MapsContext} from '../../../context/mapsContext/mapsContext';\nimport {MobileContext} from '../../../context/mobileContext';\nimport {YMapProps} from '../../../models';\nimport {block} from '../../../utils';\nimport ErrorWrapper from '../../ErrorWrapper/ErrorWrapper';\nimport {getMapHeight} from '../helpers';\n\nimport {YMap} from './YMap';\nimport {MapApiStatus, YMapsApiLoader} from './YandexMapApiLoader';\nimport {i18n} from './i18n';\n\nconst b = block('map');\nconst DEFAULT_CONTAINER_ID = 'ymap';\nconst DEFAULT_ZOOM = 9;\n// Center - is a required parameter for creating a new map\n// We use this init center to create a map\n// The real center of the map will be calculated later, using the coordinates of the markers\nconst INITIAL_CENTER = [0, 0];\n\nconst YandexMap: React.FC<YMapProps> = (props) => {\n const {markers, zoom, id, className} = props;\n const {apiKey, scriptSrc, nonce} = React.useContext(MapsContext);\n const isMobile = React.useContext(MobileContext);\n\n const {lang = 'ru'} = React.useContext(LocaleContext);\n const containerId = `${DEFAULT_CONTAINER_ID}-${id}`;\n\n const [ymap, setYmaps] = React.useState<YMap | null>(null);\n const [height, setHeight] = React.useState<number | undefined>(undefined);\n const ref = React.useRef<HTMLDivElement>(null);\n\n const [loading, setLoading] = React.useState<boolean>(false);\n const [ready, setReady] = React.useState<boolean>(false);\n const [attemptsIndex, setAttemptsIndex] = React.useState<number>(0);\n const onTryAgain = React.useCallback(() => {\n setAttemptsIndex(attemptsIndex + 1);\n }, [attemptsIndex]);\n\n React.useEffect(() => {\n (async function () {\n setLoading(true);\n\n await YMapsApiLoader.loadApi(apiKey, scriptSrc, lang, nonce);\n\n window.ymaps?.ready(() => {\n setYmaps(\n new YMap(\n new window.ymaps.Map(\n containerId,\n {\n center: INITIAL_CENTER,\n zoom: zoom || DEFAULT_ZOOM,\n },\n {autoFitToViewport: 'always'},\n ),\n ref.current,\n ),\n );\n });\n\n setLoading(false);\n })();\n }, [apiKey, lang, scriptSrc, containerId, zoom, nonce, attemptsIndex, setLoading]);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n setHeight(Math.round(getMapHeight(ref.current.offsetWidth, isMobile)));\n }\n }, 100);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [markers, ymap, setYmaps, isMobile]);\n\n React.useEffect(() => {\n if (ymap) {\n // show with computed center and placemarks\n const showPlacemarks = async () => {\n await ymap.showPlacemarks({markers, zoom});\n\n setReady(true);\n };\n\n showPlacemarks();\n }\n });\n\n if (!markers) return null;\n\n return (\n <ErrorWrapper\n isError={YMapsApiLoader.status === MapApiStatus.Error}\n text={i18n('map-load-error')}\n buttonText={i18n('map-try-again')}\n handler={onTryAgain}\n className={b('wrapper')}\n >\n <div className={b('wrapper')}>\n {/* hidden - to show the map after calculating the center */}\n <div\n id={containerId}\n className={b({hidden: !ready}, className)}\n ref={ref}\n style={{height}}\n />\n {loading ? <Spin size=\"xl\" className={b('spinner')} /> : null}\n </div>\n </ErrorWrapper>\n );\n};\n\nexport default YandexMap;\n"]}
@@ -4,6 +4,7 @@ export interface ImageAdditionProps {
4
4
  imageClassName?: string;
5
5
  isBackground?: boolean;
6
6
  fullscreen?: boolean;
7
+ fullscreenClassName?: string;
7
8
  onLoad?: () => void;
8
9
  }
9
10
  interface InnerImageProps {
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { animated, config, useSpring } from '@react-spring/web';
4
- import debounce from 'lodash/debounce';
5
- import SliderBlock from "../../../blocks/Slider/Slider.js";
4
+ import debounce from "lodash/debounce.js";
5
+ import { SliderBlock } from "../../../blocks/index.js";
6
6
  import { SliderType } from "../../../models/index.js";
7
7
  import { block, getQaAttrubutes } from "../../../utils/index.js";
8
8
  import BackgroundImage from "../../BackgroundImage/BackgroundImage.js";
@@ -13,7 +13,7 @@ import './Image.css';
13
13
  const b = block('media-component-image');
14
14
  export const defaultAnimatedDivQa = 'animated-div';
15
15
  const Image = (props) => {
16
- const { parallax, height, imageClassName, isBackground, hasVideoFallback, video, fullscreen, disableImageSliderForArrayInput, qa, onLoad, } = props;
16
+ const { parallax, height, imageClassName, fullscreenClassName, isBackground, hasVideoFallback, video, fullscreen, disableImageSliderForArrayInput, qa, onLoad, } = props;
17
17
  const image = Array.isArray(props.image) && disableImageSliderForArrayInput
18
18
  ? props.image[0]
19
19
  : props.image;
@@ -39,9 +39,9 @@ const Image = (props) => {
39
39
  parallaxInterpolate = springScrollY.to((value) => `translateY(-${Number(value) / parallaxLevel}px)`);
40
40
  }
41
41
  const imageClass = b('item', { withVideo: Boolean(video) && !hasVideoFallback }, imageClassName);
42
- const renderFullscreenImage = (item) => {
42
+ const renderFullscreenImage = (item, sliderData) => {
43
43
  const itemData = getMediaImage(item);
44
- return (_jsx(FullscreenImage, Object.assign({}, itemData, { imageClassName: imageClass, imageStyle: { height }, qa: qaAttributes.fullscreenImage }), itemData.alt));
44
+ return (_jsx(FullscreenImage, Object.assign({}, itemData, { imageClassName: imageClass, modalImageClass: fullscreenClassName, imageStyle: { height }, qa: qaAttributes.fullscreenImage, sliderData: sliderData }), itemData.alt));
45
45
  };
46
46
  const imageBackground = (oneImage) => {
47
47
  const imageData = getMediaImage(oneImage);
@@ -53,7 +53,9 @@ const Image = (props) => {
53
53
  };
54
54
  const imageSlider = (imageArray) => {
55
55
  const fullscreenItem = fullscreen === undefined || fullscreen;
56
- return (_jsx(SliderBlock, { slidesToShow: 1, type: SliderType.MediaCard, children: imageArray.map((item, index) => (_jsx(React.Fragment, { children: fullscreenItem ? renderFullscreenImage(item) : imageOnly(item) }, index))) }));
56
+ return (_jsx(SliderBlock, { slidesToShow: 1, type: SliderType.MediaCard, children: imageArray.map((item, index) => (_jsx(React.Fragment, { children: fullscreenItem
57
+ ? renderFullscreenImage(item, { items: imageArray, initialIndex: index })
58
+ : imageOnly(item) }, index))) }));
57
59
  };
58
60
  if (Array.isArray(image)) {
59
61
  return imageSlider(image);
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sourceRoot":"../../../../../src","sources":["components/Media/Image/Image.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Interpolation, animated, config, useSpring} from '@react-spring/web';\nimport debounce from 'lodash/debounce';\n\nimport SliderBlock from '../../../blocks/Slider/Slider';\nimport {ImageProps, MediaComponentImageProps, QAProps, SliderType} from '../../../models';\nimport {block, getQaAttrubutes} from '../../../utils';\nimport BackgroundImage from '../../BackgroundImage/BackgroundImage';\nimport FullscreenImage from '../../FullscreenImage/FullscreenImage';\nimport ImageView from '../../Image/Image';\n\nimport {getMediaImage} from './utils';\n\nimport './Image.scss';\n\nconst b = block('media-component-image');\n\nexport interface ImageAdditionProps {\n imageClassName?: string;\n isBackground?: boolean;\n fullscreen?: boolean;\n onLoad?: () => void;\n}\n\ninterface InnerImageProps {\n hasVideoFallback: boolean;\n}\n\ntype ImageAllProps = ImageAdditionProps & MediaComponentImageProps & InnerImageProps & QAProps;\n\nexport const defaultAnimatedDivQa = 'animated-div';\n\nconst Image = (props: ImageAllProps) => {\n const {\n parallax,\n height,\n imageClassName,\n isBackground,\n hasVideoFallback,\n video,\n fullscreen,\n disableImageSliderForArrayInput,\n qa,\n onLoad,\n } = props;\n const image =\n Array.isArray(props.image) && disableImageSliderForArrayInput\n ? props.image[0]\n : props.image;\n\n const qaAttributes = getQaAttrubutes(\n qa,\n 'fullscreen-image',\n 'animate',\n 'background-image',\n 'image-view',\n 'slider-block',\n );\n const [scrollY, setScrollY] = React.useState(0);\n const [{springScrollY}, springSetScrollY] = useSpring(() => ({\n springScrollY: 0,\n config: config.molasses,\n }));\n\n let parallaxInterpolate: Interpolation<number, string> | string = '';\n\n React.useEffect(() => {\n if (parallax) {\n const handleScroll = () => setScrollY(window.scrollY);\n const debouncedHandler = debounce(handleScroll, 5);\n\n window.addEventListener('scroll', debouncedHandler, {passive: true});\n return () => window.removeEventListener('scroll', debouncedHandler);\n }\n\n return () => {};\n });\n\n if (parallax) {\n const parallaxLevel = 2;\n springSetScrollY.start({springScrollY: height && scrollY > height ? height : scrollY});\n parallaxInterpolate = springScrollY.to(\n (value) => `translateY(-${Number(value) / parallaxLevel}px)`,\n );\n }\n\n const imageClass = b('item', {withVideo: Boolean(video) && !hasVideoFallback}, imageClassName);\n\n const renderFullscreenImage = (item: ImageProps) => {\n const itemData = getMediaImage(item);\n\n return (\n <FullscreenImage\n key={itemData.alt}\n {...itemData}\n imageClassName={imageClass}\n imageStyle={{height}}\n qa={qaAttributes.fullscreenImage}\n />\n );\n };\n\n const imageBackground = (oneImage: ImageProps) => {\n const imageData = getMediaImage(oneImage);\n return (\n <animated.div style={{transform: parallaxInterpolate}} data-qa={qaAttributes.animate}>\n <BackgroundImage\n {...imageData}\n className={imageClass}\n style={{height}}\n qa={qaAttributes.backgroundImage}\n />\n </animated.div>\n );\n };\n\n const imageOnly = (oneImage: ImageProps) => {\n const imageData = getMediaImage(oneImage);\n return (\n <ImageView\n {...imageData}\n className={imageClass}\n style={{height}}\n qa={qaAttributes.imageView}\n onLoad={onLoad}\n />\n );\n };\n\n const imageSlider = (imageArray: ImageProps[]) => {\n const fullscreenItem = fullscreen === undefined || fullscreen;\n\n return (\n <SliderBlock slidesToShow={1} type={SliderType.MediaCard}>\n {imageArray.map((item, index) => (\n <React.Fragment key={index}>\n {fullscreenItem ? renderFullscreenImage(item) : imageOnly(item)}\n </React.Fragment>\n ))}\n </SliderBlock>\n );\n };\n\n if (Array.isArray(image)) {\n return imageSlider(image);\n }\n\n if (fullscreen) {\n return renderFullscreenImage(image);\n }\n\n return isBackground ? imageBackground(image) : imageOnly(image);\n};\n\nexport default Image;\n"]}
1
+ {"version":3,"file":"Image.js","sourceRoot":"../../../../../src","sources":["components/Media/Image/Image.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAgB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,QAAQ,2BAAwB;AAEvC,OAAO,EAAC,WAAW,EAAC,iCAAwB;AAC5C,OAAO,EAAgD,UAAU,EAAC,iCAAwB;AAC1F,OAAO,EAAC,KAAK,EAAE,eAAe,EAAC,gCAAuB;AACtD,OAAO,eAAe,iDAA8C;AACpE,OAAO,eAAuC,iDAA8C;AAC5F,OAAO,SAAS,6BAA0B;AAE1C,OAAO,EAAC,aAAa,EAAC,mBAAgB;AAEtC,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAgBzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAE,EAAE;IACnC,MAAM,EACF,QAAQ,EACR,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,KAAK,EACL,UAAU,EACV,+BAA+B,EAC/B,EAAE,EACF,MAAM,GACT,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GACP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,+BAA+B;QACzD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAEtB,MAAM,YAAY,GAAG,eAAe,CAChC,EAAE,EACF,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,cAAc,CACjB,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC,CAAC;IAEJ,IAAI,mBAAmB,GAA2C,EAAE,CAAC;IAErE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAEnD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;YACrE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,CAAC,CAAC;QACxB,gBAAgB,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAC,CAAC,CAAC;QACvF,mBAAmB,GAAG,aAAa,CAAC,EAAE,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,KAAK,CAC/D,CAAC;IACN,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAC,EAAE,cAAc,CAAC,CAAC;IAE/F,MAAM,qBAAqB,GAAG,CAC1B,IAAgB,EAChB,UAA+C,EACjD,EAAE;QACA,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAErC,OAAO,CACH,KAAC,eAAe,oBAER,QAAQ,IACZ,cAAc,EAAE,UAAU,EAC1B,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,EAAC,MAAM,EAAC,EACpB,EAAE,EAAE,YAAY,CAAC,eAAe,EAChC,UAAU,EAAE,UAAU,KANjB,QAAQ,CAAC,GAAG,CAOnB,CACL,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,QAAoB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,CACH,KAAC,QAAQ,CAAC,GAAG,IAAC,KAAK,EAAE,EAAC,SAAS,EAAE,mBAAmB,EAAC,aAAW,YAAY,CAAC,OAAO,YAChF,KAAC,eAAe,oBACR,SAAS,IACb,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAC,MAAM,EAAC,EACf,EAAE,EAAE,YAAY,CAAC,eAAe,IAClC,GACS,CAClB,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,QAAoB,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,CACH,KAAC,SAAS,oBACF,SAAS,IACb,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAC,MAAM,EAAC,EACf,EAAE,EAAE,YAAY,CAAC,SAAS,EAC1B,MAAM,EAAE,MAAM,IAChB,CACL,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,UAAwB,EAAE,EAAE;QAC7C,MAAM,cAAc,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC;QAE9D,OAAO,CACH,KAAC,WAAW,IAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,YACnD,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,KAAK,CAAC,QAAQ,cACV,cAAc;oBACX,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAC,CAAC;oBACvE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAHJ,KAAK,CAIT,CACpB,CAAC,GACQ,CACjB,CAAC;IACN,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Interpolation, animated, config, useSpring} from '@react-spring/web';\nimport debounce from 'lodash/debounce';\n\nimport {SliderBlock} from '../../../blocks';\nimport {ImageProps, MediaComponentImageProps, QAProps, SliderType} from '../../../models';\nimport {block, getQaAttrubutes} from '../../../utils';\nimport BackgroundImage from '../../BackgroundImage/BackgroundImage';\nimport FullscreenImage, {FullscreenImageProps} from '../../FullscreenImage/FullscreenImage';\nimport ImageView from '../../Image/Image';\n\nimport {getMediaImage} from './utils';\n\nimport './Image.scss';\n\nconst b = block('media-component-image');\n\nexport interface ImageAdditionProps {\n imageClassName?: string;\n isBackground?: boolean;\n fullscreen?: boolean;\n fullscreenClassName?: string;\n onLoad?: () => void;\n}\n\ninterface InnerImageProps {\n hasVideoFallback: boolean;\n}\n\ntype ImageAllProps = ImageAdditionProps & MediaComponentImageProps & InnerImageProps & QAProps;\n\nexport const defaultAnimatedDivQa = 'animated-div';\n\nconst Image = (props: ImageAllProps) => {\n const {\n parallax,\n height,\n imageClassName,\n fullscreenClassName,\n isBackground,\n hasVideoFallback,\n video,\n fullscreen,\n disableImageSliderForArrayInput,\n qa,\n onLoad,\n } = props;\n const image =\n Array.isArray(props.image) && disableImageSliderForArrayInput\n ? props.image[0]\n : props.image;\n\n const qaAttributes = getQaAttrubutes(\n qa,\n 'fullscreen-image',\n 'animate',\n 'background-image',\n 'image-view',\n 'slider-block',\n );\n const [scrollY, setScrollY] = React.useState(0);\n const [{springScrollY}, springSetScrollY] = useSpring(() => ({\n springScrollY: 0,\n config: config.molasses,\n }));\n\n let parallaxInterpolate: Interpolation<number, string> | string = '';\n\n React.useEffect(() => {\n if (parallax) {\n const handleScroll = () => setScrollY(window.scrollY);\n const debouncedHandler = debounce(handleScroll, 5);\n\n window.addEventListener('scroll', debouncedHandler, {passive: true});\n return () => window.removeEventListener('scroll', debouncedHandler);\n }\n\n return () => {};\n });\n\n if (parallax) {\n const parallaxLevel = 2;\n springSetScrollY.start({springScrollY: height && scrollY > height ? height : scrollY});\n parallaxInterpolate = springScrollY.to(\n (value) => `translateY(-${Number(value) / parallaxLevel}px)`,\n );\n }\n\n const imageClass = b('item', {withVideo: Boolean(video) && !hasVideoFallback}, imageClassName);\n\n const renderFullscreenImage = (\n item: ImageProps,\n sliderData?: FullscreenImageProps['sliderData'],\n ) => {\n const itemData = getMediaImage(item);\n\n return (\n <FullscreenImage\n key={itemData.alt}\n {...itemData}\n imageClassName={imageClass}\n modalImageClass={fullscreenClassName}\n imageStyle={{height}}\n qa={qaAttributes.fullscreenImage}\n sliderData={sliderData}\n />\n );\n };\n\n const imageBackground = (oneImage: ImageProps) => {\n const imageData = getMediaImage(oneImage);\n return (\n <animated.div style={{transform: parallaxInterpolate}} data-qa={qaAttributes.animate}>\n <BackgroundImage\n {...imageData}\n className={imageClass}\n style={{height}}\n qa={qaAttributes.backgroundImage}\n />\n </animated.div>\n );\n };\n\n const imageOnly = (oneImage: ImageProps) => {\n const imageData = getMediaImage(oneImage);\n return (\n <ImageView\n {...imageData}\n className={imageClass}\n style={{height}}\n qa={qaAttributes.imageView}\n onLoad={onLoad}\n />\n );\n };\n\n const imageSlider = (imageArray: ImageProps[]) => {\n const fullscreenItem = fullscreen === undefined || fullscreen;\n\n return (\n <SliderBlock slidesToShow={1} type={SliderType.MediaCard}>\n {imageArray.map((item, index) => (\n <React.Fragment key={index}>\n {fullscreenItem\n ? renderFullscreenImage(item, {items: imageArray, initialIndex: index})\n : imageOnly(item)}\n </React.Fragment>\n ))}\n </SliderBlock>\n );\n };\n\n if (Array.isArray(image)) {\n return imageSlider(image);\n }\n\n if (fullscreen) {\n return renderFullscreenImage(image);\n }\n\n return isBackground ? imageBackground(image) : imageOnly(image);\n};\n\nexport default Image;\n"]}
@@ -8,4 +8,8 @@ unpredictable css rules order in build */
8
8
  overflow: hidden;
9
9
  display: flex;
10
10
  align-items: center;
11
+ }
12
+ .pc-Media__fullscreen-image-cover {
13
+ object-fit: cover;
14
+ object-position: top;
11
15
  }
@@ -4,6 +4,7 @@ import { VideoAdditionProps } from "./Video/Video.js";
4
4
  import './Media.css';
5
5
  export interface MediaAllProps extends MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {
6
6
  className?: string;
7
+ isFullscreenImageCover?: boolean;
7
8
  youtubeClassName?: string;
8
9
  autoplay?: boolean;
9
10
  onImageLoad?: () => void;
@@ -12,14 +12,14 @@ import Video from "./Video/Video.js";
12
12
  import './Media.css';
13
13
  const b = block('Media');
14
14
  export const Media = (props) => {
15
- const { image, video, youtube, videoIframe, dataLens, color, height, previewImg, parallax = false, fullscreen, analyticsEvents, className, imageClassName, videoClassName, youtubeClassName, disableImageSliderForArrayInput, playVideo = true, isBackground, playButton, customBarControlsClassName, qa, ratio, autoplay, onImageLoad, iframe, margins, videoMicrodata, } = props;
15
+ const { image, video, youtube, videoIframe, dataLens, color, height, previewImg, parallax = false, fullscreen, isFullscreenImageCover, analyticsEvents, className, imageClassName, videoClassName, youtubeClassName, disableImageSliderForArrayInput, playVideo = true, isBackground, playButton, customBarControlsClassName, qa, ratio, autoplay, onImageLoad, iframe, margins, videoMicrodata, } = props;
16
16
  const [hasVideoFallback, setHasVideoFallback] = React.useState(false);
17
17
  const { microdata } = React.useContext(InnerContext);
18
18
  const qaAttributes = getQaAttrubutes(qa, 'video');
19
19
  const content = React.useMemo(() => {
20
20
  let result = [];
21
21
  if (image) {
22
- result.push(_jsx(Image, { parallax: parallax, image: image, disableImageSliderForArrayInput: disableImageSliderForArrayInput, height: height, imageClassName: imageClassName, isBackground: isBackground, video: video, hasVideoFallback: hasVideoFallback, fullscreen: fullscreen, qa: qaAttributes.image, onLoad: onImageLoad }, "image"));
22
+ result.push(_jsx(Image, { parallax: parallax, image: image, disableImageSliderForArrayInput: disableImageSliderForArrayInput, height: height, imageClassName: imageClassName, fullscreenClassName: isFullscreenImageCover ? b('fullscreen-image-cover') : undefined, isBackground: isBackground, video: video, hasVideoFallback: hasVideoFallback, fullscreen: fullscreen, qa: qaAttributes.image, onLoad: onImageLoad }, "image"));
23
23
  }
24
24
  if (video) {
25
25
  const videoProps = {
@@ -67,6 +67,7 @@ export const Media = (props) => {
67
67
  isBackground,
68
68
  hasVideoFallback,
69
69
  fullscreen,
70
+ isFullscreenImageCover,
70
71
  qaAttributes.image,
71
72
  qaAttributes.video,
72
73
  onImageLoad,
@@ -1 +1 @@
1
- {"version":3,"file":"Media.js","sourceRoot":"../../../../src","sources":["components/Media/Media.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {InnerContext} from '../../context/innerContext';\nimport {MediaProps, QAProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport {sanitizeMicrodata} from '../../utils/microdata';\nimport IframeVideoBlock from '../VideoBlock/VideoBlock';\n\nimport DataLens from './DataLens/DataLens';\nimport FullscreenVideo from './FullscreenVideo/FullscreenVideo';\nimport Iframe from './Iframe/Iframe';\nimport Image, {ImageAdditionProps} from './Image/Image';\nimport Video, {VideoAdditionProps} from './Video/Video';\n\nimport './Media.scss';\n\nconst b = block('Media');\n\nexport interface MediaAllProps extends MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {\n className?: string;\n youtubeClassName?: string;\n autoplay?: boolean;\n onImageLoad?: () => void;\n}\n\nexport const Media = (props: MediaAllProps) => {\n const {\n image,\n video,\n youtube,\n videoIframe,\n dataLens,\n color,\n height,\n previewImg,\n parallax = false,\n fullscreen,\n analyticsEvents,\n className,\n imageClassName,\n videoClassName,\n youtubeClassName,\n disableImageSliderForArrayInput,\n playVideo = true,\n isBackground,\n playButton,\n customBarControlsClassName,\n qa,\n ratio,\n autoplay,\n onImageLoad,\n iframe,\n margins,\n videoMicrodata,\n } = props;\n\n const [hasVideoFallback, setHasVideoFallback] = React.useState(false);\n const {microdata} = React.useContext(InnerContext);\n\n const qaAttributes = getQaAttrubutes(qa, 'video');\n\n const content = React.useMemo(() => {\n let result: React.ReactElement | React.ReactElement[] = [];\n\n if (image) {\n result.push(\n <Image\n key=\"image\"\n parallax={parallax}\n image={image}\n disableImageSliderForArrayInput={disableImageSliderForArrayInput}\n height={height}\n imageClassName={imageClassName}\n isBackground={isBackground}\n video={video}\n hasVideoFallback={hasVideoFallback}\n fullscreen={fullscreen}\n qa={qaAttributes.image}\n onLoad={onImageLoad}\n />,\n );\n }\n\n if (video) {\n const videoProps = {\n key: 'video',\n video,\n videoClassName,\n height,\n analyticsEvents,\n playVideo,\n previewImg,\n playButton,\n customBarControlsClassName,\n hasVideoFallback,\n setHasVideoFallback,\n ratio,\n };\n\n if (fullscreen) {\n result.push(<FullscreenVideo {...videoProps} qa={qaAttributes.video} />);\n } else {\n result.push(<Video {...videoProps} qa={qaAttributes.video} />);\n }\n }\n\n if (youtube || videoIframe) {\n result = (\n <IframeVideoBlock\n className={b('youtube', youtubeClassName)}\n record={youtube}\n videoIframe={videoIframe}\n attributes={{color: 'white', rel: '0'}}\n previewImg={previewImg}\n height={height}\n fullscreen={fullscreen}\n analyticsEvents={analyticsEvents}\n autoplay={autoplay}\n onImageLoad={onImageLoad}\n />\n );\n }\n\n if (dataLens) {\n result = <DataLens dataLens={dataLens} />;\n }\n\n if (iframe) {\n result = <Iframe iframe={iframe} margins={margins} />;\n }\n\n return result;\n }, [\n image,\n video,\n videoIframe,\n youtube,\n dataLens,\n iframe,\n parallax,\n disableImageSliderForArrayInput,\n height,\n imageClassName,\n isBackground,\n hasVideoFallback,\n fullscreen,\n qaAttributes.image,\n qaAttributes.video,\n onImageLoad,\n videoClassName,\n analyticsEvents,\n playVideo,\n previewImg,\n playButton,\n customBarControlsClassName,\n ratio,\n youtubeClassName,\n autoplay,\n margins,\n ]);\n\n const videoMicrodataScript = React.useMemo(() => {\n const {name, description} = videoMicrodata || {};\n const json = JSON.stringify({\n '@context': 'http://schema.org/',\n '@type': 'VideoObject',\n uploadDate: microdata?.contentUpdatedDate,\n contentUrl: video?.src?.[0] || videoIframe || youtube,\n thumbnailUrl: previewImg,\n ...(videoMicrodata || {}),\n name: name ? sanitizeMicrodata(name) : name,\n description: description ? sanitizeMicrodata(description) : description,\n });\n\n return video || youtube || videoIframe ? (\n <script type=\"application/ld+json\" dangerouslySetInnerHTML={{__html: json}} />\n ) : null;\n }, [microdata?.contentUpdatedDate, previewImg, video, videoIframe, videoMicrodata, youtube]);\n\n return (\n <div className={b(null, className)} style={{backgroundColor: color}} data-qa={qa}>\n {videoMicrodataScript}\n {content}\n </div>\n );\n};\n\nexport default Media;\n"]}
1
+ {"version":3,"file":"Media.js","sourceRoot":"../../../../src","sources":["components/Media/Media.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {InnerContext} from '../../context/innerContext';\nimport {MediaProps, QAProps} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport {sanitizeMicrodata} from '../../utils/microdata';\nimport IframeVideoBlock from '../VideoBlock/VideoBlock';\n\nimport DataLens from './DataLens/DataLens';\nimport FullscreenVideo from './FullscreenVideo/FullscreenVideo';\nimport Iframe from './Iframe/Iframe';\nimport Image, {ImageAdditionProps} from './Image/Image';\nimport Video, {VideoAdditionProps} from './Video/Video';\n\nimport './Media.scss';\n\nconst b = block('Media');\n\nexport interface MediaAllProps extends MediaProps, VideoAdditionProps, ImageAdditionProps, QAProps {\n className?: string;\n isFullscreenImageCover?: boolean;\n youtubeClassName?: string;\n autoplay?: boolean;\n onImageLoad?: () => void;\n}\n\nexport const Media = (props: MediaAllProps) => {\n const {\n image,\n video,\n youtube,\n videoIframe,\n dataLens,\n color,\n height,\n previewImg,\n parallax = false,\n fullscreen,\n isFullscreenImageCover,\n analyticsEvents,\n className,\n imageClassName,\n videoClassName,\n youtubeClassName,\n disableImageSliderForArrayInput,\n playVideo = true,\n isBackground,\n playButton,\n customBarControlsClassName,\n qa,\n ratio,\n autoplay,\n onImageLoad,\n iframe,\n margins,\n videoMicrodata,\n } = props;\n\n const [hasVideoFallback, setHasVideoFallback] = React.useState(false);\n const {microdata} = React.useContext(InnerContext);\n\n const qaAttributes = getQaAttrubutes(qa, 'video');\n\n const content = React.useMemo(() => {\n let result: React.ReactElement | React.ReactElement[] = [];\n\n if (image) {\n result.push(\n <Image\n key=\"image\"\n parallax={parallax}\n image={image}\n disableImageSliderForArrayInput={disableImageSliderForArrayInput}\n height={height}\n imageClassName={imageClassName}\n fullscreenClassName={\n isFullscreenImageCover ? b('fullscreen-image-cover') : undefined\n }\n isBackground={isBackground}\n video={video}\n hasVideoFallback={hasVideoFallback}\n fullscreen={fullscreen}\n qa={qaAttributes.image}\n onLoad={onImageLoad}\n />,\n );\n }\n\n if (video) {\n const videoProps = {\n key: 'video',\n video,\n videoClassName,\n height,\n analyticsEvents,\n playVideo,\n previewImg,\n playButton,\n customBarControlsClassName,\n hasVideoFallback,\n setHasVideoFallback,\n ratio,\n };\n\n if (fullscreen) {\n result.push(<FullscreenVideo {...videoProps} qa={qaAttributes.video} />);\n } else {\n result.push(<Video {...videoProps} qa={qaAttributes.video} />);\n }\n }\n\n if (youtube || videoIframe) {\n result = (\n <IframeVideoBlock\n className={b('youtube', youtubeClassName)}\n record={youtube}\n videoIframe={videoIframe}\n attributes={{color: 'white', rel: '0'}}\n previewImg={previewImg}\n height={height}\n fullscreen={fullscreen}\n analyticsEvents={analyticsEvents}\n autoplay={autoplay}\n onImageLoad={onImageLoad}\n />\n );\n }\n\n if (dataLens) {\n result = <DataLens dataLens={dataLens} />;\n }\n\n if (iframe) {\n result = <Iframe iframe={iframe} margins={margins} />;\n }\n\n return result;\n }, [\n image,\n video,\n videoIframe,\n youtube,\n dataLens,\n iframe,\n parallax,\n disableImageSliderForArrayInput,\n height,\n imageClassName,\n isBackground,\n hasVideoFallback,\n fullscreen,\n isFullscreenImageCover,\n qaAttributes.image,\n qaAttributes.video,\n onImageLoad,\n videoClassName,\n analyticsEvents,\n playVideo,\n previewImg,\n playButton,\n customBarControlsClassName,\n ratio,\n youtubeClassName,\n autoplay,\n margins,\n ]);\n\n const videoMicrodataScript = React.useMemo(() => {\n const {name, description} = videoMicrodata || {};\n const json = JSON.stringify({\n '@context': 'http://schema.org/',\n '@type': 'VideoObject',\n uploadDate: microdata?.contentUpdatedDate,\n contentUrl: video?.src?.[0] || videoIframe || youtube,\n thumbnailUrl: previewImg,\n ...(videoMicrodata || {}),\n name: name ? sanitizeMicrodata(name) : name,\n description: description ? sanitizeMicrodata(description) : description,\n });\n\n return video || youtube || videoIframe ? (\n <script type=\"application/ld+json\" dangerouslySetInnerHTML={{__html: json}} />\n ) : null;\n }, [microdata?.contentUpdatedDate, previewImg, video, videoIframe, videoMicrodata, youtube]);\n\n return (\n <div className={b(null, className)} style={{backgroundColor: color}} data-qa={qa}>\n {videoMicrodataScript}\n {content}\n </div>\n );\n};\n\nexport default Media;\n"]}
@@ -6,6 +6,6 @@ unpredictable css rules order in build */
6
6
  display: flex;
7
7
  align-items: center;
8
8
  }
9
- .pc-meta-info__item:not(:first-child) {
9
+ .pc-meta-info__item.pc-meta-info__item:not(:first-child) {
10
10
  margin-left: 16px;
11
11
  }
@@ -3,6 +3,6 @@ import { block } from "../../utils/index.js";
3
3
  import { YFMWrapper } from "../index.js";
4
4
  import './MetaInfo.css';
5
5
  const b = block('meta-info');
6
- const MetaInfo = ({ items, className }) => (_jsx("h4", { className: b(null, className), children: items.map((metaInfoItem) => (_jsx(YFMWrapper, { content: metaInfoItem, className: b('item'), modifiers: { constructor: true, constructorMetaInfo: true } }, metaInfoItem))) }));
6
+ const MetaInfo = ({ items, className }) => (_jsx("h4", { className: b(null, className), children: items.map((metaInfoItem) => (_jsx(YFMWrapper, { content: metaInfoItem, contentClassName: b('item'), modifiers: { constructor: true, constructorMetaInfo: true } }, metaInfoItem))) }));
7
7
  export default MetaInfo;
8
8
  //# sourceMappingURL=MetaInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetaInfo.js","sourceRoot":"../../../../src","sources":["components/MetaInfo/MetaInfo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,UAAU,EAAC,oBAAiB;AAEpC,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAM7B,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAiB,EAAE,EAAE,CAAC,CACrD,aAAI,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAC5B,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACzB,KAAC,UAAU,IACP,OAAO,EAAE,YAAY,EAErB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAC,IAFpD,YAAY,CAGnB,CACL,CAAC,GACD,CACR,CAAC;AACF,eAAe,QAAQ,CAAC","sourcesContent":["import {ClassNameProps} from '../../models';\nimport {block} from '../../utils';\nimport {YFMWrapper} from '../index';\n\nimport './MetaInfo.scss';\n\nconst b = block('meta-info');\n\nexport interface MetaInfpoProps extends ClassNameProps {\n items: string[];\n}\n\nconst MetaInfo = ({items, className}: MetaInfpoProps) => (\n <h4 className={b(null, className)}>\n {items.map((metaInfoItem) => (\n <YFMWrapper\n content={metaInfoItem}\n key={metaInfoItem}\n className={b('item')}\n modifiers={{constructor: true, constructorMetaInfo: true}}\n />\n ))}\n </h4>\n);\nexport default MetaInfo;\n"]}
1
+ {"version":3,"file":"MetaInfo.js","sourceRoot":"../../../../src","sources":["components/MetaInfo/MetaInfo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,EAAC,UAAU,EAAC,oBAAiB;AAEpC,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAM7B,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAAE,SAAS,EAAiB,EAAE,EAAE,CAAC,CACrD,aAAI,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,YAC5B,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACzB,KAAC,UAAU,IACP,OAAO,EAAE,YAAY,EAErB,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAC3B,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAC,IAFpD,YAAY,CAGnB,CACL,CAAC,GACD,CACR,CAAC;AACF,eAAe,QAAQ,CAAC","sourcesContent":["import {ClassNameProps} from '../../models';\nimport {block} from '../../utils';\nimport {YFMWrapper} from '../index';\n\nimport './MetaInfo.scss';\n\nconst b = block('meta-info');\n\nexport interface MetaInfpoProps extends ClassNameProps {\n items: string[];\n}\n\nconst MetaInfo = ({items, className}: MetaInfpoProps) => (\n <h4 className={b(null, className)}>\n {items.map((metaInfoItem) => (\n <YFMWrapper\n content={metaInfoItem}\n key={metaInfoItem}\n contentClassName={b('item')}\n modifiers={{constructor: true, constructorMetaInfo: true}}\n />\n ))}\n </h4>\n);\nexport default MetaInfo;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  //TODO move into cloud components?
3
3
  import * as React from 'react';
4
- import noop from 'lodash/noop';
4
+ import noop from "lodash/noop.js";
5
5
  export default class OutsideClick extends React.Component {
6
6
  constructor() {
7
7
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"OutsideClick.js","sourceRoot":"../../../../src","sources":["components/OutsideClick/OutsideClick.tsx"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,MAAM,aAAa,CAAC;AAQ/B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK,CAAC,SAE/C;IAFD;;QAGI,QAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QA2BxC,uBAAkB,GAAG,CAAC,CAAa,EAAE,EAAE;YACnC,IACI,CAAC,CAAC,MAAM;gBACR,IAAI,CAAC,GAAG;gBACR,IAAI,CAAC,GAAG,CAAC,OAAO;gBAChB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAC9C,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAChC,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAnCG,iBAAiB;QACb,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACjF,CAAC;IAED,oBAAoB;QAChB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM;QACF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAElD,OAAO,CACH,cACI,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAClC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAEzB,QAAQ,GACP,CACT,CAAC;IACN,CAAC;CAYJ","sourcesContent":["//TODO move into cloud components?\nimport * as React from 'react';\n\nimport noop from 'lodash/noop';\n\nexport interface OutsideClickProps {\n onOutsideClick: () => void;\n className?: string;\n onClick?: () => void;\n}\n\nexport default class OutsideClick extends React.Component<\n React.PropsWithChildren<OutsideClickProps>\n> {\n ref = React.createRef<HTMLDivElement>();\n\n componentDidMount() {\n document.addEventListener('click', this.handleOutsideClick, {passive: true});\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleOutsideClick);\n }\n\n render() {\n const {children, className, onClick} = this.props;\n\n return (\n <div\n className={className}\n ref={this.ref}\n onClick={onClick}\n onKeyDown={noop}\n role={onClick ? 'button' : 'group'}\n tabIndex={onClick ? 0 : -1}\n >\n {children}\n </div>\n );\n }\n\n handleOutsideClick = (e: MouseEvent) => {\n if (\n e.target &&\n this.ref &&\n this.ref.current &&\n !this.ref.current.contains(e.target as Node)\n ) {\n this.props.onOutsideClick();\n }\n };\n}\n"]}
1
+ {"version":3,"file":"OutsideClick.js","sourceRoot":"../../../../src","sources":["components/OutsideClick/OutsideClick.tsx"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,uBAAoB;AAQ/B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK,CAAC,SAE/C;IAFD;;QAGI,QAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QA2BxC,uBAAkB,GAAG,CAAC,CAAa,EAAE,EAAE;YACnC,IACI,CAAC,CAAC,MAAM;gBACR,IAAI,CAAC,GAAG;gBACR,IAAI,CAAC,GAAG,CAAC,OAAO;gBAChB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAC9C,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAChC,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAnCG,iBAAiB;QACb,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACjF,CAAC;IAED,oBAAoB;QAChB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM;QACF,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAElD,OAAO,CACH,cACI,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAI,EACf,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAClC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAEzB,QAAQ,GACP,CACT,CAAC;IACN,CAAC;CAYJ","sourcesContent":["//TODO move into cloud components?\nimport * as React from 'react';\n\nimport noop from 'lodash/noop';\n\nexport interface OutsideClickProps {\n onOutsideClick: () => void;\n className?: string;\n onClick?: () => void;\n}\n\nexport default class OutsideClick extends React.Component<\n React.PropsWithChildren<OutsideClickProps>\n> {\n ref = React.createRef<HTMLDivElement>();\n\n componentDidMount() {\n document.addEventListener('click', this.handleOutsideClick, {passive: true});\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleOutsideClick);\n }\n\n render() {\n const {children, className, onClick} = this.props;\n\n return (\n <div\n className={className}\n ref={this.ref}\n onClick={onClick}\n onKeyDown={noop}\n role={onClick ? 'button' : 'group'}\n tabIndex={onClick ? 0 : -1}\n >\n {children}\n </div>\n );\n }\n\n handleOutsideClick = (e: MouseEvent) => {\n if (\n e.target &&\n this.ref &&\n this.ref.current &&\n !this.ref.current.contains(e.target as Node)\n ) {\n this.props.onOutsideClick();\n }\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import debounce from 'lodash/debounce';
3
+ import debounce from "lodash/debounce.js";
4
4
  import { ToggleArrow } from "../index.js";
5
5
  import { block } from "../../utils/index.js";
6
6
  import { i18n } from "./i18n/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"OverflowScroller.js","sourceRoot":"../../../../src","sources":["components/OverflowScroller/OverflowScroller.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {ToggleArrow} from '..';\nimport {block} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './OverflowScroller.scss';\n\nconst b = block('overflow-scroller');\nconst TRANSITION_TIME = 300;\nconst PADDING_SIZE = 24;\nconst DEFAULT_ARROW_SIZE = 18;\n\ntype Arrow = 'left' | 'right';\n\nexport interface OverflowScrollerProps {\n className?: string;\n onScrollStart?: () => void;\n onScrollEnd?: () => void;\n arrowSize?: number;\n arrowClassName?: string;\n}\n\nexport interface OverflowScrollerState {\n arrows: Arrow[];\n scrollValue: number;\n}\n\nexport default class OverflowScroller extends React.Component<\n React.PropsWithChildren<OverflowScrollerProps>,\n OverflowScrollerState\n> {\n state = {\n arrows: [] as Arrow[],\n scrollValue: 0,\n };\n containerRef = React.createRef<HTMLDivElement>();\n wrapperRef = React.createRef<HTMLDivElement>();\n\n componentDidMount() {\n this.checkOverflow();\n window.addEventListener('resize', this.checkOverflow, {passive: true});\n }\n\n componentDidUpdate(\n _prepvProps: OverflowScrollerProps,\n {scrollValue: prevScrollValue}: OverflowScrollerState,\n ) {\n const {onScrollEnd} = this.props;\n\n if (prevScrollValue !== this.state.scrollValue && onScrollEnd) {\n setTimeout(onScrollEnd, TRANSITION_TIME + 100);\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.checkOverflow);\n }\n\n render() {\n const {className, arrowClassName, children, arrowSize = DEFAULT_ARROW_SIZE} = this.props;\n const {arrows, scrollValue} = this.state;\n const wrapperStyle = arrows.length ? {left: -scrollValue} : {left: 0};\n const paddingLeft = arrows.includes('left');\n const paddingRight = arrows.includes('right');\n\n return (\n <div\n className={b('container', {\n 'padding-left': paddingLeft,\n 'padding-right': paddingRight,\n })}\n >\n <div className={b(null, className)} ref={this.containerRef}>\n <div className={b('wrapper')} style={wrapperStyle} ref={this.wrapperRef}>\n {children}\n </div>\n </div>\n {arrows.map((direction: Arrow) => (\n <button\n key={direction}\n className={b('arrow', {type: direction}, arrowClassName)}\n onClick={(e: React.MouseEvent) => this.handleScrollClick(e, direction)}\n aria-label={i18n(direction)}\n >\n <ToggleArrow size={arrowSize} type={'horizontal'} iconType=\"navigation\" />\n </button>\n ))}\n </div>\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/member-ordering, react/sort-comp\n private checkOverflow = debounce(() => {\n if (\n this.containerRef &&\n this.containerRef.current &&\n this.wrapperRef &&\n this.wrapperRef.current\n ) {\n const containerWidth = this.containerRef.current.offsetWidth;\n const wrapperWidth = this.wrapperRef.current.offsetWidth;\n const scrollValue = 0;\n const arrows: Arrow[] = wrapperWidth < containerWidth ? [] : ['right'];\n\n this.setState({scrollValue, arrows});\n }\n }, 100);\n\n private handleScrollClick = (e: React.MouseEvent, arrow: Arrow) => {\n const {scrollValue, arrows} = this.state;\n const {onScrollStart} = this.props;\n\n if (\n this.containerRef &&\n this.containerRef.current &&\n this.wrapperRef &&\n this.wrapperRef.current\n ) {\n const containerWidth = this.containerRef.current.offsetWidth;\n const wrapperWidth = this.wrapperRef.current.offsetWidth;\n const hiddenWidth =\n arrow === 'right' ? wrapperWidth - (containerWidth + scrollValue) : scrollValue;\n const padding =\n arrows.length > 1 && hiddenWidth + PADDING_SIZE > containerWidth ? PADDING_SIZE : 0;\n const delta = containerWidth > hiddenWidth ? hiddenWidth : containerWidth;\n const newScrollValue =\n arrow === 'right' ? scrollValue + delta + padding : scrollValue - delta - padding;\n let newArrows: Arrow[] = ['left', 'right'];\n\n if (newScrollValue + containerWidth >= wrapperWidth) {\n newArrows = ['left'];\n } else if (!newScrollValue) {\n newArrows = ['right'];\n }\n\n this.setState({arrows: newArrows, scrollValue: newScrollValue});\n\n if (onScrollStart) {\n onScrollStart();\n }\n\n e.stopPropagation();\n }\n };\n}\n"]}
1
+ {"version":3,"file":"OverflowScroller.js","sourceRoot":"../../../../src","sources":["components/OverflowScroller/OverflowScroller.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {ToggleArrow} from '..';\nimport {block} from '../../utils';\n\nimport {i18n} from './i18n';\n\nimport './OverflowScroller.scss';\n\nconst b = block('overflow-scroller');\nconst TRANSITION_TIME = 300;\nconst PADDING_SIZE = 24;\nconst DEFAULT_ARROW_SIZE = 18;\n\ntype Arrow = 'left' | 'right';\n\nexport interface OverflowScrollerProps {\n className?: string;\n onScrollStart?: () => void;\n onScrollEnd?: () => void;\n arrowSize?: number;\n arrowClassName?: string;\n}\n\nexport interface OverflowScrollerState {\n arrows: Arrow[];\n scrollValue: number;\n}\n\nexport default class OverflowScroller extends React.Component<\n React.PropsWithChildren<OverflowScrollerProps>,\n OverflowScrollerState\n> {\n state = {\n arrows: [] as Arrow[],\n scrollValue: 0,\n };\n containerRef = React.createRef<HTMLDivElement>();\n wrapperRef = React.createRef<HTMLDivElement>();\n\n componentDidMount() {\n this.checkOverflow();\n window.addEventListener('resize', this.checkOverflow, {passive: true});\n }\n\n componentDidUpdate(\n _prepvProps: OverflowScrollerProps,\n {scrollValue: prevScrollValue}: OverflowScrollerState,\n ) {\n const {onScrollEnd} = this.props;\n\n if (prevScrollValue !== this.state.scrollValue && onScrollEnd) {\n setTimeout(onScrollEnd, TRANSITION_TIME + 100);\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.checkOverflow);\n }\n\n render() {\n const {className, arrowClassName, children, arrowSize = DEFAULT_ARROW_SIZE} = this.props;\n const {arrows, scrollValue} = this.state;\n const wrapperStyle = arrows.length ? {left: -scrollValue} : {left: 0};\n const paddingLeft = arrows.includes('left');\n const paddingRight = arrows.includes('right');\n\n return (\n <div\n className={b('container', {\n 'padding-left': paddingLeft,\n 'padding-right': paddingRight,\n })}\n >\n <div className={b(null, className)} ref={this.containerRef}>\n <div className={b('wrapper')} style={wrapperStyle} ref={this.wrapperRef}>\n {children}\n </div>\n </div>\n {arrows.map((direction: Arrow) => (\n <button\n key={direction}\n className={b('arrow', {type: direction}, arrowClassName)}\n onClick={(e: React.MouseEvent) => this.handleScrollClick(e, direction)}\n aria-label={i18n(direction)}\n >\n <ToggleArrow size={arrowSize} type={'horizontal'} iconType=\"navigation\" />\n </button>\n ))}\n </div>\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/member-ordering, react/sort-comp\n private checkOverflow = debounce(() => {\n if (\n this.containerRef &&\n this.containerRef.current &&\n this.wrapperRef &&\n this.wrapperRef.current\n ) {\n const containerWidth = this.containerRef.current.offsetWidth;\n const wrapperWidth = this.wrapperRef.current.offsetWidth;\n const scrollValue = 0;\n const arrows: Arrow[] = wrapperWidth < containerWidth ? [] : ['right'];\n\n this.setState({scrollValue, arrows});\n }\n }, 100);\n\n private handleScrollClick = (e: React.MouseEvent, arrow: Arrow) => {\n const {scrollValue, arrows} = this.state;\n const {onScrollStart} = this.props;\n\n if (\n this.containerRef &&\n this.containerRef.current &&\n this.wrapperRef &&\n this.wrapperRef.current\n ) {\n const containerWidth = this.containerRef.current.offsetWidth;\n const wrapperWidth = this.wrapperRef.current.offsetWidth;\n const hiddenWidth =\n arrow === 'right' ? wrapperWidth - (containerWidth + scrollValue) : scrollValue;\n const padding =\n arrows.length > 1 && hiddenWidth + PADDING_SIZE > containerWidth ? PADDING_SIZE : 0;\n const delta = containerWidth > hiddenWidth ? hiddenWidth : containerWidth;\n const newScrollValue =\n arrow === 'right' ? scrollValue + delta + padding : scrollValue - delta - padding;\n let newArrows: Arrow[] = ['left', 'right'];\n\n if (newScrollValue + containerWidth >= wrapperWidth) {\n newArrows = ['left'];\n } else if (!newScrollValue) {\n newArrows = ['right'];\n }\n\n this.setState({arrows: newArrows, scrollValue: newScrollValue});\n\n if (onScrollStart) {\n onScrollStart();\n }\n\n e.stopPropagation();\n }\n };\n}\n"]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { PlayFill } from '@gravity-ui/icons';
4
4
  import { Icon } from '@gravity-ui/uikit';
5
- import debounce from 'lodash/debounce';
5
+ import debounce from "lodash/debounce.js";
6
6
  import ReactPlayer from 'react-player';
7
7
  import { MobileContext } from "../../context/mobileContext/index.js";
8
8
  import { VideoContext } from "../../context/videoContext/index.js";