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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (845) hide show
  1. package/build/cjs/blocks/Banner/Banner.js +2 -2
  2. package/build/cjs/blocks/Banner/Banner.js.map +1 -1
  3. package/build/cjs/blocks/Banner/schema.js +20 -8
  4. package/build/cjs/blocks/Banner/schema.js.map +1 -1
  5. package/build/cjs/blocks/CardLayout/CardLayout.js +3 -3
  6. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  7. package/build/cjs/blocks/CardLayout/schema.js +19 -4
  8. package/build/cjs/blocks/CardLayout/schema.js.map +1 -1
  9. package/build/cjs/blocks/Companies/Companies.js +1 -1
  10. package/build/cjs/blocks/Companies/Companies.js.map +1 -1
  11. package/build/cjs/blocks/Companies/schema.js +10 -4
  12. package/build/cjs/blocks/Companies/schema.js.map +1 -1
  13. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
  14. package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
  15. package/build/cjs/blocks/ContentLayout/schema.js +7 -2
  16. package/build/cjs/blocks/ContentLayout/schema.js.map +1 -1
  17. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  18. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  19. package/build/cjs/blocks/ExtendedFeatures/schema.js +7 -1
  20. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  21. package/build/cjs/blocks/FilterBlock/schema.js +13 -3
  22. package/build/cjs/blocks/FilterBlock/schema.js.map +1 -1
  23. package/build/cjs/blocks/Form/Form.js +3 -4
  24. package/build/cjs/blocks/Form/Form.js.map +1 -1
  25. package/build/cjs/blocks/Form/schema.js +15 -7
  26. package/build/cjs/blocks/Form/schema.js.map +1 -1
  27. package/build/cjs/blocks/Header/Header.css +6 -0
  28. package/build/cjs/blocks/Header/Header.js +17 -8
  29. package/build/cjs/blocks/Header/Header.js.map +1 -1
  30. package/build/cjs/blocks/Header/schema.d.ts +6 -0
  31. package/build/cjs/blocks/Header/schema.js +12 -2
  32. package/build/cjs/blocks/Header/schema.js.map +1 -1
  33. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -3
  34. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  35. package/build/cjs/blocks/HeaderSlider/schema.d.ts +3 -0
  36. package/build/cjs/blocks/HeaderSlider/schema.js +7 -3
  37. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  38. package/build/cjs/blocks/Icons/Icons.js +2 -2
  39. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  40. package/build/cjs/blocks/Icons/schema.js +17 -6
  41. package/build/cjs/blocks/Icons/schema.js.map +1 -1
  42. package/build/cjs/blocks/Info/Info.js +8 -4
  43. package/build/cjs/blocks/Info/Info.js.map +1 -1
  44. package/build/cjs/blocks/Info/schema.js +15 -5
  45. package/build/cjs/blocks/Info/schema.js.map +1 -1
  46. package/build/cjs/blocks/Map/Map.js +2 -3
  47. package/build/cjs/blocks/Map/Map.js.map +1 -1
  48. package/build/cjs/blocks/Map/schema.js +4 -1
  49. package/build/cjs/blocks/Map/schema.js.map +1 -1
  50. package/build/cjs/blocks/Media/Media.js +1 -1
  51. package/build/cjs/blocks/Media/Media.js.map +1 -1
  52. package/build/cjs/blocks/Media/schema.js +25 -10
  53. package/build/cjs/blocks/Media/schema.js.map +1 -1
  54. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  55. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  56. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +8 -2
  57. package/build/cjs/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  58. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  59. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  60. package/build/cjs/blocks/Questions/schema.js +7 -3
  61. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  62. package/build/cjs/blocks/Share/schema.js +7 -3
  63. package/build/cjs/blocks/Share/schema.js.map +1 -1
  64. package/build/cjs/blocks/Slider/Slider.js +18 -17
  65. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  66. package/build/cjs/blocks/Slider/schema.js +6 -1
  67. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  68. package/build/cjs/blocks/Slider/utils.js +9 -6
  69. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  70. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js +1 -1
  71. package/build/cjs/blocks/SliderNew/Arrow/Arrow.js.map +1 -1
  72. package/build/cjs/blocks/SliderNew/Slider.d.ts +1 -1
  73. package/build/cjs/blocks/SliderNew/Slider.js +15 -4
  74. package/build/cjs/blocks/SliderNew/Slider.js.map +1 -1
  75. package/build/cjs/blocks/SliderNew/schema.js +6 -1
  76. package/build/cjs/blocks/SliderNew/schema.js.map +1 -1
  77. package/build/cjs/blocks/SliderNew/useSlider.js +1 -2
  78. package/build/cjs/blocks/SliderNew/useSlider.js.map +1 -1
  79. package/build/cjs/blocks/SliderNew/utils.js +8 -4
  80. package/build/cjs/blocks/SliderNew/utils.js.map +1 -1
  81. package/build/cjs/blocks/Table/Table.js +1 -1
  82. package/build/cjs/blocks/Table/Table.js.map +1 -1
  83. package/build/cjs/blocks/Table/schema.js +22 -10
  84. package/build/cjs/blocks/Table/schema.js.map +1 -1
  85. package/build/cjs/blocks/Tabs/Tabs.js +16 -18
  86. package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
  87. package/build/cjs/blocks/Tabs/schema.js +25 -10
  88. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  89. package/build/cjs/components/Author/Author.js +1 -1
  90. package/build/cjs/components/Author/Author.js.map +1 -1
  91. package/build/cjs/components/Author/schema.js +5 -1
  92. package/build/cjs/components/Author/schema.js.map +1 -1
  93. package/build/cjs/components/BackLink/BackLink.js +5 -2
  94. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  95. package/build/cjs/components/BackgroundImage/BackgroundImage.js +1 -1
  96. package/build/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
  97. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js +4 -4
  98. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  99. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +4 -4
  100. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  101. package/build/cjs/components/BrandFooter/BrandFooter.css +21 -17
  102. package/build/cjs/components/BrandFooter/BrandFooter.js +1 -1
  103. package/build/cjs/components/BrandFooter/BrandFooter.js.map +1 -1
  104. package/build/cjs/components/Button/Button.js +9 -6
  105. package/build/cjs/components/Button/Button.js.map +1 -1
  106. package/build/cjs/components/Button/utils.js +2 -2
  107. package/build/cjs/components/Button/utils.js.map +1 -1
  108. package/build/cjs/components/Buttons/Buttons.js +4 -1
  109. package/build/cjs/components/Buttons/Buttons.js.map +1 -1
  110. package/build/cjs/components/CardBase/CardBase.css +1 -0
  111. package/build/cjs/components/CardBase/CardBase.js +6 -2
  112. package/build/cjs/components/CardBase/CardBase.js.map +1 -1
  113. package/build/cjs/components/ContentList/ContentList.css +7 -7
  114. package/build/cjs/components/ContentList/ContentList.js +1 -1
  115. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  116. package/build/cjs/components/ContentList/ContentListItemIcon.js +1 -1
  117. package/build/cjs/components/ContentList/ContentListItemIcon.js.map +1 -1
  118. package/build/cjs/components/DefaultVideo/DefaultVideo.js +3 -4
  119. package/build/cjs/components/DefaultVideo/DefaultVideo.js.map +1 -1
  120. package/build/cjs/components/FileLink/FileLink.js +9 -2
  121. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  122. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +13 -18
  123. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  124. package/build/cjs/components/FullscreenImage/FullscreenImage.js +1 -1
  125. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  126. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  127. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  128. package/build/cjs/components/IconWrapper/IconWrapper.js +2 -2
  129. package/build/cjs/components/IconWrapper/IconWrapper.js.map +1 -1
  130. package/build/cjs/components/Image/schema.js +40 -12
  131. package/build/cjs/components/Image/schema.js.map +1 -1
  132. package/build/cjs/components/ImageBase/ImageBase.js +3 -4
  133. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  134. package/build/cjs/components/InnerForm/InnerForm.js +5 -5
  135. package/build/cjs/components/InnerForm/InnerForm.js.map +1 -1
  136. package/build/cjs/components/Link/Link.js +12 -3
  137. package/build/cjs/components/Link/Link.js.map +1 -1
  138. package/build/cjs/components/Links/Links.js +4 -1
  139. package/build/cjs/components/Links/Links.js.map +1 -1
  140. package/build/cjs/components/Map/GoogleMap.js +1 -1
  141. package/build/cjs/components/Map/GoogleMap.js.map +1 -1
  142. package/build/cjs/components/Map/Map.js +2 -2
  143. package/build/cjs/components/Map/Map.js.map +1 -1
  144. package/build/cjs/components/Map/YMap/YMap.js +6 -5
  145. package/build/cjs/components/Map/YMap/YMap.js.map +1 -1
  146. package/build/cjs/components/Map/YMap/YandexMap.js +2 -3
  147. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  148. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js +2 -1
  149. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  150. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  151. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  152. package/build/cjs/components/Media/Image/Image.js +4 -4
  153. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  154. package/build/cjs/components/Media/Media.js +13 -5
  155. package/build/cjs/components/Media/Media.js.map +1 -1
  156. package/build/cjs/components/MediaBase/MediaBase.js +3 -3
  157. package/build/cjs/components/MediaBase/MediaBase.js.map +1 -1
  158. package/build/cjs/components/MediaBase/MediaBaseContent.js +1 -1
  159. package/build/cjs/components/MediaBase/MediaBaseContent.js.map +1 -1
  160. package/build/cjs/components/OutsideClick/OutsideClick.js +10 -13
  161. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  162. package/build/cjs/components/OverflowScroller/OverflowScroller.js +47 -50
  163. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  164. package/build/cjs/components/ReactPlayer/ReactPlayer.js +11 -13
  165. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  166. package/build/cjs/components/ReactPlayer/utils.js +1 -2
  167. package/build/cjs/components/ReactPlayer/utils.js.map +1 -1
  168. package/build/cjs/components/Title/Title.js +2 -2
  169. package/build/cjs/components/Title/Title.js.map +1 -1
  170. package/build/cjs/components/Title/TitleItem.css +8 -1
  171. package/build/cjs/components/Title/TitleItem.js +2 -1
  172. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  173. package/build/cjs/components/VideoBlock/VideoBlock.js +6 -3
  174. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  175. package/build/cjs/components/YandexForm/YandexForm.js +3 -3
  176. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  177. package/build/cjs/components/YandexForm/schema.js +7 -3
  178. package/build/cjs/components/YandexForm/schema.js.map +1 -1
  179. package/build/cjs/containers/Loadable/Loadable.js +3 -3
  180. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  181. package/build/cjs/containers/PageConstructor/PageConstructor.css +1 -0
  182. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
  183. package/build/cjs/containers/PageConstructor/PageConstructor.js +15 -8
  184. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  185. package/build/cjs/containers/PageConstructor/Provider.js +1 -1
  186. package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
  187. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +2 -2
  188. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  189. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  190. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  191. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -2
  192. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  193. package/build/cjs/context/theme/withTheme.js +7 -9
  194. package/build/cjs/context/theme/withTheme.js.map +1 -1
  195. package/build/cjs/customization/BlockDecoration.js +3 -5
  196. package/build/cjs/customization/BlockDecoration.js.map +1 -1
  197. package/build/cjs/editor/components/AddBlock/AddBlock.js +7 -9
  198. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  199. package/build/cjs/editor/components/BlockForm/BlockForm.js +11 -6
  200. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  201. package/build/cjs/editor/components/CodeEditor/CodeEditor.js +1 -1
  202. package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  203. package/build/cjs/editor/components/ControlPanel/ControlPanel.css +1 -1
  204. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -4
  205. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  206. package/build/cjs/editor/components/EditBlock/EditBlock.js +2 -2
  207. package/build/cjs/editor/components/EditBlock/EditBlock.js.map +1 -1
  208. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  209. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  210. package/build/cjs/editor/components/Layout/Layout.js +3 -3
  211. package/build/cjs/editor/components/Layout/Layout.js.map +1 -1
  212. package/build/cjs/editor/components/PageSettings/PageSettings.js +3 -3
  213. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  214. package/build/cjs/editor/containers/Editor/Editor.js +1 -1
  215. package/build/cjs/editor/containers/Editor/Editor.js.map +1 -1
  216. package/build/cjs/editor/containers/Editor/hooks/useCode.js +2 -4
  217. package/build/cjs/editor/containers/Editor/hooks/useCode.js.map +1 -1
  218. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js +10 -7
  219. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  220. package/build/cjs/editor/containers/Form/Form.js +5 -2
  221. package/build/cjs/editor/containers/Form/Form.js.map +1 -1
  222. package/build/cjs/editor/data/index.js +4 -1
  223. package/build/cjs/editor/data/index.js.map +1 -1
  224. package/build/cjs/editor/data/previews/default-preview.js +1 -1
  225. package/build/cjs/editor/data/previews/default-preview.js.map +1 -1
  226. package/build/cjs/editor/data/previews/header-block.js +1 -1
  227. package/build/cjs/editor/data/previews/header-block.js.map +1 -1
  228. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +16 -14
  229. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  230. package/build/cjs/editor/dynamic-forms-custom/config.js +1 -1
  231. package/build/cjs/editor/dynamic-forms-custom/config.js.map +1 -1
  232. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +10 -12
  233. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  234. package/build/cjs/editor/dynamic-forms-custom/parser/index.js +150 -120
  235. package/build/cjs/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  236. package/build/cjs/editor/dynamic-forms-custom/parser/views.js +2 -4
  237. package/build/cjs/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  238. package/build/cjs/editor/icons/Tablet.js +1 -1
  239. package/build/cjs/editor/icons/Tablet.js.map +1 -1
  240. package/build/cjs/editor/store/main/index.js +7 -4
  241. package/build/cjs/editor/store/main/index.js.map +1 -1
  242. package/build/cjs/editor/store/main/reducer.js +17 -3
  243. package/build/cjs/editor/store/main/reducer.js.map +1 -1
  244. package/build/cjs/editor/store/main/utils.js +2 -2
  245. package/build/cjs/editor/store/main/utils.js.map +1 -1
  246. package/build/cjs/editor/store/settings/reducer.js +16 -4
  247. package/build/cjs/editor/store/settings/reducer.js.map +1 -1
  248. package/build/cjs/editor/utils/code.js +4 -2
  249. package/build/cjs/editor/utils/code.js.map +1 -1
  250. package/build/cjs/editor/utils/index.js +8 -2
  251. package/build/cjs/editor/utils/index.js.map +1 -1
  252. package/build/cjs/editor/utils/validation.js +1 -1
  253. package/build/cjs/editor/utils/validation.js.map +1 -1
  254. package/build/cjs/editor/widget/index.js +8 -8
  255. package/build/cjs/editor/widget/index.js.map +1 -1
  256. package/build/cjs/grid/Col/Col.js +1 -1
  257. package/build/cjs/grid/Col/Col.js.map +1 -1
  258. package/build/cjs/hooks/useAnalytics.js +4 -1
  259. package/build/cjs/hooks/useAnalytics.js.map +1 -1
  260. package/build/cjs/hooks/useFocus.js +1 -1
  261. package/build/cjs/hooks/useFocus.js.map +1 -1
  262. package/build/cjs/hooks/useHeightCalculator.js +1 -1
  263. package/build/cjs/hooks/useHeightCalculator.js.map +1 -1
  264. package/build/cjs/hooks/useWindowBreakpoint.js +1 -1
  265. package/build/cjs/hooks/useWindowBreakpoint.js.map +1 -1
  266. package/build/cjs/icons/BrandIconDark.js +1 -1
  267. package/build/cjs/icons/BrandIconDark.js.map +1 -1
  268. package/build/cjs/icons/BrandIconLight.js +1 -1
  269. package/build/cjs/icons/BrandIconLight.js.map +1 -1
  270. package/build/cjs/icons/BrandName.js +1 -1
  271. package/build/cjs/icons/BrandName.js.map +1 -1
  272. package/build/cjs/icons/Chevron.js +1 -1
  273. package/build/cjs/icons/Chevron.js.map +1 -1
  274. package/build/cjs/icons/Facebook.js +1 -1
  275. package/build/cjs/icons/Facebook.js.map +1 -1
  276. package/build/cjs/icons/Github.js +1 -1
  277. package/build/cjs/icons/Github.js.map +1 -1
  278. package/build/cjs/icons/Linkedin.js +1 -1
  279. package/build/cjs/icons/Linkedin.js.map +1 -1
  280. package/build/cjs/icons/NavigationArrow.js +1 -1
  281. package/build/cjs/icons/NavigationArrow.js.map +1 -1
  282. package/build/cjs/icons/NavigationChevron.js +1 -1
  283. package/build/cjs/icons/NavigationChevron.js.map +1 -1
  284. package/build/cjs/icons/Telegram.js +1 -1
  285. package/build/cjs/icons/Telegram.js.map +1 -1
  286. package/build/cjs/icons/Twitter.js +1 -1
  287. package/build/cjs/icons/Twitter.js.map +1 -1
  288. package/build/cjs/icons/Vk.js +1 -1
  289. package/build/cjs/icons/Vk.js.map +1 -1
  290. package/build/cjs/models/constructor-items/blocks.d.ts +2 -1
  291. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  292. package/build/cjs/models/constructor-items/common.d.ts +2 -2
  293. package/build/cjs/models/constructor-items/common.js.map +1 -1
  294. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  295. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  296. package/build/cjs/navigation/components/Logo/Logo.js +4 -5
  297. package/build/cjs/navigation/components/Logo/Logo.js.map +1 -1
  298. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js +2 -3
  299. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  300. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +8 -6
  301. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  302. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  303. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  304. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +2 -3
  305. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  306. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  307. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  308. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -3
  309. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  310. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -4
  311. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  312. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  313. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  314. package/build/cjs/navigation/components/NavigationList/NavigationList.js +1 -4
  315. package/build/cjs/navigation/components/NavigationList/NavigationList.js.map +1 -1
  316. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js +2 -3
  317. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  318. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +1 -1
  319. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  320. package/build/cjs/navigation/components/Standalone/index.js +1 -1
  321. package/build/cjs/navigation/components/Standalone/index.js.map +1 -1
  322. package/build/cjs/navigation/hooks/useActiveNavItem.d.ts +2 -2
  323. package/build/cjs/navigation/hooks/useActiveNavItem.js +1 -1
  324. package/build/cjs/navigation/hooks/useActiveNavItem.js.map +1 -1
  325. package/build/cjs/navigation/hooks/useShowBorder.js +1 -1
  326. package/build/cjs/navigation/hooks/useShowBorder.js.map +1 -1
  327. package/build/cjs/navigation/schema.js +20 -7
  328. package/build/cjs/navigation/schema.js.map +1 -1
  329. package/build/cjs/navigation/utils.d.ts +1 -1
  330. package/build/cjs/navigation/utils.js +1 -1
  331. package/build/cjs/navigation/utils.js.map +1 -1
  332. package/build/cjs/schema/constants.js +33 -2
  333. package/build/cjs/schema/constants.js.map +1 -1
  334. package/build/cjs/schema/index.js +23 -6
  335. package/build/cjs/schema/index.js.map +1 -1
  336. package/build/cjs/schema/validators/common.js +78 -32
  337. package/build/cjs/schema/validators/common.js.map +1 -1
  338. package/build/cjs/schema/validators/utils.js +9 -2
  339. package/build/cjs/schema/validators/utils.js.map +1 -1
  340. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  341. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  342. package/build/cjs/sub-blocks/BackgroundCard/schema.js +24 -9
  343. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  344. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +1 -1
  345. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  346. package/build/cjs/sub-blocks/BasicCard/BasicCard.js +2 -2
  347. package/build/cjs/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  348. package/build/cjs/sub-blocks/BasicCard/schema.js +18 -7
  349. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  350. package/build/cjs/sub-blocks/Content/Content.css +53 -6
  351. package/build/cjs/sub-blocks/Content/Content.js +3 -1
  352. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  353. package/build/cjs/sub-blocks/Content/schema.js +10 -3
  354. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  355. package/build/cjs/sub-blocks/Divider/schema.js +6 -2
  356. package/build/cjs/sub-blocks/Divider/schema.js.map +1 -1
  357. package/build/cjs/sub-blocks/HubspotForm/index.js +3 -3
  358. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  359. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  360. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  361. package/build/cjs/sub-blocks/HubspotForm/schema.js +11 -5
  362. package/build/cjs/sub-blocks/HubspotForm/schema.js.map +1 -1
  363. package/build/cjs/sub-blocks/ImageCard/ImageCard.css +2 -0
  364. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  365. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  366. package/build/cjs/sub-blocks/ImageCard/schema.js +18 -7
  367. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  368. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +11 -9
  369. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  370. package/build/cjs/sub-blocks/LayoutItem/schema.js +20 -7
  371. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  372. package/build/cjs/sub-blocks/LayoutItem/utils.js +4 -1
  373. package/build/cjs/sub-blocks/LayoutItem/utils.js.map +1 -1
  374. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +1 -5
  375. package/build/cjs/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  376. package/build/cjs/sub-blocks/MediaCard/schema.js +12 -3
  377. package/build/cjs/sub-blocks/MediaCard/schema.js.map +1 -1
  378. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +3 -4
  379. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  380. package/build/cjs/sub-blocks/PriceCard/schema.js +25 -11
  381. package/build/cjs/sub-blocks/PriceCard/schema.js.map +1 -1
  382. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  383. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  384. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +2 -2
  385. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  386. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  387. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  388. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -4
  389. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  390. package/build/cjs/sub-blocks/PriceDetailed/schema.js +44 -12
  391. package/build/cjs/sub-blocks/PriceDetailed/schema.js.map +1 -1
  392. package/build/cjs/sub-blocks/Quote/Quote.js +6 -3
  393. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  394. package/build/cjs/sub-blocks/Quote/schema.js +21 -8
  395. package/build/cjs/sub-blocks/Quote/schema.js.map +1 -1
  396. package/build/cjs/text-transform/common.js +10 -7
  397. package/build/cjs/text-transform/common.js.map +1 -1
  398. package/build/cjs/text-transform/config.js +26 -19
  399. package/build/cjs/text-transform/config.js.map +1 -1
  400. package/build/cjs/text-transform/filter.js +4 -1
  401. package/build/cjs/text-transform/filter.js.map +1 -1
  402. package/build/cjs/text-transform/transformers.js +3 -3
  403. package/build/cjs/text-transform/transformers.js.map +1 -1
  404. package/build/cjs/text-transform/utils.js +8 -5
  405. package/build/cjs/text-transform/utils.js.map +1 -1
  406. package/build/cjs/utils/analytics.js +2 -3
  407. package/build/cjs/utils/analytics.js.map +1 -1
  408. package/build/cjs/utils/blocks.js +3 -2
  409. package/build/cjs/utils/blocks.js.map +1 -1
  410. package/build/cjs/utils/common.js +1 -2
  411. package/build/cjs/utils/common.js.map +1 -1
  412. package/build/cjs/utils/hubspot.js +6 -7
  413. package/build/cjs/utils/hubspot.js.map +1 -1
  414. package/build/cjs/utils/microdata.js +1 -1
  415. package/build/cjs/utils/microdata.js.map +1 -1
  416. package/build/cjs/utils/url.js +10 -5
  417. package/build/cjs/utils/url.js.map +1 -1
  418. package/build/esm/blocks/Banner/Banner.js +2 -3
  419. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  420. package/build/esm/blocks/Banner/schema.js +20 -8
  421. package/build/esm/blocks/Banner/schema.js.map +1 -1
  422. package/build/esm/blocks/CardLayout/CardLayout.js +3 -4
  423. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  424. package/build/esm/blocks/CardLayout/schema.js +19 -4
  425. package/build/esm/blocks/CardLayout/schema.js.map +1 -1
  426. package/build/esm/blocks/Companies/Companies.js +1 -1
  427. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  428. package/build/esm/blocks/Companies/schema.js +10 -4
  429. package/build/esm/blocks/Companies/schema.js.map +1 -1
  430. package/build/esm/blocks/ContentLayout/ContentLayout.js +1 -1
  431. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  432. package/build/esm/blocks/ContentLayout/schema.js +7 -2
  433. package/build/esm/blocks/ContentLayout/schema.js.map +1 -1
  434. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  435. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  436. package/build/esm/blocks/ExtendedFeatures/schema.js +7 -1
  437. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  438. package/build/esm/blocks/FilterBlock/schema.js +13 -3
  439. package/build/esm/blocks/FilterBlock/schema.js.map +1 -1
  440. package/build/esm/blocks/Form/Form.js +3 -4
  441. package/build/esm/blocks/Form/Form.js.map +1 -1
  442. package/build/esm/blocks/Form/schema.js +15 -7
  443. package/build/esm/blocks/Form/schema.js.map +1 -1
  444. package/build/esm/blocks/Header/Header.css +6 -0
  445. package/build/esm/blocks/Header/Header.js +17 -8
  446. package/build/esm/blocks/Header/Header.js.map +1 -1
  447. package/build/esm/blocks/Header/schema.d.ts +6 -0
  448. package/build/esm/blocks/Header/schema.js +12 -2
  449. package/build/esm/blocks/Header/schema.js.map +1 -1
  450. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -4
  451. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  452. package/build/esm/blocks/HeaderSlider/schema.d.ts +3 -0
  453. package/build/esm/blocks/HeaderSlider/schema.js +7 -3
  454. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  455. package/build/esm/blocks/Icons/Icons.js +2 -2
  456. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  457. package/build/esm/blocks/Icons/schema.js +17 -6
  458. package/build/esm/blocks/Icons/schema.js.map +1 -1
  459. package/build/esm/blocks/Info/Info.js +8 -4
  460. package/build/esm/blocks/Info/Info.js.map +1 -1
  461. package/build/esm/blocks/Info/schema.js +15 -5
  462. package/build/esm/blocks/Info/schema.js.map +1 -1
  463. package/build/esm/blocks/Map/Map.js +2 -4
  464. package/build/esm/blocks/Map/Map.js.map +1 -1
  465. package/build/esm/blocks/Map/schema.js +4 -1
  466. package/build/esm/blocks/Map/schema.js.map +1 -1
  467. package/build/esm/blocks/Media/Media.js +1 -1
  468. package/build/esm/blocks/Media/Media.js.map +1 -1
  469. package/build/esm/blocks/Media/schema.js +25 -10
  470. package/build/esm/blocks/Media/schema.js.map +1 -1
  471. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  472. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  473. package/build/esm/blocks/PromoFeaturesBlock/schema.js +8 -2
  474. package/build/esm/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  475. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  476. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  477. package/build/esm/blocks/Questions/schema.js +7 -3
  478. package/build/esm/blocks/Questions/schema.js.map +1 -1
  479. package/build/esm/blocks/Share/schema.js +7 -3
  480. package/build/esm/blocks/Share/schema.js.map +1 -1
  481. package/build/esm/blocks/Slider/Slider.js +18 -17
  482. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  483. package/build/esm/blocks/Slider/schema.js +6 -1
  484. package/build/esm/blocks/Slider/schema.js.map +1 -1
  485. package/build/esm/blocks/Slider/utils.js +9 -6
  486. package/build/esm/blocks/Slider/utils.js.map +1 -1
  487. package/build/esm/blocks/SliderNew/Arrow/Arrow.js +1 -1
  488. package/build/esm/blocks/SliderNew/Arrow/Arrow.js.map +1 -1
  489. package/build/esm/blocks/SliderNew/Slider.d.ts +1 -1
  490. package/build/esm/blocks/SliderNew/Slider.js +16 -5
  491. package/build/esm/blocks/SliderNew/Slider.js.map +1 -1
  492. package/build/esm/blocks/SliderNew/schema.js +6 -1
  493. package/build/esm/blocks/SliderNew/schema.js.map +1 -1
  494. package/build/esm/blocks/SliderNew/useSlider.d.ts +1 -1
  495. package/build/esm/blocks/SliderNew/useSlider.js +1 -3
  496. package/build/esm/blocks/SliderNew/useSlider.js.map +1 -1
  497. package/build/esm/blocks/SliderNew/useSliderPagination.d.ts +1 -1
  498. package/build/esm/blocks/SliderNew/utils.d.ts +1 -1
  499. package/build/esm/blocks/SliderNew/utils.js +8 -4
  500. package/build/esm/blocks/SliderNew/utils.js.map +1 -1
  501. package/build/esm/blocks/Table/Table.js +1 -1
  502. package/build/esm/blocks/Table/Table.js.map +1 -1
  503. package/build/esm/blocks/Table/schema.js +22 -10
  504. package/build/esm/blocks/Table/schema.js.map +1 -1
  505. package/build/esm/blocks/Tabs/Tabs.js +16 -18
  506. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  507. package/build/esm/blocks/Tabs/schema.js +25 -10
  508. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  509. package/build/esm/components/Author/Author.js +1 -1
  510. package/build/esm/components/Author/Author.js.map +1 -1
  511. package/build/esm/components/Author/schema.js +5 -1
  512. package/build/esm/components/Author/schema.js.map +1 -1
  513. package/build/esm/components/BackLink/BackLink.js +5 -2
  514. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  515. package/build/esm/components/BackgroundImage/BackgroundImage.js +1 -1
  516. package/build/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  517. package/build/esm/components/BackgroundMedia/BackgroundMedia.js +4 -5
  518. package/build/esm/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  519. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +4 -4
  520. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  521. package/build/esm/components/BrandFooter/BrandFooter.css +21 -17
  522. package/build/esm/components/BrandFooter/BrandFooter.js +1 -1
  523. package/build/esm/components/BrandFooter/BrandFooter.js.map +1 -1
  524. package/build/esm/components/Button/Button.js +10 -8
  525. package/build/esm/components/Button/Button.js.map +1 -1
  526. package/build/esm/components/Button/utils.js +2 -2
  527. package/build/esm/components/Button/utils.js.map +1 -1
  528. package/build/esm/components/Buttons/Buttons.js +4 -1
  529. package/build/esm/components/Buttons/Buttons.js.map +1 -1
  530. package/build/esm/components/CardBase/CardBase.css +1 -0
  531. package/build/esm/components/CardBase/CardBase.js +6 -2
  532. package/build/esm/components/CardBase/CardBase.js.map +1 -1
  533. package/build/esm/components/ContentList/ContentList.css +7 -7
  534. package/build/esm/components/ContentList/ContentList.js +1 -1
  535. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  536. package/build/esm/components/ContentList/ContentListItemIcon.js +1 -1
  537. package/build/esm/components/ContentList/ContentListItemIcon.js.map +1 -1
  538. package/build/esm/components/DefaultVideo/DefaultVideo.js +3 -4
  539. package/build/esm/components/DefaultVideo/DefaultVideo.js.map +1 -1
  540. package/build/esm/components/FileLink/FileLink.js +9 -2
  541. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  542. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +13 -18
  543. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  544. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  545. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  546. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  547. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  548. package/build/esm/components/IconWrapper/IconWrapper.js +2 -2
  549. package/build/esm/components/IconWrapper/IconWrapper.js.map +1 -1
  550. package/build/esm/components/Image/schema.js +40 -12
  551. package/build/esm/components/Image/schema.js.map +1 -1
  552. package/build/esm/components/ImageBase/ImageBase.js +3 -5
  553. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  554. package/build/esm/components/InnerForm/InnerForm.js +5 -6
  555. package/build/esm/components/InnerForm/InnerForm.js.map +1 -1
  556. package/build/esm/components/Link/Link.js +13 -4
  557. package/build/esm/components/Link/Link.js.map +1 -1
  558. package/build/esm/components/Links/Links.js +4 -1
  559. package/build/esm/components/Links/Links.js.map +1 -1
  560. package/build/esm/components/Map/GoogleMap.js +1 -1
  561. package/build/esm/components/Map/GoogleMap.js.map +1 -1
  562. package/build/esm/components/Map/Map.js +2 -2
  563. package/build/esm/components/Map/Map.js.map +1 -1
  564. package/build/esm/components/Map/YMap/YMap.js +6 -5
  565. package/build/esm/components/Map/YMap/YMap.js.map +1 -1
  566. package/build/esm/components/Map/YMap/YandexMap.js +2 -3
  567. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  568. package/build/esm/components/Map/YMap/YandexMapApiLoader.js +2 -1
  569. package/build/esm/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  570. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  571. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  572. package/build/esm/components/Media/Image/Image.js +4 -4
  573. package/build/esm/components/Media/Image/Image.js.map +1 -1
  574. package/build/esm/components/Media/Media.js +13 -5
  575. package/build/esm/components/Media/Media.js.map +1 -1
  576. package/build/esm/components/MediaBase/MediaBase.js +3 -4
  577. package/build/esm/components/MediaBase/MediaBase.js.map +1 -1
  578. package/build/esm/components/MediaBase/MediaBaseContent.js +1 -1
  579. package/build/esm/components/MediaBase/MediaBaseContent.js.map +1 -1
  580. package/build/esm/components/OutsideClick/OutsideClick.js +10 -13
  581. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  582. package/build/esm/components/OverflowScroller/OverflowScroller.js +47 -50
  583. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  584. package/build/esm/components/ReactPlayer/ReactPlayer.js +11 -13
  585. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  586. package/build/esm/components/ReactPlayer/utils.js +1 -2
  587. package/build/esm/components/ReactPlayer/utils.js.map +1 -1
  588. package/build/esm/components/Title/Title.js +2 -3
  589. package/build/esm/components/Title/Title.js.map +1 -1
  590. package/build/esm/components/Title/TitleItem.css +8 -1
  591. package/build/esm/components/Title/TitleItem.js +2 -1
  592. package/build/esm/components/Title/TitleItem.js.map +1 -1
  593. package/build/esm/components/VideoBlock/VideoBlock.js +6 -3
  594. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  595. package/build/esm/components/YandexForm/YandexForm.js +3 -3
  596. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  597. package/build/esm/components/YandexForm/schema.js +7 -3
  598. package/build/esm/components/YandexForm/schema.js.map +1 -1
  599. package/build/esm/containers/Loadable/Loadable.js +3 -3
  600. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  601. package/build/esm/containers/PageConstructor/PageConstructor.css +1 -0
  602. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  603. package/build/esm/containers/PageConstructor/PageConstructor.js +15 -9
  604. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  605. package/build/esm/containers/PageConstructor/Provider.js +1 -1
  606. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  607. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +2 -2
  608. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  609. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  610. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  611. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -3
  612. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  613. package/build/esm/context/theme/withTheme.js +7 -9
  614. package/build/esm/context/theme/withTheme.js.map +1 -1
  615. package/build/esm/customization/BlockDecoration.js +3 -6
  616. package/build/esm/customization/BlockDecoration.js.map +1 -1
  617. package/build/esm/editor/components/AddBlock/AddBlock.js +7 -9
  618. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  619. package/build/esm/editor/components/BlockForm/BlockForm.js +11 -7
  620. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  621. package/build/esm/editor/components/CodeEditor/CodeEditor.js +1 -1
  622. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  623. package/build/esm/editor/components/ControlPanel/ControlPanel.css +1 -1
  624. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -5
  625. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  626. package/build/esm/editor/components/EditBlock/EditBlock.js +2 -2
  627. package/build/esm/editor/components/EditBlock/EditBlock.js.map +1 -1
  628. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  629. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  630. package/build/esm/editor/components/Layout/Layout.js +3 -3
  631. package/build/esm/editor/components/Layout/Layout.js.map +1 -1
  632. package/build/esm/editor/components/PageSettings/PageSettings.js +3 -4
  633. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  634. package/build/esm/editor/containers/Editor/Editor.js +1 -1
  635. package/build/esm/editor/containers/Editor/Editor.js.map +1 -1
  636. package/build/esm/editor/containers/Editor/hooks/useCode.js +2 -4
  637. package/build/esm/editor/containers/Editor/hooks/useCode.js.map +1 -1
  638. package/build/esm/editor/containers/Editor/hooks/useEditorState.js +10 -8
  639. package/build/esm/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  640. package/build/esm/editor/containers/Form/Form.js +5 -2
  641. package/build/esm/editor/containers/Form/Form.js.map +1 -1
  642. package/build/esm/editor/data/index.js +4 -1
  643. package/build/esm/editor/data/index.js.map +1 -1
  644. package/build/esm/editor/data/previews/default-preview.js +1 -1
  645. package/build/esm/editor/data/previews/default-preview.js.map +1 -1
  646. package/build/esm/editor/data/previews/header-block.js +1 -1
  647. package/build/esm/editor/data/previews/header-block.js.map +1 -1
  648. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +16 -14
  649. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  650. package/build/esm/editor/dynamic-forms-custom/config.js +1 -1
  651. package/build/esm/editor/dynamic-forms-custom/config.js.map +1 -1
  652. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +10 -12
  653. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  654. package/build/esm/editor/dynamic-forms-custom/parser/index.js +150 -120
  655. package/build/esm/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  656. package/build/esm/editor/dynamic-forms-custom/parser/views.js +2 -4
  657. package/build/esm/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  658. package/build/esm/editor/icons/Tablet.js +1 -1
  659. package/build/esm/editor/icons/Tablet.js.map +1 -1
  660. package/build/esm/editor/store/main/index.js +7 -5
  661. package/build/esm/editor/store/main/index.js.map +1 -1
  662. package/build/esm/editor/store/main/reducer.js +17 -3
  663. package/build/esm/editor/store/main/reducer.js.map +1 -1
  664. package/build/esm/editor/store/main/utils.js +2 -2
  665. package/build/esm/editor/store/main/utils.js.map +1 -1
  666. package/build/esm/editor/store/settings/reducer.js +16 -4
  667. package/build/esm/editor/store/settings/reducer.js.map +1 -1
  668. package/build/esm/editor/utils/code.js +4 -2
  669. package/build/esm/editor/utils/code.js.map +1 -1
  670. package/build/esm/editor/utils/index.js +8 -2
  671. package/build/esm/editor/utils/index.js.map +1 -1
  672. package/build/esm/editor/utils/validation.js +1 -1
  673. package/build/esm/editor/utils/validation.js.map +1 -1
  674. package/build/esm/editor/widget/index.js +8 -8
  675. package/build/esm/editor/widget/index.js.map +1 -1
  676. package/build/esm/grid/Col/Col.js +1 -2
  677. package/build/esm/grid/Col/Col.js.map +1 -1
  678. package/build/esm/hooks/useAnalytics.js +4 -1
  679. package/build/esm/hooks/useAnalytics.js.map +1 -1
  680. package/build/esm/hooks/useFocus.js +1 -1
  681. package/build/esm/hooks/useFocus.js.map +1 -1
  682. package/build/esm/hooks/useHeightCalculator.js +1 -1
  683. package/build/esm/hooks/useHeightCalculator.js.map +1 -1
  684. package/build/esm/hooks/useWindowBreakpoint.js +1 -1
  685. package/build/esm/hooks/useWindowBreakpoint.js.map +1 -1
  686. package/build/esm/icons/BrandIconDark.js +1 -1
  687. package/build/esm/icons/BrandIconDark.js.map +1 -1
  688. package/build/esm/icons/BrandIconLight.js +1 -1
  689. package/build/esm/icons/BrandIconLight.js.map +1 -1
  690. package/build/esm/icons/BrandName.js +1 -1
  691. package/build/esm/icons/BrandName.js.map +1 -1
  692. package/build/esm/icons/Chevron.js +1 -1
  693. package/build/esm/icons/Chevron.js.map +1 -1
  694. package/build/esm/icons/Facebook.js +1 -1
  695. package/build/esm/icons/Facebook.js.map +1 -1
  696. package/build/esm/icons/Github.js +1 -1
  697. package/build/esm/icons/Github.js.map +1 -1
  698. package/build/esm/icons/Linkedin.js +1 -1
  699. package/build/esm/icons/Linkedin.js.map +1 -1
  700. package/build/esm/icons/NavigationArrow.js +1 -1
  701. package/build/esm/icons/NavigationArrow.js.map +1 -1
  702. package/build/esm/icons/NavigationChevron.js +1 -1
  703. package/build/esm/icons/NavigationChevron.js.map +1 -1
  704. package/build/esm/icons/Telegram.js +1 -1
  705. package/build/esm/icons/Telegram.js.map +1 -1
  706. package/build/esm/icons/Twitter.js +1 -1
  707. package/build/esm/icons/Twitter.js.map +1 -1
  708. package/build/esm/icons/Vk.js +1 -1
  709. package/build/esm/icons/Vk.js.map +1 -1
  710. package/build/esm/models/constructor-items/blocks.d.ts +2 -1
  711. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  712. package/build/esm/models/constructor-items/common.d.ts +2 -2
  713. package/build/esm/models/constructor-items/common.js.map +1 -1
  714. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  715. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  716. package/build/esm/navigation/components/Logo/Logo.js +4 -6
  717. package/build/esm/navigation/components/Logo/Logo.js.map +1 -1
  718. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js +2 -4
  719. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  720. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +8 -7
  721. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  722. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  723. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  724. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +2 -3
  725. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  726. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  727. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  728. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -4
  729. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  730. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -5
  731. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  732. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  733. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  734. package/build/esm/navigation/components/NavigationList/NavigationList.js +1 -5
  735. package/build/esm/navigation/components/NavigationList/NavigationList.js.map +1 -1
  736. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js +2 -4
  737. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  738. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +1 -1
  739. package/build/esm/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  740. package/build/esm/navigation/components/Standalone/index.js +1 -1
  741. package/build/esm/navigation/components/Standalone/index.js.map +1 -1
  742. package/build/esm/navigation/hooks/useActiveNavItem.d.ts +2 -2
  743. package/build/esm/navigation/hooks/useActiveNavItem.js +1 -1
  744. package/build/esm/navigation/hooks/useActiveNavItem.js.map +1 -1
  745. package/build/esm/navigation/hooks/useShowBorder.js +1 -1
  746. package/build/esm/navigation/hooks/useShowBorder.js.map +1 -1
  747. package/build/esm/navigation/schema.js +20 -7
  748. package/build/esm/navigation/schema.js.map +1 -1
  749. package/build/esm/navigation/utils.d.ts +1 -1
  750. package/build/esm/navigation/utils.js +1 -1
  751. package/build/esm/navigation/utils.js.map +1 -1
  752. package/build/esm/schema/constants.js +33 -2
  753. package/build/esm/schema/constants.js.map +1 -1
  754. package/build/esm/schema/index.js +23 -6
  755. package/build/esm/schema/index.js.map +1 -1
  756. package/build/esm/schema/validators/common.js +78 -32
  757. package/build/esm/schema/validators/common.js.map +1 -1
  758. package/build/esm/schema/validators/utils.js +9 -2
  759. package/build/esm/schema/validators/utils.js.map +1 -1
  760. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  761. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  762. package/build/esm/sub-blocks/BackgroundCard/schema.js +24 -9
  763. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  764. package/build/esm/sub-blocks/BannerCard/BannerCard.js +1 -1
  765. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  766. package/build/esm/sub-blocks/BasicCard/BasicCard.js +2 -3
  767. package/build/esm/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  768. package/build/esm/sub-blocks/BasicCard/schema.js +18 -7
  769. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  770. package/build/esm/sub-blocks/Content/Content.css +53 -6
  771. package/build/esm/sub-blocks/Content/Content.js +3 -1
  772. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  773. package/build/esm/sub-blocks/Content/schema.js +10 -3
  774. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  775. package/build/esm/sub-blocks/Divider/schema.js +6 -2
  776. package/build/esm/sub-blocks/Divider/schema.js.map +1 -1
  777. package/build/esm/sub-blocks/HubspotForm/index.js +3 -3
  778. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  779. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  780. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  781. package/build/esm/sub-blocks/HubspotForm/schema.js +11 -5
  782. package/build/esm/sub-blocks/HubspotForm/schema.js.map +1 -1
  783. package/build/esm/sub-blocks/ImageCard/ImageCard.css +2 -0
  784. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  785. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  786. package/build/esm/sub-blocks/ImageCard/schema.js +18 -7
  787. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  788. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +11 -10
  789. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  790. package/build/esm/sub-blocks/LayoutItem/schema.js +20 -7
  791. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  792. package/build/esm/sub-blocks/LayoutItem/utils.js +4 -1
  793. package/build/esm/sub-blocks/LayoutItem/utils.js.map +1 -1
  794. package/build/esm/sub-blocks/MediaCard/MediaCard.js +1 -5
  795. package/build/esm/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  796. package/build/esm/sub-blocks/MediaCard/schema.js +12 -3
  797. package/build/esm/sub-blocks/MediaCard/schema.js.map +1 -1
  798. package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
  799. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  800. package/build/esm/sub-blocks/PriceCard/schema.js +25 -11
  801. package/build/esm/sub-blocks/PriceCard/schema.js.map +1 -1
  802. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  803. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  804. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +2 -2
  805. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  806. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  807. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  808. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -5
  809. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  810. package/build/esm/sub-blocks/PriceDetailed/schema.js +44 -12
  811. package/build/esm/sub-blocks/PriceDetailed/schema.js.map +1 -1
  812. package/build/esm/sub-blocks/Quote/Quote.js +6 -3
  813. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  814. package/build/esm/sub-blocks/Quote/schema.js +21 -8
  815. package/build/esm/sub-blocks/Quote/schema.js.map +1 -1
  816. package/build/esm/text-transform/common.js +10 -7
  817. package/build/esm/text-transform/common.js.map +1 -1
  818. package/build/esm/text-transform/config.js +26 -19
  819. package/build/esm/text-transform/config.js.map +1 -1
  820. package/build/esm/text-transform/filter.js +4 -1
  821. package/build/esm/text-transform/filter.js.map +1 -1
  822. package/build/esm/text-transform/transformers.js +3 -3
  823. package/build/esm/text-transform/transformers.js.map +1 -1
  824. package/build/esm/text-transform/utils.js +8 -6
  825. package/build/esm/text-transform/utils.js.map +1 -1
  826. package/build/esm/utils/analytics.js +2 -3
  827. package/build/esm/utils/analytics.js.map +1 -1
  828. package/build/esm/utils/blocks.js +3 -2
  829. package/build/esm/utils/blocks.js.map +1 -1
  830. package/build/esm/utils/common.js +1 -2
  831. package/build/esm/utils/common.js.map +1 -1
  832. package/build/esm/utils/hubspot.js +6 -7
  833. package/build/esm/utils/hubspot.js.map +1 -1
  834. package/build/esm/utils/microdata.js +1 -1
  835. package/build/esm/utils/microdata.js.map +1 -1
  836. package/build/esm/utils/url.js +10 -5
  837. package/build/esm/utils/url.js.map +1 -1
  838. package/package.json +16 -11
  839. package/schema/index.js +1 -1
  840. package/server/models/constructor-items/blocks.d.ts +2 -1
  841. package/server/models/constructor-items/common.d.ts +2 -2
  842. package/server/utils/blocks.js +1 -0
  843. package/styles/root.scss +1 -0
  844. package/widget/2957.index.js +1 -1
  845. package/widget/index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VideoBlock.js","sourceRoot":"../../../../src","sources":["components/VideoBlock/VideoBlock.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {PlayFill} from '@gravity-ui/icons';\nimport {Icon, useActionHandlers, useUniqId} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport {v4 as uuidv4} from 'uuid';\n\nimport {useAnalytics} from '../../hooks/useAnalytics';\nimport {AnalyticsEventsBase, DefaultEventNames} from '../../models/common';\nimport {block, getPageSearchParams} from '../../utils';\nimport Image from '../Image/Image';\n\nimport {i18n} from './i18n';\n\nimport './VideoBlock.scss';\n\nconst RECORD_URL = 'https://www.youtube.com/embed/';\nconst STREAM_URL = 'https://www.youtube.com/embed/live_stream?channel=';\nconst RECORD_RE = /[0-9A-Za-z_-]{11}/;\nconst STREAM_RE = /[0-9A-Za-z_-]{23,25}/;\nconst AUTOPLAY_DELAY = 300;\n\nexport const AUTOPLAY_ATTRIBUTES = {\n autoplay: 1,\n mute: 1,\n};\nconst NO_AUTOPLAY_ATTRIBUTES = {\n autoplay: 0,\n};\n\nconst b = block('VideoBlock');\n\nfunction getYoutubeVideoSrc(stream?: string, record?: string) {\n if (!stream && !record) {\n return null;\n }\n\n const [videoLink, url, re] = stream\n ? [stream, STREAM_URL, STREAM_RE]\n : [record, RECORD_URL, RECORD_RE];\n const match = videoLink?.match(re);\n let src;\n\n if (match && match.length) {\n src = url + match[0];\n }\n\n return src;\n}\n\nexport function getHeight(width: number): number {\n return (width / 16) * 9;\n}\n\nexport interface VideoBlockProps extends AnalyticsEventsBase {\n id?: string;\n stream?: string;\n record?: string;\n videoIframe?: string;\n attributes?: Record<string, string>;\n className?: string;\n previewImg?: string;\n playButton?: React.ReactNode;\n playButtonId?: string;\n height?: number;\n fullscreen?: boolean;\n autoplay?: boolean;\n onImageLoad?: () => void;\n}\n\nconst VideoBlock = (props: VideoBlockProps) => {\n const {\n stream,\n record,\n videoIframe,\n attributes,\n className,\n id,\n previewImg,\n playButton,\n playButtonId,\n height,\n fullscreen,\n analyticsEvents,\n autoplay,\n onImageLoad,\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.VideoPreview);\n\n const src = videoIframe ? videoIframe : getYoutubeVideoSrc(stream, record);\n const ref = React.useRef<HTMLDivElement>(null);\n const [hidePreview, setHidePreview] = React.useState(false);\n const [currentHeight, setCurrentHeight] = React.useState(height || undefined);\n const fullId = React.useMemo(() => id || uuidv4(), [id]);\n const buttonId = useUniqId();\n\n const [isPlaying, setIsPlaying] = React.useState(!previewImg);\n\n const iframeSrc = React.useMemo(() => {\n if (src && isPlaying) {\n try {\n const url = new URL(src);\n const searchParams = getPageSearchParams({\n ...(attributes || {}),\n ...(previewImg || autoplay ? AUTOPLAY_ATTRIBUTES : NO_AUTOPLAY_ATTRIBUTES),\n });\n\n searchParams.forEach((value, key) => {\n url.searchParams.set(key, value);\n });\n\n return url.href;\n } catch (e) {\n return src;\n }\n }\n\n return undefined;\n }, [attributes, autoplay, isPlaying, previewImg, src]);\n\n const onPreviewClick = React.useCallback(() => {\n handleAnalytics(analyticsEvents);\n\n setIsPlaying(true);\n\n setTimeout(() => setHidePreview(true), AUTOPLAY_DELAY);\n }, [handleAnalytics, analyticsEvents]);\n\n const {onKeyDown: onPreviewKeyDown} = useActionHandlers(onPreviewClick);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n setCurrentHeight(\n ref.current ? Math.round(getHeight(ref.current.offsetWidth)) : undefined,\n );\n }, 100);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [height]);\n\n const iframeContent = React.useMemo(() => {\n return (\n <iframe\n id={fullId}\n src={iframeSrc}\n width=\"100%\"\n height=\"100%\"\n title={i18n('iframe-title')}\n frameBorder=\"0\"\n allowFullScreen={true}\n allow=\"autoplay; fullscreen; encrypted-media; accelerometer; gyroscope; picture-in-picture; clipboard-write; web-share; screen-wake-lock\"\n loading=\"lazy\"\n />\n );\n }, [fullId, iframeSrc]);\n\n React.useEffect(() => {\n setHidePreview(false);\n }, [src]);\n\n if (!src) {\n return null;\n }\n\n return (\n <div className={b(null, className)} style={{height: currentHeight}} ref={ref}>\n {iframeContent}\n {previewImg && !hidePreview && !fullscreen && (\n <div\n className={b('preview')}\n onClick={onPreviewClick}\n onKeyDown={onPreviewKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-labelledby={playButton ? playButtonId : buttonId}\n >\n <Image\n src={previewImg}\n className={b('image')}\n containerClassName={b('image-wrapper')}\n onLoad={onImageLoad}\n />\n {playButton || (\n <button title=\"Play\" id={buttonId} className={b('button')}>\n <Icon className={b('icon')} data={PlayFill} size={24} />\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default VideoBlock;\n"]}
1
+ {"version":3,"file":"VideoBlock.js","sourceRoot":"../../../../src","sources":["components/VideoBlock/VideoBlock.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {PlayFill} from '@gravity-ui/icons';\nimport {Icon, useActionHandlers, useUniqId} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport {v4 as uuidv4} from 'uuid';\n\nimport {useAnalytics} from '../../hooks/useAnalytics';\nimport {AnalyticsEventsBase, DefaultEventNames} from '../../models/common';\nimport {block, getPageSearchParams} from '../../utils';\nimport Image from '../Image/Image';\n\nimport {i18n} from './i18n';\n\nimport './VideoBlock.scss';\n\nconst RECORD_URL = 'https://www.youtube.com/embed/';\nconst STREAM_URL = 'https://www.youtube.com/embed/live_stream?channel=';\nconst RECORD_RE = /[0-9A-Za-z_-]{11}/;\nconst STREAM_RE = /[0-9A-Za-z_-]{23,25}/;\nconst AUTOPLAY_DELAY = 300;\n\nexport const AUTOPLAY_ATTRIBUTES = {\n autoplay: 1,\n mute: 1,\n};\nconst NO_AUTOPLAY_ATTRIBUTES = {\n autoplay: 0,\n};\n\nconst b = block('VideoBlock');\n\nfunction getYoutubeVideoSrc(stream?: string, record?: string) {\n if (!stream && !record) {\n return null;\n }\n\n const [videoLink, url, re] = stream\n ? [stream, STREAM_URL, STREAM_RE]\n : [record, RECORD_URL, RECORD_RE];\n const match = videoLink?.match(re);\n let src;\n\n if (match && match.length) {\n src = url + match[0];\n }\n\n return src;\n}\n\nexport function getHeight(width: number): number {\n return (width / 16) * 9;\n}\n\nexport interface VideoBlockProps extends AnalyticsEventsBase {\n id?: string;\n stream?: string;\n record?: string;\n videoIframe?: string;\n attributes?: Record<string, string>;\n className?: string;\n previewImg?: string;\n playButton?: React.ReactNode;\n playButtonId?: string;\n height?: number;\n fullscreen?: boolean;\n autoplay?: boolean;\n onImageLoad?: () => void;\n}\n\nconst VideoBlock = (props: VideoBlockProps) => {\n const {\n stream,\n record,\n videoIframe,\n attributes,\n className,\n id,\n previewImg,\n playButton,\n playButtonId,\n height,\n fullscreen,\n analyticsEvents,\n autoplay,\n onImageLoad,\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.VideoPreview);\n\n const src = videoIframe ? videoIframe : getYoutubeVideoSrc(stream, record);\n const ref = React.useRef<HTMLDivElement>(null);\n const [hidePreview, setHidePreview] = React.useState(false);\n const [currentHeight, setCurrentHeight] = React.useState(height || undefined);\n const fullId = React.useMemo(() => id || uuidv4(), [id]);\n const buttonId = useUniqId();\n\n const [isPlaying, setIsPlaying] = React.useState(!previewImg);\n\n const iframeSrc = React.useMemo(() => {\n if (src && isPlaying) {\n try {\n const url = new URL(src);\n const searchParams = getPageSearchParams({\n ...(attributes || {}),\n ...(previewImg || autoplay ? AUTOPLAY_ATTRIBUTES : NO_AUTOPLAY_ATTRIBUTES),\n });\n\n searchParams.forEach((value, key) => {\n url.searchParams.set(key, value);\n });\n\n return url.href;\n } catch (e) {\n return src;\n }\n }\n\n return undefined;\n }, [attributes, autoplay, isPlaying, previewImg, src]);\n\n const onPreviewClick = React.useCallback(() => {\n handleAnalytics(analyticsEvents);\n\n setIsPlaying(true);\n\n setTimeout(() => setHidePreview(true), AUTOPLAY_DELAY);\n }, [handleAnalytics, analyticsEvents]);\n\n const {onKeyDown: onPreviewKeyDown} = useActionHandlers(onPreviewClick);\n\n React.useEffect(() => {\n const updateSize = debounce(() => {\n setCurrentHeight(\n ref.current ? Math.round(getHeight(ref.current.offsetWidth)) : undefined,\n );\n }, 100);\n\n updateSize();\n window.addEventListener('resize', updateSize, {passive: true});\n return () => {\n window.removeEventListener('resize', updateSize);\n };\n }, [height]);\n\n const iframeContent = React.useMemo(() => {\n return (\n <iframe\n id={fullId}\n src={iframeSrc}\n width=\"100%\"\n height=\"100%\"\n title={i18n('iframe-title')}\n frameBorder=\"0\"\n allowFullScreen={true}\n allow=\"autoplay; fullscreen; encrypted-media; accelerometer; gyroscope; picture-in-picture; clipboard-write; web-share; screen-wake-lock\"\n loading=\"lazy\"\n />\n );\n }, [fullId, iframeSrc]);\n\n React.useEffect(() => {\n setHidePreview(false);\n }, [src]);\n\n if (!src) {\n return null;\n }\n\n return (\n <div className={b(null, className)} style={{height: currentHeight}} ref={ref}>\n {iframeContent}\n {previewImg && !hidePreview && !fullscreen && (\n <div\n className={b('preview')}\n onClick={onPreviewClick}\n onKeyDown={onPreviewKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-labelledby={playButton ? playButtonId : buttonId}\n >\n <Image\n src={previewImg}\n className={b('image')}\n containerClassName={b('image-wrapper')}\n onLoad={onImageLoad}\n />\n {playButton || (\n <button title=\"Play\" id={buttonId} className={b('button')}>\n <Icon className={b('icon')} data={PlayFill} size={24} />\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport default VideoBlock;\n"]}
@@ -24,7 +24,7 @@ const YandexForm = (props) => {
24
24
  const url = location.origin + location.pathname;
25
25
  queryParams.set('url', url);
26
26
  queryParams.set('iframe', '1');
27
- if (locale === null || locale === void 0 ? void 0 : locale.lang) {
27
+ if (locale?.lang) {
28
28
  queryParams.set('lang', locale.lang);
29
29
  }
30
30
  queryParams.set('theme', theme || 'cloud-www');
@@ -75,7 +75,7 @@ const YandexForm = (props) => {
75
75
  }
76
76
  if (iframeRef.current && height && !message) {
77
77
  iframeRef.current.height = `${height}px`;
78
- onLoad === null || onLoad === void 0 ? void 0 : onLoad();
78
+ onLoad?.();
79
79
  }
80
80
  if (message === 'sent' || redirectUrl) {
81
81
  // event with redirectUrl is comming when form with redirect is used
@@ -99,7 +99,7 @@ const YandexForm = (props) => {
99
99
  addIframe();
100
100
  // Crunch for mobile chrome in lite mode
101
101
  // https://support.google.com/chrome/answer/2392284?co=GENIE.Platform%3DAndroid&oco=1
102
- setTimeout(() => onLoad === null || onLoad === void 0 ? void 0 : onLoad(), 1000);
102
+ setTimeout(() => onLoad?.(), 1000);
103
103
  return () => window.removeEventListener('message', handleMessage);
104
104
  }, [id, addIframe, handleMessage, onLoad]);
105
105
  return _jsx("div", { ref: formContainerRef, className: b(null, className) });
@@ -1 +1 @@
1
- {"version":3,"file":"YandexForm.js","sourceRoot":"../../../../src","sources":["components/YandexForm/YandexForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {LocaleContext} from '../../context/localeContext';\nimport {MobileContext} from '../../context/mobileContext';\nimport {useAnalytics} from '../../hooks';\nimport {YandexFormProps} from '../../models';\nimport {DefaultEventNames} from '../../models/common';\nimport {block} from '../../utils';\nimport {HEADER_HEIGHT} from '../constants';\n\nexport const YANDEX_FORM_ORIGIN = 'https://forms.yandex.ru';\nexport const YANDEX_FORM_SECTION = 'surveys';\nconst CONTAINER_ID = 'pc-yandex-form-container';\n\nconst b = block('yandex-form');\n\nconst YandexForm = (props: YandexFormProps) => {\n const {\n onLoad,\n id,\n params,\n className,\n theme,\n containerId = CONTAINER_ID,\n headerHeight = HEADER_HEIGHT,\n onSubmit,\n analyticsEvents,\n customFormOrigin,\n customFormSection,\n } = props;\n const formContainerRef = React.useRef<HTMLDivElement>(null);\n const iframeRef = React.useRef<HTMLIFrameElement>();\n const yaFormOrigin = customFormOrigin || YANDEX_FORM_ORIGIN;\n const yaFormSection = customFormSection || YANDEX_FORM_SECTION;\n\n const handleAnalytics = useAnalytics(DefaultEventNames.YandexFormSubmit);\n const isMobile = React.useContext(MobileContext);\n const locale = React.useContext(LocaleContext);\n\n const updateFormIframe = React.useCallback(\n (container: HTMLDivElement) => {\n const queryParams = new URLSearchParams(location.search);\n const url = location.origin + location.pathname;\n\n queryParams.set('url', url);\n queryParams.set('iframe', '1');\n\n if (locale?.lang) {\n queryParams.set('lang', locale.lang);\n }\n\n queryParams.set('theme', theme || 'cloud-www');\n\n if (isMobile) {\n queryParams.set('media-type', 'mobile');\n }\n\n if (params) {\n Object.keys(params).forEach((param) => {\n queryParams.set(param, params[param]);\n });\n }\n\n const src = `${yaFormOrigin}/${yaFormSection}/${id}/?${queryParams}`;\n\n if (iframeRef.current) {\n iframeRef.current.src = src;\n } else {\n iframeRef.current = document.createElement('iframe');\n iframeRef.current.src = src;\n iframeRef.current.id = containerId;\n iframeRef.current.name = `form${id}`;\n iframeRef.current.setAttribute('loading', 'lazy');\n iframeRef.current.frameBorder = '0';\n iframeRef.current.scrolling = 'no';\n iframeRef.current.width = '100%';\n container.appendChild(iframeRef.current);\n }\n },\n [locale.lang, theme, isMobile, yaFormOrigin, yaFormSection, id, containerId, params],\n );\n\n const handleSubmit = React.useCallback(() => {\n if (formContainerRef && formContainerRef.current) {\n const {top} = formContainerRef.current.getBoundingClientRect();\n window.scrollBy(0, top - headerHeight);\n }\n\n handleAnalytics(analyticsEvents);\n\n if (onSubmit) {\n onSubmit();\n }\n }, [handleAnalytics, analyticsEvents, onSubmit, headerHeight]);\n\n const handleMessage = React.useCallback(\n ({origin, data}: MessageEvent) => {\n if (origin !== yaFormOrigin) {\n return;\n }\n\n try {\n const parsed = JSON.parse(data);\n const height = parsed['iframe-height'];\n const {message, name, redirectUrl} = parsed;\n if (name !== `form${id}`) {\n return;\n }\n\n if (iframeRef.current && height && !message) {\n iframeRef.current.height = `${height}px`;\n onLoad?.();\n }\n\n if (message === 'sent' || redirectUrl) {\n // event with redirectUrl is comming when form with redirect is used\n // otherwise, message: 'sent' is not comming on such sort of forms\n // to catch this event and handle analytics redirectUrl is added to condition\n handleSubmit();\n }\n } catch (error) {\n return;\n }\n },\n [yaFormOrigin, id, onLoad, handleSubmit],\n );\n\n const addIframe = React.useCallback(() => {\n const container = formContainerRef.current;\n\n if (container) {\n updateFormIframe(container);\n window.addEventListener('message', handleMessage, {passive: true});\n }\n }, [updateFormIframe, handleMessage]);\n\n React.useEffect(() => {\n addIframe();\n // Crunch for mobile chrome in lite mode\n // https://support.google.com/chrome/answer/2392284?co=GENIE.Platform%3DAndroid&oco=1\n setTimeout(() => onLoad?.(), 1000);\n\n return () => window.removeEventListener('message', handleMessage);\n }, [id, addIframe, handleMessage, onLoad]);\n\n return <div ref={formContainerRef} className={b(null, className)} />;\n};\n\nexport default YandexForm;\n"]}
1
+ {"version":3,"file":"YandexForm.js","sourceRoot":"../../../../src","sources":["components/YandexForm/YandexForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {LocaleContext} from '../../context/localeContext';\nimport {MobileContext} from '../../context/mobileContext';\nimport {useAnalytics} from '../../hooks';\nimport {YandexFormProps} from '../../models';\nimport {DefaultEventNames} from '../../models/common';\nimport {block} from '../../utils';\nimport {HEADER_HEIGHT} from '../constants';\n\nexport const YANDEX_FORM_ORIGIN = 'https://forms.yandex.ru';\nexport const YANDEX_FORM_SECTION = 'surveys';\nconst CONTAINER_ID = 'pc-yandex-form-container';\n\nconst b = block('yandex-form');\n\nconst YandexForm = (props: YandexFormProps) => {\n const {\n onLoad,\n id,\n params,\n className,\n theme,\n containerId = CONTAINER_ID,\n headerHeight = HEADER_HEIGHT,\n onSubmit,\n analyticsEvents,\n customFormOrigin,\n customFormSection,\n } = props;\n const formContainerRef = React.useRef<HTMLDivElement>(null);\n const iframeRef = React.useRef<HTMLIFrameElement>();\n const yaFormOrigin = customFormOrigin || YANDEX_FORM_ORIGIN;\n const yaFormSection = customFormSection || YANDEX_FORM_SECTION;\n\n const handleAnalytics = useAnalytics(DefaultEventNames.YandexFormSubmit);\n const isMobile = React.useContext(MobileContext);\n const locale = React.useContext(LocaleContext);\n\n const updateFormIframe = React.useCallback(\n (container: HTMLDivElement) => {\n const queryParams = new URLSearchParams(location.search);\n const url = location.origin + location.pathname;\n\n queryParams.set('url', url);\n queryParams.set('iframe', '1');\n\n if (locale?.lang) {\n queryParams.set('lang', locale.lang);\n }\n\n queryParams.set('theme', theme || 'cloud-www');\n\n if (isMobile) {\n queryParams.set('media-type', 'mobile');\n }\n\n if (params) {\n Object.keys(params).forEach((param) => {\n queryParams.set(param, params[param]);\n });\n }\n\n const src = `${yaFormOrigin}/${yaFormSection}/${id}/?${queryParams}`;\n\n if (iframeRef.current) {\n iframeRef.current.src = src;\n } else {\n iframeRef.current = document.createElement('iframe');\n iframeRef.current.src = src;\n iframeRef.current.id = containerId;\n iframeRef.current.name = `form${id}`;\n iframeRef.current.setAttribute('loading', 'lazy');\n iframeRef.current.frameBorder = '0';\n iframeRef.current.scrolling = 'no';\n iframeRef.current.width = '100%';\n container.appendChild(iframeRef.current);\n }\n },\n [locale.lang, theme, isMobile, yaFormOrigin, yaFormSection, id, containerId, params],\n );\n\n const handleSubmit = React.useCallback(() => {\n if (formContainerRef && formContainerRef.current) {\n const {top} = formContainerRef.current.getBoundingClientRect();\n window.scrollBy(0, top - headerHeight);\n }\n\n handleAnalytics(analyticsEvents);\n\n if (onSubmit) {\n onSubmit();\n }\n }, [handleAnalytics, analyticsEvents, onSubmit, headerHeight]);\n\n const handleMessage = React.useCallback(\n ({origin, data}: MessageEvent) => {\n if (origin !== yaFormOrigin) {\n return;\n }\n\n try {\n const parsed = JSON.parse(data);\n const height = parsed['iframe-height'];\n const {message, name, redirectUrl} = parsed;\n if (name !== `form${id}`) {\n return;\n }\n\n if (iframeRef.current && height && !message) {\n iframeRef.current.height = `${height}px`;\n onLoad?.();\n }\n\n if (message === 'sent' || redirectUrl) {\n // event with redirectUrl is comming when form with redirect is used\n // otherwise, message: 'sent' is not comming on such sort of forms\n // to catch this event and handle analytics redirectUrl is added to condition\n handleSubmit();\n }\n } catch (error) {\n return;\n }\n },\n [yaFormOrigin, id, onLoad, handleSubmit],\n );\n\n const addIframe = React.useCallback(() => {\n const container = formContainerRef.current;\n\n if (container) {\n updateFormIframe(container);\n window.addEventListener('message', handleMessage, {passive: true});\n }\n }, [updateFormIframe, handleMessage]);\n\n React.useEffect(() => {\n addIframe();\n // Crunch for mobile chrome in lite mode\n // https://support.google.com/chrome/answer/2392284?co=GENIE.Platform%3DAndroid&oco=1\n setTimeout(() => onLoad?.(), 1000);\n\n return () => window.removeEventListener('message', handleMessage);\n }, [id, addIframe, handleMessage, onLoad]);\n\n return <div ref={formContainerRef} className={b(null, className)} />;\n};\n\nexport default YandexForm;\n"]}
@@ -2,10 +2,14 @@ import { BaseProps } from "../../schema/validators/common.js";
2
2
  export const YandexFormProps = {
3
3
  type: 'object',
4
4
  required: ['id'],
5
- properties: Object.assign(Object.assign({}, BaseProps), { id: {
5
+ properties: {
6
+ ...BaseProps,
7
+ id: {
6
8
  type: 'string',
7
- }, containerId: {
9
+ },
10
+ containerId: {
8
11
  type: 'string',
9
- } }),
12
+ },
13
+ },
10
14
  };
11
15
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["components/YandexForm/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,0CAAuC;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,IAAI,CAAC;IAChB,UAAU,kCACH,SAAS,KACZ,EAAE,EAAE;YACA,IAAI,EAAE,QAAQ;SACjB,EACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;SACjB,GACJ;CACJ,CAAC","sourcesContent":["import {BaseProps} from '../../schema/validators/common';\n\nexport const YandexFormProps = {\n type: 'object',\n required: ['id'],\n properties: {\n ...BaseProps,\n id: {\n type: 'string',\n },\n containerId: {\n type: 'string',\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["components/YandexForm/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,0CAAuC;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,IAAI,CAAC;IAChB,UAAU,EAAE;QACR,GAAG,SAAS;QACZ,EAAE,EAAE;YACA,IAAI,EAAE,QAAQ;SACjB;QACD,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC","sourcesContent":["import {BaseProps} from '../../schema/validators/common';\n\nexport const YandexFormProps = {\n type: 'object',\n required: ['id'],\n properties: {\n ...BaseProps,\n id: {\n type: 'string',\n },\n containerId: {\n type: 'string',\n },\n },\n};\n"]}
@@ -22,7 +22,7 @@ const Loadable = (props) => {
22
22
  setDataState({ loading: true, error: false });
23
23
  let data, error;
24
24
  try {
25
- data = await fetch(Object.assign({ blockKey, serviceId }, (params !== null && params !== void 0 ? params : {})));
25
+ data = await fetch({ blockKey, serviceId, ...(params ?? {}) });
26
26
  error = false;
27
27
  setDataState({ data, loading: false, error });
28
28
  }
@@ -37,8 +37,8 @@ const Loadable = (props) => {
37
37
  if (loading) {
38
38
  return (_jsx("div", { className: b('loader'), children: _jsx(Spin, { size: "xl" }) }));
39
39
  }
40
- return (_jsx(ErrorWrapper, { isError: error, text: i18n('loadable-load-error'), buttonText: i18n('loadable-try-again'), handler: onTryAgain, children: _jsx(Component, Object.assign({}, block, { children: data &&
41
- (Array.isArray(data) ? (data.map((componentData, index) => (_jsx(ChildComponent, Object.assign({}, componentData), componentData.id || index)))) : (_jsx(ChildComponent, Object.assign({}, data)))) })) }));
40
+ return (_jsx(ErrorWrapper, { isError: error, text: i18n('loadable-load-error'), buttonText: i18n('loadable-try-again'), handler: onTryAgain, children: _jsx(Component, { ...block, children: data &&
41
+ (Array.isArray(data) ? (data.map((componentData, index) => (_jsx(ChildComponent, { ...componentData }, componentData.id || index)))) : (_jsx(ChildComponent, { ...data }))) }) }));
42
42
  };
43
43
  export default Loadable;
44
44
  //# sourceMappingURL=Loadable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Loadable.js","sourceRoot":"../../../../src","sources":["containers/Loadable/Loadable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Spin} from '@gravity-ui/uikit';\n\nimport ErrorWrapper from '../../components/ErrorWrapper/ErrorWrapper';\nimport {\n ConstructorBlock,\n CustomItem,\n FetchLoadableData,\n LoadableData,\n LoadableProps,\n} from '../../models';\nimport {block as blockCn} from '../../utils/cn';\n\nimport {i18n} from './i18n';\n\nimport './Loadable.scss';\n\nconst b = blockCn('loadable-block');\n\nexport interface LoadableState {\n loading: boolean;\n error: boolean;\n data?: LoadableData;\n}\n\nexport interface LoadableComponentsProps\n extends Omit<React.PropsWithChildren<LoadableProps>, 'source'> {\n Component: CustomItem;\n ChildComponent: CustomItem;\n block: ConstructorBlock;\n blockKey: string;\n fetch: FetchLoadableData;\n}\n\nconst initData = {\n loading: false,\n error: false,\n};\n\nconst Loadable = (props: LoadableComponentsProps) => {\n const {Component, ChildComponent, fetch, block, blockKey, serviceId, params} = props;\n const [dataState, setDataState] = React.useState<LoadableState>(initData);\n const [refetchIndex, setRefetchIndex] = React.useState<number>(0);\n const onTryAgain = React.useCallback(() => {\n setRefetchIndex(refetchIndex + 1);\n }, [refetchIndex]);\n\n React.useEffect(() => {\n async function processData() {\n setDataState({loading: true, error: false});\n\n let data, error;\n\n try {\n data = await fetch({blockKey, serviceId, ...(params ?? {})});\n error = false;\n\n setDataState({data, loading: false, error});\n } catch (ex) {\n error = true;\n setDataState({loading: false, error});\n }\n }\n\n processData();\n }, [refetchIndex, fetch, blockKey, serviceId, params]);\n\n const {error, loading, data} = dataState;\n\n if (loading) {\n return (\n <div className={b('loader')}>\n <Spin size=\"xl\" />\n </div>\n );\n }\n\n return (\n <ErrorWrapper\n isError={error}\n text={i18n('loadable-load-error')}\n buttonText={i18n('loadable-try-again')}\n handler={onTryAgain}\n >\n <Component {...block}>\n {data &&\n (Array.isArray(data) ? (\n data.map((componentData: LoadableData, index: number) => (\n <ChildComponent key={componentData.id || index} {...componentData} />\n ))\n ) : (\n <ChildComponent {...data} />\n ))}\n </Component>\n </ErrorWrapper>\n );\n};\n\nexport default Loadable;\n"]}
1
+ {"version":3,"file":"Loadable.js","sourceRoot":"../../../../src","sources":["containers/Loadable/Loadable.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Spin} from '@gravity-ui/uikit';\n\nimport ErrorWrapper from '../../components/ErrorWrapper/ErrorWrapper';\nimport {\n ConstructorBlock,\n CustomItem,\n FetchLoadableData,\n LoadableData,\n LoadableProps,\n} from '../../models';\nimport {block as blockCn} from '../../utils/cn';\n\nimport {i18n} from './i18n';\n\nimport './Loadable.scss';\n\nconst b = blockCn('loadable-block');\n\nexport interface LoadableState {\n loading: boolean;\n error: boolean;\n data?: LoadableData;\n}\n\nexport interface LoadableComponentsProps\n extends Omit<React.PropsWithChildren<LoadableProps>, 'source'> {\n Component: CustomItem;\n ChildComponent: CustomItem;\n block: ConstructorBlock;\n blockKey: string;\n fetch: FetchLoadableData;\n}\n\nconst initData = {\n loading: false,\n error: false,\n};\n\nconst Loadable = (props: LoadableComponentsProps) => {\n const {Component, ChildComponent, fetch, block, blockKey, serviceId, params} = props;\n const [dataState, setDataState] = React.useState<LoadableState>(initData);\n const [refetchIndex, setRefetchIndex] = React.useState<number>(0);\n const onTryAgain = React.useCallback(() => {\n setRefetchIndex(refetchIndex + 1);\n }, [refetchIndex]);\n\n React.useEffect(() => {\n async function processData() {\n setDataState({loading: true, error: false});\n\n let data, error;\n\n try {\n data = await fetch({blockKey, serviceId, ...(params ?? {})});\n error = false;\n\n setDataState({data, loading: false, error});\n } catch (ex) {\n error = true;\n setDataState({loading: false, error});\n }\n }\n\n processData();\n }, [refetchIndex, fetch, blockKey, serviceId, params]);\n\n const {error, loading, data} = dataState;\n\n if (loading) {\n return (\n <div className={b('loader')}>\n <Spin size=\"xl\" />\n </div>\n );\n }\n\n return (\n <ErrorWrapper\n isError={error}\n text={i18n('loadable-load-error')}\n buttonText={i18n('loadable-try-again')}\n handler={onTryAgain}\n >\n <Component {...block}>\n {data &&\n (Array.isArray(data) ? (\n data.map((componentData: LoadableData, index: number) => (\n <ChildComponent key={componentData.id || index} {...componentData} />\n ))\n ) : (\n <ChildComponent {...data} />\n ))}\n </Component>\n </ErrorWrapper>\n );\n};\n\nexport default Loadable;\n"]}
@@ -1,4 +1,5 @@
1
1
  @charset "UTF-8";
2
+ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@500&display=swap");
2
3
  @import '~@diplodoc/transform/dist/css/yfm.css';
3
4
  /* use this for style redefinitions to awoid problems with
4
5
  unpredictable css rules order in build */
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import '@diplodoc/transform/dist/js/yfm';
2
+ import '@diplodoc/transform/dist/js/yfm.js';
3
3
  import { blockMap, navItemMap, subBlockMap } from "../../constructor-items.js";
4
4
  import { CustomConfig, CustomItems, NavigationData, PageContent, ShouldRenderBlock } from "../../models/index.js";
5
5
  import './PageConstructor.css';
@@ -1,7 +1,6 @@
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
- import '@diplodoc/transform/dist/js/yfm';
3
+ import '@diplodoc/transform/dist/js/yfm.js';
5
4
  import BackgroundMedia from "../../components/BackgroundMedia/BackgroundMedia.js";
6
5
  import BrandFooter from "../../components/BrandFooter/BrandFooter.js";
7
6
  import RootCn from "../../components/RootCn/index.js";
@@ -30,12 +29,19 @@ export const Constructor = (props) => {
30
29
  ...NavigationItemTypes,
31
30
  ...getCustomTypes(['navigation'], custom),
32
31
  ],
33
- itemMap: Object.assign(Object.assign(Object.assign({}, blockMap), subBlockMap), getCustomItems(['blocks', 'headers', 'subBlocks'], custom)),
34
- navItemMap: Object.assign(Object.assign({}, navItemMap), getCustomItems(['navigation'], custom)),
35
- loadables: custom === null || custom === void 0 ? void 0 : custom.loadable,
32
+ itemMap: {
33
+ ...blockMap,
34
+ ...subBlockMap,
35
+ ...getCustomItems(['blocks', 'headers', 'subBlocks'], custom),
36
+ },
37
+ navItemMap: {
38
+ ...navItemMap,
39
+ ...getCustomItems(['navigation'], custom),
40
+ },
41
+ loadables: custom?.loadable,
36
42
  shouldRenderBlock,
37
43
  customization: {
38
- decorators: custom === null || custom === void 0 ? void 0 : custom.decorators,
44
+ decorators: custom?.decorators,
39
45
  },
40
46
  microdata,
41
47
  },
@@ -44,11 +50,11 @@ export const Constructor = (props) => {
44
50
  const header = getHeaderBlock(blocks, context.headerBlockTypes);
45
51
  const restBlocks = getOrderedBlocks(blocks, context.headerBlockTypes);
46
52
  const themedBackground = getThemedValue(background, theme);
47
- return (_jsx(InnerContext.Provider, { value: context, children: _jsx(RootCn, { className: b(), children: _jsxs("div", { className: b('wrapper'), children: [themedBackground && (_jsx(BackgroundMedia, Object.assign({}, themedBackground, { className: b('background') }))), _jsxs(Layout, { navigation: navigation, children: [renderMenu && renderMenu(), header && (_jsx(ConstructorHeader, { data: header, blockKey: BlockType.HeaderBlock })), _jsx(Grid, { children: restBlocks && (_jsx(ConstructorRow, { children: _jsx(ConstructorBlocks, { items: restBlocks }) })) })] }), isBranded && _jsx(BrandFooter, {})] }) }) }));
53
+ return (_jsx(InnerContext.Provider, { value: context, children: _jsx(RootCn, { className: b(), children: _jsxs("div", { className: b('wrapper'), children: [themedBackground && (_jsx(BackgroundMedia, { ...themedBackground, className: b('background') })), _jsxs(Layout, { navigation: navigation, children: [renderMenu && renderMenu(), header && (_jsx(ConstructorHeader, { data: header, blockKey: BlockType.HeaderBlock })), _jsx(Grid, { children: restBlocks && (_jsx(ConstructorRow, { children: _jsx(ConstructorBlocks, { items: restBlocks }) })) })] }), isBranded && _jsx(BrandFooter, {})] }) }) }));
48
54
  };
49
55
  export const PageConstructor = (props) => {
50
56
  const { isAnimationEnabled = true } = React.useContext(ProjectSettingsContext);
51
- const { content: { animated = isAnimationEnabled } = {} } = props, rest = __rest(props, ["content"]);
52
- return (_jsx(AnimateContext.Provider, { value: { animated }, children: _jsx(Constructor, Object.assign({ content: props.content }, rest)) }));
57
+ const { content: { animated = isAnimationEnabled } = {}, ...rest } = props;
58
+ return (_jsx(AnimateContext.Provider, { value: { animated }, children: _jsx(Constructor, { content: props.content, ...rest }) }));
53
59
  };
54
60
  //# sourceMappingURL=PageConstructor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageConstructor.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/PageConstructor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport '@diplodoc/transform/dist/js/yfm';\n\nimport BackgroundMedia from '../../components/BackgroundMedia/BackgroundMedia';\nimport BrandFooter from '../../components/BrandFooter/BrandFooter';\nimport RootCn from '../../components/RootCn';\nimport {blockMap, navItemMap, subBlockMap} from '../../constructor-items';\nimport {AnimateContext} from '../../context/animateContext';\nimport {InnerContext} from '../../context/innerContext';\nimport {ProjectSettingsContext} from '../../context/projectSettingsContext';\nimport {useTheme} from '../../context/theme';\nimport {Grid} from '../../grid';\nimport {\n BlockType,\n BlockTypes,\n CustomConfig,\n CustomItems,\n HeaderBlockTypes,\n NavigationData,\n NavigationItemTypes,\n PageContent,\n ShouldRenderBlock,\n SubBlockTypes,\n} from '../../models';\nimport Layout from '../../navigation/containers/Layout/Layout';\nimport {\n block as cnBlock,\n getCustomItems,\n getCustomTypes,\n getHeaderBlock,\n getOrderedBlocks,\n getThemedValue,\n} from '../../utils';\n\nimport {ConstructorBlocks} from './components/ConstructorBlocks';\nimport {ConstructorHeader} from './components/ConstructorItem';\nimport {ConstructorRow} from './components/ConstructorRow';\n\nimport './PageConstructor.scss';\n\nconst b = cnBlock('page-constructor');\n\nexport type ItemMap = typeof blockMap & typeof subBlockMap & CustomItems;\n\nexport type NavItemMap = typeof navItemMap & CustomItems;\n\nexport interface PageConstructorProps {\n content?: PageContent;\n shouldRenderBlock?: ShouldRenderBlock;\n custom?: CustomConfig;\n renderMenu?: () => React.ReactNode;\n navigation?: NavigationData;\n isBranded?: boolean;\n microdata?: {\n contentUpdatedDate?: string;\n };\n}\n\nexport const Constructor = (props: PageConstructorProps) => {\n const {\n content: {blocks = [], background} = {},\n renderMenu,\n shouldRenderBlock,\n navigation,\n custom,\n isBranded,\n microdata,\n } = props;\n\n const {context} = React.useMemo(\n () => ({\n context: {\n blockTypes: [...BlockTypes, ...getCustomTypes(['blocks', 'headers'], custom)],\n subBlockTypes: [...SubBlockTypes, ...getCustomTypes(['subBlocks'], custom)],\n headerBlockTypes: [...HeaderBlockTypes, ...getCustomTypes(['headers'], custom)],\n navigationBlockTypes: [\n ...NavigationItemTypes,\n ...getCustomTypes(['navigation'], custom),\n ],\n itemMap: {\n ...blockMap,\n ...subBlockMap,\n ...getCustomItems(['blocks', 'headers', 'subBlocks'], custom),\n },\n navItemMap: {\n ...navItemMap,\n ...getCustomItems(['navigation'], custom),\n },\n loadables: custom?.loadable,\n shouldRenderBlock,\n customization: {\n decorators: custom?.decorators,\n },\n microdata,\n },\n }),\n [custom, shouldRenderBlock, microdata],\n );\n\n const theme = useTheme();\n\n const header = getHeaderBlock(blocks, context.headerBlockTypes);\n const restBlocks = getOrderedBlocks(blocks, context.headerBlockTypes);\n const themedBackground = getThemedValue(background, theme);\n\n return (\n <InnerContext.Provider value={context}>\n <RootCn className={b()}>\n <div className={b('wrapper')}>\n {themedBackground && (\n <BackgroundMedia {...themedBackground} className={b('background')} />\n )}\n <Layout navigation={navigation}>\n {renderMenu && renderMenu()}\n {header && (\n <ConstructorHeader data={header} blockKey={BlockType.HeaderBlock} />\n )}\n <Grid>\n {restBlocks && (\n <ConstructorRow>\n <ConstructorBlocks items={restBlocks} />\n </ConstructorRow>\n )}\n </Grid>\n </Layout>\n {isBranded && <BrandFooter />}\n </div>\n </RootCn>\n </InnerContext.Provider>\n );\n};\n\nexport const PageConstructor = (props: PageConstructorProps) => {\n const {isAnimationEnabled = true} = React.useContext(ProjectSettingsContext);\n const {content: {animated = isAnimationEnabled} = {}, ...rest} = props;\n\n return (\n <AnimateContext.Provider value={{animated}}>\n <Constructor content={props.content} {...rest} />\n </AnimateContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"PageConstructor.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/PageConstructor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport '@diplodoc/transform/dist/js/yfm.js';\n\nimport BackgroundMedia from '../../components/BackgroundMedia/BackgroundMedia';\nimport BrandFooter from '../../components/BrandFooter/BrandFooter';\nimport RootCn from '../../components/RootCn';\nimport {blockMap, navItemMap, subBlockMap} from '../../constructor-items';\nimport {AnimateContext} from '../../context/animateContext';\nimport {InnerContext} from '../../context/innerContext';\nimport {ProjectSettingsContext} from '../../context/projectSettingsContext';\nimport {useTheme} from '../../context/theme';\nimport {Grid} from '../../grid';\nimport {\n BlockType,\n BlockTypes,\n CustomConfig,\n CustomItems,\n HeaderBlockTypes,\n NavigationData,\n NavigationItemTypes,\n PageContent,\n ShouldRenderBlock,\n SubBlockTypes,\n} from '../../models';\nimport Layout from '../../navigation/containers/Layout/Layout';\nimport {\n block as cnBlock,\n getCustomItems,\n getCustomTypes,\n getHeaderBlock,\n getOrderedBlocks,\n getThemedValue,\n} from '../../utils';\n\nimport {ConstructorBlocks} from './components/ConstructorBlocks';\nimport {ConstructorHeader} from './components/ConstructorItem';\nimport {ConstructorRow} from './components/ConstructorRow';\n\nimport './PageConstructor.scss';\n\nconst b = cnBlock('page-constructor');\n\nexport type ItemMap = typeof blockMap & typeof subBlockMap & CustomItems;\n\nexport type NavItemMap = typeof navItemMap & CustomItems;\n\nexport interface PageConstructorProps {\n content?: PageContent;\n shouldRenderBlock?: ShouldRenderBlock;\n custom?: CustomConfig;\n renderMenu?: () => React.ReactNode;\n navigation?: NavigationData;\n isBranded?: boolean;\n microdata?: {\n contentUpdatedDate?: string;\n };\n}\n\nexport const Constructor = (props: PageConstructorProps) => {\n const {\n content: {blocks = [], background} = {},\n renderMenu,\n shouldRenderBlock,\n navigation,\n custom,\n isBranded,\n microdata,\n } = props;\n\n const {context} = React.useMemo(\n () => ({\n context: {\n blockTypes: [...BlockTypes, ...getCustomTypes(['blocks', 'headers'], custom)],\n subBlockTypes: [...SubBlockTypes, ...getCustomTypes(['subBlocks'], custom)],\n headerBlockTypes: [...HeaderBlockTypes, ...getCustomTypes(['headers'], custom)],\n navigationBlockTypes: [\n ...NavigationItemTypes,\n ...getCustomTypes(['navigation'], custom),\n ],\n itemMap: {\n ...blockMap,\n ...subBlockMap,\n ...getCustomItems(['blocks', 'headers', 'subBlocks'], custom),\n },\n navItemMap: {\n ...navItemMap,\n ...getCustomItems(['navigation'], custom),\n },\n loadables: custom?.loadable,\n shouldRenderBlock,\n customization: {\n decorators: custom?.decorators,\n },\n microdata,\n },\n }),\n [custom, shouldRenderBlock, microdata],\n );\n\n const theme = useTheme();\n\n const header = getHeaderBlock(blocks, context.headerBlockTypes);\n const restBlocks = getOrderedBlocks(blocks, context.headerBlockTypes);\n const themedBackground = getThemedValue(background, theme);\n\n return (\n <InnerContext.Provider value={context}>\n <RootCn className={b()}>\n <div className={b('wrapper')}>\n {themedBackground && (\n <BackgroundMedia {...themedBackground} className={b('background')} />\n )}\n <Layout navigation={navigation}>\n {renderMenu && renderMenu()}\n {header && (\n <ConstructorHeader data={header} blockKey={BlockType.HeaderBlock} />\n )}\n <Grid>\n {restBlocks && (\n <ConstructorRow>\n <ConstructorBlocks items={restBlocks} />\n </ConstructorRow>\n )}\n </Grid>\n </Layout>\n {isBranded && <BrandFooter />}\n </div>\n </RootCn>\n </InnerContext.Provider>\n );\n};\n\nexport const PageConstructor = (props: PageConstructorProps) => {\n const {isAnimationEnabled = true} = React.useContext(ProjectSettingsContext);\n const {content: {animated = isAnimationEnabled} = {}, ...rest} = props;\n\n return (\n <AnimateContext.Provider value={{animated}}>\n <Constructor content={props.content} {...rest} />\n </AnimateContext.Provider>\n );\n};\n"]}
@@ -24,7 +24,7 @@ export const PageConstructorProvider = (props) => {
24
24
  _jsx(MapsContext.Provider, { value: mapsContext }),
25
25
  _jsx(AnalyticsContext.Provider, { value: analytics }),
26
26
  _jsx(FormsContext.Provider, { value: forms }),
27
- _jsx(SSRContext.Provider, { value: { isServer: ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.isServer } }),
27
+ _jsx(SSRContext.Provider, { value: { isServer: ssrConfig?.isServer } }),
28
28
  ].reduceRight((prev, provider) => React.cloneElement(provider, {}, prev), children);
29
29
  /* eslint-enable react/jsx-key */
30
30
  return _jsx(React.Fragment, { children: context });
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,aAAa,EAAC,sCAAmC;AACzD,OAAO,EAAC,gBAAgB,EAAwB,gDAAuC;AACvF,OAAO,EACH,2BAA2B,EAC3B,YAAY,GAEf,mDAAgD;AACjD,OAAO,EAAC,YAAY,EAAoB,4CAAmC;AAC3E,OAAO,EAAC,aAAa,EAAqB,6CAAoC;AAC9E,OAAO,EAAC,eAAe,EAAuB,+CAAsC;AACpF,OAAO,EAAC,WAAW,EAAmB,eAAe,EAAC,iDAA8C;AACpG,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAC1D,OAAO,EACH,sBAAsB,GAEzB,sDAA6C;AAC9C,OAAO,EAAC,UAAU,EAAkB,0CAAiC;AACrE,OAAO,EAAC,YAAY,EAAC,qCAA4B;AAgBjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,KAA4D,EAC9D,EAAE;IACA,MAAM,EACF,QAAQ,EACR,WAAW,GAAG,eAAe,EAC7B,MAAM,GAAG,EAAE,EACX,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,EAAE,EACd,eAAe,GAAG,EAAE,EACpB,KAAK,GAAG,aAAa,EACrB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,2BAA2B,GACtC,GAAG,KAAK,CAAC;IAEV,kCAAkC;IAClC,MAAM,OAAO,GAAG;QACZ,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,KAAK,EAAC,GAAI;QACzC,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,GAAI;QAC3D,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,GAAI;QACzC,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI;QACvC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,GAAI;QAC7C,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAI;QACpD,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,WAAW,GAAI;QAC5C,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,GAAI;QAC/C,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI;QACvC,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,GAAI;KAClE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpF,iCAAiC;IAEjC,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,OAAO,GAAkB,CAAC;AACtD,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {DEFAULT_THEME} from '../../components/constants';\nimport {AnalyticsContext, AnalyticsContextProps} from '../../context/analyticsContext';\nimport {\n DEFAULT_FORMS_CONTEXT_VALUE,\n FormsContext,\n FormsContextProps,\n} from '../../context/formsContext/FormsContext';\nimport {ImageContext, ImageContextProps} from '../../context/imageContext';\nimport {LocaleContext, LocaleContextProps} from '../../context/localeContext';\nimport {LocationContext, LocationContextProps} from '../../context/locationContext';\nimport {MapsContext, MapsContextType, initialMapValue} from '../../context/mapsContext/mapsContext';\nimport {MobileContext} from '../../context/mobileContext';\nimport {\n ProjectSettingsContext,\n ProjectSettingsContextProps,\n} from '../../context/projectSettingsContext';\nimport {SSRContext, SSRContextProps} from '../../context/ssrContext';\nimport {ThemeContext} from '../../context/theme';\nimport {Theme} from '../../models';\n\nexport interface PageConstructorProviderProps {\n isMobile?: boolean;\n locale?: LocaleContextProps;\n location?: LocationContextProps;\n ssrConfig?: SSRContextProps;\n theme?: Theme;\n mapsContext?: MapsContextType;\n projectSettings?: ProjectSettingsContextProps;\n analytics?: AnalyticsContextProps;\n forms?: FormsContextProps;\n image?: ImageContextProps;\n}\n\nexport const PageConstructorProvider = (\n props: React.PropsWithChildren<PageConstructorProviderProps>,\n) => {\n const {\n isMobile,\n mapsContext = initialMapValue,\n locale = {},\n location = {},\n analytics = {},\n ssrConfig = {},\n projectSettings = {},\n theme = DEFAULT_THEME,\n children,\n image = {},\n forms = DEFAULT_FORMS_CONTEXT_VALUE,\n } = props;\n\n /* eslint-disable react/jsx-key */\n const context = [\n <ThemeContext.Provider value={{theme}} />,\n <ProjectSettingsContext.Provider value={projectSettings} />,\n <LocaleContext.Provider value={locale} />,\n <ImageContext.Provider value={image} />,\n <LocationContext.Provider value={location} />,\n <MobileContext.Provider value={Boolean(isMobile)} />,\n <MapsContext.Provider value={mapsContext} />,\n <AnalyticsContext.Provider value={analytics} />,\n <FormsContext.Provider value={forms} />,\n <SSRContext.Provider value={{isServer: ssrConfig?.isServer}} />,\n ].reduceRight((prev, provider) => React.cloneElement(provider, {}, prev), children);\n /* eslint-enable react/jsx-key */\n\n return <React.Fragment>{context}</React.Fragment>;\n};\n"]}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,aAAa,EAAC,sCAAmC;AACzD,OAAO,EAAC,gBAAgB,EAAwB,gDAAuC;AACvF,OAAO,EACH,2BAA2B,EAC3B,YAAY,GAEf,mDAAgD;AACjD,OAAO,EAAC,YAAY,EAAoB,4CAAmC;AAC3E,OAAO,EAAC,aAAa,EAAqB,6CAAoC;AAC9E,OAAO,EAAC,eAAe,EAAuB,+CAAsC;AACpF,OAAO,EAAC,WAAW,EAAmB,eAAe,EAAC,iDAA8C;AACpG,OAAO,EAAC,aAAa,EAAC,6CAAoC;AAC1D,OAAO,EACH,sBAAsB,GAEzB,sDAA6C;AAC9C,OAAO,EAAC,UAAU,EAAkB,0CAAiC;AACrE,OAAO,EAAC,YAAY,EAAC,qCAA4B;AAgBjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,KAA4D,EAC9D,EAAE;IACA,MAAM,EACF,QAAQ,EACR,WAAW,GAAG,eAAe,EAC7B,MAAM,GAAG,EAAE,EACX,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,EAAE,EACd,eAAe,GAAG,EAAE,EACpB,KAAK,GAAG,aAAa,EACrB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,2BAA2B,GACtC,GAAG,KAAK,CAAC;IAEV,kCAAkC;IAClC,MAAM,OAAO,GAAG;QACZ,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,KAAK,EAAC,GAAI;QACzC,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,GAAI;QAC3D,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,GAAI;QACzC,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI;QACvC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,GAAI;QAC7C,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAI;QACpD,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,WAAW,GAAI;QAC5C,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,GAAI;QAC/C,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI;QACvC,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,GAAI;KAClE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpF,iCAAiC;IAEjC,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,OAAO,GAAkB,CAAC;AACtD,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {DEFAULT_THEME} from '../../components/constants';\nimport {AnalyticsContext, AnalyticsContextProps} from '../../context/analyticsContext';\nimport {\n DEFAULT_FORMS_CONTEXT_VALUE,\n FormsContext,\n FormsContextProps,\n} from '../../context/formsContext/FormsContext';\nimport {ImageContext, ImageContextProps} from '../../context/imageContext';\nimport {LocaleContext, LocaleContextProps} from '../../context/localeContext';\nimport {LocationContext, LocationContextProps} from '../../context/locationContext';\nimport {MapsContext, MapsContextType, initialMapValue} from '../../context/mapsContext/mapsContext';\nimport {MobileContext} from '../../context/mobileContext';\nimport {\n ProjectSettingsContext,\n ProjectSettingsContextProps,\n} from '../../context/projectSettingsContext';\nimport {SSRContext, SSRContextProps} from '../../context/ssrContext';\nimport {ThemeContext} from '../../context/theme';\nimport {Theme} from '../../models';\n\nexport interface PageConstructorProviderProps {\n isMobile?: boolean;\n locale?: LocaleContextProps;\n location?: LocationContextProps;\n ssrConfig?: SSRContextProps;\n theme?: Theme;\n mapsContext?: MapsContextType;\n projectSettings?: ProjectSettingsContextProps;\n analytics?: AnalyticsContextProps;\n forms?: FormsContextProps;\n image?: ImageContextProps;\n}\n\nexport const PageConstructorProvider = (\n props: React.PropsWithChildren<PageConstructorProviderProps>,\n) => {\n const {\n isMobile,\n mapsContext = initialMapValue,\n locale = {},\n location = {},\n analytics = {},\n ssrConfig = {},\n projectSettings = {},\n theme = DEFAULT_THEME,\n children,\n image = {},\n forms = DEFAULT_FORMS_CONTEXT_VALUE,\n } = props;\n\n /* eslint-disable react/jsx-key */\n const context = [\n <ThemeContext.Provider value={{theme}} />,\n <ProjectSettingsContext.Provider value={projectSettings} />,\n <LocaleContext.Provider value={locale} />,\n <ImageContext.Provider value={image} />,\n <LocationContext.Provider value={location} />,\n <MobileContext.Provider value={Boolean(isMobile)} />,\n <MapsContext.Provider value={mapsContext} />,\n <AnalyticsContext.Provider value={analytics} />,\n <FormsContext.Provider value={forms} />,\n <SSRContext.Provider value={{isServer: ssrConfig?.isServer}} />,\n ].reduceRight((prev, provider) => React.cloneElement(provider, {}, prev), children);\n /* eslint-enable react/jsx-key */\n\n return <React.Fragment>{context}</React.Fragment>;\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import pick from 'lodash/pick';
3
+ import pick from "lodash/pick.js";
4
4
  import BlockBase from "../../../../components/BlockBase/BlockBase.js";
5
5
  import { BlockDecoration } from "../../../../customization/BlockDecoration.js";
6
6
  import { block } from "../../../../utils/index.js";
@@ -9,6 +9,6 @@ const b = block('constructor-block');
9
9
  export const ConstructorBlock = ({ index = 0, data, children, }) => {
10
10
  const { type } = data;
11
11
  const blockBaseProps = React.useMemo(() => pick(data, ['anchor', 'visible', 'resetPaddings', 'indent']), [data]);
12
- return (_jsx(BlockDecoration, Object.assign({ type: type, index: index }, blockBaseProps, { children: _jsx(BlockBase, Object.assign({ className: b({ type }) }, blockBaseProps, { children: children })) })));
12
+ return (_jsx(BlockDecoration, { type: type, index: index, ...blockBaseProps, children: _jsx(BlockBase, { className: b({ type }), ...blockBaseProps, children: children }) }));
13
13
  };
14
14
  //# sourceMappingURL=ConstructorBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructorBlock.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,SAAS,sDAAmD;AACnE,OAAO,EAAC,eAAe,EAAC,qDAAkD;AAE1E,OAAO,EAAC,KAAK,EAAC,mCAA0B;AAExC,OAAO,wBAAwB,CAAC;AAMhC,MAAM,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,KAAK,GAAG,CAAC,EACT,IAAI,EACJ,QAAQ,GACqC,EAAE,EAAE;IACjD,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IACpB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,EAClE,CAAC,IAAI,CAAC,CACT,CAAC;IAEF,OAAO,CACH,KAAC,eAAe,kBAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAM,cAAc,cACzD,KAAC,SAAS,kBAAC,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,IAAM,cAAc,cAC9C,QAAQ,IACD,IACE,CACrB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport pick from 'lodash/pick';\n\nimport BlockBase from '../../../../components/BlockBase/BlockBase';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {BlockDecorationProps, ConstructorBlock as ConstructorBlockType} from '../../../../models';\nimport {block} from '../../../../utils';\n\nimport './ConstructorBlock.scss';\n\ninterface ConstructorBlockProps extends Pick<BlockDecorationProps, 'index'> {\n data: ConstructorBlockType;\n}\n\nconst b = block('constructor-block');\n\nexport const ConstructorBlock = ({\n index = 0,\n data,\n children,\n}: React.PropsWithChildren<ConstructorBlockProps>) => {\n const {type} = data;\n const blockBaseProps = React.useMemo(\n () => pick(data, ['anchor', 'visible', 'resetPaddings', 'indent']),\n [data],\n );\n\n return (\n <BlockDecoration type={type} index={index} {...blockBaseProps}>\n <BlockBase className={b({type})} {...blockBaseProps}>\n {children}\n </BlockBase>\n </BlockDecoration>\n );\n};\n"]}
1
+ {"version":3,"file":"ConstructorBlock.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,uBAAoB;AAE/B,OAAO,SAAS,sDAAmD;AACnE,OAAO,EAAC,eAAe,EAAC,qDAAkD;AAE1E,OAAO,EAAC,KAAK,EAAC,mCAA0B;AAExC,OAAO,wBAAwB,CAAC;AAMhC,MAAM,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,KAAK,GAAG,CAAC,EACT,IAAI,EACJ,QAAQ,GACqC,EAAE,EAAE;IACjD,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IACpB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,EAClE,CAAC,IAAI,CAAC,CACT,CAAC;IAEF,OAAO,CACH,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAM,cAAc,YACzD,KAAC,SAAS,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,KAAM,cAAc,YAC9C,QAAQ,GACD,GACE,CACrB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport pick from 'lodash/pick';\n\nimport BlockBase from '../../../../components/BlockBase/BlockBase';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {BlockDecorationProps, ConstructorBlock as ConstructorBlockType} from '../../../../models';\nimport {block} from '../../../../utils';\n\nimport './ConstructorBlock.scss';\n\ninterface ConstructorBlockProps extends Pick<BlockDecorationProps, 'index'> {\n data: ConstructorBlockType;\n}\n\nconst b = block('constructor-block');\n\nexport const ConstructorBlock = ({\n index = 0,\n data,\n children,\n}: React.PropsWithChildren<ConstructorBlockProps>) => {\n const {type} = data;\n const blockBaseProps = React.useMemo(\n () => pick(data, ['anchor', 'visible', 'resetPaddings', 'indent']),\n [data],\n );\n\n return (\n <BlockDecoration type={type} index={index} {...blockBaseProps}>\n <BlockBase className={b({type})} {...blockBaseProps}>\n {children}\n </BlockBase>\n </BlockDecoration>\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import get from 'lodash/get';
3
+ import get from "lodash/get.js";
4
4
  import { InnerContext } from "../../../../context/innerContext/index.js";
5
5
  import { BlockDecoration } from "../../../../customization/BlockDecoration.js";
6
6
  import { getBlockKey } from "../../../../utils/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructorBlocks.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport get from 'lodash/get';\n\nimport {InnerContext} from '../../../../context/innerContext';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {\n BlockType,\n ConstructorBlock as ConstructorBlockType,\n LoadableProps,\n SubBlock,\n} from '../../../../models';\nimport {getBlockKey} from '../../../../utils';\nimport {ConstructorBlock} from '../ConstructorBlock/ConstructorBlock';\nimport {ConstructorItem} from '../ConstructorItem';\nimport {ConstructorLoadable} from '../ConstructorLoadable';\n\nexport interface ConstructorBlocksProps {\n items: ConstructorBlockType[];\n}\n\nexport const ConstructorBlocks: React.FC<ConstructorBlocksProps> = ({items}) => {\n const {blockTypes, loadables, itemMap, shouldRenderBlock} = React.useContext(InnerContext);\n\n const renderer = (\n parentId = '',\n item: ConstructorBlockType,\n index: number,\n ): React.ReactElement | null => {\n if (!itemMap[item.type]) {\n return parentId ? null : (\n <BlockDecoration type={item.type as BlockType} index={index}>\n {null}\n </BlockDecoration>\n );\n }\n\n let itemElement;\n const key = getBlockKey(item, index);\n const blockId = parentId ? `${parentId}_${key}` : key;\n if (shouldRenderBlock && !shouldRenderBlock(item, blockId)) {\n return null;\n }\n\n if ('loadable' in item && item.loadable) {\n const {source, serviceId, params} = item.loadable as LoadableProps;\n const config = get(loadables, source);\n\n if (!config) {\n return null;\n }\n\n itemElement = (\n <ConstructorLoadable\n block={item}\n key={blockId}\n blockKey={blockId}\n config={config}\n serviceId={serviceId}\n params={params}\n />\n );\n } else {\n let children;\n if ('children' in item && item.children) {\n children = (item.children as SubBlock[]).map(renderer.bind(null, blockId));\n }\n\n itemElement = (\n <ConstructorItem data={item} key={blockId} blockKey={blockId}>\n {children}\n </ConstructorItem>\n );\n }\n\n return blockTypes.includes(item.type) ? (\n //TODO: replace ConstructorBlock (and delete it) with BlockBase when all\n // components relying on constructor inner structure like Slider or blog-constructor will be refactored\n <ConstructorBlock data={item} key={blockId} index={index}>\n {itemElement}\n </ConstructorBlock>\n ) : (\n itemElement\n );\n };\n\n return <React.Fragment>{items.map(renderer.bind(null, ''))}</React.Fragment>;\n};\n"]}
1
+ {"version":3,"file":"ConstructorBlocks.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,GAAG,sBAAmB;AAE7B,OAAO,EAAC,YAAY,EAAC,kDAAyC;AAC9D,OAAO,EAAC,eAAe,EAAC,qDAAkD;AAO1E,OAAO,EAAC,WAAW,EAAC,mCAA0B;AAC9C,OAAO,EAAC,gBAAgB,EAAC,gDAA6C;AACtE,OAAO,EAAC,eAAe,EAAC,oCAA2B;AACnD,OAAO,EAAC,mBAAmB,EAAC,wCAA+B;AAM3D,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IAC3E,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,CACb,QAAQ,GAAG,EAAE,EACb,IAA0B,EAC1B,KAAa,EACY,EAAE;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,CAAC,IAAiB,EAAE,KAAK,EAAE,KAAK,YACtD,IAAI,GACS,CACrB,CAAC;QACN,CAAC;QAED,IAAI,WAAW,CAAC;QAChB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,QAAyB,CAAC;YACnE,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,WAAW,GAAG,CACV,KAAC,mBAAmB,IAChB,KAAK,EAAE,IAAI,EAEX,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,IAJT,OAAO,CAKd,CACL,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,CAAC;YACb,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtC,QAAQ,GAAI,IAAI,CAAC,QAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,CAAC;YAED,WAAW,GAAG,CACV,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAgB,QAAQ,EAAE,OAAO,YACvD,QAAQ,IADqB,OAAO,CAEvB,CACrB,CAAC;QACN,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,wEAAwE;QACxE,uGAAuG;QACvG,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,EAAgB,KAAK,EAAE,KAAK,YACnD,WAAW,IADmB,OAAO,CAEvB,CACtB,CAAC,CAAC,CAAC,CACA,WAAW,CACd,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAkB,CAAC;AACjF,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport get from 'lodash/get';\n\nimport {InnerContext} from '../../../../context/innerContext';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {\n BlockType,\n ConstructorBlock as ConstructorBlockType,\n LoadableProps,\n SubBlock,\n} from '../../../../models';\nimport {getBlockKey} from '../../../../utils';\nimport {ConstructorBlock} from '../ConstructorBlock/ConstructorBlock';\nimport {ConstructorItem} from '../ConstructorItem';\nimport {ConstructorLoadable} from '../ConstructorLoadable';\n\nexport interface ConstructorBlocksProps {\n items: ConstructorBlockType[];\n}\n\nexport const ConstructorBlocks: React.FC<ConstructorBlocksProps> = ({items}) => {\n const {blockTypes, loadables, itemMap, shouldRenderBlock} = React.useContext(InnerContext);\n\n const renderer = (\n parentId = '',\n item: ConstructorBlockType,\n index: number,\n ): React.ReactElement | null => {\n if (!itemMap[item.type]) {\n return parentId ? null : (\n <BlockDecoration type={item.type as BlockType} index={index}>\n {null}\n </BlockDecoration>\n );\n }\n\n let itemElement;\n const key = getBlockKey(item, index);\n const blockId = parentId ? `${parentId}_${key}` : key;\n if (shouldRenderBlock && !shouldRenderBlock(item, blockId)) {\n return null;\n }\n\n if ('loadable' in item && item.loadable) {\n const {source, serviceId, params} = item.loadable as LoadableProps;\n const config = get(loadables, source);\n\n if (!config) {\n return null;\n }\n\n itemElement = (\n <ConstructorLoadable\n block={item}\n key={blockId}\n blockKey={blockId}\n config={config}\n serviceId={serviceId}\n params={params}\n />\n );\n } else {\n let children;\n if ('children' in item && item.children) {\n children = (item.children as SubBlock[]).map(renderer.bind(null, blockId));\n }\n\n itemElement = (\n <ConstructorItem data={item} key={blockId} blockKey={blockId}>\n {children}\n </ConstructorItem>\n );\n }\n\n return blockTypes.includes(item.type) ? (\n //TODO: replace ConstructorBlock (and delete it) with BlockBase when all\n // components relying on constructor inner structure like Slider or blog-constructor will be refactored\n <ConstructorBlock data={item} key={blockId} index={index}>\n {itemElement}\n </ConstructorBlock>\n ) : (\n itemElement\n );\n };\n\n return <React.Fragment>{items.map(renderer.bind(null, ''))}</React.Fragment>;\n};\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import * as React from 'react';
4
3
  import { BlockIdContext } from "../../../../context/blockIdContext/index.js";
@@ -6,9 +5,9 @@ import { InnerContext } from "../../../../context/innerContext/index.js";
6
5
  import { BlockDecoration } from "../../../../customization/BlockDecoration.js";
7
6
  export const ConstructorItem = ({ data, blockKey, children, }) => {
8
7
  const { itemMap } = React.useContext(InnerContext);
9
- const { type } = data, rest = __rest(data, ["type"]);
8
+ const { type, ...rest } = data;
10
9
  const Component = itemMap[type];
11
- return (_jsx(BlockIdContext.Provider, { value: blockKey, children: _jsx(Component, Object.assign({}, rest, { children: children })) }));
10
+ return (_jsx(BlockIdContext.Provider, { value: blockKey, children: _jsx(Component, { ...rest, children: children }) }));
12
11
  };
13
12
  export const ConstructorHeader = ({ data, blockKey, }) => (_jsx(BlockDecoration, { type: data.type, children: _jsx(ConstructorItem, { data: data, blockKey: blockKey }, data.type) }));
14
13
  //# sourceMappingURL=ConstructorItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructorItem.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorItem/ConstructorItem.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,cAAc,EAAC,oDAA2C;AAClE,OAAO,EAAC,YAAY,EAAC,kDAAyC;AAC9D,OAAO,EAAC,eAAe,EAAC,qDAAkD;AAQ1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC5B,IAAI,EACJ,QAAQ,EACR,QAAQ,GACoC,EAAE,EAAE;IAChD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,KAAa,IAAI,EAAZ,IAAI,UAAI,IAAI,EAAtB,QAAe,CAAO,CAAC;IAE7B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAE7B,CAAC;IAEF,OAAO,CACH,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACpC,KAAC,SAAS,oBAAK,IAAI,cAAG,QAAQ,IAAa,GACrB,CAC7B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,IAAI,EACJ,QAAQ,GACsC,EAAE,EAAE,CAAC,CACnD,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,CAAC,IAAiB,YACzC,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAkB,QAAQ,EAAE,QAAQ,IAA7B,IAAI,CAAC,IAAI,CAAwB,GACrD,CACrB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {BlockIdContext} from '../../../../context/blockIdContext';\nimport {InnerContext} from '../../../../context/innerContext';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {BlockType, ConstructorBlock} from '../../../../models';\n\nexport interface ConstructorItemProps {\n data: ConstructorBlock;\n blockKey: string;\n}\n\nexport const ConstructorItem = ({\n data,\n blockKey,\n children,\n}: React.PropsWithChildren<ConstructorItemProps>) => {\n const {itemMap} = React.useContext(InnerContext);\n const {type, ...rest} = data;\n\n const Component = itemMap[type] as React.ComponentType<\n React.ComponentProps<(typeof itemMap)[typeof type]>\n >;\n\n return (\n <BlockIdContext.Provider value={blockKey}>\n <Component {...rest}>{children}</Component>\n </BlockIdContext.Provider>\n );\n};\n\nexport const ConstructorHeader = ({\n data,\n blockKey,\n}: Pick<ConstructorItemProps, 'data' | 'blockKey'>) => (\n <BlockDecoration type={data.type as BlockType}>\n <ConstructorItem data={data} key={data.type} blockKey={blockKey} />\n </BlockDecoration>\n);\n"]}
1
+ {"version":3,"file":"ConstructorItem.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorItem/ConstructorItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,cAAc,EAAC,oDAA2C;AAClE,OAAO,EAAC,YAAY,EAAC,kDAAyC;AAC9D,OAAO,EAAC,eAAe,EAAC,qDAAkD;AAQ1E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC5B,IAAI,EACJ,QAAQ,EACR,QAAQ,GACoC,EAAE,EAAE;IAChD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC;IAE7B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAE7B,CAAC;IAEF,OAAO,CACH,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACpC,KAAC,SAAS,OAAK,IAAI,YAAG,QAAQ,GAAa,GACrB,CAC7B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAC9B,IAAI,EACJ,QAAQ,GACsC,EAAE,EAAE,CAAC,CACnD,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,CAAC,IAAiB,YACzC,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAkB,QAAQ,EAAE,QAAQ,IAA7B,IAAI,CAAC,IAAI,CAAwB,GACrD,CACrB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {BlockIdContext} from '../../../../context/blockIdContext';\nimport {InnerContext} from '../../../../context/innerContext';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {BlockType, ConstructorBlock} from '../../../../models';\n\nexport interface ConstructorItemProps {\n data: ConstructorBlock;\n blockKey: string;\n}\n\nexport const ConstructorItem = ({\n data,\n blockKey,\n children,\n}: React.PropsWithChildren<ConstructorItemProps>) => {\n const {itemMap} = React.useContext(InnerContext);\n const {type, ...rest} = data;\n\n const Component = itemMap[type] as React.ComponentType<\n React.ComponentProps<(typeof itemMap)[typeof type]>\n >;\n\n return (\n <BlockIdContext.Provider value={blockKey}>\n <Component {...rest}>{children}</Component>\n </BlockIdContext.Provider>\n );\n};\n\nexport const ConstructorHeader = ({\n data,\n blockKey,\n}: Pick<ConstructorItemProps, 'data' | 'blockKey'>) => (\n <BlockDecoration type={data.type as BlockType}>\n <ConstructorItem data={data} key={data.type} blockKey={blockKey} />\n </BlockDecoration>\n);\n"]}
@@ -2,15 +2,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { ThemeContext } from "./ThemeContext.js";
4
4
  export function withTheme(WrappedComponent) {
5
- var _a;
6
5
  const componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
7
- return _a = class WithThemeComponent extends React.Component {
8
- render() {
9
- return _jsx(WrappedComponent, Object.assign({}, this.props, { theme: this.context.theme }));
10
- }
11
- },
12
- _a.displayName = `withTheme(${componentName})`,
13
- _a.contextType = ThemeContext,
14
- _a;
6
+ return class WithThemeComponent extends React.Component {
7
+ static displayName = `withTheme(${componentName})`;
8
+ static contextType = ThemeContext;
9
+ render() {
10
+ return _jsx(WrappedComponent, { ...this.props, theme: this.context.theme });
11
+ }
12
+ };
15
13
  }
16
14
  //# sourceMappingURL=withTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withTheme.js","sourceRoot":"../../../../src","sources":["context/theme/withTheme.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAC,YAAY,EAAoB,0BAAuB;AAI/D,MAAM,UAAU,SAAS,CACrB,gBAAwC;;IAExC,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAAW,CAAC;IAE3F,YAAO,MAAM,kBAAmB,SAAQ,KAAK,CAAC,SAAsC;YAKhF,MAAM;gBACF,OAAO,KAAC,gBAAgB,oBAAM,IAAI,CAAC,KAAW,IAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;YAClF,CAAC;SACJ;QAPU,cAAW,GAAG,aAAa,aAAa,GAAI;QAC5C,cAAW,GAAG,YAAa;WAMpC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Subtract} from 'utility-types';\n\nimport {ThemeContext, ThemeContextProps} from './ThemeContext';\n\nexport interface WithThemeProps extends ThemeContextProps {}\n\nexport function withTheme<T extends WithThemeProps>(\n WrappedComponent: React.ComponentType<T>,\n): React.ComponentType<Subtract<T, WithThemeProps>> {\n const componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n return class WithThemeComponent extends React.Component<Subtract<T, WithThemeProps>> {\n static displayName = `withTheme(${componentName})`;\n static contextType = ThemeContext;\n context!: ThemeContextProps;\n\n render() {\n return <WrappedComponent {...(this.props as T)} theme={this.context.theme} />;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"withTheme.js","sourceRoot":"../../../../src","sources":["context/theme/withTheme.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAC,YAAY,EAAoB,0BAAuB;AAI/D,MAAM,UAAU,SAAS,CACrB,gBAAwC;IAExC,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAAW,CAAC;IAE3F,OAAO,MAAM,kBAAmB,SAAQ,KAAK,CAAC,SAAsC;QAChF,MAAM,CAAC,WAAW,GAAG,aAAa,aAAa,GAAG,CAAC;QACnD,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;QAGlC,MAAM;YACF,OAAO,KAAC,gBAAgB,OAAM,IAAI,CAAC,KAAW,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,GAAI,CAAC;QAClF,CAAC;KACJ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Subtract} from 'utility-types';\n\nimport {ThemeContext, ThemeContextProps} from './ThemeContext';\n\nexport interface WithThemeProps extends ThemeContextProps {}\n\nexport function withTheme<T extends WithThemeProps>(\n WrappedComponent: React.ComponentType<T>,\n): React.ComponentType<Subtract<T, WithThemeProps>> {\n const componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n return class WithThemeComponent extends React.Component<Subtract<T, WithThemeProps>> {\n static displayName = `withTheme(${componentName})`;\n static contextType = ThemeContext;\n declare context: ThemeContextProps;\n\n render() {\n return <WrappedComponent {...(this.props as T)} theme={this.context.theme} />;\n }\n };\n}\n"]}
@@ -1,13 +1,10 @@
1
- import { __rest } from "tslib";
2
1
  import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import * as React from 'react';
4
3
  import { InnerContext } from "../context/innerContext/index.js";
5
- export const BlockDecoration = (_a) => {
6
- var _b, _c;
7
- var { children: blockChildren } = _a, rest = __rest(_a, ["children"]);
8
- const blockDecorators = (_c = (_b = React.useContext(InnerContext).customization) === null || _b === void 0 ? void 0 : _b.decorators) === null || _c === void 0 ? void 0 : _c.block;
4
+ export const BlockDecoration = ({ children: blockChildren, ...rest }) => {
5
+ const blockDecorators = React.useContext(InnerContext).customization?.decorators?.block;
9
6
  const content = blockDecorators
10
- ? blockDecorators.reduce((children, decorator) => decorator(Object.assign({ children }, rest)), blockChildren)
7
+ ? blockDecorators.reduce((children, decorator) => decorator({ children, ...rest }), blockChildren)
11
8
  : blockChildren;
12
9
  return _jsx(React.Fragment, { children: content });
13
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BlockDecoration.js","sourceRoot":"../../../src","sources":["customization/BlockDecoration.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAC,yCAAgC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAGgB,EAAE,EAAE;;QAHpB,EAC5B,QAAQ,EAAE,aAAa,OAEqB,EADzC,IAAI,cAFqB,YAG/B,CADU;IAEP,MAAM,eAAe,GAAG,MAAA,MAAA,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,aAAa,0CAAE,UAAU,0CAAE,KAAK,CAAC;IAExF,MAAM,OAAO,GAAG,eAAe;QAC3B,CAAC,CAAC,eAAe,CAAC,MAAM,CAClB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,iBAAE,QAAQ,IAAK,IAAI,EAAE,EACvD,aAAa,CAChB;QACH,CAAC,CAAC,aAAa,CAAC;IAEpB,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,OAAO,GAAkB,CAAC;AACtD,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {InnerContext} from '../context/innerContext';\nimport {BlockDecorationProps} from '../models';\n\nexport const BlockDecoration = ({\n children: blockChildren,\n ...rest\n}: React.PropsWithChildren<BlockDecorationProps>) => {\n const blockDecorators = React.useContext(InnerContext).customization?.decorators?.block;\n\n const content = blockDecorators\n ? blockDecorators.reduce(\n (children, decorator) => decorator({children, ...rest}),\n blockChildren,\n )\n : blockChildren;\n\n return <React.Fragment>{content}</React.Fragment>;\n};\n"]}
1
+ {"version":3,"file":"BlockDecoration.js","sourceRoot":"../../../src","sources":["customization/BlockDecoration.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,YAAY,EAAC,yCAAgC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC5B,QAAQ,EAAE,aAAa,EACvB,GAAG,IAAI,EACqC,EAAE,EAAE;IAChD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC;IAExF,MAAM,OAAO,GAAG,eAAe;QAC3B,CAAC,CAAC,eAAe,CAAC,MAAM,CAClB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,CAAC,EACvD,aAAa,CAChB;QACH,CAAC,CAAC,aAAa,CAAC;IAEpB,OAAO,KAAC,KAAK,CAAC,QAAQ,cAAE,OAAO,GAAkB,CAAC;AACtD,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {InnerContext} from '../context/innerContext';\nimport {BlockDecorationProps} from '../models';\n\nexport const BlockDecoration = ({\n children: blockChildren,\n ...rest\n}: React.PropsWithChildren<BlockDecorationProps>) => {\n const blockDecorators = React.useContext(InnerContext).customization?.decorators?.block;\n\n const content = blockDecorators\n ? blockDecorators.reduce(\n (children, decorator) => decorator({children, ...rest}),\n blockChildren,\n )\n : blockChildren;\n\n return <React.Fragment>{content}</React.Fragment>;\n};\n"]}
@@ -17,10 +17,9 @@ const AddBlock = ({ onAdd, className }) => {
17
17
  if (!editorBlocksData) {
18
18
  return [];
19
19
  }
20
- return sortedBlockNames.filter((blockName) => {
21
- var _a;
22
- return (_a = editorBlocksData[blockName]) === null || _a === void 0 ? void 0 : _a.meta.title.toLocaleLowerCase().startsWith(search.toLocaleLowerCase());
23
- });
20
+ return sortedBlockNames.filter((blockName) => editorBlocksData[blockName]?.meta.title
21
+ .toLocaleLowerCase()
22
+ .startsWith(search.toLocaleLowerCase()));
24
23
  }, [editorBlocksData, search]);
25
24
  React.useEffect(() => {
26
25
  const loadEditorBlocksData = async () => {
@@ -32,17 +31,16 @@ const AddBlock = ({ onAdd, className }) => {
32
31
  return (_jsxs("div", { className: b(null, className), ref: ref, children: [_jsx("button", { className: b('button'), type: "button", onClick: () => {
33
32
  setIsOpened(!isOpened);
34
33
  setSearch('');
35
- }, children: _jsx(Plus, { className: b('icon') }) }), isOpened && (_jsxs(Popup, { anchorRef: ref, open: isOpened, placement: "top", offset: { mainAxis: 0, crossAxis: 24 }, onOutsideClick: () => setIsOpened(false), children: [_jsx("div", { className: b('search'), children: _jsx(TextInput, { placeholder: "search", type: "text", value: search, size: "l", onUpdate: (value) => setSearch(value) }) }), _jsx("div", { className: b('blocks'), children: blocks.map((blockName) => {
36
- var _a;
37
- const blockData = editorBlocksData === null || editorBlocksData === void 0 ? void 0 : editorBlocksData[blockName];
34
+ }, children: _jsx(Plus, { className: b('icon') }) }), isOpened && (_jsxs(Popup, { anchorRef: ref, open: isOpened, placement: "top", className: b('popup'), offset: { mainAxis: 0, crossAxis: 24 }, onOutsideClick: () => setIsOpened(false), children: [_jsx("div", { className: b('search'), children: _jsx(TextInput, { placeholder: "search", type: "text", value: search, size: "l", onUpdate: (value) => setSearch(value) }) }), _jsx("div", { className: b('blocks'), children: blocks.map((blockName) => {
35
+ const blockData = editorBlocksData?.[blockName];
38
36
  if (!blockData) {
39
37
  return null;
40
38
  }
41
39
  const Preview = blockData.preview;
42
40
  return (_jsxs("button", { className: b('block'), onClick: () => {
43
- onAdd(blockData === null || blockData === void 0 ? void 0 : blockData.template);
41
+ onAdd(blockData?.template);
44
42
  setIsOpened(false);
45
- }, children: [_jsx("div", { className: b('preview'), children: _jsx(Preview, {}) }), _jsxs("div", { className: b('info'), children: [_jsx("h4", { className: b('title'), children: blockData.meta.title }), ((_a = blockData === null || blockData === void 0 ? void 0 : blockData.meta) === null || _a === void 0 ? void 0 : _a.description) && (_jsx("p", { className: b('description'), children: blockData.meta.description }))] })] }, blockName));
43
+ }, children: [_jsx("div", { className: b('preview'), children: _jsx(Preview, {}) }), _jsxs("div", { className: b('info'), children: [_jsx("h4", { className: b('title'), children: blockData.meta.title }), blockData?.meta?.description && (_jsx("p", { className: b('description'), children: blockData.meta.description }))] })] }, blockName));
46
44
  }) })] }))] }));
47
45
  };
48
46
  export default AddBlock;