@gravity-ui/page-constructor 7.0.0-beta.2 → 7.0.0-beta.4

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 (1133) hide show
  1. package/README.md +98 -10
  2. package/build/cjs/blocks/Banner/Banner.js +2 -2
  3. package/build/cjs/blocks/Banner/Banner.js.map +1 -1
  4. package/build/cjs/blocks/Banner/schema.js +20 -8
  5. package/build/cjs/blocks/Banner/schema.js.map +1 -1
  6. package/build/cjs/blocks/CardLayout/CardLayout.js +2 -2
  7. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  8. package/build/cjs/blocks/CardLayout/schema.d.ts +76 -0
  9. package/build/cjs/blocks/CardLayout/schema.js +19 -4
  10. package/build/cjs/blocks/CardLayout/schema.js.map +1 -1
  11. package/build/cjs/blocks/Companies/Companies.js +1 -1
  12. package/build/cjs/blocks/Companies/Companies.js.map +1 -1
  13. package/build/cjs/blocks/Companies/schema.js +10 -4
  14. package/build/cjs/blocks/Companies/schema.js.map +1 -1
  15. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
  16. package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
  17. package/build/cjs/blocks/ContentLayout/schema.d.ts +76 -0
  18. package/build/cjs/blocks/ContentLayout/schema.js +7 -2
  19. package/build/cjs/blocks/ContentLayout/schema.js.map +1 -1
  20. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  21. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  22. package/build/cjs/blocks/ExtendedFeatures/schema.js +7 -1
  23. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  24. package/build/cjs/blocks/FilterBlock/schema.js +13 -3
  25. package/build/cjs/blocks/FilterBlock/schema.js.map +1 -1
  26. package/build/cjs/blocks/FoldableList/FoldableList.css +13 -0
  27. package/build/cjs/blocks/FoldableList/FoldableList.d.ts +3 -0
  28. package/build/cjs/blocks/FoldableList/FoldableList.js +31 -0
  29. package/build/cjs/blocks/FoldableList/FoldableList.js.map +1 -0
  30. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +100 -0
  31. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +2 -0
  32. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +22 -0
  33. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  34. package/build/cjs/blocks/FoldableList/schema.d.ts +140 -0
  35. package/build/cjs/blocks/FoldableList/schema.js +39 -0
  36. package/build/cjs/blocks/FoldableList/schema.js.map +1 -0
  37. package/build/cjs/blocks/Form/Form.js +3 -4
  38. package/build/cjs/blocks/Form/Form.js.map +1 -1
  39. package/build/cjs/blocks/Form/schema.js +14 -6
  40. package/build/cjs/blocks/Form/schema.js.map +1 -1
  41. package/build/cjs/blocks/Header/Header.css +12 -1
  42. package/build/cjs/blocks/Header/Header.js +15 -9
  43. package/build/cjs/blocks/Header/Header.js.map +1 -1
  44. package/build/cjs/blocks/Header/schema.d.ts +10 -0
  45. package/build/cjs/blocks/Header/schema.js +14 -2
  46. package/build/cjs/blocks/Header/schema.js.map +1 -1
  47. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -3
  48. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  49. package/build/cjs/blocks/HeaderSlider/schema.d.ts +5 -0
  50. package/build/cjs/blocks/HeaderSlider/schema.js +8 -5
  51. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  52. package/build/cjs/blocks/Icons/Icons.js +2 -2
  53. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  54. package/build/cjs/blocks/Icons/schema.js +17 -6
  55. package/build/cjs/blocks/Icons/schema.js.map +1 -1
  56. package/build/cjs/blocks/Info/Info.js +8 -4
  57. package/build/cjs/blocks/Info/Info.js.map +1 -1
  58. package/build/cjs/blocks/Info/schema.js +14 -4
  59. package/build/cjs/blocks/Info/schema.js.map +1 -1
  60. package/build/cjs/blocks/Map/Map.js +2 -3
  61. package/build/cjs/blocks/Map/Map.js.map +1 -1
  62. package/build/cjs/blocks/Map/schema.js +4 -1
  63. package/build/cjs/blocks/Map/schema.js.map +1 -1
  64. package/build/cjs/blocks/Media/Media.js +1 -1
  65. package/build/cjs/blocks/Media/Media.js.map +1 -1
  66. package/build/cjs/blocks/Media/schema.js +24 -9
  67. package/build/cjs/blocks/Media/schema.js.map +1 -1
  68. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  69. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  70. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +8 -2
  71. package/build/cjs/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  72. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  73. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  74. package/build/cjs/blocks/Questions/schema.js +6 -2
  75. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  76. package/build/cjs/blocks/Share/Share.css +3 -2
  77. package/build/cjs/blocks/Share/Share.js +3 -4
  78. package/build/cjs/blocks/Share/Share.js.map +1 -1
  79. package/build/cjs/blocks/Share/schema.js +7 -3
  80. package/build/cjs/blocks/Share/schema.js.map +1 -1
  81. package/build/cjs/blocks/Slider/Arrow/Arrow.css +13 -13
  82. package/build/cjs/blocks/Slider/Arrow/Arrow.js +2 -2
  83. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  84. package/build/cjs/blocks/Slider/Slider.css +2 -2
  85. package/build/cjs/blocks/Slider/Slider.js +6 -3
  86. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  87. package/build/cjs/blocks/Slider/schema.js +6 -1
  88. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  89. package/build/cjs/blocks/Slider/useSlider.js +1 -2
  90. package/build/cjs/blocks/Slider/useSlider.js.map +1 -1
  91. package/build/cjs/blocks/Slider/utils.js +6 -2
  92. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  93. package/build/cjs/blocks/SliderOld/Arrow/Arrow.css +1 -1
  94. package/build/cjs/blocks/SliderOld/SliderOld.js +17 -14
  95. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -1
  96. package/build/cjs/blocks/SliderOld/schema.js +6 -1
  97. package/build/cjs/blocks/SliderOld/schema.js.map +1 -1
  98. package/build/cjs/blocks/SliderOld/utils.js +8 -5
  99. package/build/cjs/blocks/SliderOld/utils.js.map +1 -1
  100. package/build/cjs/blocks/Table/Table.js +1 -1
  101. package/build/cjs/blocks/Table/Table.js.map +1 -1
  102. package/build/cjs/blocks/Table/schema.js +22 -10
  103. package/build/cjs/blocks/Table/schema.js.map +1 -1
  104. package/build/cjs/blocks/Tabs/TabContent/TabContent.css +78 -0
  105. package/build/cjs/blocks/Tabs/TabContent/TabContent.d.ts +12 -0
  106. package/build/cjs/blocks/Tabs/TabContent/TabContent.js +70 -0
  107. package/build/cjs/blocks/Tabs/TabContent/TabContent.js.map +1 -0
  108. package/build/cjs/blocks/Tabs/Tabs.css +0 -72
  109. package/build/cjs/blocks/Tabs/Tabs.js +13 -59
  110. package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
  111. package/build/cjs/blocks/Tabs/schema.js +24 -9
  112. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  113. package/build/cjs/blocks/index.d.ts +1 -0
  114. package/build/cjs/blocks/index.js +3 -1
  115. package/build/cjs/blocks/index.js.map +1 -1
  116. package/build/cjs/components/Author/Author.js +1 -1
  117. package/build/cjs/components/Author/Author.js.map +1 -1
  118. package/build/cjs/components/Author/schema.js +5 -1
  119. package/build/cjs/components/Author/schema.js.map +1 -1
  120. package/build/cjs/components/BackLink/BackLink.js +1 -1
  121. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  122. package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
  123. package/build/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
  124. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js +4 -4
  125. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  126. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +1 -1
  127. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  128. package/build/cjs/components/Button/Button.d.ts +1 -0
  129. package/build/cjs/components/Button/Button.js +9 -5
  130. package/build/cjs/components/Button/Button.js.map +1 -1
  131. package/build/cjs/components/Button/utils.js +2 -2
  132. package/build/cjs/components/Button/utils.js.map +1 -1
  133. package/build/cjs/components/ButtonTabs/ButtonTabs.d.ts +2 -0
  134. package/build/cjs/components/ButtonTabs/ButtonTabs.js +3 -2
  135. package/build/cjs/components/ButtonTabs/ButtonTabs.js.map +1 -1
  136. package/build/cjs/components/Buttons/Buttons.js +4 -1
  137. package/build/cjs/components/Buttons/Buttons.js.map +1 -1
  138. package/build/cjs/components/CardBase/CardBase.js +6 -2
  139. package/build/cjs/components/CardBase/CardBase.js.map +1 -1
  140. package/build/cjs/components/ContentList/ContentList.js +1 -1
  141. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  142. package/build/cjs/components/ContentList/ContentListItemIcon.js +1 -1
  143. package/build/cjs/components/ContentList/ContentListItemIcon.js.map +1 -1
  144. package/build/cjs/components/DefaultVideo/DefaultVideo.js +3 -4
  145. package/build/cjs/components/DefaultVideo/DefaultVideo.js.map +1 -1
  146. package/build/cjs/components/FileLink/FileLink.js +2 -2
  147. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  148. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +12 -17
  149. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  150. package/build/cjs/components/FullscreenImage/FullscreenImage.css +3 -0
  151. package/build/cjs/components/FullscreenImage/FullscreenImage.js +1 -1
  152. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  153. package/build/cjs/components/FullscreenMedia/FullscreenMedia.css +1 -3
  154. package/build/cjs/components/HTML/HTML.js +7 -3
  155. package/build/cjs/components/HTML/HTML.js.map +1 -1
  156. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  157. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  158. package/build/cjs/components/IconWrapper/IconWrapper.js +2 -2
  159. package/build/cjs/components/IconWrapper/IconWrapper.js.map +1 -1
  160. package/build/cjs/components/Image/Image.d.ts +3 -1
  161. package/build/cjs/components/Image/Image.js +25 -8
  162. package/build/cjs/components/Image/Image.js.map +1 -1
  163. package/build/cjs/components/Image/schema.d.ts +95 -0
  164. package/build/cjs/components/Image/schema.js +55 -12
  165. package/build/cjs/components/Image/schema.js.map +1 -1
  166. package/build/cjs/components/ImageBase/ImageBase.js +3 -4
  167. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  168. package/build/cjs/components/InnerForm/InnerForm.js +5 -5
  169. package/build/cjs/components/InnerForm/InnerForm.js.map +1 -1
  170. package/build/cjs/components/Link/Link.js +1 -1
  171. package/build/cjs/components/Link/Link.js.map +1 -1
  172. package/build/cjs/components/Links/Links.js +4 -1
  173. package/build/cjs/components/Links/Links.js.map +1 -1
  174. package/build/cjs/components/Map/Map.js +2 -2
  175. package/build/cjs/components/Map/Map.js.map +1 -1
  176. package/build/cjs/components/Map/YMap/YMap.js +6 -5
  177. package/build/cjs/components/Map/YMap/YMap.js.map +1 -1
  178. package/build/cjs/components/Map/YMap/YandexMap.js +1 -2
  179. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  180. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js +2 -1
  181. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  182. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  183. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  184. package/build/cjs/components/Media/Image/Image.js +3 -3
  185. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  186. package/build/cjs/components/Media/Media.js +13 -5
  187. package/build/cjs/components/Media/Media.js.map +1 -1
  188. package/build/cjs/components/MediaBase/MediaBase.js +3 -3
  189. package/build/cjs/components/MediaBase/MediaBase.js.map +1 -1
  190. package/build/cjs/components/MediaBase/MediaBaseContent.js +1 -1
  191. package/build/cjs/components/MediaBase/MediaBaseContent.js.map +1 -1
  192. package/build/cjs/components/OutsideClick/OutsideClick.js +9 -12
  193. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  194. package/build/cjs/components/OverflowScroller/OverflowScroller.js +46 -49
  195. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  196. package/build/cjs/components/ReactPlayer/ReactPlayer.js +14 -13
  197. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  198. package/build/cjs/components/ReactPlayer/utils.js +1 -2
  199. package/build/cjs/components/ReactPlayer/utils.js.map +1 -1
  200. package/build/cjs/components/Title/Title.js +2 -2
  201. package/build/cjs/components/Title/Title.js.map +1 -1
  202. package/build/cjs/components/Title/TitleItem.css +1 -0
  203. package/build/cjs/components/Title/TitleItem.js +1 -1
  204. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  205. package/build/cjs/components/VideoBlock/VideoBlock.js +7 -4
  206. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  207. package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -4
  208. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  209. package/build/cjs/components/YandexForm/YandexForm.js +21 -6
  210. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  211. package/build/cjs/components/YandexForm/schema.js +7 -3
  212. package/build/cjs/components/YandexForm/schema.js.map +1 -1
  213. package/build/cjs/constructor-items.d.ts +1 -0
  214. package/build/cjs/constructor-items.js +1 -0
  215. package/build/cjs/constructor-items.js.map +1 -1
  216. package/build/cjs/containers/Loadable/Loadable.js +4 -4
  217. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  218. package/build/cjs/containers/PageConstructor/PageConstructor.js +14 -7
  219. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  220. package/build/cjs/containers/PageConstructor/Provider.js +1 -1
  221. package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
  222. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  223. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  224. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -2
  225. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  226. package/build/cjs/context/projectSettingsContext/ProjectSettingsContext.d.ts +2 -0
  227. package/build/cjs/context/projectSettingsContext/ProjectSettingsContext.js.map +1 -1
  228. package/build/cjs/context/theme/withTheme.js +7 -9
  229. package/build/cjs/context/theme/withTheme.js.map +1 -1
  230. package/build/cjs/customization/BlockDecoration.js +3 -5
  231. package/build/cjs/customization/BlockDecoration.js.map +1 -1
  232. package/build/cjs/editor/components/AddBlock/AddBlock.js +6 -8
  233. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  234. package/build/cjs/editor/components/BlockForm/BlockForm.js +9 -4
  235. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  236. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -4
  237. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  238. package/build/cjs/editor/components/EditBlock/EditBlock.js +2 -2
  239. package/build/cjs/editor/components/EditBlock/EditBlock.js.map +1 -1
  240. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  241. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  242. package/build/cjs/editor/components/Layout/Layout.js +3 -3
  243. package/build/cjs/editor/components/Layout/Layout.js.map +1 -1
  244. package/build/cjs/editor/components/PageSettings/PageSettings.js +2 -2
  245. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  246. package/build/cjs/editor/containers/Editor/Editor.js +1 -1
  247. package/build/cjs/editor/containers/Editor/Editor.js.map +1 -1
  248. package/build/cjs/editor/containers/Editor/hooks/useCode.js +2 -4
  249. package/build/cjs/editor/containers/Editor/hooks/useCode.js.map +1 -1
  250. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js +10 -7
  251. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  252. package/build/cjs/editor/containers/Form/Form.js +5 -2
  253. package/build/cjs/editor/containers/Form/Form.js.map +1 -1
  254. package/build/cjs/editor/data/index.js +5 -2
  255. package/build/cjs/editor/data/index.js.map +1 -1
  256. package/build/cjs/editor/data/previews/default-preview.js +1 -1
  257. package/build/cjs/editor/data/previews/default-preview.js.map +1 -1
  258. package/build/cjs/editor/data/previews/header-block.js +1 -1
  259. package/build/cjs/editor/data/previews/header-block.js.map +1 -1
  260. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  261. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  262. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  263. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  264. package/build/cjs/editor/dynamic-forms-custom/parser/index.js +150 -120
  265. package/build/cjs/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  266. package/build/cjs/editor/dynamic-forms-custom/parser/views.js +2 -4
  267. package/build/cjs/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  268. package/build/cjs/editor/icons/Tablet.js +1 -1
  269. package/build/cjs/editor/icons/Tablet.js.map +1 -1
  270. package/build/cjs/editor/store/main/index.js +7 -4
  271. package/build/cjs/editor/store/main/index.js.map +1 -1
  272. package/build/cjs/editor/store/main/reducer.js +17 -3
  273. package/build/cjs/editor/store/main/reducer.js.map +1 -1
  274. package/build/cjs/editor/store/main/utils.js +1 -1
  275. package/build/cjs/editor/store/main/utils.js.map +1 -1
  276. package/build/cjs/editor/store/settings/reducer.js +16 -4
  277. package/build/cjs/editor/store/settings/reducer.js.map +1 -1
  278. package/build/cjs/editor/utils/code.js +4 -2
  279. package/build/cjs/editor/utils/code.js.map +1 -1
  280. package/build/cjs/editor/utils/index.js +7 -1
  281. package/build/cjs/editor/utils/index.js.map +1 -1
  282. package/build/cjs/editor/widget/index.js +8 -8
  283. package/build/cjs/editor/widget/index.js.map +1 -1
  284. package/build/cjs/editor/widget/utils.js +1 -1
  285. package/build/cjs/editor/widget/utils.js.map +1 -1
  286. package/build/cjs/grid/Col/Col.d.ts +3 -2
  287. package/build/cjs/grid/Col/Col.js +2 -2
  288. package/build/cjs/grid/Col/Col.js.map +1 -1
  289. package/build/cjs/grid/Row/Row.d.ts +4 -3
  290. package/build/cjs/grid/Row/Row.js +2 -2
  291. package/build/cjs/grid/Row/Row.js.map +1 -1
  292. package/build/cjs/hooks/useAnalytics.js +4 -1
  293. package/build/cjs/hooks/useAnalytics.js.map +1 -1
  294. package/build/cjs/icons/BrandIconDark.js +1 -1
  295. package/build/cjs/icons/BrandIconDark.js.map +1 -1
  296. package/build/cjs/icons/BrandIconLight.js +1 -1
  297. package/build/cjs/icons/BrandIconLight.js.map +1 -1
  298. package/build/cjs/icons/BrandName.js +1 -1
  299. package/build/cjs/icons/BrandName.js.map +1 -1
  300. package/build/cjs/icons/Chevron.js +1 -1
  301. package/build/cjs/icons/Chevron.js.map +1 -1
  302. package/build/cjs/icons/Facebook.js +1 -1
  303. package/build/cjs/icons/Facebook.js.map +1 -1
  304. package/build/cjs/icons/Github.js +1 -1
  305. package/build/cjs/icons/Github.js.map +1 -1
  306. package/build/cjs/icons/Linkedin.js +1 -1
  307. package/build/cjs/icons/Linkedin.js.map +1 -1
  308. package/build/cjs/icons/NavigationArrow.js +1 -1
  309. package/build/cjs/icons/NavigationArrow.js.map +1 -1
  310. package/build/cjs/icons/NavigationChevron.js +1 -1
  311. package/build/cjs/icons/NavigationChevron.js.map +1 -1
  312. package/build/cjs/icons/Telegram.js +1 -1
  313. package/build/cjs/icons/Telegram.js.map +1 -1
  314. package/build/cjs/icons/Twitter.js +1 -1
  315. package/build/cjs/icons/Twitter.js.map +1 -1
  316. package/build/cjs/icons/Vk.js +1 -1
  317. package/build/cjs/icons/Vk.js.map +1 -1
  318. package/build/cjs/internal-typings/global.d.ts +1 -0
  319. package/build/cjs/models/constructor-items/blocks.d.ts +21 -3
  320. package/build/cjs/models/constructor-items/blocks.js +1 -0
  321. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  322. package/build/cjs/models/constructor-items/common.d.ts +16 -6
  323. package/build/cjs/models/constructor-items/common.js +8 -1
  324. package/build/cjs/models/constructor-items/common.js.map +1 -1
  325. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -1
  326. package/build/cjs/models/constructor-items/sub-blocks.js.map +1 -1
  327. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  328. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  329. package/build/cjs/navigation/components/Logo/Logo.js +4 -5
  330. package/build/cjs/navigation/components/Logo/Logo.js.map +1 -1
  331. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js +2 -3
  332. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  333. package/build/cjs/navigation/components/Navigation/Navigation.d.ts +1 -0
  334. package/build/cjs/navigation/components/Navigation/Navigation.js +2 -2
  335. package/build/cjs/navigation/components/Navigation/Navigation.js.map +1 -1
  336. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +7 -5
  337. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  338. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  339. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  340. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +3 -4
  341. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  342. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  343. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  344. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -3
  345. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  346. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -4
  347. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  348. package/build/cjs/navigation/components/NavigationList/NavigationList.js +1 -4
  349. package/build/cjs/navigation/components/NavigationList/NavigationList.js.map +1 -1
  350. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js +2 -3
  351. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  352. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  353. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  354. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  355. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +1 -1
  356. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  357. package/build/cjs/navigation/components/Standalone/index.js +1 -1
  358. package/build/cjs/navigation/components/Standalone/index.js.map +1 -1
  359. package/build/cjs/navigation/hooks/useActiveNavItem.js +1 -1
  360. package/build/cjs/navigation/hooks/useActiveNavItem.js.map +1 -1
  361. package/build/cjs/navigation/models.d.ts +1 -0
  362. package/build/cjs/navigation/models.js.map +1 -1
  363. package/build/cjs/navigation/schema.js +19 -6
  364. package/build/cjs/navigation/schema.js.map +1 -1
  365. package/build/cjs/navigation/utils.js +1 -1
  366. package/build/cjs/navigation/utils.js.map +1 -1
  367. package/build/cjs/schema/constants.d.ts +19 -0
  368. package/build/cjs/schema/constants.js +34 -2
  369. package/build/cjs/schema/constants.js.map +1 -1
  370. package/build/cjs/schema/index.js +23 -6
  371. package/build/cjs/schema/index.js.map +1 -1
  372. package/build/cjs/schema/validators/blocks.d.ts +2 -0
  373. package/build/cjs/schema/validators/blocks.js +2 -0
  374. package/build/cjs/schema/validators/blocks.js.map +1 -1
  375. package/build/cjs/schema/validators/common.js +77 -31
  376. package/build/cjs/schema/validators/common.js.map +1 -1
  377. package/build/cjs/schema/validators/utils.js +9 -2
  378. package/build/cjs/schema/validators/utils.js.map +1 -1
  379. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  380. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  381. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +19 -0
  382. package/build/cjs/sub-blocks/BackgroundCard/schema.js +23 -8
  383. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  384. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +1 -1
  385. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  386. package/build/cjs/sub-blocks/BasicCard/BasicCard.js +2 -2
  387. package/build/cjs/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  388. package/build/cjs/sub-blocks/BasicCard/schema.js +17 -6
  389. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  390. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  391. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  392. package/build/cjs/sub-blocks/Content/schema.js +10 -3
  393. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  394. package/build/cjs/sub-blocks/Divider/schema.js +6 -2
  395. package/build/cjs/sub-blocks/Divider/schema.js.map +1 -1
  396. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  397. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  398. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  399. package/build/cjs/sub-blocks/HubspotForm/index.js +5 -5
  400. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  401. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  402. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  403. package/build/cjs/sub-blocks/HubspotForm/schema.js +11 -5
  404. package/build/cjs/sub-blocks/HubspotForm/schema.js.map +1 -1
  405. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  406. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js +51 -0
  407. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  408. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  409. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  410. package/build/cjs/sub-blocks/ImageCard/schema.js +17 -6
  411. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  412. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +11 -9
  413. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  414. package/build/cjs/sub-blocks/LayoutItem/schema.js +19 -6
  415. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  416. package/build/cjs/sub-blocks/LayoutItem/utils.js +4 -1
  417. package/build/cjs/sub-blocks/LayoutItem/utils.js.map +1 -1
  418. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +1 -5
  419. package/build/cjs/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  420. package/build/cjs/sub-blocks/MediaCard/schema.js +12 -3
  421. package/build/cjs/sub-blocks/MediaCard/schema.js.map +1 -1
  422. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  423. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  424. package/build/cjs/sub-blocks/PriceCard/schema.js +25 -11
  425. package/build/cjs/sub-blocks/PriceCard/schema.js.map +1 -1
  426. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  427. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  428. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  429. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  430. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -4
  431. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  432. package/build/cjs/sub-blocks/PriceDetailed/schema.js +44 -12
  433. package/build/cjs/sub-blocks/PriceDetailed/schema.js.map +1 -1
  434. package/build/cjs/sub-blocks/Quote/Quote.js +6 -3
  435. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  436. package/build/cjs/sub-blocks/Quote/schema.js +21 -8
  437. package/build/cjs/sub-blocks/Quote/schema.js.map +1 -1
  438. package/build/cjs/text-transform/common.js +30 -21
  439. package/build/cjs/text-transform/common.js.map +1 -1
  440. package/build/cjs/text-transform/config.js +63 -24
  441. package/build/cjs/text-transform/config.js.map +1 -1
  442. package/build/cjs/text-transform/filter.js +4 -1
  443. package/build/cjs/text-transform/filter.js.map +1 -1
  444. package/build/cjs/text-transform/transformers.js +1 -1
  445. package/build/cjs/text-transform/transformers.js.map +1 -1
  446. package/build/cjs/text-transform/utils.js +11 -5
  447. package/build/cjs/text-transform/utils.js.map +1 -1
  448. package/build/cjs/utils/analytics.js +2 -3
  449. package/build/cjs/utils/analytics.js.map +1 -1
  450. package/build/cjs/utils/common.js +1 -2
  451. package/build/cjs/utils/common.js.map +1 -1
  452. package/build/cjs/utils/hubspot.d.ts +1 -0
  453. package/build/cjs/utils/hubspot.js +6 -7
  454. package/build/cjs/utils/hubspot.js.map +1 -1
  455. package/build/cjs/utils/microdata.js +1 -1
  456. package/build/cjs/utils/microdata.js.map +1 -1
  457. package/build/cjs/utils/url.js +10 -5
  458. package/build/cjs/utils/url.js.map +1 -1
  459. package/build/esm/blocks/Banner/Banner.js +2 -3
  460. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  461. package/build/esm/blocks/Banner/schema.js +20 -8
  462. package/build/esm/blocks/Banner/schema.js.map +1 -1
  463. package/build/esm/blocks/CardLayout/CardLayout.js +2 -3
  464. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  465. package/build/esm/blocks/CardLayout/schema.d.ts +76 -0
  466. package/build/esm/blocks/CardLayout/schema.js +19 -4
  467. package/build/esm/blocks/CardLayout/schema.js.map +1 -1
  468. package/build/esm/blocks/Companies/Companies.js +1 -1
  469. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  470. package/build/esm/blocks/Companies/schema.js +10 -4
  471. package/build/esm/blocks/Companies/schema.js.map +1 -1
  472. package/build/esm/blocks/ContentLayout/ContentLayout.js +1 -1
  473. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  474. package/build/esm/blocks/ContentLayout/schema.d.ts +76 -0
  475. package/build/esm/blocks/ContentLayout/schema.js +7 -2
  476. package/build/esm/blocks/ContentLayout/schema.js.map +1 -1
  477. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  478. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  479. package/build/esm/blocks/ExtendedFeatures/schema.js +7 -1
  480. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  481. package/build/esm/blocks/FilterBlock/schema.js +13 -3
  482. package/build/esm/blocks/FilterBlock/schema.js.map +1 -1
  483. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  484. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  485. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  486. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  487. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +100 -0
  488. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  489. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +18 -0
  490. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  491. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  492. package/build/esm/blocks/FoldableList/schema.js +35 -0
  493. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  494. package/build/esm/blocks/Form/Form.js +3 -4
  495. package/build/esm/blocks/Form/Form.js.map +1 -1
  496. package/build/esm/blocks/Form/schema.js +14 -6
  497. package/build/esm/blocks/Form/schema.js.map +1 -1
  498. package/build/esm/blocks/Header/Header.css +12 -1
  499. package/build/esm/blocks/Header/Header.js +15 -9
  500. package/build/esm/blocks/Header/Header.js.map +1 -1
  501. package/build/esm/blocks/Header/schema.d.ts +10 -0
  502. package/build/esm/blocks/Header/schema.js +14 -2
  503. package/build/esm/blocks/Header/schema.js.map +1 -1
  504. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -4
  505. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  506. package/build/esm/blocks/HeaderSlider/schema.d.ts +5 -0
  507. package/build/esm/blocks/HeaderSlider/schema.js +7 -4
  508. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  509. package/build/esm/blocks/Icons/Icons.js +2 -2
  510. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  511. package/build/esm/blocks/Icons/schema.js +17 -6
  512. package/build/esm/blocks/Icons/schema.js.map +1 -1
  513. package/build/esm/blocks/Info/Info.js +8 -4
  514. package/build/esm/blocks/Info/Info.js.map +1 -1
  515. package/build/esm/blocks/Info/schema.js +14 -4
  516. package/build/esm/blocks/Info/schema.js.map +1 -1
  517. package/build/esm/blocks/Map/Map.js +2 -4
  518. package/build/esm/blocks/Map/Map.js.map +1 -1
  519. package/build/esm/blocks/Map/schema.js +4 -1
  520. package/build/esm/blocks/Map/schema.js.map +1 -1
  521. package/build/esm/blocks/Media/Media.js +1 -1
  522. package/build/esm/blocks/Media/Media.js.map +1 -1
  523. package/build/esm/blocks/Media/schema.js +24 -9
  524. package/build/esm/blocks/Media/schema.js.map +1 -1
  525. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  526. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  527. package/build/esm/blocks/PromoFeaturesBlock/schema.js +8 -2
  528. package/build/esm/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  529. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  530. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  531. package/build/esm/blocks/Questions/schema.js +6 -2
  532. package/build/esm/blocks/Questions/schema.js.map +1 -1
  533. package/build/esm/blocks/Share/Share.css +3 -2
  534. package/build/esm/blocks/Share/Share.js +3 -4
  535. package/build/esm/blocks/Share/Share.js.map +1 -1
  536. package/build/esm/blocks/Share/schema.js +7 -3
  537. package/build/esm/blocks/Share/schema.js.map +1 -1
  538. package/build/esm/blocks/Slider/Arrow/Arrow.css +13 -13
  539. package/build/esm/blocks/Slider/Arrow/Arrow.js +2 -2
  540. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  541. package/build/esm/blocks/Slider/Slider.css +2 -2
  542. package/build/esm/blocks/Slider/Slider.d.ts +1 -1
  543. package/build/esm/blocks/Slider/Slider.js +7 -4
  544. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  545. package/build/esm/blocks/Slider/schema.js +6 -1
  546. package/build/esm/blocks/Slider/schema.js.map +1 -1
  547. package/build/esm/blocks/Slider/useSlider.d.ts +1 -1
  548. package/build/esm/blocks/Slider/useSlider.js +1 -3
  549. package/build/esm/blocks/Slider/useSlider.js.map +1 -1
  550. package/build/esm/blocks/Slider/useSliderPagination.d.ts +1 -1
  551. package/build/esm/blocks/Slider/utils.d.ts +1 -1
  552. package/build/esm/blocks/Slider/utils.js +6 -2
  553. package/build/esm/blocks/Slider/utils.js.map +1 -1
  554. package/build/esm/blocks/SliderOld/Arrow/Arrow.css +1 -1
  555. package/build/esm/blocks/SliderOld/SliderOld.js +17 -14
  556. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -1
  557. package/build/esm/blocks/SliderOld/schema.js +6 -1
  558. package/build/esm/blocks/SliderOld/schema.js.map +1 -1
  559. package/build/esm/blocks/SliderOld/utils.js +8 -5
  560. package/build/esm/blocks/SliderOld/utils.js.map +1 -1
  561. package/build/esm/blocks/Table/Table.js +1 -1
  562. package/build/esm/blocks/Table/Table.js.map +1 -1
  563. package/build/esm/blocks/Table/schema.js +22 -10
  564. package/build/esm/blocks/Table/schema.js.map +1 -1
  565. package/build/esm/blocks/Tabs/TabContent/TabContent.css +78 -0
  566. package/build/esm/blocks/Tabs/TabContent/TabContent.d.ts +13 -0
  567. package/build/esm/blocks/Tabs/TabContent/TabContent.js +66 -0
  568. package/build/esm/blocks/Tabs/TabContent/TabContent.js.map +1 -0
  569. package/build/esm/blocks/Tabs/Tabs.css +0 -72
  570. package/build/esm/blocks/Tabs/Tabs.js +13 -59
  571. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  572. package/build/esm/blocks/Tabs/schema.js +24 -9
  573. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  574. package/build/esm/blocks/index.d.ts +1 -0
  575. package/build/esm/blocks/index.js +1 -0
  576. package/build/esm/blocks/index.js.map +1 -1
  577. package/build/esm/components/Author/Author.js +1 -1
  578. package/build/esm/components/Author/Author.js.map +1 -1
  579. package/build/esm/components/Author/schema.js +5 -1
  580. package/build/esm/components/Author/schema.js.map +1 -1
  581. package/build/esm/components/BackLink/BackLink.js +1 -1
  582. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  583. package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
  584. package/build/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  585. package/build/esm/components/BackgroundMedia/BackgroundMedia.js +4 -5
  586. package/build/esm/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  587. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +1 -1
  588. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  589. package/build/esm/components/Button/Button.d.ts +1 -0
  590. package/build/esm/components/Button/Button.js +9 -6
  591. package/build/esm/components/Button/Button.js.map +1 -1
  592. package/build/esm/components/Button/utils.js +2 -2
  593. package/build/esm/components/Button/utils.js.map +1 -1
  594. package/build/esm/components/ButtonTabs/ButtonTabs.d.ts +2 -0
  595. package/build/esm/components/ButtonTabs/ButtonTabs.js +3 -2
  596. package/build/esm/components/ButtonTabs/ButtonTabs.js.map +1 -1
  597. package/build/esm/components/Buttons/Buttons.js +4 -1
  598. package/build/esm/components/Buttons/Buttons.js.map +1 -1
  599. package/build/esm/components/CardBase/CardBase.js +6 -2
  600. package/build/esm/components/CardBase/CardBase.js.map +1 -1
  601. package/build/esm/components/ContentList/ContentList.js +1 -1
  602. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  603. package/build/esm/components/ContentList/ContentListItemIcon.js +1 -1
  604. package/build/esm/components/ContentList/ContentListItemIcon.js.map +1 -1
  605. package/build/esm/components/DefaultVideo/DefaultVideo.js +3 -4
  606. package/build/esm/components/DefaultVideo/DefaultVideo.js.map +1 -1
  607. package/build/esm/components/FileLink/FileLink.js +2 -2
  608. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  609. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +12 -17
  610. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  611. package/build/esm/components/FullscreenImage/FullscreenImage.css +3 -0
  612. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  613. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  614. package/build/esm/components/FullscreenMedia/FullscreenMedia.css +1 -3
  615. package/build/esm/components/HTML/HTML.js +7 -4
  616. package/build/esm/components/HTML/HTML.js.map +1 -1
  617. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  618. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  619. package/build/esm/components/IconWrapper/IconWrapper.js +2 -2
  620. package/build/esm/components/IconWrapper/IconWrapper.js.map +1 -1
  621. package/build/esm/components/Image/Image.d.ts +3 -1
  622. package/build/esm/components/Image/Image.js +24 -8
  623. package/build/esm/components/Image/Image.js.map +1 -1
  624. package/build/esm/components/Image/schema.d.ts +95 -0
  625. package/build/esm/components/Image/schema.js +55 -12
  626. package/build/esm/components/Image/schema.js.map +1 -1
  627. package/build/esm/components/ImageBase/ImageBase.js +3 -5
  628. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  629. package/build/esm/components/InnerForm/InnerForm.js +5 -6
  630. package/build/esm/components/InnerForm/InnerForm.js.map +1 -1
  631. package/build/esm/components/Link/Link.js +1 -1
  632. package/build/esm/components/Link/Link.js.map +1 -1
  633. package/build/esm/components/Links/Links.js +4 -1
  634. package/build/esm/components/Links/Links.js.map +1 -1
  635. package/build/esm/components/Map/Map.js +2 -2
  636. package/build/esm/components/Map/Map.js.map +1 -1
  637. package/build/esm/components/Map/YMap/YMap.js +6 -5
  638. package/build/esm/components/Map/YMap/YMap.js.map +1 -1
  639. package/build/esm/components/Map/YMap/YandexMap.js +1 -2
  640. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  641. package/build/esm/components/Map/YMap/YandexMapApiLoader.js +2 -1
  642. package/build/esm/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  643. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  644. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  645. package/build/esm/components/Media/Image/Image.js +3 -3
  646. package/build/esm/components/Media/Image/Image.js.map +1 -1
  647. package/build/esm/components/Media/Media.js +13 -5
  648. package/build/esm/components/Media/Media.js.map +1 -1
  649. package/build/esm/components/MediaBase/MediaBase.js +3 -4
  650. package/build/esm/components/MediaBase/MediaBase.js.map +1 -1
  651. package/build/esm/components/MediaBase/MediaBaseContent.js +1 -1
  652. package/build/esm/components/MediaBase/MediaBaseContent.js.map +1 -1
  653. package/build/esm/components/OutsideClick/OutsideClick.js +9 -12
  654. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  655. package/build/esm/components/OverflowScroller/OverflowScroller.js +46 -49
  656. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  657. package/build/esm/components/ReactPlayer/ReactPlayer.js +14 -13
  658. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  659. package/build/esm/components/ReactPlayer/utils.js +1 -2
  660. package/build/esm/components/ReactPlayer/utils.js.map +1 -1
  661. package/build/esm/components/Title/Title.js +2 -3
  662. package/build/esm/components/Title/Title.js.map +1 -1
  663. package/build/esm/components/Title/TitleItem.css +1 -0
  664. package/build/esm/components/Title/TitleItem.js +1 -1
  665. package/build/esm/components/Title/TitleItem.js.map +1 -1
  666. package/build/esm/components/VideoBlock/VideoBlock.js +7 -4
  667. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  668. package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -5
  669. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  670. package/build/esm/components/YandexForm/YandexForm.js +21 -6
  671. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  672. package/build/esm/components/YandexForm/schema.js +7 -3
  673. package/build/esm/components/YandexForm/schema.js.map +1 -1
  674. package/build/esm/constructor-items.d.ts +1 -0
  675. package/build/esm/constructor-items.js +2 -1
  676. package/build/esm/constructor-items.js.map +1 -1
  677. package/build/esm/containers/Loadable/Loadable.js +4 -4
  678. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  679. package/build/esm/containers/PageConstructor/PageConstructor.js +14 -8
  680. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  681. package/build/esm/containers/PageConstructor/Provider.js +1 -1
  682. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  683. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  684. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  685. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -3
  686. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  687. package/build/esm/context/projectSettingsContext/ProjectSettingsContext.d.ts +2 -0
  688. package/build/esm/context/projectSettingsContext/ProjectSettingsContext.js.map +1 -1
  689. package/build/esm/context/theme/withTheme.js +7 -9
  690. package/build/esm/context/theme/withTheme.js.map +1 -1
  691. package/build/esm/customization/BlockDecoration.js +3 -6
  692. package/build/esm/customization/BlockDecoration.js.map +1 -1
  693. package/build/esm/editor/components/AddBlock/AddBlock.js +6 -8
  694. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  695. package/build/esm/editor/components/BlockForm/BlockForm.js +9 -5
  696. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  697. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -5
  698. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  699. package/build/esm/editor/components/EditBlock/EditBlock.js +2 -2
  700. package/build/esm/editor/components/EditBlock/EditBlock.js.map +1 -1
  701. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  702. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  703. package/build/esm/editor/components/Layout/Layout.js +3 -3
  704. package/build/esm/editor/components/Layout/Layout.js.map +1 -1
  705. package/build/esm/editor/components/PageSettings/PageSettings.js +2 -3
  706. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  707. package/build/esm/editor/containers/Editor/Editor.js +1 -1
  708. package/build/esm/editor/containers/Editor/Editor.js.map +1 -1
  709. package/build/esm/editor/containers/Editor/hooks/useCode.js +2 -4
  710. package/build/esm/editor/containers/Editor/hooks/useCode.js.map +1 -1
  711. package/build/esm/editor/containers/Editor/hooks/useEditorState.js +10 -8
  712. package/build/esm/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  713. package/build/esm/editor/containers/Form/Form.js +5 -2
  714. package/build/esm/editor/containers/Form/Form.js.map +1 -1
  715. package/build/esm/editor/data/index.js +5 -2
  716. package/build/esm/editor/data/index.js.map +1 -1
  717. package/build/esm/editor/data/previews/default-preview.js +1 -1
  718. package/build/esm/editor/data/previews/default-preview.js.map +1 -1
  719. package/build/esm/editor/data/previews/header-block.js +1 -1
  720. package/build/esm/editor/data/previews/header-block.js.map +1 -1
  721. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  722. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  723. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  724. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  725. package/build/esm/editor/dynamic-forms-custom/parser/index.js +150 -120
  726. package/build/esm/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  727. package/build/esm/editor/dynamic-forms-custom/parser/views.js +2 -4
  728. package/build/esm/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  729. package/build/esm/editor/icons/Tablet.js +1 -1
  730. package/build/esm/editor/icons/Tablet.js.map +1 -1
  731. package/build/esm/editor/store/main/index.js +7 -5
  732. package/build/esm/editor/store/main/index.js.map +1 -1
  733. package/build/esm/editor/store/main/reducer.js +17 -3
  734. package/build/esm/editor/store/main/reducer.js.map +1 -1
  735. package/build/esm/editor/store/main/utils.js +1 -1
  736. package/build/esm/editor/store/main/utils.js.map +1 -1
  737. package/build/esm/editor/store/settings/reducer.js +16 -4
  738. package/build/esm/editor/store/settings/reducer.js.map +1 -1
  739. package/build/esm/editor/utils/code.js +4 -2
  740. package/build/esm/editor/utils/code.js.map +1 -1
  741. package/build/esm/editor/utils/index.js +7 -1
  742. package/build/esm/editor/utils/index.js.map +1 -1
  743. package/build/esm/editor/widget/index.js +8 -8
  744. package/build/esm/editor/widget/index.js.map +1 -1
  745. package/build/esm/editor/widget/utils.js +1 -1
  746. package/build/esm/editor/widget/utils.js.map +1 -1
  747. package/build/esm/grid/Col/Col.d.ts +3 -2
  748. package/build/esm/grid/Col/Col.js +2 -3
  749. package/build/esm/grid/Col/Col.js.map +1 -1
  750. package/build/esm/grid/Row/Row.d.ts +4 -3
  751. package/build/esm/grid/Row/Row.js +2 -2
  752. package/build/esm/grid/Row/Row.js.map +1 -1
  753. package/build/esm/hooks/useAnalytics.js +4 -1
  754. package/build/esm/hooks/useAnalytics.js.map +1 -1
  755. package/build/esm/icons/BrandIconDark.js +1 -1
  756. package/build/esm/icons/BrandIconDark.js.map +1 -1
  757. package/build/esm/icons/BrandIconLight.js +1 -1
  758. package/build/esm/icons/BrandIconLight.js.map +1 -1
  759. package/build/esm/icons/BrandName.js +1 -1
  760. package/build/esm/icons/BrandName.js.map +1 -1
  761. package/build/esm/icons/Chevron.js +1 -1
  762. package/build/esm/icons/Chevron.js.map +1 -1
  763. package/build/esm/icons/Facebook.js +1 -1
  764. package/build/esm/icons/Facebook.js.map +1 -1
  765. package/build/esm/icons/Github.js +1 -1
  766. package/build/esm/icons/Github.js.map +1 -1
  767. package/build/esm/icons/Linkedin.js +1 -1
  768. package/build/esm/icons/Linkedin.js.map +1 -1
  769. package/build/esm/icons/NavigationArrow.js +1 -1
  770. package/build/esm/icons/NavigationArrow.js.map +1 -1
  771. package/build/esm/icons/NavigationChevron.js +1 -1
  772. package/build/esm/icons/NavigationChevron.js.map +1 -1
  773. package/build/esm/icons/Telegram.js +1 -1
  774. package/build/esm/icons/Telegram.js.map +1 -1
  775. package/build/esm/icons/Twitter.js +1 -1
  776. package/build/esm/icons/Twitter.js.map +1 -1
  777. package/build/esm/icons/Vk.js +1 -1
  778. package/build/esm/icons/Vk.js.map +1 -1
  779. package/build/esm/internal-typings/global.d.ts +1 -0
  780. package/build/esm/models/constructor-items/blocks.d.ts +21 -3
  781. package/build/esm/models/constructor-items/blocks.js +1 -0
  782. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  783. package/build/esm/models/constructor-items/common.d.ts +16 -6
  784. package/build/esm/models/constructor-items/common.js +7 -0
  785. package/build/esm/models/constructor-items/common.js.map +1 -1
  786. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -1
  787. package/build/esm/models/constructor-items/sub-blocks.js.map +1 -1
  788. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  789. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  790. package/build/esm/navigation/components/Logo/Logo.js +4 -6
  791. package/build/esm/navigation/components/Logo/Logo.js.map +1 -1
  792. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js +2 -4
  793. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  794. package/build/esm/navigation/components/Navigation/Navigation.d.ts +1 -0
  795. package/build/esm/navigation/components/Navigation/Navigation.js +2 -2
  796. package/build/esm/navigation/components/Navigation/Navigation.js.map +1 -1
  797. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +7 -6
  798. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  799. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  800. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  801. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +3 -4
  802. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  803. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  804. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  805. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -4
  806. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  807. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -5
  808. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  809. package/build/esm/navigation/components/NavigationList/NavigationList.js +1 -5
  810. package/build/esm/navigation/components/NavigationList/NavigationList.js.map +1 -1
  811. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js +2 -4
  812. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  813. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  814. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  815. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  816. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +1 -1
  817. package/build/esm/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  818. package/build/esm/navigation/components/Standalone/index.js +1 -1
  819. package/build/esm/navigation/components/Standalone/index.js.map +1 -1
  820. package/build/esm/navigation/hooks/useActiveNavItem.js +1 -1
  821. package/build/esm/navigation/hooks/useActiveNavItem.js.map +1 -1
  822. package/build/esm/navigation/models.d.ts +1 -0
  823. package/build/esm/navigation/models.js.map +1 -1
  824. package/build/esm/navigation/schema.js +19 -6
  825. package/build/esm/navigation/schema.js.map +1 -1
  826. package/build/esm/navigation/utils.js +1 -1
  827. package/build/esm/navigation/utils.js.map +1 -1
  828. package/build/esm/schema/constants.d.ts +19 -0
  829. package/build/esm/schema/constants.js +35 -3
  830. package/build/esm/schema/constants.js.map +1 -1
  831. package/build/esm/schema/index.js +23 -6
  832. package/build/esm/schema/index.js.map +1 -1
  833. package/build/esm/schema/validators/blocks.d.ts +2 -0
  834. package/build/esm/schema/validators/blocks.js +2 -0
  835. package/build/esm/schema/validators/blocks.js.map +1 -1
  836. package/build/esm/schema/validators/common.js +77 -31
  837. package/build/esm/schema/validators/common.js.map +1 -1
  838. package/build/esm/schema/validators/utils.js +9 -2
  839. package/build/esm/schema/validators/utils.js.map +1 -1
  840. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  841. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  842. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +19 -0
  843. package/build/esm/sub-blocks/BackgroundCard/schema.js +23 -8
  844. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  845. package/build/esm/sub-blocks/BannerCard/BannerCard.js +1 -1
  846. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  847. package/build/esm/sub-blocks/BasicCard/BasicCard.js +2 -3
  848. package/build/esm/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  849. package/build/esm/sub-blocks/BasicCard/schema.js +17 -6
  850. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  851. package/build/esm/sub-blocks/Content/Content.js +1 -1
  852. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  853. package/build/esm/sub-blocks/Content/schema.js +10 -3
  854. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  855. package/build/esm/sub-blocks/Divider/schema.js +6 -2
  856. package/build/esm/sub-blocks/Divider/schema.js.map +1 -1
  857. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  858. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  859. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  860. package/build/esm/sub-blocks/HubspotForm/index.js +5 -5
  861. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  862. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  863. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  864. package/build/esm/sub-blocks/HubspotForm/schema.js +11 -5
  865. package/build/esm/sub-blocks/HubspotForm/schema.js.map +1 -1
  866. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  867. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js +47 -0
  868. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  869. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  870. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  871. package/build/esm/sub-blocks/ImageCard/schema.js +17 -6
  872. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  873. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +11 -10
  874. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  875. package/build/esm/sub-blocks/LayoutItem/schema.js +19 -6
  876. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  877. package/build/esm/sub-blocks/LayoutItem/utils.js +4 -1
  878. package/build/esm/sub-blocks/LayoutItem/utils.js.map +1 -1
  879. package/build/esm/sub-blocks/MediaCard/MediaCard.js +1 -5
  880. package/build/esm/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  881. package/build/esm/sub-blocks/MediaCard/schema.js +12 -3
  882. package/build/esm/sub-blocks/MediaCard/schema.js.map +1 -1
  883. package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
  884. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  885. package/build/esm/sub-blocks/PriceCard/schema.js +25 -11
  886. package/build/esm/sub-blocks/PriceCard/schema.js.map +1 -1
  887. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  888. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  889. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  890. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  891. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -5
  892. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  893. package/build/esm/sub-blocks/PriceDetailed/schema.js +44 -12
  894. package/build/esm/sub-blocks/PriceDetailed/schema.js.map +1 -1
  895. package/build/esm/sub-blocks/Quote/Quote.js +6 -3
  896. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  897. package/build/esm/sub-blocks/Quote/schema.js +21 -8
  898. package/build/esm/sub-blocks/Quote/schema.js.map +1 -1
  899. package/build/esm/text-transform/common.js +30 -21
  900. package/build/esm/text-transform/common.js.map +1 -1
  901. package/build/esm/text-transform/config.js +64 -25
  902. package/build/esm/text-transform/config.js.map +1 -1
  903. package/build/esm/text-transform/filter.js +4 -1
  904. package/build/esm/text-transform/filter.js.map +1 -1
  905. package/build/esm/text-transform/transformers.js +1 -1
  906. package/build/esm/text-transform/transformers.js.map +1 -1
  907. package/build/esm/text-transform/utils.js +11 -6
  908. package/build/esm/text-transform/utils.js.map +1 -1
  909. package/build/esm/utils/analytics.js +2 -3
  910. package/build/esm/utils/analytics.js.map +1 -1
  911. package/build/esm/utils/common.js +1 -2
  912. package/build/esm/utils/common.js.map +1 -1
  913. package/build/esm/utils/hubspot.d.ts +1 -0
  914. package/build/esm/utils/hubspot.js +6 -7
  915. package/build/esm/utils/hubspot.js.map +1 -1
  916. package/build/esm/utils/microdata.js +1 -1
  917. package/build/esm/utils/microdata.js.map +1 -1
  918. package/build/esm/utils/url.js +10 -5
  919. package/build/esm/utils/url.js.map +1 -1
  920. package/package.json +19 -21
  921. package/schema/index.js +1 -1
  922. package/server/models/constructor-items/blocks.d.ts +21 -3
  923. package/server/models/constructor-items/blocks.js +1 -0
  924. package/server/models/constructor-items/common.d.ts +16 -6
  925. package/server/models/constructor-items/common.js +8 -1
  926. package/server/models/constructor-items/sub-blocks.d.ts +2 -1
  927. package/server/text-transform/config.js +30 -1
  928. package/server/text-transform/utils.js +4 -1
  929. package/server/utils/hubspot.d.ts +1 -0
  930. package/widget/{5287.index.js → 1092.index.js} +1 -1
  931. package/widget/{8092.index.js → 1130.index.js} +1 -1
  932. package/widget/1219.index.js +1 -0
  933. package/widget/{2390.index.js → 122.index.js} +1 -1
  934. package/widget/{6817.index.js → 1289.index.js} +1 -1
  935. package/widget/{2921.index.js → 1335.index.js} +1 -1
  936. package/widget/{1876.index.js → 1340.index.js} +1 -1
  937. package/widget/{3901.index.js → 1349.index.js} +1 -1
  938. package/widget/1532.index.js +1 -0
  939. package/widget/{2957.index.js → 1750.index.js} +1 -1
  940. package/widget/{5105.index.js → 1995.index.js} +1 -1
  941. package/widget/{5418.index.js → 2010.index.js} +1 -1
  942. package/widget/{9517.index.js → 2026.index.js} +1 -1
  943. package/widget/2042.index.js +1 -0
  944. package/widget/{1794.index.js → 2187.index.js} +1 -1
  945. package/widget/{7548.index.js → 2218.index.js} +1 -1
  946. package/widget/225.index.js +1 -0
  947. package/widget/2338.index.js +1 -0
  948. package/widget/{4653.index.js → 2355.index.js} +1 -1
  949. package/widget/{5001.index.js → 2369.index.js} +1 -1
  950. package/widget/{4127.index.js → 2487.index.js} +1 -1
  951. package/widget/{6165.index.js → 2498.index.js} +1 -1
  952. package/widget/{5254.index.js → 2509.index.js} +1 -1
  953. package/widget/2544.index.js +1 -1
  954. package/widget/2619.index.js +1 -0
  955. package/widget/{5941.index.js → 2673.index.js} +1 -1
  956. package/widget/{4717.index.js → 2698.index.js} +1 -1
  957. package/widget/{7427.index.js → 2706.index.js} +1 -1
  958. package/widget/2723.index.js +1 -0
  959. package/widget/{8602.index.js → 2739.index.js} +1 -1
  960. package/widget/2745.index.js +1 -0
  961. package/widget/2796.index.js +1 -0
  962. package/widget/{7573.index.js → 2830.index.js} +1 -1
  963. package/widget/{3237.index.js → 2878.index.js} +1 -1
  964. package/widget/292.index.js +1 -0
  965. package/widget/2979.index.js +1 -0
  966. package/widget/3187.index.js +1 -0
  967. package/widget/321.index.js +1 -0
  968. package/widget/{5437.index.js → 3222.index.js} +1 -1
  969. package/widget/{1987.index.js → 3225.index.js} +1 -1
  970. package/widget/{7719.index.js → 3309.index.js} +1 -1
  971. package/widget/3392.index.js +1 -0
  972. package/widget/{4254.index.js → 3433.index.js} +1 -1
  973. package/widget/{2722.index.js → 3473.index.js} +1 -1
  974. package/widget/3532.index.js +1 -0
  975. package/widget/3562.index.js +1 -0
  976. package/widget/{6148.index.js → 3672.index.js} +1 -1
  977. package/widget/{4990.index.js → 3713.index.js} +1 -1
  978. package/widget/{8894.index.js → 3860.index.js} +1 -1
  979. package/widget/{5551.index.js → 3900.index.js} +1 -1
  980. package/widget/{6629.index.js → 4007.index.js} +1 -1
  981. package/widget/{7467.index.js → 4061.index.js} +1 -1
  982. package/widget/{5423.index.js → 4072.index.js} +1 -1
  983. package/widget/{4144.index.js → 4173.index.js} +1 -1
  984. package/widget/4288.index.js +1 -0
  985. package/widget/{8242.index.js → 4309.index.js} +1 -1
  986. package/widget/{8146.index.js → 4334.index.js} +1 -1
  987. package/widget/{9339.index.js → 4405.index.js} +1 -1
  988. package/widget/4457.index.js +1 -0
  989. package/widget/{8768.index.js → 4485.index.js} +1 -1
  990. package/widget/4509.index.js +1 -0
  991. package/widget/{4067.index.js → 4608.index.js} +1 -1
  992. package/widget/465.index.js +1 -0
  993. package/widget/{7118.index.js → 4719.index.js} +1 -1
  994. package/widget/4734.index.js +1 -0
  995. package/widget/4780.index.js +1 -0
  996. package/widget/4895.index.js +1 -0
  997. package/widget/{790.index.js → 494.index.js} +1 -1
  998. package/widget/5012.index.js +1 -0
  999. package/widget/{4722.index.js → 5084.index.js} +1 -1
  1000. package/widget/5285.index.js +1 -0
  1001. package/widget/5376.index.js +1 -0
  1002. package/widget/539.index.js +1 -0
  1003. package/widget/5414.index.js +1 -0
  1004. package/widget/{8980.index.js → 5513.index.js} +1 -1
  1005. package/widget/5530.index.js +1 -0
  1006. package/widget/5571.index.js +1 -0
  1007. package/widget/{8540.index.js → 5592.index.js} +1 -1
  1008. package/widget/5616.index.js +1 -0
  1009. package/widget/{5903.index.js → 5662.index.js} +1 -1
  1010. package/widget/{7109.index.js → 5665.index.js} +1 -1
  1011. package/widget/{8792.index.js → 5681.index.js} +1 -1
  1012. package/widget/5760.index.js +1 -0
  1013. package/widget/{6257.index.js → 5811.index.js} +1 -1
  1014. package/widget/{5054.index.js → 5826.index.js} +1 -1
  1015. package/widget/{1560.index.js → 5877.index.js} +1 -1
  1016. package/widget/{9149.index.js → 5944.index.js} +1 -1
  1017. package/widget/{8341.index.js → 5977.index.js} +1 -1
  1018. package/widget/{3646.index.js → 5993.index.js} +1 -1
  1019. package/widget/{2009.index.js → 6007.index.js} +1 -1
  1020. package/widget/{3852.index.js → 6033.index.js} +1 -1
  1021. package/widget/{5567.index.js → 6101.index.js} +1 -1
  1022. package/widget/6173.index.js +1 -0
  1023. package/widget/623.index.js +1 -0
  1024. package/widget/{7989.index.js → 6290.index.js} +1 -1
  1025. package/widget/6328.index.js +1 -0
  1026. package/widget/6353.index.js +1 -0
  1027. package/widget/6364.index.js +1 -0
  1028. package/widget/{7387.index.js → 6400.index.js} +1 -1
  1029. package/widget/{5473.index.js → 6462.index.js} +1 -1
  1030. package/widget/6463.index.js +1 -0
  1031. package/widget/6467.index.js +1 -0
  1032. package/widget/{6622.index.js → 6481.index.js} +1 -1
  1033. package/widget/{4888.index.js → 6605.index.js} +1 -1
  1034. package/widget/{2966.index.js → 6803.index.js} +1 -1
  1035. package/widget/{5627.index.js → 6847.index.js} +1 -1
  1036. package/widget/6887.index.js +1 -0
  1037. package/widget/{2019.index.js → 7081.index.js} +1 -1
  1038. package/widget/7205.index.js +1 -0
  1039. package/widget/{5596.index.js → 7250.index.js} +1 -1
  1040. package/widget/{7763.index.js → 7317.index.js} +1 -1
  1041. package/widget/7329.index.js +1 -0
  1042. package/widget/{5159.index.js → 7406.index.js} +1 -1
  1043. package/widget/{7632.index.js → 7409.index.js} +1 -1
  1044. package/widget/{3783.index.js → 7420.index.js} +1 -1
  1045. package/widget/{7101.index.js → 7439.index.js} +1 -1
  1046. package/widget/7458.index.js +1 -0
  1047. package/widget/7570.index.js +1 -0
  1048. package/widget/7627.index.js +1 -0
  1049. package/widget/{9197.index.js → 7674.index.js} +1 -1
  1050. package/widget/{5805.index.js → 7690.index.js} +1 -1
  1051. package/widget/{2641.index.js → 7741.index.js} +1 -1
  1052. package/widget/{4724.index.js → 7933.index.js} +1 -1
  1053. package/widget/{9132.index.js → 8003.index.js} +1 -1
  1054. package/widget/813.index.js +1 -0
  1055. package/widget/{6513.index.js → 8142.index.js} +1 -1
  1056. package/widget/{8562.index.js → 8298.index.js} +1 -1
  1057. package/widget/{7200.index.js → 8361.index.js} +1 -1
  1058. package/widget/{4855.index.js → 8418.index.js} +1 -1
  1059. package/widget/8446.index.js +1 -0
  1060. package/widget/860.index.js +1 -0
  1061. package/widget/{1796.index.js → 8615.index.js} +1 -1
  1062. package/widget/{6312.index.js → 8660.index.js} +1 -1
  1063. package/widget/880.index.js +1 -0
  1064. package/widget/8804.index.js +1 -0
  1065. package/widget/8809.index.js +1 -0
  1066. package/widget/{9157.index.js → 8928.index.js} +1 -1
  1067. package/widget/912.index.js +1 -0
  1068. package/widget/9160.index.js +1 -0
  1069. package/widget/{5914.index.js → 9252.index.js} +1 -1
  1070. package/widget/{3706.index.js → 9286.index.js} +1 -1
  1071. package/widget/{2502.index.js → 9294.index.js} +1 -1
  1072. package/widget/9340.index.js +1 -0
  1073. package/widget/{9182.index.js → 9423.index.js} +1 -1
  1074. package/widget/{8477.index.js → 9464.index.js} +1 -1
  1075. package/widget/950.index.js +1 -0
  1076. package/widget/952.index.js +1 -0
  1077. package/widget/9677.index.js +1 -0
  1078. package/widget/9751.index.js +1 -0
  1079. package/widget/{3220.index.js → 9836.index.js} +1 -1
  1080. package/widget/{2376.index.js → 9865.index.js} +1 -1
  1081. package/widget/{5109.index.js → 9881.index.js} +1 -1
  1082. package/widget/9911.index.js +1 -1
  1083. package/widget/{7822.index.js → 9964.index.js} +1 -1
  1084. package/widget/9979.index.js +1 -0
  1085. package/widget/{9091.index.js → 9990.index.js} +1 -1
  1086. package/widget/9998.index.js +1 -0
  1087. package/widget/index.js +1 -1
  1088. package/widget/1113.index.js +0 -1
  1089. package/widget/123.index.js +0 -1
  1090. package/widget/1573.index.js +0 -1
  1091. package/widget/2030.index.js +0 -1
  1092. package/widget/229.index.js +0 -1
  1093. package/widget/261.index.js +0 -1
  1094. package/widget/302.index.js +0 -1
  1095. package/widget/3035.index.js +0 -1
  1096. package/widget/313.index.js +0 -1
  1097. package/widget/3521.index.js +0 -1
  1098. package/widget/3864.index.js +0 -1
  1099. package/widget/3939.index.js +0 -1
  1100. package/widget/4017.index.js +0 -1
  1101. package/widget/4149.index.js +0 -1
  1102. package/widget/4502.index.js +0 -1
  1103. package/widget/466.index.js +0 -1
  1104. package/widget/504.index.js +0 -1
  1105. package/widget/5321.index.js +0 -1
  1106. package/widget/5742.index.js +0 -1
  1107. package/widget/5817.index.js +0 -1
  1108. package/widget/600.index.js +0 -1
  1109. package/widget/6023.index.js +0 -1
  1110. package/widget/6159.index.js +0 -1
  1111. package/widget/617.index.js +0 -1
  1112. package/widget/6183.index.js +0 -1
  1113. package/widget/6509.index.js +0 -1
  1114. package/widget/6636.index.js +0 -1
  1115. package/widget/6831.index.js +0 -1
  1116. package/widget/6953.index.js +0 -1
  1117. package/widget/7296.index.js +0 -1
  1118. package/widget/7486.index.js +0 -1
  1119. package/widget/7496.index.js +0 -1
  1120. package/widget/7553.index.js +0 -1
  1121. package/widget/758.index.js +0 -1
  1122. package/widget/772.index.js +0 -1
  1123. package/widget/7797.index.js +0 -1
  1124. package/widget/8066.index.js +0 -1
  1125. package/widget/8507.index.js +0 -1
  1126. package/widget/8529.index.js +0 -1
  1127. package/widget/8727.index.js +0 -1
  1128. package/widget/8864.index.js +0 -1
  1129. package/widget/8889.index.js +0 -1
  1130. package/widget/953.index.js +0 -1
  1131. package/widget/9670.index.js +0 -1
  1132. package/widget/9682.index.js +0 -1
  1133. package/widget/9928.index.js +0 -1
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import * as React from 'react';
4
3
  import AnimateBlock from "../AnimateBlock/AnimateBlock.js";
@@ -10,7 +9,7 @@ import './MediaBase.css';
10
9
  const b = block('media-base');
11
10
  const Card = () => null;
12
11
  export const MediaBase = (props) => {
13
- const { children, largeMedia, direction = 'content-media', mobileDirection = 'content-media', animated, mediaOnly, onScroll, mediaOnlyColSizes = { all: 12, md: 8 } } = props, mediaContentProps = __rest(props, ["children", "largeMedia", "direction", "mobileDirection", "animated", "mediaOnly", "onScroll", "mediaOnlyColSizes"]);
12
+ const { children, largeMedia, direction = 'content-media', mobileDirection = 'content-media', animated, mediaOnly, onScroll, mediaOnlyColSizes = { all: 12, md: 8 }, ...mediaContentProps } = props;
14
13
  const { title, description } = mediaContentProps;
15
14
  const mediaSizes = React.useMemo(() => {
16
15
  return mediaOnly
@@ -20,8 +19,8 @@ export const MediaBase = (props) => {
20
19
  const contentSizes = React.useMemo(() => {
21
20
  return { [GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12 };
22
21
  }, [largeMedia]);
23
- const mediaContent = !mediaOnly && _jsx(MediaContent, Object.assign({}, mediaContentProps));
24
- const card = children.type === Card ? children === null || children === void 0 ? void 0 : children.props.children : null;
22
+ const mediaContent = !mediaOnly && _jsx(MediaContent, { ...mediaContentProps });
23
+ const card = children.type === Card ? children?.props.children : null;
25
24
  return (_jsxs(AnimateBlock, { className: b(), onScroll: onScroll, animate: animated, children: [mediaOnly && (_jsx(Title, { className: b('header'), title: title, subtitle: description, colSizes: mediaOnlyColSizes })), _jsx(Grid, { children: _jsxs(Row, { className: b('row', {
26
25
  reverse: direction === 'media-content',
27
26
  'mobile-reverse': mobileDirection === 'media-content',
@@ -1 +1 @@
1
- {"version":3,"file":"MediaBase.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport {Col, Grid, GridColumnSize, Row} from '../../grid';\nimport {MediaBaseBlockProps} from '../../models';\nimport {block} from '../../utils';\nimport Title from '../Title/Title';\n\nimport MediaContent from './MediaBaseContent';\n\nimport './MediaBase.scss';\n\nconst b = block('media-base');\n\nconst Card: React.FC<React.PropsWithChildren<{}>> = () => null;\n\ninterface MediaBaseProps extends MediaBaseBlockProps {\n children: React.ReactElement;\n onScroll?: () => void;\n}\n\nexport const MediaBase = (props: MediaBaseProps) => {\n const {\n children,\n largeMedia,\n direction = 'content-media',\n mobileDirection = 'content-media',\n animated,\n mediaOnly,\n onScroll,\n mediaOnlyColSizes = {all: 12, md: 8},\n ...mediaContentProps\n } = props;\n const {title, description} = mediaContentProps;\n\n const mediaSizes = React.useMemo(() => {\n return mediaOnly\n ? {[GridColumnSize.All]: 12}\n : {[GridColumnSize.Md]: largeMedia ? 8 : 6, [GridColumnSize.All]: 12};\n }, [mediaOnly, largeMedia]);\n\n const contentSizes = React.useMemo(() => {\n return {[GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12};\n }, [largeMedia]);\n\n const mediaContent = !mediaOnly && <MediaContent {...mediaContentProps} />;\n const card = children.type === Card ? children?.props.children : null;\n\n return (\n <AnimateBlock className={b()} onScroll={onScroll} animate={animated}>\n {mediaOnly && (\n <Title\n className={b('header')}\n title={title}\n subtitle={description}\n colSizes={mediaOnlyColSizes}\n />\n )}\n <Grid>\n <Row\n className={b('row', {\n reverse: direction === 'media-content',\n 'mobile-reverse': mobileDirection === 'media-content',\n })}\n >\n <Col className={b('content')} sizes={contentSizes}>\n {mediaContent}\n </Col>\n {card ? (\n <Col sizes={mediaSizes}>\n <div className={b('card')}>{card}</div>\n </Col>\n ) : null}\n </Row>\n </Grid>\n </AnimateBlock>\n );\n};\n\nMediaBase.Card = Card;\n\nexport default MediaBase;\n"]}
1
+ {"version":3,"file":"MediaBase.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport {Col, Grid, GridColumnSize, Row} from '../../grid';\nimport {MediaBaseBlockProps} from '../../models';\nimport {block} from '../../utils';\nimport Title from '../Title/Title';\n\nimport MediaContent from './MediaBaseContent';\n\nimport './MediaBase.scss';\n\nconst b = block('media-base');\n\nconst Card: React.FC<React.PropsWithChildren<{}>> = () => null;\n\ninterface MediaBaseProps extends MediaBaseBlockProps {\n children: React.ReactElement;\n onScroll?: () => void;\n}\n\nexport const MediaBase = (props: MediaBaseProps) => {\n const {\n children,\n largeMedia,\n direction = 'content-media',\n mobileDirection = 'content-media',\n animated,\n mediaOnly,\n onScroll,\n mediaOnlyColSizes = {all: 12, md: 8},\n ...mediaContentProps\n } = props;\n const {title, description} = mediaContentProps;\n\n const mediaSizes = React.useMemo(() => {\n return mediaOnly\n ? {[GridColumnSize.All]: 12}\n : {[GridColumnSize.Md]: largeMedia ? 8 : 6, [GridColumnSize.All]: 12};\n }, [mediaOnly, largeMedia]);\n\n const contentSizes = React.useMemo(() => {\n return {[GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12};\n }, [largeMedia]);\n\n const mediaContent = !mediaOnly && <MediaContent {...mediaContentProps} />;\n const card = children.type === Card ? children?.props.children : null;\n\n return (\n <AnimateBlock className={b()} onScroll={onScroll} animate={animated}>\n {mediaOnly && (\n <Title\n className={b('header')}\n title={title}\n subtitle={description}\n colSizes={mediaOnlyColSizes}\n />\n )}\n <Grid>\n <Row\n className={b('row', {\n reverse: direction === 'media-content',\n 'mobile-reverse': mobileDirection === 'media-content',\n })}\n >\n <Col className={b('content')} sizes={contentSizes}>\n {mediaContent}\n </Col>\n {card ? (\n <Col sizes={mediaSizes}>\n <div className={b('card')}>{card}</div>\n </Col>\n ) : null}\n </Row>\n </Grid>\n </AnimateBlock>\n );\n};\n\nMediaBase.Card = Card;\n\nexport default MediaBase;\n"]}
@@ -5,7 +5,7 @@ import './MediaBaseContent.css';
5
5
  const b = block('media-base-content');
6
6
  const MediaContent = (props) => {
7
7
  const { title, description, button, links, buttons = [], additionalInfo, size = 'l', list, } = props;
8
- const allButtons = button ? [Object.assign(Object.assign({}, button), { size: 'xl' }), ...buttons] : buttons;
8
+ const allButtons = button ? [{ ...button, size: 'xl' }, ...buttons] : buttons;
9
9
  return (_jsx("div", { className: b(), children: _jsx(Content, { title: title, text: description, links: links, theme: "default", buttons: allButtons, list: list, additionalInfo: additionalInfo, size: size, colSizes: { all: 12, md: 12 } }) }));
10
10
  };
11
11
  export default MediaContent;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaBaseContent.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBaseContent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,OAAO,EAAC,kCAAyB;AACzC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAEtC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;IAC9C,MAAM,EACF,KAAK,EACL,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,cAAc,EACd,IAAI,GAAG,GAAG,EACV,IAAI,GACP,GAAG,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,iCAAK,MAAM,KAAE,IAAI,EAAE,IAAkB,KAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1F,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAC7B,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import {ButtonSize} from '@gravity-ui/uikit';\n\nimport {MediaContentProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block} from '../../utils';\n\nimport './MediaBaseContent.scss';\n\nconst b = block('media-base-content');\n\nconst MediaContent = (props: MediaContentProps) => {\n const {\n title,\n description,\n button,\n links,\n buttons = [],\n additionalInfo,\n size = 'l',\n list,\n } = props;\n const allButtons = button ? [{...button, size: 'xl' as ButtonSize}, ...buttons] : buttons;\n return (\n <div className={b()}>\n <Content\n title={title}\n text={description}\n links={links}\n theme=\"default\"\n buttons={allButtons}\n list={list}\n additionalInfo={additionalInfo}\n size={size}\n colSizes={{all: 12, md: 12}}\n />\n </div>\n );\n};\n\nexport default MediaContent;\n"]}
1
+ {"version":3,"file":"MediaBaseContent.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBaseContent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,OAAO,EAAC,kCAAyB;AACzC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAEtC,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;IAC9C,MAAM,EACF,KAAK,EACL,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,GAAG,EAAE,EACZ,cAAc,EACd,IAAI,GAAG,GAAG,EACV,IAAI,GACP,GAAG,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,MAAM,EAAE,IAAI,EAAE,IAAkB,EAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1F,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAC7B,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import {ButtonSize} from '@gravity-ui/uikit';\n\nimport {MediaContentProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block} from '../../utils';\n\nimport './MediaBaseContent.scss';\n\nconst b = block('media-base-content');\n\nconst MediaContent = (props: MediaContentProps) => {\n const {\n title,\n description,\n button,\n links,\n buttons = [],\n additionalInfo,\n size = 'l',\n list,\n } = props;\n const allButtons = button ? [{...button, size: 'xl' as ButtonSize}, ...buttons] : buttons;\n return (\n <div className={b()}>\n <Content\n title={title}\n text={description}\n links={links}\n theme=\"default\"\n buttons={allButtons}\n list={list}\n additionalInfo={additionalInfo}\n size={size}\n colSizes={{all: 12, md: 12}}\n />\n </div>\n );\n};\n\nexport default MediaContent;\n"]}
@@ -3,18 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import noop from "lodash/noop.js";
5
5
  export default class OutsideClick extends React.Component {
6
- constructor() {
7
- super(...arguments);
8
- this.ref = React.createRef();
9
- this.handleOutsideClick = (e) => {
10
- if (e.target &&
11
- this.ref &&
12
- this.ref.current &&
13
- !this.ref.current.contains(e.target)) {
14
- this.props.onOutsideClick();
15
- }
16
- };
17
- }
6
+ ref = React.createRef();
18
7
  componentDidMount() {
19
8
  document.addEventListener('click', this.handleOutsideClick, { passive: true });
20
9
  }
@@ -25,5 +14,13 @@ export default class OutsideClick extends React.Component {
25
14
  const { children, className, onClick } = this.props;
26
15
  return (_jsx("div", { className: className, ref: this.ref, onClick: onClick, onKeyDown: noop, role: onClick ? 'button' : 'group', tabIndex: onClick ? 0 : -1, children: children }));
27
16
  }
17
+ handleOutsideClick = (e) => {
18
+ if (e.target &&
19
+ this.ref &&
20
+ this.ref.current &&
21
+ !this.ref.current.contains(e.target)) {
22
+ this.props.onOutsideClick();
23
+ }
24
+ };
28
25
  }
29
26
  //# sourceMappingURL=OutsideClick.js.map
@@ -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,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
+ {"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;IACG,GAAG,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;IAExC,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;IAED,kBAAkB,GAAG,CAAC,CAAa,EAAE,EAAE;QACnC,IACI,CAAC,CAAC,MAAM;YACR,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,GAAG,CAAC,OAAO;YAChB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAC9C,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAChC,CAAC;IACL,CAAC,CAAC;CACL","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"]}
@@ -10,55 +10,12 @@ const TRANSITION_TIME = 300;
10
10
  const PADDING_SIZE = 24;
11
11
  const DEFAULT_ARROW_SIZE = 18;
12
12
  export default class OverflowScroller extends React.Component {
13
- constructor() {
14
- super(...arguments);
15
- this.state = {
16
- arrows: [],
17
- scrollValue: 0,
18
- };
19
- this.containerRef = React.createRef();
20
- this.wrapperRef = React.createRef();
21
- // eslint-disable-next-line @typescript-eslint/member-ordering, react/sort-comp
22
- this.checkOverflow = debounce(() => {
23
- if (this.containerRef &&
24
- this.containerRef.current &&
25
- this.wrapperRef &&
26
- this.wrapperRef.current) {
27
- const containerWidth = this.containerRef.current.offsetWidth;
28
- const wrapperWidth = this.wrapperRef.current.offsetWidth;
29
- const scrollValue = 0;
30
- const arrows = wrapperWidth < containerWidth ? [] : ['right'];
31
- this.setState({ scrollValue, arrows });
32
- }
33
- }, 100);
34
- this.handleScrollClick = (e, arrow) => {
35
- const { scrollValue, arrows } = this.state;
36
- const { onScrollStart } = this.props;
37
- if (this.containerRef &&
38
- this.containerRef.current &&
39
- this.wrapperRef &&
40
- this.wrapperRef.current) {
41
- const containerWidth = this.containerRef.current.offsetWidth;
42
- const wrapperWidth = this.wrapperRef.current.offsetWidth;
43
- const hiddenWidth = arrow === 'right' ? wrapperWidth - (containerWidth + scrollValue) : scrollValue;
44
- const padding = arrows.length > 1 && hiddenWidth + PADDING_SIZE > containerWidth ? PADDING_SIZE : 0;
45
- const delta = containerWidth > hiddenWidth ? hiddenWidth : containerWidth;
46
- const newScrollValue = arrow === 'right' ? scrollValue + delta + padding : scrollValue - delta - padding;
47
- let newArrows = ['left', 'right'];
48
- if (newScrollValue + containerWidth >= wrapperWidth) {
49
- newArrows = ['left'];
50
- }
51
- else if (!newScrollValue) {
52
- newArrows = ['right'];
53
- }
54
- this.setState({ arrows: newArrows, scrollValue: newScrollValue });
55
- if (onScrollStart) {
56
- onScrollStart();
57
- }
58
- e.stopPropagation();
59
- }
60
- };
61
- }
13
+ state = {
14
+ arrows: [],
15
+ scrollValue: 0,
16
+ };
17
+ containerRef = React.createRef();
18
+ wrapperRef = React.createRef();
62
19
  componentDidMount() {
63
20
  this.checkOverflow();
64
21
  window.addEventListener('resize', this.checkOverflow, { passive: true });
@@ -83,5 +40,45 @@ export default class OverflowScroller extends React.Component {
83
40
  'padding-right': paddingRight,
84
41
  }), children: [_jsx("div", { className: b(null, className), ref: this.containerRef, children: _jsx("div", { className: b('wrapper'), style: wrapperStyle, ref: this.wrapperRef, children: children }) }), arrows.map((direction) => (_jsx("button", { className: b('arrow', { type: direction }, arrowClassName), onClick: (e) => this.handleScrollClick(e, direction), "aria-label": i18n(direction), children: _jsx(ToggleArrow, { size: arrowSize, type: 'horizontal', iconType: "navigation" }) }, direction)))] }));
85
42
  }
43
+ // eslint-disable-next-line @typescript-eslint/member-ordering, react/sort-comp
44
+ checkOverflow = debounce(() => {
45
+ if (this.containerRef &&
46
+ this.containerRef.current &&
47
+ this.wrapperRef &&
48
+ this.wrapperRef.current) {
49
+ const containerWidth = this.containerRef.current.offsetWidth;
50
+ const wrapperWidth = this.wrapperRef.current.offsetWidth;
51
+ const scrollValue = 0;
52
+ const arrows = wrapperWidth < containerWidth ? [] : ['right'];
53
+ this.setState({ scrollValue, arrows });
54
+ }
55
+ }, 100);
56
+ handleScrollClick = (e, arrow) => {
57
+ const { scrollValue, arrows } = this.state;
58
+ const { onScrollStart } = this.props;
59
+ if (this.containerRef &&
60
+ this.containerRef.current &&
61
+ this.wrapperRef &&
62
+ this.wrapperRef.current) {
63
+ const containerWidth = this.containerRef.current.offsetWidth;
64
+ const wrapperWidth = this.wrapperRef.current.offsetWidth;
65
+ const hiddenWidth = arrow === 'right' ? wrapperWidth - (containerWidth + scrollValue) : scrollValue;
66
+ const padding = arrows.length > 1 && hiddenWidth + PADDING_SIZE > containerWidth ? PADDING_SIZE : 0;
67
+ const delta = containerWidth > hiddenWidth ? hiddenWidth : containerWidth;
68
+ const newScrollValue = arrow === 'right' ? scrollValue + delta + padding : scrollValue - delta - padding;
69
+ let newArrows = ['left', 'right'];
70
+ if (newScrollValue + containerWidth >= wrapperWidth) {
71
+ newArrows = ['left'];
72
+ }
73
+ else if (!newScrollValue) {
74
+ newArrows = ['right'];
75
+ }
76
+ this.setState({ arrows: newArrows, scrollValue: newScrollValue });
77
+ if (onScrollStart) {
78
+ onScrollStart();
79
+ }
80
+ e.stopPropagation();
81
+ }
82
+ };
86
83
  }
87
84
  //# sourceMappingURL=OverflowScroller.js.map
@@ -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"]}
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { PlayFill } from '@gravity-ui/icons';
4
4
  import { Icon } from '@gravity-ui/uikit';
5
5
  import debounce from "lodash/debounce.js";
6
- import ReactPlayer from 'react-player';
6
+ import _ReactPlayer from 'react-player';
7
7
  import { MobileContext } from "../../context/mobileContext/index.js";
8
8
  import { VideoContext } from "../../context/videoContext/index.js";
9
9
  import { useAnalytics, useMount } from "../../hooks/index.js";
@@ -16,6 +16,9 @@ import { isYoutubePlayerInstance } from "./utils/youtube.js";
16
16
  import './ReactPlayer.css';
17
17
  const b = block('ReactPlayer');
18
18
  const FPS = 60;
19
+ const ReactPlayer = 'default' in _ReactPlayer && _ReactPlayer.default
20
+ ? _ReactPlayer.default
21
+ : _ReactPlayer;
19
22
  // eslint-disable-next-line react/display-name
20
23
  export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
21
24
  const isMobile = React.useContext(MobileContext);
@@ -68,13 +71,13 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
68
71
  };
69
72
  }, [playerRef]);
70
73
  React.useEffect(() => {
71
- if (ref.current && !(playingVideoRef === null || playingVideoRef === void 0 ? void 0 : playingVideoRef.contains(ref.current))) {
74
+ if (ref.current && !playingVideoRef?.contains(ref.current)) {
72
75
  setMuted(true);
73
76
  }
74
77
  }, [playingVideoRef]);
75
78
  React.useEffect(() => {
76
79
  if (showPreview) {
77
- playerRef === null || playerRef === void 0 ? void 0 : playerRef.showPreview();
80
+ playerRef?.showPreview();
78
81
  }
79
82
  }, [showPreview, playerRef]);
80
83
  React.useEffect(() => {
@@ -90,7 +93,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
90
93
  }, [isPlaying, started]);
91
94
  React.useEffect(() => {
92
95
  if (started && !Number.isNaN(Number(elapsedTime))) {
93
- playerRef === null || playerRef === void 0 ? void 0 : playerRef.seekTo(elapsedTime !== null && elapsedTime !== void 0 ? elapsedTime : 0, 'seconds');
96
+ playerRef?.seekTo(elapsedTime ?? 0, 'seconds');
94
97
  }
95
98
  }, [elapsedTime, playerRef, started]);
96
99
  React.useEffect(() => {
@@ -103,7 +106,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
103
106
  parseFloat(paddingLeft) -
104
107
  parseFloat(paddingRight);
105
108
  setWidth(newWidth);
106
- setCurrentHeight(Math.floor(getHeight(newWidth, ratio !== null && ratio !== void 0 ? ratio : (autoRatio ? actualRatio : undefined))));
109
+ setCurrentHeight(Math.floor(getHeight(newWidth, ratio ?? (autoRatio ? actualRatio : undefined))));
107
110
  }
108
111
  }, 200);
109
112
  updateSize();
@@ -112,8 +115,8 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
112
115
  window.removeEventListener('resize', updateSize);
113
116
  };
114
117
  }, [actualRatio, autoRatio, ratio]);
115
- const playEvents = React.useMemo(() => eventsArray === null || eventsArray === void 0 ? void 0 : eventsArray.filter((e) => e.type === PredefinedEventTypes.Play), [eventsArray]);
116
- const stopEvents = React.useMemo(() => eventsArray === null || eventsArray === void 0 ? void 0 : eventsArray.filter((e) => e.type === PredefinedEventTypes.Stop), [eventsArray]);
118
+ const playEvents = React.useMemo(() => eventsArray?.filter((e) => e.type === PredefinedEventTypes.Play), [eventsArray]);
119
+ const stopEvents = React.useMemo(() => eventsArray?.filter((e) => e.type === PredefinedEventTypes.Stop), [eventsArray]);
117
120
  const playIcon = React.useMemo(() => {
118
121
  let playButtonContent;
119
122
  switch (type) {
@@ -153,7 +156,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
153
156
  ]);
154
157
  const handleClickPreview = React.useCallback(() => {
155
158
  setIsPlaying(true);
156
- onClickPreview === null || onClickPreview === void 0 ? void 0 : onClickPreview();
159
+ onClickPreview?.();
157
160
  handleAnalytics(playEvents);
158
161
  }, [onClickPreview, handleAnalytics, playEvents]);
159
162
  const onPause = React.useCallback(() => {
@@ -203,7 +206,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
203
206
  if (loop) {
204
207
  setPlayedPercent(0);
205
208
  setIsPlaying(true);
206
- playerRef === null || playerRef === void 0 ? void 0 : playerRef.seekTo(0);
209
+ playerRef?.seekTo(0);
207
210
  }
208
211
  setEnded(true);
209
212
  }, [loop, playerRef]);
@@ -216,8 +219,7 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
216
219
  }
217
220
  }, [isPlaying, onPlay, onPause]);
218
221
  const handleClick = React.useCallback(() => {
219
- var _a;
220
- (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.click();
222
+ buttonRef.current?.click();
221
223
  if (controls === MediaVideoControlsType.Custom) {
222
224
  if (customControlsType === CustomControlsType.WithMuteButton) {
223
225
  changeMute(muted);
@@ -228,10 +230,9 @@ export const ReactPlayerBlock = React.forwardRef((props, originRef) => {
228
230
  }
229
231
  }, [controls, customControlsType, changeMute, muted, onPlayClick]);
230
232
  const handleKeyDown = React.useCallback((e) => {
231
- var _a;
232
233
  const key = e.key.toLowerCase();
233
234
  if (key === 'enter') {
234
- (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.click();
235
+ buttonRef.current?.click();
235
236
  }
236
237
  }, []);
237
238
  const onFocusIn = React.useCallback(() => setHovered(true), []);
@@ -1 +1 @@
1
- {"version":3,"file":"ReactPlayer.js","sourceRoot":"../../../../src","sources":["components/ReactPlayer/ReactPlayer.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {PlayFill} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport ReactPlayer from 'react-player';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {VideoContext} from '../../context/videoContext';\nimport {useAnalytics, useMount} from '../../hooks';\nimport {\n AnalyticsEvent,\n ClassNameProps,\n CustomControlsButtonPositioning,\n CustomControlsType,\n DefaultEventNames,\n MediaVideoControlsType,\n MediaVideoProps,\n PlayButtonProps,\n PlayButtonThemes,\n PlayButtonType,\n PredefinedEventTypes,\n ReactPlayerBlockHandler,\n} from '../../models';\nimport {block} from '../../utils';\n\nimport CustomBarControls from './CustomBarControls';\nimport {i18n} from './i18n';\nimport {checkYoutubeVideos} from './utils';\nimport {isYoutubePlayerInstance} from './utils/youtube';\n\nimport './ReactPlayer.scss';\n\nconst b = block('ReactPlayer');\n\nconst FPS = 60;\n\nexport interface ReactPlayerBlockProps\n extends Omit<MediaVideoProps, 'loop' | 'src'>,\n ClassNameProps {\n src: string | string[];\n previewImgUrl?: string;\n loop?: boolean;\n customBarControlsClassName?: string;\n showPreview?: boolean;\n onClickPreview?: () => void;\n height?: number;\n ratio?: number;\n autoRatio?: boolean;\n children?: React.ReactNode;\n}\n\ninterface PlayerPropgress {\n played: number;\n}\n\n// eslint-disable-next-line react/display-name\nexport const ReactPlayerBlock = React.forwardRef<ReactPlayerBlockHandler, ReactPlayerBlockProps>(\n (props, originRef) => {\n const isMobile = React.useContext(MobileContext);\n const {\n src,\n previewImgUrl,\n loop = false,\n controls = MediaVideoControlsType.Default,\n customControlsOptions = {},\n muted: initiallyMuted = false,\n elapsedTime,\n playButton,\n className,\n customBarControlsClassName,\n showPreview,\n onClickPreview,\n analyticsEvents,\n height,\n ariaLabel,\n ratio,\n autoRatio,\n contain = true,\n } = props;\n\n const {\n type = PlayButtonType.Default,\n theme = PlayButtonThemes.Blue,\n text,\n className: buttonClassName,\n } = playButton || ({} as PlayButtonProps);\n const {\n type: customControlsType = CustomControlsType.WithMuteButton,\n muteButtonShown,\n positioning = CustomControlsButtonPositioning.Center,\n } = customControlsOptions;\n\n const autoPlay = Boolean(!isMobile && !previewImgUrl && props.autoplay);\n const mute = initiallyMuted || autoPlay;\n\n const {playingVideoRef, setProps} = React.useContext(VideoContext);\n\n const ref = React.useRef<HTMLDivElement>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const [playerRef, setPlayerRef] = React.useState<ReactPlayer>();\n const [isPlaying, setIsPlaying] = React.useState(autoPlay);\n const [playedPercent, setPlayedPercent] = React.useState<number>(0);\n const [currentHeight, setCurrentHeight] = React.useState(height);\n const [width, setWidth] = React.useState<number>(0);\n const [actualRatio, setActualRatio] = React.useState<number>();\n const [muted, setMuted] = React.useState<boolean>(mute);\n const [started, setStarted] = React.useState(autoPlay);\n const [ended, setEnded] = React.useState<boolean>(false);\n const [isMounted, setIsMounted] = React.useState(false);\n const [hovered, setHovered] = React.useState(isMobile);\n\n useMount(() => setIsMounted(true));\n\n const videoSrc = React.useMemo(() => checkYoutubeVideos(src), [src]);\n\n const eventsArray = React.useMemo(() => {\n if (analyticsEvents) {\n return Array.isArray(analyticsEvents) ? analyticsEvents : [analyticsEvents];\n }\n\n return [];\n }, [analyticsEvents]);\n const handleAnalytics = useAnalytics(DefaultEventNames.ReactPlayerControls);\n\n React.useImperativeHandle(originRef, () => {\n if (!playerRef) {\n return;\n }\n\n let play, pause, addEventListener;\n const videoInstance = playerRef.getInternalPlayer();\n if (isYoutubePlayerInstance(videoInstance)) {\n ({pauseVideo: pause, playVideo: play, addEventListener} = videoInstance);\n } else {\n // it is assumed that `videoInstance` is HTMLVideoElement by default\n ({play, pause, addEventListener} = videoInstance);\n }\n\n // eslint-disable-next-line consistent-return\n return {\n play: play.bind(videoInstance),\n pause: pause.bind(videoInstance),\n addEventListener: addEventListener.bind(videoInstance),\n };\n }, [playerRef]);\n\n React.useEffect(() => {\n if (ref.current && !playingVideoRef?.contains(ref.current)) {\n setMuted(true);\n }\n }, [playingVideoRef]);\n\n React.useEffect(() => {\n if (showPreview) {\n playerRef?.showPreview();\n }\n }, [showPreview, playerRef]);\n\n React.useEffect(() => {\n if (playerRef && !started) {\n setIsPlaying(autoPlay);\n }\n }, [autoPlay, playerRef, started]);\n\n React.useEffect(() => setMuted(mute), [mute]);\n\n React.useEffect(() => {\n if (!started && isPlaying) {\n setStarted(true);\n }\n }, [isPlaying, started]);\n\n React.useEffect(() => {\n if (started && !Number.isNaN(Number(elapsedTime))) {\n playerRef?.seekTo(elapsedTime ?? 0, 'seconds');\n }\n }, [elapsedTime, playerRef, started]);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n // We need to get parent's width does not equal 0\n const parentElement = getParentElement(ref.current);\n const {paddingLeft, paddingRight} = getComputedStyle(parentElement);\n const newWidth =\n parentElement.offsetWidth -\n parseFloat(paddingLeft) -\n parseFloat(paddingRight);\n\n setWidth(newWidth);\n setCurrentHeight(\n Math.floor(\n getHeight(newWidth, ratio ?? (autoRatio ? actualRatio : undefined)),\n ),\n );\n }\n }, 200);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [actualRatio, autoRatio, ratio]);\n\n const playEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Play),\n [eventsArray],\n );\n const stopEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Stop),\n [eventsArray],\n );\n\n const playIcon = React.useMemo(() => {\n let playButtonContent;\n\n switch (type) {\n case PlayButtonType.Text:\n playButtonContent = text;\n break;\n case PlayButtonType.Default:\n default:\n playButtonContent = <Icon className={b('icon')} data={PlayFill} size={24} />;\n break;\n }\n\n return (\n <button\n className={b('button', {theme, text: Boolean(text)}, buttonClassName)}\n aria-label={i18n('play')}\n ref={buttonRef}\n >\n {playButtonContent}\n </button>\n );\n }, [type, theme, text, buttonClassName]);\n\n const changeMute = React.useCallback(\n (isMuted: boolean) => {\n if (\n isMuted &&\n playerRef &&\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n playerRef.seekTo(0);\n setPlayedPercent(0);\n }\n\n const events = isMuted ? playEvents : stopEvents;\n handleAnalytics(events);\n\n if (isMuted) {\n setProps({playingVideoRef: ref.current});\n }\n\n // In order to the progress bar to update (equals 0) before displaying\n setTimeout(() => setMuted(!isMuted), 0);\n },\n [\n playerRef,\n customControlsType,\n playEvents,\n stopEvents,\n handleAnalytics,\n setProps,\n controls,\n ],\n );\n\n const handleClickPreview = React.useCallback(() => {\n setIsPlaying(true);\n onClickPreview?.();\n\n handleAnalytics(playEvents);\n }, [onClickPreview, handleAnalytics, playEvents]);\n\n const onPause = React.useCallback(() => {\n // For support correct state for youtube\n if (\n controls !== MediaVideoControlsType.Custom ||\n customControlsType !== CustomControlsType.WithMuteButton\n ) {\n setIsPlaying(false);\n }\n }, [controls, customControlsType]);\n\n const onStart = React.useCallback(() => {\n if (!autoPlay && !initiallyMuted) {\n setMuted(false);\n }\n }, [autoPlay, initiallyMuted]);\n\n const onPlay = React.useCallback(() => {\n setIsPlaying(true);\n\n if (\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n if (ended) {\n changeMute(false);\n } else if (!isPlaying) {\n changeMute(muted);\n }\n setEnded(false);\n }\n }, [changeMute, controls, customControlsType, ended, isPlaying, muted]);\n\n const onReady = React.useCallback((player: ReactPlayer) => {\n setPlayerRef(player);\n const videoElement = player.getInternalPlayer();\n const videoWidth = videoElement.videoWidth as number | undefined;\n const videoHeight = videoElement.videoHeight as number | undefined;\n if (videoWidth && videoHeight) {\n setActualRatio(videoHeight / videoWidth);\n }\n }, []);\n\n const onProgress = React.useCallback((progress: PlayerPropgress) => {\n setPlayedPercent(progress.played);\n\n if (progress.played === 1) {\n setMuted(true);\n }\n }, []);\n\n const onEnded = React.useCallback(() => {\n // Youtube videos not muted after finishing playing and start again.\n // 'onEnded' does not fire when 'loop' is set to true.\n // It is custom loop with muted sound after finishing playing and start again.\n if (loop) {\n setPlayedPercent(0);\n setIsPlaying(true);\n playerRef?.seekTo(0);\n }\n\n setEnded(true);\n }, [loop, playerRef]);\n\n const onPlayClick = React.useCallback(() => {\n if (isPlaying) {\n onPause();\n } else {\n onPlay();\n }\n }, [isPlaying, onPlay, onPause]);\n\n const handleClick = React.useCallback(() => {\n buttonRef.current?.click();\n\n if (controls === MediaVideoControlsType.Custom) {\n if (customControlsType === CustomControlsType.WithMuteButton) {\n changeMute(muted);\n } else {\n onPlayClick();\n }\n }\n }, [controls, customControlsType, changeMute, muted, onPlayClick]);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n const key = e.key.toLowerCase();\n\n if (key === 'enter') {\n buttonRef.current?.click();\n }\n }, []);\n\n const onFocusIn = React.useCallback(() => setHovered(true), []);\n const onFocusOut = React.useCallback(() => setHovered(false), []);\n\n return (\n <div\n className={b(\n {\n wrapper: !currentHeight,\n controls,\n contain,\n 'auto-ratio': autoRatio,\n },\n className,\n )}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={onFocusIn}\n onMouseLeave={onFocusOut}\n onFocus={onFocusIn}\n onBlur={onFocusOut}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n >\n {isMounted ? (\n <React.Fragment>\n <ReactPlayer\n className={b('player')}\n url={videoSrc}\n muted={muted}\n controls={controls === MediaVideoControlsType.Default}\n height={currentHeight || '100%'}\n width={width || '100%'}\n light={previewImgUrl}\n playing={isPlaying}\n playIcon={playIcon}\n progressInterval={FPS}\n onClickPreview={handleClickPreview}\n onStart={onStart}\n onReady={onReady}\n onPlay={onPlay}\n onPause={\n autoPlay && customControlsType !== CustomControlsType.WithMuteButton\n ? undefined\n : onPause\n } // to prevent pause icon flickering when autoplayed video ends\n onProgress={onProgress}\n onEnded={onEnded}\n aria-label={ariaLabel}\n previewTabIndex={-1}\n config={{\n file: {\n attributes: {\n pip: isMobile ? 'false' : undefined,\n playsinline: isMobile ? '' : undefined,\n disablepictureinpicture: isMobile ? '' : undefined,\n },\n },\n }}\n />\n {controls === MediaVideoControlsType.Custom && (\n <CustomBarControls\n className={customBarControlsClassName}\n mute={{\n isMuted: muted,\n changeMute: (event: React.MouseEvent) => {\n event.stopPropagation();\n changeMute(muted);\n },\n }}\n elapsedTimePercent={playedPercent}\n type={customControlsType}\n isPaused={!isPlaying}\n onPlayClick={onPlayClick}\n muteButtonShown={muteButtonShown}\n shown={hovered && ((!started && !previewImgUrl) || started)}\n positioning={positioning}\n />\n )}\n </React.Fragment>\n ) : null}\n </div>\n );\n },\n);\n\nfunction getHeight(width: number, ratio: number = 9 / 16): number {\n return width * ratio;\n}\n\nfunction getParentElement(element: HTMLElement): HTMLElement {\n const parentElement = element.parentElement;\n\n if (!parentElement) {\n return element;\n }\n\n return parentElement.offsetWidth ? parentElement : getParentElement(parentElement);\n}\n\nexport default ReactPlayerBlock;\n"]}
1
+ {"version":3,"file":"ReactPlayer.js","sourceRoot":"../../../../src","sources":["components/ReactPlayer/ReactPlayer.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {PlayFill} from '@gravity-ui/icons';\nimport {Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport _ReactPlayer from 'react-player';\n\nimport {MobileContext} from '../../context/mobileContext';\nimport {VideoContext} from '../../context/videoContext';\nimport {useAnalytics, useMount} from '../../hooks';\nimport {\n AnalyticsEvent,\n ClassNameProps,\n CustomControlsButtonPositioning,\n CustomControlsType,\n DefaultEventNames,\n MediaVideoControlsType,\n MediaVideoProps,\n PlayButtonProps,\n PlayButtonThemes,\n PlayButtonType,\n PredefinedEventTypes,\n ReactPlayerBlockHandler,\n} from '../../models';\nimport {block} from '../../utils';\n\nimport CustomBarControls from './CustomBarControls';\nimport {i18n} from './i18n';\nimport {checkYoutubeVideos} from './utils';\nimport {isYoutubePlayerInstance} from './utils/youtube';\n\nimport './ReactPlayer.scss';\n\nconst b = block('ReactPlayer');\n\nconst FPS = 60;\n\nconst ReactPlayer =\n 'default' in _ReactPlayer && _ReactPlayer.default\n ? (_ReactPlayer.default as typeof _ReactPlayer)\n : _ReactPlayer;\n\nexport interface ReactPlayerBlockProps\n extends Omit<MediaVideoProps, 'loop' | 'src'>,\n ClassNameProps {\n src: string | string[];\n previewImgUrl?: string;\n loop?: boolean;\n customBarControlsClassName?: string;\n showPreview?: boolean;\n onClickPreview?: () => void;\n height?: number;\n ratio?: number;\n autoRatio?: boolean;\n children?: React.ReactNode;\n}\n\ninterface PlayerPropgress {\n played: number;\n}\n\n// eslint-disable-next-line react/display-name\nexport const ReactPlayerBlock = React.forwardRef<ReactPlayerBlockHandler, ReactPlayerBlockProps>(\n (props, originRef) => {\n const isMobile = React.useContext(MobileContext);\n const {\n src,\n previewImgUrl,\n loop = false,\n controls = MediaVideoControlsType.Default,\n customControlsOptions = {},\n muted: initiallyMuted = false,\n elapsedTime,\n playButton,\n className,\n customBarControlsClassName,\n showPreview,\n onClickPreview,\n analyticsEvents,\n height,\n ariaLabel,\n ratio,\n autoRatio,\n contain = true,\n } = props;\n\n const {\n type = PlayButtonType.Default,\n theme = PlayButtonThemes.Blue,\n text,\n className: buttonClassName,\n } = playButton || ({} as PlayButtonProps);\n const {\n type: customControlsType = CustomControlsType.WithMuteButton,\n muteButtonShown,\n positioning = CustomControlsButtonPositioning.Center,\n } = customControlsOptions;\n\n const autoPlay = Boolean(!isMobile && !previewImgUrl && props.autoplay);\n const mute = initiallyMuted || autoPlay;\n\n const {playingVideoRef, setProps} = React.useContext(VideoContext);\n\n const ref = React.useRef<HTMLDivElement>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const [playerRef, setPlayerRef] = React.useState<_ReactPlayer>();\n const [isPlaying, setIsPlaying] = React.useState(autoPlay);\n const [playedPercent, setPlayedPercent] = React.useState<number>(0);\n const [currentHeight, setCurrentHeight] = React.useState(height);\n const [width, setWidth] = React.useState<number>(0);\n const [actualRatio, setActualRatio] = React.useState<number>();\n const [muted, setMuted] = React.useState<boolean>(mute);\n const [started, setStarted] = React.useState(autoPlay);\n const [ended, setEnded] = React.useState<boolean>(false);\n const [isMounted, setIsMounted] = React.useState(false);\n const [hovered, setHovered] = React.useState(isMobile);\n\n useMount(() => setIsMounted(true));\n\n const videoSrc = React.useMemo(() => checkYoutubeVideos(src), [src]);\n\n const eventsArray = React.useMemo(() => {\n if (analyticsEvents) {\n return Array.isArray(analyticsEvents) ? analyticsEvents : [analyticsEvents];\n }\n\n return [];\n }, [analyticsEvents]);\n const handleAnalytics = useAnalytics(DefaultEventNames.ReactPlayerControls);\n\n React.useImperativeHandle(originRef, () => {\n if (!playerRef) {\n return;\n }\n\n let play, pause, addEventListener;\n const videoInstance = playerRef.getInternalPlayer();\n if (isYoutubePlayerInstance(videoInstance)) {\n ({pauseVideo: pause, playVideo: play, addEventListener} = videoInstance);\n } else {\n // it is assumed that `videoInstance` is HTMLVideoElement by default\n ({play, pause, addEventListener} = videoInstance);\n }\n\n // eslint-disable-next-line consistent-return\n return {\n play: play.bind(videoInstance),\n pause: pause.bind(videoInstance),\n addEventListener: addEventListener.bind(videoInstance),\n };\n }, [playerRef]);\n\n React.useEffect(() => {\n if (ref.current && !playingVideoRef?.contains(ref.current)) {\n setMuted(true);\n }\n }, [playingVideoRef]);\n\n React.useEffect(() => {\n if (showPreview) {\n playerRef?.showPreview();\n }\n }, [showPreview, playerRef]);\n\n React.useEffect(() => {\n if (playerRef && !started) {\n setIsPlaying(autoPlay);\n }\n }, [autoPlay, playerRef, started]);\n\n React.useEffect(() => setMuted(mute), [mute]);\n\n React.useEffect(() => {\n if (!started && isPlaying) {\n setStarted(true);\n }\n }, [isPlaying, started]);\n\n React.useEffect(() => {\n if (started && !Number.isNaN(Number(elapsedTime))) {\n playerRef?.seekTo(elapsedTime ?? 0, 'seconds');\n }\n }, [elapsedTime, playerRef, started]);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n if (ref.current) {\n // We need to get parent's width does not equal 0\n const parentElement = getParentElement(ref.current);\n const {paddingLeft, paddingRight} = getComputedStyle(parentElement);\n const newWidth =\n parentElement.offsetWidth -\n parseFloat(paddingLeft) -\n parseFloat(paddingRight);\n\n setWidth(newWidth);\n setCurrentHeight(\n Math.floor(\n getHeight(newWidth, ratio ?? (autoRatio ? actualRatio : undefined)),\n ),\n );\n }\n }, 200);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [actualRatio, autoRatio, ratio]);\n\n const playEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Play),\n [eventsArray],\n );\n const stopEvents = React.useMemo(\n () => eventsArray?.filter((e: AnalyticsEvent) => e.type === PredefinedEventTypes.Stop),\n [eventsArray],\n );\n\n const playIcon = React.useMemo(() => {\n let playButtonContent;\n\n switch (type) {\n case PlayButtonType.Text:\n playButtonContent = text;\n break;\n case PlayButtonType.Default:\n default:\n playButtonContent = <Icon className={b('icon')} data={PlayFill} size={24} />;\n break;\n }\n\n return (\n <button\n className={b('button', {theme, text: Boolean(text)}, buttonClassName)}\n aria-label={i18n('play')}\n ref={buttonRef}\n >\n {playButtonContent}\n </button>\n );\n }, [type, theme, text, buttonClassName]);\n\n const changeMute = React.useCallback(\n (isMuted: boolean) => {\n if (\n isMuted &&\n playerRef &&\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n playerRef.seekTo(0);\n setPlayedPercent(0);\n }\n\n const events = isMuted ? playEvents : stopEvents;\n handleAnalytics(events);\n\n if (isMuted) {\n setProps({playingVideoRef: ref.current});\n }\n\n // In order to the progress bar to update (equals 0) before displaying\n setTimeout(() => setMuted(!isMuted), 0);\n },\n [\n playerRef,\n customControlsType,\n playEvents,\n stopEvents,\n handleAnalytics,\n setProps,\n controls,\n ],\n );\n\n const handleClickPreview = React.useCallback(() => {\n setIsPlaying(true);\n onClickPreview?.();\n\n handleAnalytics(playEvents);\n }, [onClickPreview, handleAnalytics, playEvents]);\n\n const onPause = React.useCallback(() => {\n // For support correct state for youtube\n if (\n controls !== MediaVideoControlsType.Custom ||\n customControlsType !== CustomControlsType.WithMuteButton\n ) {\n setIsPlaying(false);\n }\n }, [controls, customControlsType]);\n\n const onStart = React.useCallback(() => {\n if (!autoPlay && !initiallyMuted) {\n setMuted(false);\n }\n }, [autoPlay, initiallyMuted]);\n\n const onPlay = React.useCallback(() => {\n setIsPlaying(true);\n\n if (\n controls === MediaVideoControlsType.Custom &&\n customControlsType === CustomControlsType.WithMuteButton\n ) {\n if (ended) {\n changeMute(false);\n } else if (!isPlaying) {\n changeMute(muted);\n }\n setEnded(false);\n }\n }, [changeMute, controls, customControlsType, ended, isPlaying, muted]);\n\n const onReady = React.useCallback((player: _ReactPlayer) => {\n setPlayerRef(player);\n const videoElement = player.getInternalPlayer();\n const videoWidth = videoElement.videoWidth as number | undefined;\n const videoHeight = videoElement.videoHeight as number | undefined;\n if (videoWidth && videoHeight) {\n setActualRatio(videoHeight / videoWidth);\n }\n }, []);\n\n const onProgress = React.useCallback((progress: PlayerPropgress) => {\n setPlayedPercent(progress.played);\n\n if (progress.played === 1) {\n setMuted(true);\n }\n }, []);\n\n const onEnded = React.useCallback(() => {\n // Youtube videos not muted after finishing playing and start again.\n // 'onEnded' does not fire when 'loop' is set to true.\n // It is custom loop with muted sound after finishing playing and start again.\n if (loop) {\n setPlayedPercent(0);\n setIsPlaying(true);\n playerRef?.seekTo(0);\n }\n\n setEnded(true);\n }, [loop, playerRef]);\n\n const onPlayClick = React.useCallback(() => {\n if (isPlaying) {\n onPause();\n } else {\n onPlay();\n }\n }, [isPlaying, onPlay, onPause]);\n\n const handleClick = React.useCallback(() => {\n buttonRef.current?.click();\n\n if (controls === MediaVideoControlsType.Custom) {\n if (customControlsType === CustomControlsType.WithMuteButton) {\n changeMute(muted);\n } else {\n onPlayClick();\n }\n }\n }, [controls, customControlsType, changeMute, muted, onPlayClick]);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n const key = e.key.toLowerCase();\n\n if (key === 'enter') {\n buttonRef.current?.click();\n }\n }, []);\n\n const onFocusIn = React.useCallback(() => setHovered(true), []);\n const onFocusOut = React.useCallback(() => setHovered(false), []);\n\n return (\n <div\n className={b(\n {\n wrapper: !currentHeight,\n controls,\n contain,\n 'auto-ratio': autoRatio,\n },\n className,\n )}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={onFocusIn}\n onMouseLeave={onFocusOut}\n onFocus={onFocusIn}\n onBlur={onFocusOut}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n >\n {isMounted ? (\n <React.Fragment>\n <ReactPlayer\n className={b('player')}\n url={videoSrc}\n muted={muted}\n controls={controls === MediaVideoControlsType.Default}\n height={currentHeight || '100%'}\n width={width || '100%'}\n light={previewImgUrl}\n playing={isPlaying}\n playIcon={playIcon}\n progressInterval={FPS}\n onClickPreview={handleClickPreview}\n onStart={onStart}\n onReady={onReady}\n onPlay={onPlay}\n onPause={\n autoPlay && customControlsType !== CustomControlsType.WithMuteButton\n ? undefined\n : onPause\n } // to prevent pause icon flickering when autoplayed video ends\n onProgress={onProgress}\n onEnded={onEnded}\n aria-label={ariaLabel}\n previewTabIndex={-1}\n config={{\n file: {\n attributes: {\n pip: isMobile ? 'false' : undefined,\n playsinline: isMobile ? '' : undefined,\n disablepictureinpicture: isMobile ? '' : undefined,\n },\n },\n }}\n />\n {controls === MediaVideoControlsType.Custom && (\n <CustomBarControls\n className={customBarControlsClassName}\n mute={{\n isMuted: muted,\n changeMute: (event: React.MouseEvent) => {\n event.stopPropagation();\n changeMute(muted);\n },\n }}\n elapsedTimePercent={playedPercent}\n type={customControlsType}\n isPaused={!isPlaying}\n onPlayClick={onPlayClick}\n muteButtonShown={muteButtonShown}\n shown={hovered && ((!started && !previewImgUrl) || started)}\n positioning={positioning}\n />\n )}\n </React.Fragment>\n ) : null}\n </div>\n );\n },\n);\n\nfunction getHeight(width: number, ratio: number = 9 / 16): number {\n return width * ratio;\n}\n\nfunction getParentElement(element: HTMLElement): HTMLElement {\n const parentElement = element.parentElement;\n\n if (!parentElement) {\n return element;\n }\n\n return parentElement.offsetWidth ? parentElement : getParentElement(parentElement);\n}\n\nexport default ReactPlayerBlock;\n"]}
@@ -2,9 +2,8 @@
2
2
  const LIVE_YUOTUBE_VIDEO_REGEX = /(?:youtu\.be\/live\/|youtube(?:-nocookie)?\.com\/(?:live\/))((\w|-){11})/;
3
3
  const YOUTUBE_VIDEO_TEMPLATE = 'https://www.youtube.com/watch?v=';
4
4
  const transformYoutubeUrl = (src) => {
5
- var _a;
6
5
  if (LIVE_YUOTUBE_VIDEO_REGEX.test(src)) {
7
- const youtubeLiveId = (_a = src.match(LIVE_YUOTUBE_VIDEO_REGEX)) === null || _a === void 0 ? void 0 : _a[1];
6
+ const youtubeLiveId = src.match(LIVE_YUOTUBE_VIDEO_REGEX)?.[1];
8
7
  if (!youtubeLiveId) {
9
8
  return src;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/ReactPlayer/utils.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,wBAAwB,GAC1B,0EAA0E,CAAC;AAC/E,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AAElE,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;;IACxC,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,MAAA,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,0CAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,OAAO,GAAG,sBAAsB,GAAG,aAAa,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAsB,EAAE,EAAE;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC","sourcesContent":["// the file serves to support live video with react-player@2.9\nconst LIVE_YUOTUBE_VIDEO_REGEX =\n /(?:youtu\\.be\\/live\\/|youtube(?:-nocookie)?\\.com\\/(?:live\\/))((\\w|-){11})/;\nconst YOUTUBE_VIDEO_TEMPLATE = 'https://www.youtube.com/watch?v=';\n\nconst transformYoutubeUrl = (src: string) => {\n if (LIVE_YUOTUBE_VIDEO_REGEX.test(src)) {\n const youtubeLiveId = src.match(LIVE_YUOTUBE_VIDEO_REGEX)?.[1];\n if (!youtubeLiveId) {\n return src;\n }\n\n return `${YOUTUBE_VIDEO_TEMPLATE}${youtubeLiveId}`;\n }\n\n return src;\n};\n\nexport const checkYoutubeVideos = (src: string | string[]) => {\n if (Array.isArray(src)) {\n return src.map((videoUrl) => transformYoutubeUrl(videoUrl));\n }\n\n return transformYoutubeUrl(src);\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../src","sources":["components/ReactPlayer/utils.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,wBAAwB,GAC1B,0EAA0E,CAAC;AAC/E,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AAElE,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,IAAI,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,OAAO,GAAG,sBAAsB,GAAG,aAAa,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAsB,EAAE,EAAE;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC,CAAC","sourcesContent":["// the file serves to support live video with react-player@2.9\nconst LIVE_YUOTUBE_VIDEO_REGEX =\n /(?:youtu\\.be\\/live\\/|youtube(?:-nocookie)?\\.com\\/(?:live\\/))((\\w|-){11})/;\nconst YOUTUBE_VIDEO_TEMPLATE = 'https://www.youtube.com/watch?v=';\n\nconst transformYoutubeUrl = (src: string) => {\n if (LIVE_YUOTUBE_VIDEO_REGEX.test(src)) {\n const youtubeLiveId = src.match(LIVE_YUOTUBE_VIDEO_REGEX)?.[1];\n if (!youtubeLiveId) {\n return src;\n }\n\n return `${YOUTUBE_VIDEO_TEMPLATE}${youtubeLiveId}`;\n }\n\n return src;\n};\n\nexport const checkYoutubeVideos = (src: string | string[]) => {\n if (Array.isArray(src)) {\n return src.map((videoUrl) => transformYoutubeUrl(videoUrl));\n }\n\n return transformYoutubeUrl(src);\n};\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import { Col } from "../../grid/index.js";
4
3
  import { block } from "../../utils/index.js";
@@ -10,8 +9,8 @@ const Title = ({ title, subtitle, className, colSizes = { all: 12, sm: 8 }, id,
10
9
  if (!title && !subtitle) {
11
10
  return null;
12
11
  }
13
- const _a = !title || typeof title === 'string' ? { text: title } : title, { text } = _a, titleProps = __rest(_a, ["text"]);
14
- return (_jsxs("div", { className: b(null, className), id: id, children: [text && (_jsx(Col, { reset: true, sizes: colSizes, children: _jsx(TitleItem, Object.assign({ text: text }, titleProps)) })), subtitle && (_jsx(Col, { reset: true, sizes: colSizes, children: _jsx("div", { className: b('description', { titleSize: titleProps === null || titleProps === void 0 ? void 0 : titleProps.textSize }), children: _jsx(YFMWrapper, { content: subtitle, modifiers: { constructor: true } }) }) }))] }));
12
+ const { text, ...titleProps } = !title || typeof title === 'string' ? { text: title } : title;
13
+ return (_jsxs("div", { className: b(null, className), id: id, children: [text && (_jsx(Col, { reset: true, sizes: colSizes, children: _jsx(TitleItem, { text: text, ...titleProps }) })), subtitle && (_jsx(Col, { reset: true, sizes: colSizes, children: _jsx("div", { className: b('description', { titleSize: titleProps?.textSize }), children: _jsx(YFMWrapper, { content: subtitle, modifiers: { constructor: true } }) }) }))] }));
15
14
  };
16
15
  export default Title;
17
16
  //# sourceMappingURL=Title.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Title.js","sourceRoot":"../../../../src","sources":["components/Title/Title.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAC,GAAG,EAAsB,4BAAmB;AAEpD,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,UAAU,oCAAiC;AAElD,OAAO,SAAS,uBAAoB;AAEpC,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAOzB,MAAM,KAAK,GAAG,CAAC,EACX,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAC3B,EAAE,GACwB,EAAE,EAAE;IAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,KACF,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAC,IAAI,EAAE,KAAK,EAAoB,CAAC,CAAC,CAAC,KAAK,EAD7E,EAAC,IAAI,OACwE,EADnE,UAAU,cAApB,QAAqB,CACwD,CAAC;IAEpF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,aACrC,IAAI,IAAI,CACL,KAAC,GAAG,IAAC,KAAK,QAAC,KAAK,EAAE,QAAQ,YACtB,KAAC,SAAS,kBAAC,IAAI,EAAE,IAAI,IAAM,UAAU,EAAI,GACvC,CACT,EACA,QAAQ,IAAI,CACT,KAAC,GAAG,IAAC,KAAK,QAAC,KAAK,EAAE,QAAQ,YACtB,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAC,CAAC,YAC/D,KAAC,UAAU,IAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAAI,GAC/D,GACJ,CACT,IACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["import {Col, GridColumnSizesType} from '../../grid';\nimport {ClassNameProps, TitleItemProps, TitleProps as TitleParams} from '../../models';\nimport {block} from '../../utils';\nimport YFMWrapper from '../YFMWrapper/YFMWrapper';\n\nimport TitleItem from './TitleItem';\n\nimport './Title.scss';\n\nconst b = block('title');\n\nexport interface TitleProps extends TitleParams {\n colSizes?: GridColumnSizesType;\n id?: string;\n}\n\nconst Title = ({\n title,\n subtitle,\n className,\n colSizes = {all: 12, sm: 8},\n id,\n}: TitleProps & ClassNameProps) => {\n if (!title && !subtitle) {\n return null;\n }\n\n const {text, ...titleProps} =\n !title || typeof title === 'string' ? ({text: title} as TitleItemProps) : title;\n\n return (\n <div className={b(null, className)} id={id}>\n {text && (\n <Col reset sizes={colSizes}>\n <TitleItem text={text} {...titleProps} />\n </Col>\n )}\n {subtitle && (\n <Col reset sizes={colSizes}>\n <div className={b('description', {titleSize: titleProps?.textSize})}>\n <YFMWrapper content={subtitle} modifiers={{constructor: true}} />\n </div>\n </Col>\n )}\n </div>\n );\n};\n\nexport default Title;\n"]}
1
+ {"version":3,"file":"Title.js","sourceRoot":"../../../../src","sources":["components/Title/Title.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAsB,4BAAmB;AAEpD,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAClC,OAAO,UAAU,oCAAiC;AAElD,OAAO,SAAS,uBAAoB;AAEpC,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAOzB,MAAM,KAAK,GAAG,CAAC,EACX,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAC3B,EAAE,GACwB,EAAE,EAAE;IAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,EAAC,IAAI,EAAE,GAAG,UAAU,EAAC,GACvB,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAC,IAAI,EAAE,KAAK,EAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,aACrC,IAAI,IAAI,CACL,KAAC,GAAG,IAAC,KAAK,QAAC,KAAK,EAAE,QAAQ,YACtB,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,KAAM,UAAU,GAAI,GACvC,CACT,EACA,QAAQ,IAAI,CACT,KAAC,GAAG,IAAC,KAAK,QAAC,KAAK,EAAE,QAAQ,YACtB,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,YAC/D,KAAC,UAAU,IAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,GAAI,GAC/D,GACJ,CACT,IACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["import {Col, GridColumnSizesType} from '../../grid';\nimport {ClassNameProps, TitleItemProps, TitleProps as TitleParams} from '../../models';\nimport {block} from '../../utils';\nimport YFMWrapper from '../YFMWrapper/YFMWrapper';\n\nimport TitleItem from './TitleItem';\n\nimport './Title.scss';\n\nconst b = block('title');\n\nexport interface TitleProps extends TitleParams {\n colSizes?: GridColumnSizesType;\n id?: string;\n}\n\nconst Title = ({\n title,\n subtitle,\n className,\n colSizes = {all: 12, sm: 8},\n id,\n}: TitleProps & ClassNameProps) => {\n if (!title && !subtitle) {\n return null;\n }\n\n const {text, ...titleProps} =\n !title || typeof title === 'string' ? ({text: title} as TitleItemProps) : title;\n\n return (\n <div className={b(null, className)} id={id}>\n {text && (\n <Col reset sizes={colSizes}>\n <TitleItem text={text} {...titleProps} />\n </Col>\n )}\n {subtitle && (\n <Col reset sizes={colSizes}>\n <div className={b('description', {titleSize: titleProps?.textSize})}>\n <YFMWrapper content={subtitle} modifiers={{constructor: true}} />\n </div>\n </Col>\n )}\n </div>\n );\n};\n\nexport default Title;\n"]}