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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1133) hide show
  1. package/README.md +98 -10
  2. package/build/cjs/blocks/Banner/Banner.js +2 -2
  3. package/build/cjs/blocks/Banner/Banner.js.map +1 -1
  4. package/build/cjs/blocks/Banner/schema.js +20 -8
  5. package/build/cjs/blocks/Banner/schema.js.map +1 -1
  6. package/build/cjs/blocks/CardLayout/CardLayout.js +2 -2
  7. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  8. package/build/cjs/blocks/CardLayout/schema.d.ts +76 -0
  9. package/build/cjs/blocks/CardLayout/schema.js +19 -4
  10. package/build/cjs/blocks/CardLayout/schema.js.map +1 -1
  11. package/build/cjs/blocks/Companies/Companies.js +1 -1
  12. package/build/cjs/blocks/Companies/Companies.js.map +1 -1
  13. package/build/cjs/blocks/Companies/schema.js +10 -4
  14. package/build/cjs/blocks/Companies/schema.js.map +1 -1
  15. package/build/cjs/blocks/ContentLayout/ContentLayout.js +1 -1
  16. package/build/cjs/blocks/ContentLayout/ContentLayout.js.map +1 -1
  17. package/build/cjs/blocks/ContentLayout/schema.d.ts +76 -0
  18. package/build/cjs/blocks/ContentLayout/schema.js +7 -2
  19. package/build/cjs/blocks/ContentLayout/schema.js.map +1 -1
  20. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  21. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  22. package/build/cjs/blocks/ExtendedFeatures/schema.js +7 -1
  23. package/build/cjs/blocks/ExtendedFeatures/schema.js.map +1 -1
  24. package/build/cjs/blocks/FilterBlock/schema.js +13 -3
  25. package/build/cjs/blocks/FilterBlock/schema.js.map +1 -1
  26. package/build/cjs/blocks/FoldableList/FoldableList.css +13 -0
  27. package/build/cjs/blocks/FoldableList/FoldableList.d.ts +3 -0
  28. package/build/cjs/blocks/FoldableList/FoldableList.js +31 -0
  29. package/build/cjs/blocks/FoldableList/FoldableList.js.map +1 -0
  30. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +100 -0
  31. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +2 -0
  32. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +22 -0
  33. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  34. package/build/cjs/blocks/FoldableList/schema.d.ts +140 -0
  35. package/build/cjs/blocks/FoldableList/schema.js +39 -0
  36. package/build/cjs/blocks/FoldableList/schema.js.map +1 -0
  37. package/build/cjs/blocks/Form/Form.js +3 -4
  38. package/build/cjs/blocks/Form/Form.js.map +1 -1
  39. package/build/cjs/blocks/Form/schema.js +14 -6
  40. package/build/cjs/blocks/Form/schema.js.map +1 -1
  41. package/build/cjs/blocks/Header/Header.css +12 -1
  42. package/build/cjs/blocks/Header/Header.js +15 -9
  43. package/build/cjs/blocks/Header/Header.js.map +1 -1
  44. package/build/cjs/blocks/Header/schema.d.ts +10 -0
  45. package/build/cjs/blocks/Header/schema.js +14 -2
  46. package/build/cjs/blocks/Header/schema.js.map +1 -1
  47. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -3
  48. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  49. package/build/cjs/blocks/HeaderSlider/schema.d.ts +5 -0
  50. package/build/cjs/blocks/HeaderSlider/schema.js +8 -5
  51. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  52. package/build/cjs/blocks/Icons/Icons.js +2 -2
  53. package/build/cjs/blocks/Icons/Icons.js.map +1 -1
  54. package/build/cjs/blocks/Icons/schema.js +17 -6
  55. package/build/cjs/blocks/Icons/schema.js.map +1 -1
  56. package/build/cjs/blocks/Info/Info.js +8 -4
  57. package/build/cjs/blocks/Info/Info.js.map +1 -1
  58. package/build/cjs/blocks/Info/schema.js +14 -4
  59. package/build/cjs/blocks/Info/schema.js.map +1 -1
  60. package/build/cjs/blocks/Map/Map.js +2 -3
  61. package/build/cjs/blocks/Map/Map.js.map +1 -1
  62. package/build/cjs/blocks/Map/schema.js +4 -1
  63. package/build/cjs/blocks/Map/schema.js.map +1 -1
  64. package/build/cjs/blocks/Media/Media.js +1 -1
  65. package/build/cjs/blocks/Media/Media.js.map +1 -1
  66. package/build/cjs/blocks/Media/schema.js +24 -9
  67. package/build/cjs/blocks/Media/schema.js.map +1 -1
  68. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  69. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  70. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +8 -2
  71. package/build/cjs/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  72. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  73. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  74. package/build/cjs/blocks/Questions/schema.js +6 -2
  75. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  76. package/build/cjs/blocks/Share/Share.css +3 -2
  77. package/build/cjs/blocks/Share/Share.js +3 -4
  78. package/build/cjs/blocks/Share/Share.js.map +1 -1
  79. package/build/cjs/blocks/Share/schema.js +7 -3
  80. package/build/cjs/blocks/Share/schema.js.map +1 -1
  81. package/build/cjs/blocks/Slider/Arrow/Arrow.css +13 -13
  82. package/build/cjs/blocks/Slider/Arrow/Arrow.js +2 -2
  83. package/build/cjs/blocks/Slider/Arrow/Arrow.js.map +1 -1
  84. package/build/cjs/blocks/Slider/Slider.css +2 -2
  85. package/build/cjs/blocks/Slider/Slider.js +6 -3
  86. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  87. package/build/cjs/blocks/Slider/schema.js +6 -1
  88. package/build/cjs/blocks/Slider/schema.js.map +1 -1
  89. package/build/cjs/blocks/Slider/useSlider.js +1 -2
  90. package/build/cjs/blocks/Slider/useSlider.js.map +1 -1
  91. package/build/cjs/blocks/Slider/utils.js +6 -2
  92. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  93. package/build/cjs/blocks/SliderOld/Arrow/Arrow.css +1 -1
  94. package/build/cjs/blocks/SliderOld/SliderOld.js +17 -14
  95. package/build/cjs/blocks/SliderOld/SliderOld.js.map +1 -1
  96. package/build/cjs/blocks/SliderOld/schema.js +6 -1
  97. package/build/cjs/blocks/SliderOld/schema.js.map +1 -1
  98. package/build/cjs/blocks/SliderOld/utils.js +8 -5
  99. package/build/cjs/blocks/SliderOld/utils.js.map +1 -1
  100. package/build/cjs/blocks/Table/Table.js +1 -1
  101. package/build/cjs/blocks/Table/Table.js.map +1 -1
  102. package/build/cjs/blocks/Table/schema.js +22 -10
  103. package/build/cjs/blocks/Table/schema.js.map +1 -1
  104. package/build/cjs/blocks/Tabs/TabContent/TabContent.css +78 -0
  105. package/build/cjs/blocks/Tabs/TabContent/TabContent.d.ts +12 -0
  106. package/build/cjs/blocks/Tabs/TabContent/TabContent.js +70 -0
  107. package/build/cjs/blocks/Tabs/TabContent/TabContent.js.map +1 -0
  108. package/build/cjs/blocks/Tabs/Tabs.css +0 -72
  109. package/build/cjs/blocks/Tabs/Tabs.js +13 -59
  110. package/build/cjs/blocks/Tabs/Tabs.js.map +1 -1
  111. package/build/cjs/blocks/Tabs/schema.js +24 -9
  112. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  113. package/build/cjs/blocks/index.d.ts +1 -0
  114. package/build/cjs/blocks/index.js +3 -1
  115. package/build/cjs/blocks/index.js.map +1 -1
  116. package/build/cjs/components/Author/Author.js +1 -1
  117. package/build/cjs/components/Author/Author.js.map +1 -1
  118. package/build/cjs/components/Author/schema.js +5 -1
  119. package/build/cjs/components/Author/schema.js.map +1 -1
  120. package/build/cjs/components/BackLink/BackLink.js +1 -1
  121. package/build/cjs/components/BackLink/BackLink.js.map +1 -1
  122. package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
  123. package/build/cjs/components/BackgroundImage/BackgroundImage.js.map +1 -1
  124. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js +4 -4
  125. package/build/cjs/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  126. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +1 -1
  127. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  128. package/build/cjs/components/Button/Button.d.ts +1 -0
  129. package/build/cjs/components/Button/Button.js +9 -5
  130. package/build/cjs/components/Button/Button.js.map +1 -1
  131. package/build/cjs/components/Button/utils.js +2 -2
  132. package/build/cjs/components/Button/utils.js.map +1 -1
  133. package/build/cjs/components/ButtonTabs/ButtonTabs.d.ts +2 -0
  134. package/build/cjs/components/ButtonTabs/ButtonTabs.js +3 -2
  135. package/build/cjs/components/ButtonTabs/ButtonTabs.js.map +1 -1
  136. package/build/cjs/components/Buttons/Buttons.js +4 -1
  137. package/build/cjs/components/Buttons/Buttons.js.map +1 -1
  138. package/build/cjs/components/CardBase/CardBase.js +6 -2
  139. package/build/cjs/components/CardBase/CardBase.js.map +1 -1
  140. package/build/cjs/components/ContentList/ContentList.js +1 -1
  141. package/build/cjs/components/ContentList/ContentList.js.map +1 -1
  142. package/build/cjs/components/ContentList/ContentListItemIcon.js +1 -1
  143. package/build/cjs/components/ContentList/ContentListItemIcon.js.map +1 -1
  144. package/build/cjs/components/DefaultVideo/DefaultVideo.js +3 -4
  145. package/build/cjs/components/DefaultVideo/DefaultVideo.js.map +1 -1
  146. package/build/cjs/components/FileLink/FileLink.js +2 -2
  147. package/build/cjs/components/FileLink/FileLink.js.map +1 -1
  148. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +12 -17
  149. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  150. package/build/cjs/components/FullscreenImage/FullscreenImage.css +3 -0
  151. package/build/cjs/components/FullscreenImage/FullscreenImage.js +1 -1
  152. package/build/cjs/components/FullscreenImage/FullscreenImage.js.map +1 -1
  153. package/build/cjs/components/FullscreenMedia/FullscreenMedia.css +1 -3
  154. package/build/cjs/components/HTML/HTML.js +7 -3
  155. package/build/cjs/components/HTML/HTML.js.map +1 -1
  156. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  157. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  158. package/build/cjs/components/IconWrapper/IconWrapper.js +2 -2
  159. package/build/cjs/components/IconWrapper/IconWrapper.js.map +1 -1
  160. package/build/cjs/components/Image/Image.d.ts +4 -2
  161. package/build/cjs/components/Image/Image.js +22 -8
  162. package/build/cjs/components/Image/Image.js.map +1 -1
  163. package/build/cjs/components/Image/schema.d.ts +95 -0
  164. package/build/cjs/components/Image/schema.js +55 -12
  165. package/build/cjs/components/Image/schema.js.map +1 -1
  166. package/build/cjs/components/ImageBase/ImageBase.js +3 -4
  167. package/build/cjs/components/ImageBase/ImageBase.js.map +1 -1
  168. package/build/cjs/components/InnerForm/InnerForm.js +5 -5
  169. package/build/cjs/components/InnerForm/InnerForm.js.map +1 -1
  170. package/build/cjs/components/Link/Link.js +1 -1
  171. package/build/cjs/components/Link/Link.js.map +1 -1
  172. package/build/cjs/components/Links/Links.js +4 -1
  173. package/build/cjs/components/Links/Links.js.map +1 -1
  174. package/build/cjs/components/Map/Map.js +2 -2
  175. package/build/cjs/components/Map/Map.js.map +1 -1
  176. package/build/cjs/components/Map/YMap/YMap.js +6 -5
  177. package/build/cjs/components/Map/YMap/YMap.js.map +1 -1
  178. package/build/cjs/components/Map/YMap/YandexMap.js +1 -2
  179. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  180. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js +2 -1
  181. package/build/cjs/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  182. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  183. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  184. package/build/cjs/components/Media/Image/Image.js +3 -3
  185. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  186. package/build/cjs/components/Media/Media.js +13 -5
  187. package/build/cjs/components/Media/Media.js.map +1 -1
  188. package/build/cjs/components/MediaBase/MediaBase.js +3 -3
  189. package/build/cjs/components/MediaBase/MediaBase.js.map +1 -1
  190. package/build/cjs/components/MediaBase/MediaBaseContent.js +1 -1
  191. package/build/cjs/components/MediaBase/MediaBaseContent.js.map +1 -1
  192. package/build/cjs/components/OutsideClick/OutsideClick.js +9 -12
  193. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  194. package/build/cjs/components/OverflowScroller/OverflowScroller.js +46 -49
  195. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  196. package/build/cjs/components/ReactPlayer/ReactPlayer.js +14 -13
  197. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  198. package/build/cjs/components/ReactPlayer/utils.js +1 -2
  199. package/build/cjs/components/ReactPlayer/utils.js.map +1 -1
  200. package/build/cjs/components/Title/Title.js +2 -2
  201. package/build/cjs/components/Title/Title.js.map +1 -1
  202. package/build/cjs/components/Title/TitleItem.css +1 -0
  203. package/build/cjs/components/Title/TitleItem.js +1 -1
  204. package/build/cjs/components/Title/TitleItem.js.map +1 -1
  205. package/build/cjs/components/VideoBlock/VideoBlock.js +7 -4
  206. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  207. package/build/cjs/components/YFMWrapper/YFMWrapper.js +3 -4
  208. package/build/cjs/components/YFMWrapper/YFMWrapper.js.map +1 -1
  209. package/build/cjs/components/YandexForm/YandexForm.js +21 -6
  210. package/build/cjs/components/YandexForm/YandexForm.js.map +1 -1
  211. package/build/cjs/components/YandexForm/schema.js +7 -3
  212. package/build/cjs/components/YandexForm/schema.js.map +1 -1
  213. package/build/cjs/constructor-items.d.ts +1 -0
  214. package/build/cjs/constructor-items.js +1 -0
  215. package/build/cjs/constructor-items.js.map +1 -1
  216. package/build/cjs/containers/Loadable/Loadable.js +4 -4
  217. package/build/cjs/containers/Loadable/Loadable.js.map +1 -1
  218. package/build/cjs/containers/PageConstructor/PageConstructor.js +14 -7
  219. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  220. package/build/cjs/containers/PageConstructor/Provider.js +1 -1
  221. package/build/cjs/containers/PageConstructor/Provider.js.map +1 -1
  222. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  223. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  224. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -2
  225. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  226. package/build/cjs/context/projectSettingsContext/ProjectSettingsContext.d.ts +2 -0
  227. package/build/cjs/context/projectSettingsContext/ProjectSettingsContext.js.map +1 -1
  228. package/build/cjs/context/theme/withTheme.js +7 -9
  229. package/build/cjs/context/theme/withTheme.js.map +1 -1
  230. package/build/cjs/customization/BlockDecoration.js +3 -5
  231. package/build/cjs/customization/BlockDecoration.js.map +1 -1
  232. package/build/cjs/editor/components/AddBlock/AddBlock.js +6 -8
  233. package/build/cjs/editor/components/AddBlock/AddBlock.js.map +1 -1
  234. package/build/cjs/editor/components/BlockForm/BlockForm.js +9 -4
  235. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  236. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -4
  237. package/build/cjs/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  238. package/build/cjs/editor/components/EditBlock/EditBlock.js +2 -2
  239. package/build/cjs/editor/components/EditBlock/EditBlock.js.map +1 -1
  240. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  241. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  242. package/build/cjs/editor/components/Layout/Layout.js +3 -3
  243. package/build/cjs/editor/components/Layout/Layout.js.map +1 -1
  244. package/build/cjs/editor/components/PageSettings/PageSettings.js +2 -2
  245. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  246. package/build/cjs/editor/containers/Editor/Editor.js +1 -1
  247. package/build/cjs/editor/containers/Editor/Editor.js.map +1 -1
  248. package/build/cjs/editor/containers/Editor/hooks/useCode.js +2 -4
  249. package/build/cjs/editor/containers/Editor/hooks/useCode.js.map +1 -1
  250. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js +10 -7
  251. package/build/cjs/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  252. package/build/cjs/editor/containers/Form/Form.js +5 -2
  253. package/build/cjs/editor/containers/Form/Form.js.map +1 -1
  254. package/build/cjs/editor/data/index.js +5 -2
  255. package/build/cjs/editor/data/index.js.map +1 -1
  256. package/build/cjs/editor/data/previews/default-preview.js +1 -1
  257. package/build/cjs/editor/data/previews/default-preview.js.map +1 -1
  258. package/build/cjs/editor/data/previews/header-block.js +1 -1
  259. package/build/cjs/editor/data/previews/header-block.js.map +1 -1
  260. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  261. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  262. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  263. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  264. package/build/cjs/editor/dynamic-forms-custom/parser/index.js +150 -120
  265. package/build/cjs/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  266. package/build/cjs/editor/dynamic-forms-custom/parser/views.js +2 -4
  267. package/build/cjs/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  268. package/build/cjs/editor/icons/Tablet.js +1 -1
  269. package/build/cjs/editor/icons/Tablet.js.map +1 -1
  270. package/build/cjs/editor/store/main/index.js +7 -4
  271. package/build/cjs/editor/store/main/index.js.map +1 -1
  272. package/build/cjs/editor/store/main/reducer.js +17 -3
  273. package/build/cjs/editor/store/main/reducer.js.map +1 -1
  274. package/build/cjs/editor/store/main/utils.js +1 -1
  275. package/build/cjs/editor/store/main/utils.js.map +1 -1
  276. package/build/cjs/editor/store/settings/reducer.js +16 -4
  277. package/build/cjs/editor/store/settings/reducer.js.map +1 -1
  278. package/build/cjs/editor/utils/code.js +4 -2
  279. package/build/cjs/editor/utils/code.js.map +1 -1
  280. package/build/cjs/editor/utils/index.js +7 -1
  281. package/build/cjs/editor/utils/index.js.map +1 -1
  282. package/build/cjs/editor/widget/index.js +8 -8
  283. package/build/cjs/editor/widget/index.js.map +1 -1
  284. package/build/cjs/editor/widget/utils.js +1 -1
  285. package/build/cjs/editor/widget/utils.js.map +1 -1
  286. package/build/cjs/grid/Col/Col.d.ts +3 -2
  287. package/build/cjs/grid/Col/Col.js +2 -2
  288. package/build/cjs/grid/Col/Col.js.map +1 -1
  289. package/build/cjs/grid/Row/Row.d.ts +4 -3
  290. package/build/cjs/grid/Row/Row.js +2 -2
  291. package/build/cjs/grid/Row/Row.js.map +1 -1
  292. package/build/cjs/hooks/useAnalytics.js +4 -1
  293. package/build/cjs/hooks/useAnalytics.js.map +1 -1
  294. package/build/cjs/icons/BrandIconDark.js +1 -1
  295. package/build/cjs/icons/BrandIconDark.js.map +1 -1
  296. package/build/cjs/icons/BrandIconLight.js +1 -1
  297. package/build/cjs/icons/BrandIconLight.js.map +1 -1
  298. package/build/cjs/icons/BrandName.js +1 -1
  299. package/build/cjs/icons/BrandName.js.map +1 -1
  300. package/build/cjs/icons/Chevron.js +1 -1
  301. package/build/cjs/icons/Chevron.js.map +1 -1
  302. package/build/cjs/icons/Facebook.js +1 -1
  303. package/build/cjs/icons/Facebook.js.map +1 -1
  304. package/build/cjs/icons/Github.js +1 -1
  305. package/build/cjs/icons/Github.js.map +1 -1
  306. package/build/cjs/icons/Linkedin.js +1 -1
  307. package/build/cjs/icons/Linkedin.js.map +1 -1
  308. package/build/cjs/icons/NavigationArrow.js +1 -1
  309. package/build/cjs/icons/NavigationArrow.js.map +1 -1
  310. package/build/cjs/icons/NavigationChevron.js +1 -1
  311. package/build/cjs/icons/NavigationChevron.js.map +1 -1
  312. package/build/cjs/icons/Telegram.js +1 -1
  313. package/build/cjs/icons/Telegram.js.map +1 -1
  314. package/build/cjs/icons/Twitter.js +1 -1
  315. package/build/cjs/icons/Twitter.js.map +1 -1
  316. package/build/cjs/icons/Vk.js +1 -1
  317. package/build/cjs/icons/Vk.js.map +1 -1
  318. package/build/cjs/internal-typings/global.d.ts +1 -0
  319. package/build/cjs/models/constructor-items/blocks.d.ts +21 -3
  320. package/build/cjs/models/constructor-items/blocks.js +1 -0
  321. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  322. package/build/cjs/models/constructor-items/common.d.ts +16 -6
  323. package/build/cjs/models/constructor-items/common.js +8 -1
  324. package/build/cjs/models/constructor-items/common.js.map +1 -1
  325. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -1
  326. package/build/cjs/models/constructor-items/sub-blocks.js.map +1 -1
  327. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  328. package/build/cjs/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  329. package/build/cjs/navigation/components/Logo/Logo.js +4 -5
  330. package/build/cjs/navigation/components/Logo/Logo.js.map +1 -1
  331. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js +2 -3
  332. package/build/cjs/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  333. package/build/cjs/navigation/components/Navigation/Navigation.d.ts +1 -0
  334. package/build/cjs/navigation/components/Navigation/Navigation.js +2 -2
  335. package/build/cjs/navigation/components/Navigation/Navigation.js.map +1 -1
  336. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +7 -5
  337. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  338. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  339. package/build/cjs/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  340. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +3 -4
  341. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  342. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  343. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  344. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -3
  345. package/build/cjs/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  346. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -4
  347. package/build/cjs/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  348. package/build/cjs/navigation/components/NavigationList/NavigationList.js +1 -4
  349. package/build/cjs/navigation/components/NavigationList/NavigationList.js.map +1 -1
  350. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js +2 -3
  351. package/build/cjs/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  352. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  353. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  354. package/build/cjs/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  355. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +1 -1
  356. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  357. package/build/cjs/navigation/components/Standalone/index.js +1 -1
  358. package/build/cjs/navigation/components/Standalone/index.js.map +1 -1
  359. package/build/cjs/navigation/hooks/useActiveNavItem.js +1 -1
  360. package/build/cjs/navigation/hooks/useActiveNavItem.js.map +1 -1
  361. package/build/cjs/navigation/models.d.ts +1 -0
  362. package/build/cjs/navigation/models.js.map +1 -1
  363. package/build/cjs/navigation/schema.js +19 -6
  364. package/build/cjs/navigation/schema.js.map +1 -1
  365. package/build/cjs/navigation/utils.js +1 -1
  366. package/build/cjs/navigation/utils.js.map +1 -1
  367. package/build/cjs/schema/constants.d.ts +19 -0
  368. package/build/cjs/schema/constants.js +34 -2
  369. package/build/cjs/schema/constants.js.map +1 -1
  370. package/build/cjs/schema/index.js +23 -6
  371. package/build/cjs/schema/index.js.map +1 -1
  372. package/build/cjs/schema/validators/blocks.d.ts +2 -0
  373. package/build/cjs/schema/validators/blocks.js +2 -0
  374. package/build/cjs/schema/validators/blocks.js.map +1 -1
  375. package/build/cjs/schema/validators/common.js +77 -31
  376. package/build/cjs/schema/validators/common.js.map +1 -1
  377. package/build/cjs/schema/validators/utils.js +9 -2
  378. package/build/cjs/schema/validators/utils.js.map +1 -1
  379. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  380. package/build/cjs/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  381. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +19 -0
  382. package/build/cjs/sub-blocks/BackgroundCard/schema.js +23 -8
  383. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  384. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +1 -1
  385. package/build/cjs/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  386. package/build/cjs/sub-blocks/BasicCard/BasicCard.js +2 -2
  387. package/build/cjs/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  388. package/build/cjs/sub-blocks/BasicCard/schema.js +17 -6
  389. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  390. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  391. package/build/cjs/sub-blocks/Content/Content.js.map +1 -1
  392. package/build/cjs/sub-blocks/Content/schema.js +10 -3
  393. package/build/cjs/sub-blocks/Content/schema.js.map +1 -1
  394. package/build/cjs/sub-blocks/Divider/schema.js +6 -2
  395. package/build/cjs/sub-blocks/Divider/schema.js.map +1 -1
  396. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  397. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  398. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  399. package/build/cjs/sub-blocks/HubspotForm/index.js +5 -5
  400. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  401. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  402. package/build/cjs/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  403. package/build/cjs/sub-blocks/HubspotForm/schema.js +11 -5
  404. package/build/cjs/sub-blocks/HubspotForm/schema.js.map +1 -1
  405. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  406. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js +51 -0
  407. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  408. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +1 -1
  409. package/build/cjs/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  410. package/build/cjs/sub-blocks/ImageCard/schema.js +17 -6
  411. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  412. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +11 -9
  413. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  414. package/build/cjs/sub-blocks/LayoutItem/schema.js +19 -6
  415. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  416. package/build/cjs/sub-blocks/LayoutItem/utils.js +4 -1
  417. package/build/cjs/sub-blocks/LayoutItem/utils.js.map +1 -1
  418. package/build/cjs/sub-blocks/MediaCard/MediaCard.js +1 -5
  419. package/build/cjs/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  420. package/build/cjs/sub-blocks/MediaCard/schema.js +12 -3
  421. package/build/cjs/sub-blocks/MediaCard/schema.js.map +1 -1
  422. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  423. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  424. package/build/cjs/sub-blocks/PriceCard/schema.js +25 -11
  425. package/build/cjs/sub-blocks/PriceCard/schema.js.map +1 -1
  426. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  427. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  428. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  429. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  430. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -4
  431. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  432. package/build/cjs/sub-blocks/PriceDetailed/schema.js +44 -12
  433. package/build/cjs/sub-blocks/PriceDetailed/schema.js.map +1 -1
  434. package/build/cjs/sub-blocks/Quote/Quote.js +6 -3
  435. package/build/cjs/sub-blocks/Quote/Quote.js.map +1 -1
  436. package/build/cjs/sub-blocks/Quote/schema.js +21 -8
  437. package/build/cjs/sub-blocks/Quote/schema.js.map +1 -1
  438. package/build/cjs/text-transform/common.js +30 -21
  439. package/build/cjs/text-transform/common.js.map +1 -1
  440. package/build/cjs/text-transform/config.js +58 -24
  441. package/build/cjs/text-transform/config.js.map +1 -1
  442. package/build/cjs/text-transform/filter.js +4 -1
  443. package/build/cjs/text-transform/filter.js.map +1 -1
  444. package/build/cjs/text-transform/transformers.js +1 -1
  445. package/build/cjs/text-transform/transformers.js.map +1 -1
  446. package/build/cjs/text-transform/utils.js +11 -5
  447. package/build/cjs/text-transform/utils.js.map +1 -1
  448. package/build/cjs/utils/analytics.js +2 -3
  449. package/build/cjs/utils/analytics.js.map +1 -1
  450. package/build/cjs/utils/common.js +1 -2
  451. package/build/cjs/utils/common.js.map +1 -1
  452. package/build/cjs/utils/hubspot.d.ts +1 -0
  453. package/build/cjs/utils/hubspot.js +6 -7
  454. package/build/cjs/utils/hubspot.js.map +1 -1
  455. package/build/cjs/utils/microdata.js +1 -1
  456. package/build/cjs/utils/microdata.js.map +1 -1
  457. package/build/cjs/utils/url.js +10 -5
  458. package/build/cjs/utils/url.js.map +1 -1
  459. package/build/esm/blocks/Banner/Banner.js +2 -3
  460. package/build/esm/blocks/Banner/Banner.js.map +1 -1
  461. package/build/esm/blocks/Banner/schema.js +20 -8
  462. package/build/esm/blocks/Banner/schema.js.map +1 -1
  463. package/build/esm/blocks/CardLayout/CardLayout.js +2 -3
  464. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  465. package/build/esm/blocks/CardLayout/schema.d.ts +76 -0
  466. package/build/esm/blocks/CardLayout/schema.js +19 -4
  467. package/build/esm/blocks/CardLayout/schema.js.map +1 -1
  468. package/build/esm/blocks/Companies/Companies.js +1 -1
  469. package/build/esm/blocks/Companies/Companies.js.map +1 -1
  470. package/build/esm/blocks/Companies/schema.js +10 -4
  471. package/build/esm/blocks/Companies/schema.js.map +1 -1
  472. package/build/esm/blocks/ContentLayout/ContentLayout.js +1 -1
  473. package/build/esm/blocks/ContentLayout/ContentLayout.js.map +1 -1
  474. package/build/esm/blocks/ContentLayout/schema.d.ts +76 -0
  475. package/build/esm/blocks/ContentLayout/schema.js +7 -2
  476. package/build/esm/blocks/ContentLayout/schema.js.map +1 -1
  477. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +1 -1
  478. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js.map +1 -1
  479. package/build/esm/blocks/ExtendedFeatures/schema.js +7 -1
  480. package/build/esm/blocks/ExtendedFeatures/schema.js.map +1 -1
  481. package/build/esm/blocks/FilterBlock/schema.js +13 -3
  482. package/build/esm/blocks/FilterBlock/schema.js.map +1 -1
  483. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  484. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  485. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  486. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  487. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +100 -0
  488. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  489. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +18 -0
  490. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  491. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  492. package/build/esm/blocks/FoldableList/schema.js +35 -0
  493. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  494. package/build/esm/blocks/Form/Form.js +3 -4
  495. package/build/esm/blocks/Form/Form.js.map +1 -1
  496. package/build/esm/blocks/Form/schema.js +14 -6
  497. package/build/esm/blocks/Form/schema.js.map +1 -1
  498. package/build/esm/blocks/Header/Header.css +12 -1
  499. package/build/esm/blocks/Header/Header.js +15 -9
  500. package/build/esm/blocks/Header/Header.js.map +1 -1
  501. package/build/esm/blocks/Header/schema.d.ts +10 -0
  502. package/build/esm/blocks/Header/schema.js +14 -2
  503. package/build/esm/blocks/Header/schema.js.map +1 -1
  504. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +2 -4
  505. package/build/esm/blocks/HeaderSlider/HeaderSlider.js.map +1 -1
  506. package/build/esm/blocks/HeaderSlider/schema.d.ts +5 -0
  507. package/build/esm/blocks/HeaderSlider/schema.js +7 -4
  508. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  509. package/build/esm/blocks/Icons/Icons.js +2 -2
  510. package/build/esm/blocks/Icons/Icons.js.map +1 -1
  511. package/build/esm/blocks/Icons/schema.js +17 -6
  512. package/build/esm/blocks/Icons/schema.js.map +1 -1
  513. package/build/esm/blocks/Info/Info.js +8 -4
  514. package/build/esm/blocks/Info/Info.js.map +1 -1
  515. package/build/esm/blocks/Info/schema.js +14 -4
  516. package/build/esm/blocks/Info/schema.js.map +1 -1
  517. package/build/esm/blocks/Map/Map.js +2 -4
  518. package/build/esm/blocks/Map/Map.js.map +1 -1
  519. package/build/esm/blocks/Map/schema.js +4 -1
  520. package/build/esm/blocks/Map/schema.js.map +1 -1
  521. package/build/esm/blocks/Media/Media.js +1 -1
  522. package/build/esm/blocks/Media/Media.js.map +1 -1
  523. package/build/esm/blocks/Media/schema.js +24 -9
  524. package/build/esm/blocks/Media/schema.js.map +1 -1
  525. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +1 -1
  526. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js.map +1 -1
  527. package/build/esm/blocks/PromoFeaturesBlock/schema.js +8 -2
  528. package/build/esm/blocks/PromoFeaturesBlock/schema.js.map +1 -1
  529. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -1
  530. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js.map +1 -1
  531. package/build/esm/blocks/Questions/schema.js +6 -2
  532. package/build/esm/blocks/Questions/schema.js.map +1 -1
  533. package/build/esm/blocks/Share/Share.css +3 -2
  534. package/build/esm/blocks/Share/Share.js +3 -4
  535. package/build/esm/blocks/Share/Share.js.map +1 -1
  536. package/build/esm/blocks/Share/schema.js +7 -3
  537. package/build/esm/blocks/Share/schema.js.map +1 -1
  538. package/build/esm/blocks/Slider/Arrow/Arrow.css +13 -13
  539. package/build/esm/blocks/Slider/Arrow/Arrow.js +2 -2
  540. package/build/esm/blocks/Slider/Arrow/Arrow.js.map +1 -1
  541. package/build/esm/blocks/Slider/Slider.css +2 -2
  542. package/build/esm/blocks/Slider/Slider.d.ts +1 -1
  543. package/build/esm/blocks/Slider/Slider.js +7 -4
  544. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  545. package/build/esm/blocks/Slider/schema.js +6 -1
  546. package/build/esm/blocks/Slider/schema.js.map +1 -1
  547. package/build/esm/blocks/Slider/useSlider.d.ts +1 -1
  548. package/build/esm/blocks/Slider/useSlider.js +1 -3
  549. package/build/esm/blocks/Slider/useSlider.js.map +1 -1
  550. package/build/esm/blocks/Slider/useSliderPagination.d.ts +1 -1
  551. package/build/esm/blocks/Slider/utils.d.ts +1 -1
  552. package/build/esm/blocks/Slider/utils.js +6 -2
  553. package/build/esm/blocks/Slider/utils.js.map +1 -1
  554. package/build/esm/blocks/SliderOld/Arrow/Arrow.css +1 -1
  555. package/build/esm/blocks/SliderOld/SliderOld.js +17 -14
  556. package/build/esm/blocks/SliderOld/SliderOld.js.map +1 -1
  557. package/build/esm/blocks/SliderOld/schema.js +6 -1
  558. package/build/esm/blocks/SliderOld/schema.js.map +1 -1
  559. package/build/esm/blocks/SliderOld/utils.js +8 -5
  560. package/build/esm/blocks/SliderOld/utils.js.map +1 -1
  561. package/build/esm/blocks/Table/Table.js +1 -1
  562. package/build/esm/blocks/Table/Table.js.map +1 -1
  563. package/build/esm/blocks/Table/schema.js +22 -10
  564. package/build/esm/blocks/Table/schema.js.map +1 -1
  565. package/build/esm/blocks/Tabs/TabContent/TabContent.css +78 -0
  566. package/build/esm/blocks/Tabs/TabContent/TabContent.d.ts +13 -0
  567. package/build/esm/blocks/Tabs/TabContent/TabContent.js +66 -0
  568. package/build/esm/blocks/Tabs/TabContent/TabContent.js.map +1 -0
  569. package/build/esm/blocks/Tabs/Tabs.css +0 -72
  570. package/build/esm/blocks/Tabs/Tabs.js +13 -59
  571. package/build/esm/blocks/Tabs/Tabs.js.map +1 -1
  572. package/build/esm/blocks/Tabs/schema.js +24 -9
  573. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  574. package/build/esm/blocks/index.d.ts +1 -0
  575. package/build/esm/blocks/index.js +1 -0
  576. package/build/esm/blocks/index.js.map +1 -1
  577. package/build/esm/components/Author/Author.js +1 -1
  578. package/build/esm/components/Author/Author.js.map +1 -1
  579. package/build/esm/components/Author/schema.js +5 -1
  580. package/build/esm/components/Author/schema.js.map +1 -1
  581. package/build/esm/components/BackLink/BackLink.js +1 -1
  582. package/build/esm/components/BackLink/BackLink.js.map +1 -1
  583. package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
  584. package/build/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  585. package/build/esm/components/BackgroundMedia/BackgroundMedia.js +4 -5
  586. package/build/esm/components/BackgroundMedia/BackgroundMedia.js.map +1 -1
  587. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +1 -1
  588. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  589. package/build/esm/components/Button/Button.d.ts +1 -0
  590. package/build/esm/components/Button/Button.js +9 -6
  591. package/build/esm/components/Button/Button.js.map +1 -1
  592. package/build/esm/components/Button/utils.js +2 -2
  593. package/build/esm/components/Button/utils.js.map +1 -1
  594. package/build/esm/components/ButtonTabs/ButtonTabs.d.ts +2 -0
  595. package/build/esm/components/ButtonTabs/ButtonTabs.js +3 -2
  596. package/build/esm/components/ButtonTabs/ButtonTabs.js.map +1 -1
  597. package/build/esm/components/Buttons/Buttons.js +4 -1
  598. package/build/esm/components/Buttons/Buttons.js.map +1 -1
  599. package/build/esm/components/CardBase/CardBase.js +6 -2
  600. package/build/esm/components/CardBase/CardBase.js.map +1 -1
  601. package/build/esm/components/ContentList/ContentList.js +1 -1
  602. package/build/esm/components/ContentList/ContentList.js.map +1 -1
  603. package/build/esm/components/ContentList/ContentListItemIcon.js +1 -1
  604. package/build/esm/components/ContentList/ContentListItemIcon.js.map +1 -1
  605. package/build/esm/components/DefaultVideo/DefaultVideo.js +3 -4
  606. package/build/esm/components/DefaultVideo/DefaultVideo.js.map +1 -1
  607. package/build/esm/components/FileLink/FileLink.js +2 -2
  608. package/build/esm/components/FileLink/FileLink.js.map +1 -1
  609. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +12 -17
  610. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  611. package/build/esm/components/FullscreenImage/FullscreenImage.css +3 -0
  612. package/build/esm/components/FullscreenImage/FullscreenImage.js +1 -1
  613. package/build/esm/components/FullscreenImage/FullscreenImage.js.map +1 -1
  614. package/build/esm/components/FullscreenMedia/FullscreenMedia.css +1 -3
  615. package/build/esm/components/HTML/HTML.js +7 -4
  616. package/build/esm/components/HTML/HTML.js.map +1 -1
  617. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  618. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  619. package/build/esm/components/IconWrapper/IconWrapper.js +2 -2
  620. package/build/esm/components/IconWrapper/IconWrapper.js.map +1 -1
  621. package/build/esm/components/Image/Image.d.ts +4 -2
  622. package/build/esm/components/Image/Image.js +21 -8
  623. package/build/esm/components/Image/Image.js.map +1 -1
  624. package/build/esm/components/Image/schema.d.ts +95 -0
  625. package/build/esm/components/Image/schema.js +55 -12
  626. package/build/esm/components/Image/schema.js.map +1 -1
  627. package/build/esm/components/ImageBase/ImageBase.js +3 -5
  628. package/build/esm/components/ImageBase/ImageBase.js.map +1 -1
  629. package/build/esm/components/InnerForm/InnerForm.js +5 -6
  630. package/build/esm/components/InnerForm/InnerForm.js.map +1 -1
  631. package/build/esm/components/Link/Link.js +1 -1
  632. package/build/esm/components/Link/Link.js.map +1 -1
  633. package/build/esm/components/Links/Links.js +4 -1
  634. package/build/esm/components/Links/Links.js.map +1 -1
  635. package/build/esm/components/Map/Map.js +2 -2
  636. package/build/esm/components/Map/Map.js.map +1 -1
  637. package/build/esm/components/Map/YMap/YMap.js +6 -5
  638. package/build/esm/components/Map/YMap/YMap.js.map +1 -1
  639. package/build/esm/components/Map/YMap/YandexMap.js +1 -2
  640. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  641. package/build/esm/components/Map/YMap/YandexMapApiLoader.js +2 -1
  642. package/build/esm/components/Map/YMap/YandexMapApiLoader.js.map +1 -1
  643. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +1 -1
  644. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js.map +1 -1
  645. package/build/esm/components/Media/Image/Image.js +3 -3
  646. package/build/esm/components/Media/Image/Image.js.map +1 -1
  647. package/build/esm/components/Media/Media.js +13 -5
  648. package/build/esm/components/Media/Media.js.map +1 -1
  649. package/build/esm/components/MediaBase/MediaBase.js +3 -4
  650. package/build/esm/components/MediaBase/MediaBase.js.map +1 -1
  651. package/build/esm/components/MediaBase/MediaBaseContent.js +1 -1
  652. package/build/esm/components/MediaBase/MediaBaseContent.js.map +1 -1
  653. package/build/esm/components/OutsideClick/OutsideClick.js +9 -12
  654. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  655. package/build/esm/components/OverflowScroller/OverflowScroller.js +46 -49
  656. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  657. package/build/esm/components/ReactPlayer/ReactPlayer.js +14 -13
  658. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  659. package/build/esm/components/ReactPlayer/utils.js +1 -2
  660. package/build/esm/components/ReactPlayer/utils.js.map +1 -1
  661. package/build/esm/components/Title/Title.js +2 -3
  662. package/build/esm/components/Title/Title.js.map +1 -1
  663. package/build/esm/components/Title/TitleItem.css +1 -0
  664. package/build/esm/components/Title/TitleItem.js +1 -1
  665. package/build/esm/components/Title/TitleItem.js.map +1 -1
  666. package/build/esm/components/VideoBlock/VideoBlock.js +7 -4
  667. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  668. package/build/esm/components/YFMWrapper/YFMWrapper.js +3 -5
  669. package/build/esm/components/YFMWrapper/YFMWrapper.js.map +1 -1
  670. package/build/esm/components/YandexForm/YandexForm.js +21 -6
  671. package/build/esm/components/YandexForm/YandexForm.js.map +1 -1
  672. package/build/esm/components/YandexForm/schema.js +7 -3
  673. package/build/esm/components/YandexForm/schema.js.map +1 -1
  674. package/build/esm/constructor-items.d.ts +1 -0
  675. package/build/esm/constructor-items.js +2 -1
  676. package/build/esm/constructor-items.js.map +1 -1
  677. package/build/esm/containers/Loadable/Loadable.js +4 -4
  678. package/build/esm/containers/Loadable/Loadable.js.map +1 -1
  679. package/build/esm/containers/PageConstructor/PageConstructor.js +14 -8
  680. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  681. package/build/esm/containers/PageConstructor/Provider.js +1 -1
  682. package/build/esm/containers/PageConstructor/Provider.js.map +1 -1
  683. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  684. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  685. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +2 -3
  686. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js.map +1 -1
  687. package/build/esm/context/projectSettingsContext/ProjectSettingsContext.d.ts +2 -0
  688. package/build/esm/context/projectSettingsContext/ProjectSettingsContext.js.map +1 -1
  689. package/build/esm/context/theme/withTheme.js +7 -9
  690. package/build/esm/context/theme/withTheme.js.map +1 -1
  691. package/build/esm/customization/BlockDecoration.js +3 -6
  692. package/build/esm/customization/BlockDecoration.js.map +1 -1
  693. package/build/esm/editor/components/AddBlock/AddBlock.js +6 -8
  694. package/build/esm/editor/components/AddBlock/AddBlock.js.map +1 -1
  695. package/build/esm/editor/components/BlockForm/BlockForm.js +9 -5
  696. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  697. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js +4 -5
  698. package/build/esm/editor/components/DeviceEmulation/DeviceEmulationMobile/DeviceEmulationMobile.js.map +1 -1
  699. package/build/esm/editor/components/EditBlock/EditBlock.js +2 -2
  700. package/build/esm/editor/components/EditBlock/EditBlock.js.map +1 -1
  701. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +2 -5
  702. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  703. package/build/esm/editor/components/Layout/Layout.js +3 -3
  704. package/build/esm/editor/components/Layout/Layout.js.map +1 -1
  705. package/build/esm/editor/components/PageSettings/PageSettings.js +2 -3
  706. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  707. package/build/esm/editor/containers/Editor/Editor.js +1 -1
  708. package/build/esm/editor/containers/Editor/Editor.js.map +1 -1
  709. package/build/esm/editor/containers/Editor/hooks/useCode.js +2 -4
  710. package/build/esm/editor/containers/Editor/hooks/useCode.js.map +1 -1
  711. package/build/esm/editor/containers/Editor/hooks/useEditorState.js +10 -8
  712. package/build/esm/editor/containers/Editor/hooks/useEditorState.js.map +1 -1
  713. package/build/esm/editor/containers/Form/Form.js +5 -2
  714. package/build/esm/editor/containers/Form/Form.js.map +1 -1
  715. package/build/esm/editor/data/index.js +5 -2
  716. package/build/esm/editor/data/index.js.map +1 -1
  717. package/build/esm/editor/data/previews/default-preview.js +1 -1
  718. package/build/esm/editor/data/previews/default-preview.js.map +1 -1
  719. package/build/esm/editor/data/previews/header-block.js +1 -1
  720. package/build/esm/editor/data/previews/header-block.js.map +1 -1
  721. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +15 -13
  722. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  723. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +8 -10
  724. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  725. package/build/esm/editor/dynamic-forms-custom/parser/index.js +150 -120
  726. package/build/esm/editor/dynamic-forms-custom/parser/index.js.map +1 -1
  727. package/build/esm/editor/dynamic-forms-custom/parser/views.js +2 -4
  728. package/build/esm/editor/dynamic-forms-custom/parser/views.js.map +1 -1
  729. package/build/esm/editor/icons/Tablet.js +1 -1
  730. package/build/esm/editor/icons/Tablet.js.map +1 -1
  731. package/build/esm/editor/store/main/index.js +7 -5
  732. package/build/esm/editor/store/main/index.js.map +1 -1
  733. package/build/esm/editor/store/main/reducer.js +17 -3
  734. package/build/esm/editor/store/main/reducer.js.map +1 -1
  735. package/build/esm/editor/store/main/utils.js +1 -1
  736. package/build/esm/editor/store/main/utils.js.map +1 -1
  737. package/build/esm/editor/store/settings/reducer.js +16 -4
  738. package/build/esm/editor/store/settings/reducer.js.map +1 -1
  739. package/build/esm/editor/utils/code.js +4 -2
  740. package/build/esm/editor/utils/code.js.map +1 -1
  741. package/build/esm/editor/utils/index.js +7 -1
  742. package/build/esm/editor/utils/index.js.map +1 -1
  743. package/build/esm/editor/widget/index.js +8 -8
  744. package/build/esm/editor/widget/index.js.map +1 -1
  745. package/build/esm/editor/widget/utils.js +1 -1
  746. package/build/esm/editor/widget/utils.js.map +1 -1
  747. package/build/esm/grid/Col/Col.d.ts +3 -2
  748. package/build/esm/grid/Col/Col.js +2 -3
  749. package/build/esm/grid/Col/Col.js.map +1 -1
  750. package/build/esm/grid/Row/Row.d.ts +4 -3
  751. package/build/esm/grid/Row/Row.js +2 -2
  752. package/build/esm/grid/Row/Row.js.map +1 -1
  753. package/build/esm/hooks/useAnalytics.js +4 -1
  754. package/build/esm/hooks/useAnalytics.js.map +1 -1
  755. package/build/esm/icons/BrandIconDark.js +1 -1
  756. package/build/esm/icons/BrandIconDark.js.map +1 -1
  757. package/build/esm/icons/BrandIconLight.js +1 -1
  758. package/build/esm/icons/BrandIconLight.js.map +1 -1
  759. package/build/esm/icons/BrandName.js +1 -1
  760. package/build/esm/icons/BrandName.js.map +1 -1
  761. package/build/esm/icons/Chevron.js +1 -1
  762. package/build/esm/icons/Chevron.js.map +1 -1
  763. package/build/esm/icons/Facebook.js +1 -1
  764. package/build/esm/icons/Facebook.js.map +1 -1
  765. package/build/esm/icons/Github.js +1 -1
  766. package/build/esm/icons/Github.js.map +1 -1
  767. package/build/esm/icons/Linkedin.js +1 -1
  768. package/build/esm/icons/Linkedin.js.map +1 -1
  769. package/build/esm/icons/NavigationArrow.js +1 -1
  770. package/build/esm/icons/NavigationArrow.js.map +1 -1
  771. package/build/esm/icons/NavigationChevron.js +1 -1
  772. package/build/esm/icons/NavigationChevron.js.map +1 -1
  773. package/build/esm/icons/Telegram.js +1 -1
  774. package/build/esm/icons/Telegram.js.map +1 -1
  775. package/build/esm/icons/Twitter.js +1 -1
  776. package/build/esm/icons/Twitter.js.map +1 -1
  777. package/build/esm/icons/Vk.js +1 -1
  778. package/build/esm/icons/Vk.js.map +1 -1
  779. package/build/esm/internal-typings/global.d.ts +1 -0
  780. package/build/esm/models/constructor-items/blocks.d.ts +21 -3
  781. package/build/esm/models/constructor-items/blocks.js +1 -0
  782. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  783. package/build/esm/models/constructor-items/common.d.ts +16 -6
  784. package/build/esm/models/constructor-items/common.js +7 -0
  785. package/build/esm/models/constructor-items/common.js.map +1 -1
  786. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -1
  787. package/build/esm/models/constructor-items/sub-blocks.js.map +1 -1
  788. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js +1 -1
  789. package/build/esm/navigation/components/DesktopNavigation/DesktopNavigation.js.map +1 -1
  790. package/build/esm/navigation/components/Logo/Logo.js +4 -6
  791. package/build/esm/navigation/components/Logo/Logo.js.map +1 -1
  792. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js +2 -4
  793. package/build/esm/navigation/components/MobileNavigation/MobileNavigation.js.map +1 -1
  794. package/build/esm/navigation/components/Navigation/Navigation.d.ts +1 -0
  795. package/build/esm/navigation/components/Navigation/Navigation.js +2 -2
  796. package/build/esm/navigation/components/Navigation/Navigation.js.map +1 -1
  797. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +7 -6
  798. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  799. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js +1 -1
  800. package/build/esm/navigation/components/NavigationItem/components/ContentWrapper/ContentWrapper.js.map +1 -1
  801. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +3 -4
  802. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js.map +1 -1
  803. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +1 -1
  804. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js.map +1 -1
  805. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js +2 -4
  806. package/build/esm/navigation/components/NavigationItem/components/NavigationDropdown/NavigationDropdown.js.map +1 -1
  807. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js +4 -5
  808. package/build/esm/navigation/components/NavigationItem/components/NavigationLink/NavigationLink.js.map +1 -1
  809. package/build/esm/navigation/components/NavigationList/NavigationList.js +1 -5
  810. package/build/esm/navigation/components/NavigationList/NavigationList.js.map +1 -1
  811. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js +2 -4
  812. package/build/esm/navigation/components/NavigationListItem/NavigationListItem.js.map +1 -1
  813. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.css +2 -0
  814. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js +13 -5
  815. package/build/esm/navigation/components/NavigationPopup/NavigationPopup.js.map +1 -1
  816. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +1 -1
  817. package/build/esm/navigation/components/SocialIcon/SocialIcon.js.map +1 -1
  818. package/build/esm/navigation/components/Standalone/index.js +1 -1
  819. package/build/esm/navigation/components/Standalone/index.js.map +1 -1
  820. package/build/esm/navigation/hooks/useActiveNavItem.js +1 -1
  821. package/build/esm/navigation/hooks/useActiveNavItem.js.map +1 -1
  822. package/build/esm/navigation/models.d.ts +1 -0
  823. package/build/esm/navigation/models.js.map +1 -1
  824. package/build/esm/navigation/schema.js +19 -6
  825. package/build/esm/navigation/schema.js.map +1 -1
  826. package/build/esm/navigation/utils.js +1 -1
  827. package/build/esm/navigation/utils.js.map +1 -1
  828. package/build/esm/schema/constants.d.ts +19 -0
  829. package/build/esm/schema/constants.js +35 -3
  830. package/build/esm/schema/constants.js.map +1 -1
  831. package/build/esm/schema/index.js +23 -6
  832. package/build/esm/schema/index.js.map +1 -1
  833. package/build/esm/schema/validators/blocks.d.ts +2 -0
  834. package/build/esm/schema/validators/blocks.js +2 -0
  835. package/build/esm/schema/validators/blocks.js.map +1 -1
  836. package/build/esm/schema/validators/common.js +77 -31
  837. package/build/esm/schema/validators/common.js.map +1 -1
  838. package/build/esm/schema/validators/utils.js +9 -2
  839. package/build/esm/schema/validators/utils.js.map +1 -1
  840. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js +1 -1
  841. package/build/esm/sub-blocks/BackgroundCard/BackgroundCard.js.map +1 -1
  842. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +19 -0
  843. package/build/esm/sub-blocks/BackgroundCard/schema.js +23 -8
  844. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  845. package/build/esm/sub-blocks/BannerCard/BannerCard.js +1 -1
  846. package/build/esm/sub-blocks/BannerCard/BannerCard.js.map +1 -1
  847. package/build/esm/sub-blocks/BasicCard/BasicCard.js +2 -3
  848. package/build/esm/sub-blocks/BasicCard/BasicCard.js.map +1 -1
  849. package/build/esm/sub-blocks/BasicCard/schema.js +17 -6
  850. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  851. package/build/esm/sub-blocks/Content/Content.js +1 -1
  852. package/build/esm/sub-blocks/Content/Content.js.map +1 -1
  853. package/build/esm/sub-blocks/Content/schema.js +10 -3
  854. package/build/esm/sub-blocks/Content/schema.js.map +1 -1
  855. package/build/esm/sub-blocks/Divider/schema.js +6 -2
  856. package/build/esm/sub-blocks/Divider/schema.js.map +1 -1
  857. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  858. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  859. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  860. package/build/esm/sub-blocks/HubspotForm/index.js +5 -5
  861. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  862. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js +1 -2
  863. package/build/esm/sub-blocks/HubspotForm/loadHubspotScript.js.map +1 -1
  864. package/build/esm/sub-blocks/HubspotForm/schema.js +11 -5
  865. package/build/esm/sub-blocks/HubspotForm/schema.js.map +1 -1
  866. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  867. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js +47 -0
  868. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  869. package/build/esm/sub-blocks/ImageCard/ImageCard.js +1 -1
  870. package/build/esm/sub-blocks/ImageCard/ImageCard.js.map +1 -1
  871. package/build/esm/sub-blocks/ImageCard/schema.js +17 -6
  872. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  873. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +11 -10
  874. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js.map +1 -1
  875. package/build/esm/sub-blocks/LayoutItem/schema.js +19 -6
  876. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  877. package/build/esm/sub-blocks/LayoutItem/utils.js +4 -1
  878. package/build/esm/sub-blocks/LayoutItem/utils.js.map +1 -1
  879. package/build/esm/sub-blocks/MediaCard/MediaCard.js +1 -5
  880. package/build/esm/sub-blocks/MediaCard/MediaCard.js.map +1 -1
  881. package/build/esm/sub-blocks/MediaCard/schema.js +12 -3
  882. package/build/esm/sub-blocks/MediaCard/schema.js.map +1 -1
  883. package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
  884. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  885. package/build/esm/sub-blocks/PriceCard/schema.js +25 -11
  886. package/build/esm/sub-blocks/PriceCard/schema.js.map +1 -1
  887. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +1 -2
  888. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js.map +1 -1
  889. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  890. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js.map +1 -1
  891. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +1 -5
  892. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js.map +1 -1
  893. package/build/esm/sub-blocks/PriceDetailed/schema.js +44 -12
  894. package/build/esm/sub-blocks/PriceDetailed/schema.js.map +1 -1
  895. package/build/esm/sub-blocks/Quote/Quote.js +6 -3
  896. package/build/esm/sub-blocks/Quote/Quote.js.map +1 -1
  897. package/build/esm/sub-blocks/Quote/schema.js +21 -8
  898. package/build/esm/sub-blocks/Quote/schema.js.map +1 -1
  899. package/build/esm/text-transform/common.js +30 -21
  900. package/build/esm/text-transform/common.js.map +1 -1
  901. package/build/esm/text-transform/config.js +59 -25
  902. package/build/esm/text-transform/config.js.map +1 -1
  903. package/build/esm/text-transform/filter.js +4 -1
  904. package/build/esm/text-transform/filter.js.map +1 -1
  905. package/build/esm/text-transform/transformers.js +1 -1
  906. package/build/esm/text-transform/transformers.js.map +1 -1
  907. package/build/esm/text-transform/utils.js +11 -6
  908. package/build/esm/text-transform/utils.js.map +1 -1
  909. package/build/esm/utils/analytics.js +2 -3
  910. package/build/esm/utils/analytics.js.map +1 -1
  911. package/build/esm/utils/common.js +1 -2
  912. package/build/esm/utils/common.js.map +1 -1
  913. package/build/esm/utils/hubspot.d.ts +1 -0
  914. package/build/esm/utils/hubspot.js +6 -7
  915. package/build/esm/utils/hubspot.js.map +1 -1
  916. package/build/esm/utils/microdata.js +1 -1
  917. package/build/esm/utils/microdata.js.map +1 -1
  918. package/build/esm/utils/url.js +10 -5
  919. package/build/esm/utils/url.js.map +1 -1
  920. package/package.json +19 -21
  921. package/schema/index.js +1 -1
  922. package/server/models/constructor-items/blocks.d.ts +21 -3
  923. package/server/models/constructor-items/blocks.js +1 -0
  924. package/server/models/constructor-items/common.d.ts +16 -6
  925. package/server/models/constructor-items/common.js +8 -1
  926. package/server/models/constructor-items/sub-blocks.d.ts +2 -1
  927. package/server/text-transform/config.js +25 -1
  928. package/server/text-transform/utils.js +4 -1
  929. package/server/utils/hubspot.d.ts +1 -0
  930. package/widget/{5287.index.js → 1092.index.js} +1 -1
  931. package/widget/{8092.index.js → 1130.index.js} +1 -1
  932. package/widget/1219.index.js +1 -0
  933. package/widget/{2390.index.js → 122.index.js} +1 -1
  934. package/widget/{6817.index.js → 1289.index.js} +1 -1
  935. package/widget/{2921.index.js → 1335.index.js} +1 -1
  936. package/widget/{1876.index.js → 1340.index.js} +1 -1
  937. package/widget/{3901.index.js → 1349.index.js} +1 -1
  938. package/widget/1532.index.js +1 -0
  939. package/widget/{2957.index.js → 1750.index.js} +1 -1
  940. package/widget/{5105.index.js → 1995.index.js} +1 -1
  941. package/widget/{5418.index.js → 2010.index.js} +1 -1
  942. package/widget/{9517.index.js → 2026.index.js} +1 -1
  943. package/widget/2042.index.js +1 -0
  944. package/widget/{1794.index.js → 2187.index.js} +1 -1
  945. package/widget/{7548.index.js → 2218.index.js} +1 -1
  946. package/widget/225.index.js +1 -0
  947. package/widget/2338.index.js +1 -0
  948. package/widget/{4653.index.js → 2355.index.js} +1 -1
  949. package/widget/{5001.index.js → 2369.index.js} +1 -1
  950. package/widget/{4127.index.js → 2487.index.js} +1 -1
  951. package/widget/{6165.index.js → 2498.index.js} +1 -1
  952. package/widget/{5254.index.js → 2509.index.js} +1 -1
  953. package/widget/2544.index.js +1 -1
  954. package/widget/2619.index.js +1 -0
  955. package/widget/{5941.index.js → 2673.index.js} +1 -1
  956. package/widget/{4717.index.js → 2698.index.js} +1 -1
  957. package/widget/{7427.index.js → 2706.index.js} +1 -1
  958. package/widget/2723.index.js +1 -0
  959. package/widget/{8602.index.js → 2739.index.js} +1 -1
  960. package/widget/2745.index.js +1 -0
  961. package/widget/2796.index.js +1 -0
  962. package/widget/{7573.index.js → 2830.index.js} +1 -1
  963. package/widget/{3237.index.js → 2878.index.js} +1 -1
  964. package/widget/292.index.js +1 -0
  965. package/widget/2979.index.js +1 -0
  966. package/widget/3187.index.js +1 -0
  967. package/widget/321.index.js +1 -0
  968. package/widget/{5437.index.js → 3222.index.js} +1 -1
  969. package/widget/{1987.index.js → 3225.index.js} +1 -1
  970. package/widget/{7719.index.js → 3309.index.js} +1 -1
  971. package/widget/3392.index.js +1 -0
  972. package/widget/{4254.index.js → 3433.index.js} +1 -1
  973. package/widget/{2722.index.js → 3473.index.js} +1 -1
  974. package/widget/3532.index.js +1 -0
  975. package/widget/3562.index.js +1 -0
  976. package/widget/{6148.index.js → 3672.index.js} +1 -1
  977. package/widget/{4990.index.js → 3713.index.js} +1 -1
  978. package/widget/{8894.index.js → 3860.index.js} +1 -1
  979. package/widget/{5551.index.js → 3900.index.js} +1 -1
  980. package/widget/{6629.index.js → 4007.index.js} +1 -1
  981. package/widget/{7467.index.js → 4061.index.js} +1 -1
  982. package/widget/{5423.index.js → 4072.index.js} +1 -1
  983. package/widget/{4144.index.js → 4173.index.js} +1 -1
  984. package/widget/4288.index.js +1 -0
  985. package/widget/{8242.index.js → 4309.index.js} +1 -1
  986. package/widget/{8146.index.js → 4334.index.js} +1 -1
  987. package/widget/{9339.index.js → 4405.index.js} +1 -1
  988. package/widget/4457.index.js +1 -0
  989. package/widget/{8768.index.js → 4485.index.js} +1 -1
  990. package/widget/4509.index.js +1 -0
  991. package/widget/{4067.index.js → 4608.index.js} +1 -1
  992. package/widget/465.index.js +1 -0
  993. package/widget/{7118.index.js → 4719.index.js} +1 -1
  994. package/widget/4734.index.js +1 -0
  995. package/widget/4780.index.js +1 -0
  996. package/widget/4895.index.js +1 -0
  997. package/widget/{790.index.js → 494.index.js} +1 -1
  998. package/widget/5012.index.js +1 -0
  999. package/widget/{4722.index.js → 5084.index.js} +1 -1
  1000. package/widget/5285.index.js +1 -0
  1001. package/widget/5376.index.js +1 -0
  1002. package/widget/539.index.js +1 -0
  1003. package/widget/5414.index.js +1 -0
  1004. package/widget/{8980.index.js → 5513.index.js} +1 -1
  1005. package/widget/5530.index.js +1 -0
  1006. package/widget/5571.index.js +1 -0
  1007. package/widget/{8540.index.js → 5592.index.js} +1 -1
  1008. package/widget/5616.index.js +1 -0
  1009. package/widget/{5903.index.js → 5662.index.js} +1 -1
  1010. package/widget/{7109.index.js → 5665.index.js} +1 -1
  1011. package/widget/{8792.index.js → 5681.index.js} +1 -1
  1012. package/widget/5760.index.js +1 -0
  1013. package/widget/{6257.index.js → 5811.index.js} +1 -1
  1014. package/widget/{5054.index.js → 5826.index.js} +1 -1
  1015. package/widget/{1560.index.js → 5877.index.js} +1 -1
  1016. package/widget/{9149.index.js → 5944.index.js} +1 -1
  1017. package/widget/{8341.index.js → 5977.index.js} +1 -1
  1018. package/widget/{3646.index.js → 5993.index.js} +1 -1
  1019. package/widget/{2009.index.js → 6007.index.js} +1 -1
  1020. package/widget/{3852.index.js → 6033.index.js} +1 -1
  1021. package/widget/{5567.index.js → 6101.index.js} +1 -1
  1022. package/widget/6173.index.js +1 -0
  1023. package/widget/623.index.js +1 -0
  1024. package/widget/{7989.index.js → 6290.index.js} +1 -1
  1025. package/widget/6328.index.js +1 -0
  1026. package/widget/6353.index.js +1 -0
  1027. package/widget/6364.index.js +1 -0
  1028. package/widget/{7387.index.js → 6400.index.js} +1 -1
  1029. package/widget/{5473.index.js → 6462.index.js} +1 -1
  1030. package/widget/6463.index.js +1 -0
  1031. package/widget/6467.index.js +1 -0
  1032. package/widget/{6622.index.js → 6481.index.js} +1 -1
  1033. package/widget/{4888.index.js → 6605.index.js} +1 -1
  1034. package/widget/{2966.index.js → 6803.index.js} +1 -1
  1035. package/widget/{5627.index.js → 6847.index.js} +1 -1
  1036. package/widget/6887.index.js +1 -0
  1037. package/widget/{2019.index.js → 7081.index.js} +1 -1
  1038. package/widget/7205.index.js +1 -0
  1039. package/widget/{5596.index.js → 7250.index.js} +1 -1
  1040. package/widget/{7763.index.js → 7317.index.js} +1 -1
  1041. package/widget/7329.index.js +1 -0
  1042. package/widget/{5159.index.js → 7406.index.js} +1 -1
  1043. package/widget/{7632.index.js → 7409.index.js} +1 -1
  1044. package/widget/{3783.index.js → 7420.index.js} +1 -1
  1045. package/widget/{7101.index.js → 7439.index.js} +1 -1
  1046. package/widget/7458.index.js +1 -0
  1047. package/widget/7570.index.js +1 -0
  1048. package/widget/7627.index.js +1 -0
  1049. package/widget/{9197.index.js → 7674.index.js} +1 -1
  1050. package/widget/{5805.index.js → 7690.index.js} +1 -1
  1051. package/widget/{2641.index.js → 7741.index.js} +1 -1
  1052. package/widget/{4724.index.js → 7933.index.js} +1 -1
  1053. package/widget/{9132.index.js → 8003.index.js} +1 -1
  1054. package/widget/813.index.js +1 -0
  1055. package/widget/{6513.index.js → 8142.index.js} +1 -1
  1056. package/widget/{8562.index.js → 8298.index.js} +1 -1
  1057. package/widget/{7200.index.js → 8361.index.js} +1 -1
  1058. package/widget/{4855.index.js → 8418.index.js} +1 -1
  1059. package/widget/8446.index.js +1 -0
  1060. package/widget/860.index.js +1 -0
  1061. package/widget/{1796.index.js → 8615.index.js} +1 -1
  1062. package/widget/{6312.index.js → 8660.index.js} +1 -1
  1063. package/widget/880.index.js +1 -0
  1064. package/widget/8804.index.js +1 -0
  1065. package/widget/8809.index.js +1 -0
  1066. package/widget/{9157.index.js → 8928.index.js} +1 -1
  1067. package/widget/912.index.js +1 -0
  1068. package/widget/9160.index.js +1 -0
  1069. package/widget/{5914.index.js → 9252.index.js} +1 -1
  1070. package/widget/{3706.index.js → 9286.index.js} +1 -1
  1071. package/widget/{2502.index.js → 9294.index.js} +1 -1
  1072. package/widget/9340.index.js +1 -0
  1073. package/widget/{9182.index.js → 9423.index.js} +1 -1
  1074. package/widget/{8477.index.js → 9464.index.js} +1 -1
  1075. package/widget/950.index.js +1 -0
  1076. package/widget/952.index.js +1 -0
  1077. package/widget/9677.index.js +1 -0
  1078. package/widget/9751.index.js +1 -0
  1079. package/widget/{3220.index.js → 9836.index.js} +1 -1
  1080. package/widget/{2376.index.js → 9865.index.js} +1 -1
  1081. package/widget/{5109.index.js → 9881.index.js} +1 -1
  1082. package/widget/9911.index.js +1 -1
  1083. package/widget/{7822.index.js → 9964.index.js} +1 -1
  1084. package/widget/9979.index.js +1 -0
  1085. package/widget/{9091.index.js → 9990.index.js} +1 -1
  1086. package/widget/9998.index.js +1 -0
  1087. package/widget/index.js +1 -1
  1088. package/widget/1113.index.js +0 -1
  1089. package/widget/123.index.js +0 -1
  1090. package/widget/1573.index.js +0 -1
  1091. package/widget/2030.index.js +0 -1
  1092. package/widget/229.index.js +0 -1
  1093. package/widget/261.index.js +0 -1
  1094. package/widget/302.index.js +0 -1
  1095. package/widget/3035.index.js +0 -1
  1096. package/widget/313.index.js +0 -1
  1097. package/widget/3521.index.js +0 -1
  1098. package/widget/3864.index.js +0 -1
  1099. package/widget/3939.index.js +0 -1
  1100. package/widget/4017.index.js +0 -1
  1101. package/widget/4149.index.js +0 -1
  1102. package/widget/4502.index.js +0 -1
  1103. package/widget/466.index.js +0 -1
  1104. package/widget/504.index.js +0 -1
  1105. package/widget/5321.index.js +0 -1
  1106. package/widget/5742.index.js +0 -1
  1107. package/widget/5817.index.js +0 -1
  1108. package/widget/600.index.js +0 -1
  1109. package/widget/6023.index.js +0 -1
  1110. package/widget/6159.index.js +0 -1
  1111. package/widget/617.index.js +0 -1
  1112. package/widget/6183.index.js +0 -1
  1113. package/widget/6509.index.js +0 -1
  1114. package/widget/6636.index.js +0 -1
  1115. package/widget/6831.index.js +0 -1
  1116. package/widget/6953.index.js +0 -1
  1117. package/widget/7296.index.js +0 -1
  1118. package/widget/7486.index.js +0 -1
  1119. package/widget/7496.index.js +0 -1
  1120. package/widget/7553.index.js +0 -1
  1121. package/widget/758.index.js +0 -1
  1122. package/widget/772.index.js +0 -1
  1123. package/widget/7797.index.js +0 -1
  1124. package/widget/8066.index.js +0 -1
  1125. package/widget/8507.index.js +0 -1
  1126. package/widget/8529.index.js +0 -1
  1127. package/widget/8727.index.js +0 -1
  1128. package/widget/8864.index.js +0 -1
  1129. package/widget/8889.index.js +0 -1
  1130. package/widget/953.index.js +0 -1
  1131. package/widget/9670.index.js +0 -1
  1132. package/widget/9682.index.js +0 -1
  1133. package/widget/9928.index.js +0 -1
@@ -1,125 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  /* eslint-disable no-param-reassign */
5
4
  /* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */
6
5
  const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
7
6
  const detect_1 = require("./detect.js");
8
7
  const views_1 = require("./views.js");
9
8
  class FormSpecParser {
10
- constructor() {
11
- this.schema = {};
12
- this.definitions = {};
13
- this.getChildrenSpec = (data) => {
14
- var _a, _b, _c;
15
- const childrenType = (_c = (_b = (_a = data.items) === null || _a === void 0 ? void 0 : _a.$ref) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop();
16
- return this.definitions[childrenType];
17
- };
18
- this.getRequiredProperties = (data) => Array.isArray(data.required) ? data.required : [];
19
- this.childrenParser = ({ data, name, required }) => {
20
- const childSpec = this.getChildrenSpec(data);
21
- const properties = childSpec &&
22
- Object.entries(childSpec).reduce((parsedChildSpecProperties, [childName, childSchema]) => {
23
- const childRequiredProperties = this.getRequiredProperties(childSchema);
24
- const childProperies = childSchema.properties &&
25
- Object.entries(childSchema.properties).reduce((parsedChildProperties, [childPropertyName, childPropertyData]) => {
26
- parsedChildProperties[childPropertyName] = this.parseSchemaProperty({
27
- data: childPropertyData,
28
- name: childPropertyName,
29
- required: childRequiredProperties.includes(childPropertyName),
30
- });
31
- return parsedChildProperties;
32
- }, {});
33
- const childJsonSchema = Object.assign(Object.assign({}, childSchema), { properties: Object.assign(Object.assign({}, childSchema.properties), { type: {
34
- type: dynamic_forms_1.SpecTypes.String,
35
- enum: [childName],
36
- } }) });
37
- parsedChildSpecProperties[childName] = {
38
- type: dynamic_forms_1.SpecTypes.Array,
39
- items: Object.assign(Object.assign({}, childSchema), { type: dynamic_forms_1.SpecTypes.Object, properties: Object.assign(Object.assign({}, childProperies), { type: {
40
- type: dynamic_forms_1.SpecTypes.String,
41
- defaultValue: childName,
42
- viewSpec: {
43
- type: 'hidden',
44
- },
45
- } }), viewSpec: childProperies &&
46
- (0, views_1.getObjectViewSpec)({
47
- properties: childProperies,
48
- layoutTitle: childName,
49
- }), __schema: childJsonSchema }),
50
- required: false,
51
- viewSpec: (0, views_1.getArrayViewSpec)({ layoutTitle: childName }),
52
- __schema: {
53
- type: dynamic_forms_1.SpecTypes.Array,
54
- items: childJsonSchema,
55
- },
56
- };
57
- return parsedChildSpecProperties;
58
- }, {});
59
- return {
60
- type: dynamic_forms_1.SpecTypes.Object,
61
- properties,
62
- viewSpec: {
63
- type: 'oneof_custom',
64
- layout: 'row',
65
- layoutTitle: name,
66
- oneOfParams: {
67
- toggler: 'select',
68
- },
69
- },
70
- required,
71
- };
72
- };
73
- this.oneOfParser = ({ data, name, required }) => {
74
- const requiredProperties = this.getRequiredProperties(data);
75
- const properties = data.oneOf &&
76
- data.oneOf.reduce((result, propertyData, index) => {
77
- const propertyName = (propertyData === null || propertyData === void 0 ? void 0 : propertyData.optionName)
78
- ? propertyData === null || propertyData === void 0 ? void 0 : propertyData.optionName
79
- : `${name}_${index}`;
80
- result[propertyName] = this.parseSchemaProperty({
81
- data: propertyData,
82
- name: propertyName,
83
- required: requiredProperties.includes(propertyName),
84
- });
85
- return result;
86
- }, {});
87
- return {
88
- type: dynamic_forms_1.SpecTypes.Object,
89
- properties,
90
- required,
91
- viewSpec: (0, views_1.getOneOfViewSpec)({ layoutTitle: name }),
92
- };
93
- };
94
- this.arrayParser = ({ data, name }) => {
95
- const items = data.items && this.parseSchemaProperty({ data: data.items, name });
96
- return Object.assign(Object.assign({}, data), { type: dynamic_forms_1.SpecTypes.Array, items, viewSpec: (0, views_1.getArrayViewSpec)({ layoutTitle: name }) });
97
- };
98
- this.objectParser = ({ data, name, required }) => {
99
- const requiredProperties = this.getRequiredProperties(data);
100
- const properties = data.properties &&
101
- Object.entries(data.properties).reduce((result, [propertyName, propertyData]) => {
102
- result[propertyName] = this.parseSchemaProperty({
103
- data: propertyData,
104
- name: propertyName,
105
- required: requiredProperties.includes(propertyName),
106
- });
107
- return result;
108
- }, {});
109
- return Object.assign(Object.assign({}, data), { type: dynamic_forms_1.SpecTypes.Object, properties, viewSpec: (0, views_1.getObjectViewSpec)({ properties, layoutTitle: name }), required });
110
- };
111
- this.primitiveParser = ({ data, name, required }) => {
112
- return Object.assign(Object.assign({}, data), { type: data.type, required, defaultValue: data.default, viewSpec: (0, views_1.getPrimitiveViewSpec)({ layoutTitle: name, data }), validator: 'base' });
113
- };
114
- //eslint-disable-next-line @typescript-eslint/member-ordering
115
- this.schemaParserMap = {
116
- [detect_1.ParserType.Object]: this.objectParser,
117
- [detect_1.ParserType.Array]: this.arrayParser,
118
- [detect_1.ParserType.Primitive]: this.primitiveParser,
119
- [detect_1.ParserType.OneOf]: this.oneOfParser,
120
- [detect_1.ParserType.Children]: this.childrenParser,
121
- };
122
- }
9
+ schema = {};
10
+ definitions = {};
123
11
  /**
124
12
  * Transforms page-constructor json schema into dynamic-forms specs for each block
125
13
  *
@@ -130,28 +18,170 @@ class FormSpecParser {
130
18
  this.init(schema);
131
19
  return this.getFormSpec();
132
20
  }
21
+ getChildrenSpec = (data) => {
22
+ const childrenType = data.items?.$ref?.split('/')?.pop();
23
+ return this.definitions[childrenType];
24
+ };
25
+ getRequiredProperties = (data) => Array.isArray(data.required) ? data.required : [];
26
+ childrenParser = ({ data, name, required }) => {
27
+ const childSpec = this.getChildrenSpec(data);
28
+ const properties = childSpec &&
29
+ Object.entries(childSpec).reduce((parsedChildSpecProperties, [childName, childSchema]) => {
30
+ const childRequiredProperties = this.getRequiredProperties(childSchema);
31
+ const childProperies = childSchema.properties &&
32
+ Object.entries(childSchema.properties).reduce((parsedChildProperties, [childPropertyName, childPropertyData]) => {
33
+ parsedChildProperties[childPropertyName] = this.parseSchemaProperty({
34
+ data: childPropertyData,
35
+ name: childPropertyName,
36
+ required: childRequiredProperties.includes(childPropertyName),
37
+ });
38
+ return parsedChildProperties;
39
+ }, {});
40
+ const childJsonSchema = {
41
+ ...childSchema,
42
+ properties: {
43
+ ...childSchema.properties,
44
+ type: {
45
+ type: dynamic_forms_1.SpecTypes.String,
46
+ enum: [childName],
47
+ },
48
+ },
49
+ };
50
+ parsedChildSpecProperties[childName] = {
51
+ type: dynamic_forms_1.SpecTypes.Array,
52
+ items: {
53
+ ...childSchema,
54
+ type: dynamic_forms_1.SpecTypes.Object,
55
+ properties: {
56
+ ...childProperies,
57
+ type: {
58
+ type: dynamic_forms_1.SpecTypes.String,
59
+ defaultValue: childName,
60
+ viewSpec: {
61
+ type: 'hidden',
62
+ },
63
+ },
64
+ },
65
+ viewSpec: childProperies &&
66
+ (0, views_1.getObjectViewSpec)({
67
+ properties: childProperies,
68
+ layoutTitle: childName,
69
+ }),
70
+ __schema: childJsonSchema,
71
+ },
72
+ required: false,
73
+ viewSpec: (0, views_1.getArrayViewSpec)({ layoutTitle: childName }),
74
+ __schema: {
75
+ type: dynamic_forms_1.SpecTypes.Array,
76
+ items: childJsonSchema,
77
+ },
78
+ };
79
+ return parsedChildSpecProperties;
80
+ }, {});
81
+ return {
82
+ type: dynamic_forms_1.SpecTypes.Object,
83
+ properties,
84
+ viewSpec: {
85
+ type: 'oneof_custom',
86
+ layout: 'row',
87
+ layoutTitle: name,
88
+ oneOfParams: {
89
+ toggler: 'select',
90
+ },
91
+ },
92
+ required,
93
+ };
94
+ };
95
+ oneOfParser = ({ data, name, required }) => {
96
+ const requiredProperties = this.getRequiredProperties(data);
97
+ const properties = data.oneOf &&
98
+ data.oneOf.reduce((result, propertyData, index) => {
99
+ const propertyName = propertyData?.optionName
100
+ ? propertyData?.optionName
101
+ : `${name}_${index}`;
102
+ result[propertyName] = this.parseSchemaProperty({
103
+ data: propertyData,
104
+ name: propertyName,
105
+ required: requiredProperties.includes(propertyName),
106
+ });
107
+ return result;
108
+ }, {});
109
+ return {
110
+ type: dynamic_forms_1.SpecTypes.Object,
111
+ properties,
112
+ required,
113
+ viewSpec: (0, views_1.getOneOfViewSpec)({ layoutTitle: name }),
114
+ };
115
+ };
116
+ arrayParser = ({ data, name }) => {
117
+ const items = data.items && this.parseSchemaProperty({ data: data.items, name });
118
+ return {
119
+ ...data,
120
+ type: dynamic_forms_1.SpecTypes.Array,
121
+ items,
122
+ viewSpec: (0, views_1.getArrayViewSpec)({ layoutTitle: name }),
123
+ };
124
+ };
125
+ objectParser = ({ data, name, required }) => {
126
+ const requiredProperties = this.getRequiredProperties(data);
127
+ const properties = data.properties &&
128
+ Object.entries(data.properties).reduce((result, [propertyName, propertyData]) => {
129
+ result[propertyName] = this.parseSchemaProperty({
130
+ data: propertyData,
131
+ name: propertyName,
132
+ required: requiredProperties.includes(propertyName),
133
+ });
134
+ return result;
135
+ }, {});
136
+ return {
137
+ ...data,
138
+ type: dynamic_forms_1.SpecTypes.Object,
139
+ properties,
140
+ viewSpec: (0, views_1.getObjectViewSpec)({ properties, layoutTitle: name }),
141
+ required,
142
+ };
143
+ };
144
+ primitiveParser = ({ data, name, required }) => {
145
+ return {
146
+ ...data,
147
+ type: data.type,
148
+ required,
149
+ defaultValue: data.default,
150
+ viewSpec: (0, views_1.getPrimitiveViewSpec)({ layoutTitle: name, data }),
151
+ validator: 'base',
152
+ };
153
+ };
154
+ //eslint-disable-next-line @typescript-eslint/member-ordering
155
+ schemaParserMap = {
156
+ [detect_1.ParserType.Object]: this.objectParser,
157
+ [detect_1.ParserType.Array]: this.arrayParser,
158
+ [detect_1.ParserType.Primitive]: this.primitiveParser,
159
+ [detect_1.ParserType.OneOf]: this.oneOfParser,
160
+ [detect_1.ParserType.Children]: this.childrenParser,
161
+ };
133
162
  parseSchemaProperty({ data, name, required }) {
134
163
  const parserType = (0, detect_1.detectParserType)(data);
135
164
  const parser = this.schemaParserMap[parserType];
136
- return Object.assign(Object.assign({}, parser({ data, name, required })), {
165
+ return {
166
+ ...parser({ data, name, required }),
137
167
  //save json schema from constructor to compare with incoming intial data inside oneOf form fields
138
- __schema: data });
168
+ __schema: data,
169
+ };
139
170
  }
140
171
  getBlocksSpec() {
141
172
  const blocks = this.definitions.children;
142
173
  return Object.entries(blocks).reduce((result, [blockName, blockData]) => {
143
174
  result[blockName] = this.parseSchemaProperty({
144
175
  name: blockName,
145
- data: Object.assign({}, blockData),
176
+ data: { ...blockData },
146
177
  required: true,
147
178
  });
148
179
  return result;
149
180
  }, {});
150
181
  }
151
182
  getPageSpec() {
152
- var _a;
153
183
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
154
- const _b = ((_a = this.schema) === null || _a === void 0 ? void 0 : _a.properties) || {}, { blocks } = _b, pageSchema = tslib_1.__rest(_b, ["blocks"]);
184
+ const { blocks, ...pageSchema } = this.schema?.properties || {};
155
185
  const requiredProperties = this.getRequiredProperties(this.schema);
156
186
  const properties = Object.entries(pageSchema).reduce((result, [propertyName, propertyData]) => {
157
187
  result[propertyName] = this.parseSchemaProperty({
@@ -178,7 +208,7 @@ class FormSpecParser {
178
208
  this.schema = schema;
179
209
  if (schema.definitions) {
180
210
  this.definitions = Object.entries(schema.definitions).reduce((result, [childType, childSpec]) => {
181
- result[childType] = childSpec === null || childSpec === void 0 ? void 0 : childSpec.selectCases;
211
+ result[childType] = childSpec?.selectCases;
182
212
  return result;
183
213
  }, {});
184
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/parser/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\nimport {ArraySpec, ObjectSpec, SpecTypes} from '@gravity-ui/dynamic-forms';\n\nimport {Schema, SchemaDefinitions} from '../../../schema';\n\nimport {ParserType, detectParserType} from './detect';\nimport {\n BlocksSpec,\n CustomSpec,\n FormSpecs,\n PageSpec,\n SchemaParser,\n SchemaParserParams,\n Spec,\n} from './types';\nimport {getArrayViewSpec, getObjectViewSpec, getOneOfViewSpec, getPrimitiveViewSpec} from './views';\n\nclass FormSpecParser {\n private schema: Schema = {};\n private definitions: SchemaDefinitions = {};\n\n /**\n * Transforms page-constructor json schema into dynamic-forms specs for each block\n *\n * @param schema {Schema} - page-constructor json schema\n * @returns {FormSpecs} - object containig dynamic-forms specs for each constructor block\n */\n parse(schema: Schema) {\n this.init(schema);\n\n return this.getFormSpec();\n }\n\n private getChildrenSpec = (data: Schema) => {\n const childrenType = (data.items as Schema)?.$ref?.split('/')?.pop();\n\n return this.definitions[childrenType as keyof typeof this.definitions];\n };\n\n private getRequiredProperties = (data: Schema) =>\n Array.isArray(data.required) ? data.required : [];\n\n private childrenParser: SchemaParser = ({data, name, required}) => {\n const childSpec = this.getChildrenSpec(data);\n\n const properties =\n childSpec &&\n Object.entries(childSpec).reduce(\n (parsedChildSpecProperties, [childName, childSchema]: [string, Schema]) => {\n const childRequiredProperties = this.getRequiredProperties(childSchema);\n const childProperies =\n childSchema.properties &&\n Object.entries(childSchema.properties).reduce(\n (parsedChildProperties, [childPropertyName, childPropertyData]) => {\n parsedChildProperties[childPropertyName] = this.parseSchemaProperty(\n {\n data: childPropertyData,\n name: childPropertyName,\n required:\n childRequiredProperties.includes(childPropertyName),\n },\n );\n\n return parsedChildProperties;\n },\n {} as Record<string, CustomSpec>,\n );\n\n const childJsonSchema = {\n ...childSchema,\n properties: {\n ...childSchema.properties,\n type: {\n type: SpecTypes.String,\n enum: [childName],\n },\n },\n };\n\n parsedChildSpecProperties[childName] = {\n type: SpecTypes.Array,\n items: {\n ...childSchema,\n type: SpecTypes.Object,\n properties: {\n ...childProperies,\n type: {\n type: SpecTypes.String,\n defaultValue: childName,\n viewSpec: {\n type: 'hidden',\n },\n },\n },\n viewSpec:\n childProperies &&\n getObjectViewSpec({\n properties: childProperies,\n layoutTitle: childName,\n }),\n __schema: childJsonSchema,\n } as ObjectSpec,\n required: false,\n viewSpec: getArrayViewSpec({layoutTitle: childName}),\n __schema: {\n type: SpecTypes.Array,\n items: childJsonSchema,\n },\n } as ArraySpec;\n\n return parsedChildSpecProperties;\n },\n {} as Record<string, CustomSpec>,\n );\n\n return {\n type: SpecTypes.Object,\n properties,\n viewSpec: {\n type: 'oneof_custom',\n layout: 'row',\n layoutTitle: name,\n oneOfParams: {\n toggler: 'select',\n },\n },\n required,\n } as CustomSpec;\n };\n\n private oneOfParser: SchemaParser = ({data, name, required}): Spec => {\n const requiredProperties = this.getRequiredProperties(data);\n const properties =\n data.oneOf &&\n data.oneOf.reduce(\n (result: Record<string, Spec>, propertyData, index) => {\n const propertyName = propertyData?.optionName\n ? propertyData?.optionName\n : `${name}_${index}`;\n result[propertyName] = this.parseSchemaProperty({\n data: propertyData,\n name: propertyName,\n required: requiredProperties.includes(propertyName),\n });\n return result;\n },\n {} as Record<string, ObjectSpec>,\n );\n\n return {\n type: SpecTypes.Object,\n properties,\n required,\n viewSpec: getOneOfViewSpec({layoutTitle: name}),\n } as ObjectSpec;\n };\n\n private arrayParser: SchemaParser = ({data, name}): Spec => {\n const items = data.items && this.parseSchemaProperty({data: data.items, name});\n\n return {\n ...data,\n type: SpecTypes.Array,\n items,\n viewSpec: getArrayViewSpec({layoutTitle: name}),\n } as ArraySpec;\n };\n\n private objectParser: SchemaParser = ({data, name, required}): Spec => {\n const requiredProperties = this.getRequiredProperties(data);\n const properties =\n data.properties &&\n Object.entries(data.properties).reduce(\n (result, [propertyName, propertyData]) => {\n result[propertyName] = this.parseSchemaProperty({\n data: propertyData,\n name: propertyName,\n required: requiredProperties.includes(propertyName),\n });\n\n return result;\n },\n {} as Record<string, Spec>,\n );\n\n return {\n ...data,\n type: SpecTypes.Object,\n properties,\n viewSpec: getObjectViewSpec({properties, layoutTitle: name}),\n required,\n } as ObjectSpec;\n };\n\n private primitiveParser: SchemaParser = ({data, name, required}): Spec => {\n return {\n ...data,\n type: data.type as SpecTypes,\n required,\n defaultValue: data.default,\n viewSpec: getPrimitiveViewSpec({layoutTitle: name, data}),\n validator: 'base',\n } as Spec;\n };\n\n //eslint-disable-next-line @typescript-eslint/member-ordering\n private schemaParserMap = {\n [ParserType.Object]: this.objectParser,\n [ParserType.Array]: this.arrayParser,\n [ParserType.Primitive]: this.primitiveParser,\n [ParserType.OneOf]: this.oneOfParser,\n [ParserType.Children]: this.childrenParser,\n };\n\n private parseSchemaProperty({data, name, required}: SchemaParserParams): CustomSpec {\n const parserType = detectParserType(data);\n const parser = this.schemaParserMap[parserType];\n\n return {\n ...parser({data, name, required}),\n //save json schema from constructor to compare with incoming intial data inside oneOf form fields\n __schema: data,\n };\n }\n\n private getBlocksSpec() {\n const blocks = this.definitions.children;\n\n return Object.entries(blocks).reduce((result, [blockName, blockData]) => {\n result[blockName] = this.parseSchemaProperty({\n name: blockName,\n data: {...blockData},\n required: true,\n });\n\n return result;\n }, {} as BlocksSpec);\n }\n\n private getPageSpec() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {blocks, ...pageSchema} = this.schema?.properties || {};\n const requiredProperties = this.getRequiredProperties(this.schema);\n\n const properties = Object.entries(pageSchema).reduce(\n (result, [propertyName, propertyData]) => {\n result[propertyName] = this.parseSchemaProperty({\n name: propertyName,\n data: propertyData,\n required: requiredProperties.includes(propertyName),\n });\n\n return result;\n },\n {} as Record<string, CustomSpec>,\n );\n\n return {\n type: SpecTypes.Object,\n properties,\n viewSpec: getObjectViewSpec({properties, layout: 'section'}),\n required: true,\n } as PageSpec;\n }\n\n private getFormSpec() {\n return {\n blocks: this.getBlocksSpec(),\n page: this.getPageSpec(),\n } as FormSpecs;\n }\n\n private init(schema: Schema) {\n this.schema = schema;\n\n if (schema.definitions) {\n this.definitions = Object.entries(schema.definitions).reduce(\n (result, [childType, childSpec]) => {\n result[childType] = childSpec?.selectCases;\n\n return result;\n },\n {} as SchemaDefinitions,\n );\n }\n }\n}\n\nexport default new FormSpecParser();\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/parser/index.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable no-not-accumulator-reassign/no-not-accumulator-reassign */\nimport {ArraySpec, ObjectSpec, SpecTypes} from '@gravity-ui/dynamic-forms';\n\nimport {Schema, SchemaDefinitions} from '../../../schema';\n\nimport {ParserType, detectParserType} from './detect';\nimport {\n BlocksSpec,\n CustomSpec,\n FormSpecs,\n PageSpec,\n SchemaParser,\n SchemaParserParams,\n Spec,\n} from './types';\nimport {getArrayViewSpec, getObjectViewSpec, getOneOfViewSpec, getPrimitiveViewSpec} from './views';\n\nclass FormSpecParser {\n private schema: Schema = {};\n private definitions: SchemaDefinitions = {};\n\n /**\n * Transforms page-constructor json schema into dynamic-forms specs for each block\n *\n * @param schema {Schema} - page-constructor json schema\n * @returns {FormSpecs} - object containig dynamic-forms specs for each constructor block\n */\n parse(schema: Schema) {\n this.init(schema);\n\n return this.getFormSpec();\n }\n\n private getChildrenSpec = (data: Schema) => {\n const childrenType = (data.items as Schema)?.$ref?.split('/')?.pop();\n\n return this.definitions[childrenType as keyof typeof this.definitions];\n };\n\n private getRequiredProperties = (data: Schema) =>\n Array.isArray(data.required) ? data.required : [];\n\n private childrenParser: SchemaParser = ({data, name, required}) => {\n const childSpec = this.getChildrenSpec(data);\n\n const properties =\n childSpec &&\n Object.entries(childSpec).reduce(\n (parsedChildSpecProperties, [childName, childSchema]: [string, Schema]) => {\n const childRequiredProperties = this.getRequiredProperties(childSchema);\n const childProperies =\n childSchema.properties &&\n Object.entries(childSchema.properties).reduce(\n (parsedChildProperties, [childPropertyName, childPropertyData]) => {\n parsedChildProperties[childPropertyName] = this.parseSchemaProperty(\n {\n data: childPropertyData,\n name: childPropertyName,\n required:\n childRequiredProperties.includes(childPropertyName),\n },\n );\n\n return parsedChildProperties;\n },\n {} as Record<string, CustomSpec>,\n );\n\n const childJsonSchema = {\n ...childSchema,\n properties: {\n ...childSchema.properties,\n type: {\n type: SpecTypes.String,\n enum: [childName],\n },\n },\n };\n\n parsedChildSpecProperties[childName] = {\n type: SpecTypes.Array,\n items: {\n ...childSchema,\n type: SpecTypes.Object,\n properties: {\n ...childProperies,\n type: {\n type: SpecTypes.String,\n defaultValue: childName,\n viewSpec: {\n type: 'hidden',\n },\n },\n },\n viewSpec:\n childProperies &&\n getObjectViewSpec({\n properties: childProperies,\n layoutTitle: childName,\n }),\n __schema: childJsonSchema,\n } as ObjectSpec,\n required: false,\n viewSpec: getArrayViewSpec({layoutTitle: childName}),\n __schema: {\n type: SpecTypes.Array,\n items: childJsonSchema,\n },\n } as ArraySpec;\n\n return parsedChildSpecProperties;\n },\n {} as Record<string, CustomSpec>,\n );\n\n return {\n type: SpecTypes.Object,\n properties,\n viewSpec: {\n type: 'oneof_custom',\n layout: 'row',\n layoutTitle: name,\n oneOfParams: {\n toggler: 'select',\n },\n },\n required,\n } as CustomSpec;\n };\n\n private oneOfParser: SchemaParser = ({data, name, required}): Spec => {\n const requiredProperties = this.getRequiredProperties(data);\n const properties =\n data.oneOf &&\n data.oneOf.reduce(\n (result: Record<string, Spec>, propertyData, index) => {\n const propertyName = propertyData?.optionName\n ? propertyData?.optionName\n : `${name}_${index}`;\n result[propertyName] = this.parseSchemaProperty({\n data: propertyData,\n name: propertyName,\n required: requiredProperties.includes(propertyName),\n });\n return result;\n },\n {} as Record<string, ObjectSpec>,\n );\n\n return {\n type: SpecTypes.Object,\n properties,\n required,\n viewSpec: getOneOfViewSpec({layoutTitle: name}),\n } as ObjectSpec;\n };\n\n private arrayParser: SchemaParser = ({data, name}): Spec => {\n const items = data.items && this.parseSchemaProperty({data: data.items, name});\n\n return {\n ...data,\n type: SpecTypes.Array,\n items,\n viewSpec: getArrayViewSpec({layoutTitle: name}),\n } as ArraySpec;\n };\n\n private objectParser: SchemaParser = ({data, name, required}): Spec => {\n const requiredProperties = this.getRequiredProperties(data);\n const properties =\n data.properties &&\n Object.entries(data.properties).reduce(\n (result, [propertyName, propertyData]) => {\n result[propertyName] = this.parseSchemaProperty({\n data: propertyData,\n name: propertyName,\n required: requiredProperties.includes(propertyName),\n });\n\n return result;\n },\n {} as Record<string, Spec>,\n );\n\n return {\n ...data,\n type: SpecTypes.Object,\n properties,\n viewSpec: getObjectViewSpec({properties, layoutTitle: name}),\n required,\n } as ObjectSpec;\n };\n\n private primitiveParser: SchemaParser = ({data, name, required}): Spec => {\n return {\n ...data,\n type: data.type as SpecTypes,\n required,\n defaultValue: data.default,\n viewSpec: getPrimitiveViewSpec({layoutTitle: name, data}),\n validator: 'base',\n } as Spec;\n };\n\n //eslint-disable-next-line @typescript-eslint/member-ordering\n private schemaParserMap = {\n [ParserType.Object]: this.objectParser,\n [ParserType.Array]: this.arrayParser,\n [ParserType.Primitive]: this.primitiveParser,\n [ParserType.OneOf]: this.oneOfParser,\n [ParserType.Children]: this.childrenParser,\n };\n\n private parseSchemaProperty({data, name, required}: SchemaParserParams): CustomSpec {\n const parserType = detectParserType(data);\n const parser = this.schemaParserMap[parserType];\n\n return {\n ...parser({data, name, required}),\n //save json schema from constructor to compare with incoming intial data inside oneOf form fields\n __schema: data,\n };\n }\n\n private getBlocksSpec() {\n const blocks = this.definitions.children;\n\n return Object.entries(blocks).reduce((result, [blockName, blockData]) => {\n result[blockName] = this.parseSchemaProperty({\n name: blockName,\n data: {...blockData},\n required: true,\n });\n\n return result;\n }, {} as BlocksSpec);\n }\n\n private getPageSpec() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {blocks, ...pageSchema} = this.schema?.properties || {};\n const requiredProperties = this.getRequiredProperties(this.schema);\n\n const properties = Object.entries(pageSchema).reduce(\n (result, [propertyName, propertyData]) => {\n result[propertyName] = this.parseSchemaProperty({\n name: propertyName,\n data: propertyData,\n required: requiredProperties.includes(propertyName),\n });\n\n return result;\n },\n {} as Record<string, CustomSpec>,\n );\n\n return {\n type: SpecTypes.Object,\n properties,\n viewSpec: getObjectViewSpec({properties, layout: 'section'}),\n required: true,\n } as PageSpec;\n }\n\n private getFormSpec() {\n return {\n blocks: this.getBlocksSpec(),\n page: this.getPageSpec(),\n } as FormSpecs;\n }\n\n private init(schema: Schema) {\n this.schema = schema;\n\n if (schema.definitions) {\n this.definitions = Object.entries(schema.definitions).reduce(\n (result, [childType, childSpec]) => {\n result[childType] = childSpec?.selectCases;\n\n return result;\n },\n {} as SchemaDefinitions,\n );\n }\n }\n}\n\nexport default new FormSpecParser();\n"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPrimitiveViewSpec = exports.getArrayViewSpec = exports.getObjectViewSpec = exports.getOneOfViewSpec = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const getOneOfViewSpec = ({ layoutTitle }) => {
6
5
  return {
7
6
  type: 'oneof_custom',
@@ -31,9 +30,8 @@ const getArrayViewSpec = ({ layoutTitle }) => ({
31
30
  itemLabel: 'Add Item',
32
31
  });
33
32
  exports.getArrayViewSpec = getArrayViewSpec;
34
- const getPrimitiveViewSpec = (_a) => {
35
- var { layoutTitle } = _a, data = tslib_1.__rest(_a, ["layoutTitle"]);
36
- let type = (data === null || data === void 0 ? void 0 : data.inputType) || 'base';
33
+ const getPrimitiveViewSpec = ({ layoutTitle, ...data }) => {
34
+ let type = data?.inputType || 'base';
37
35
  if (data && 'enum' in data && data.enum) {
38
36
  type = 'select';
39
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/parser/views.ts"],"names":[],"mappings":";;;;AAgBO,MAAM,gBAAgB,GAAG,CAAC,EAAC,WAAW,EAAa,EAAE,EAAE;IAC1D,OAAO;QACH,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,KAAK;QACb,WAAW;QACX,WAAW,EAAE;YACT,OAAO,EAAE,QAAiB;SAC7B;KACJ,CAAC;AACN,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAC9B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,GAAG,WAAW,GACE,EAAE,EAAE;IAC1B,OAAO;QACH,WAAW;QACX,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;QACnD,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,EAAC,WAAW,EAAa,EAAE,EAAE,CAAC,CAAC;IAC5D,WAAW;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,UAAU;CACxB,CAAC,CAAC;AANU,QAAA,gBAAgB,oBAM1B;AAEI,MAAM,oBAAoB,GAAG,CAAC,EAAkD,EAAE,EAAE;QAAtD,EAAC,WAAW,OAAsC,EAAjC,IAAI,sBAArB,eAAsB,CAAD;IACtD,IAAI,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,KAAI,MAAM,CAAC;IAErC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO;QACH,MAAM,EAAE,KAAK;QACb,IAAI;QACJ,WAAW;KACd,CAAC;AACN,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B","sourcesContent":["import {Schema} from '../../../schema';\n\nimport {CustomObjectSpec, CustomSpec} from './types';\n\ninterface BaseParams {\n layoutTitle?: string;\n}\n\ninterface GetObjectViewSpecParams\n extends BaseParams,\n Partial<Extract<CustomSpec, CustomObjectSpec>> {\n layout?: string;\n}\n\ntype GetPrimitiveViewSpecParams = BaseParams & Schema;\n\nexport const getOneOfViewSpec = ({layoutTitle}: BaseParams) => {\n return {\n type: 'oneof_custom',\n layout: 'row',\n layoutTitle,\n oneOfParams: {\n toggler: 'select' as const,\n },\n };\n};\n\nexport const getObjectViewSpec = ({\n properties,\n disabled,\n layoutTitle,\n layout = 'accordeon',\n}: GetObjectViewSpecParams) => {\n return {\n layoutTitle,\n type: 'base',\n layout,\n order: properties && Object.keys(properties).sort(),\n disabled,\n };\n};\n\nexport const getArrayViewSpec = ({layoutTitle}: BaseParams) => ({\n layoutTitle,\n type: 'base',\n layout: 'accordeon',\n layoutOpen: true,\n itemLabel: 'Add Item',\n});\n\nexport const getPrimitiveViewSpec = ({layoutTitle, ...data}: GetPrimitiveViewSpecParams) => {\n let type = data?.inputType || 'base';\n\n if (data && 'enum' in data && data.enum) {\n type = 'select';\n }\n return {\n layout: 'row',\n type,\n layoutTitle,\n };\n};\n"]}
1
+ {"version":3,"file":"views.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/parser/views.ts"],"names":[],"mappings":";;;AAgBO,MAAM,gBAAgB,GAAG,CAAC,EAAC,WAAW,EAAa,EAAE,EAAE;IAC1D,OAAO;QACH,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,KAAK;QACb,WAAW;QACX,WAAW,EAAE;YACT,OAAO,EAAE,QAAiB;SAC7B;KACJ,CAAC;AACN,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAC9B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,GAAG,WAAW,GACE,EAAE,EAAE;IAC1B,OAAO;QACH,WAAW;QACX,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;QACnD,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,EAAC,WAAW,EAAa,EAAE,EAAE,CAAC,CAAC;IAC5D,WAAW;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,UAAU;CACxB,CAAC,CAAC;AANU,QAAA,gBAAgB,oBAM1B;AAEI,MAAM,oBAAoB,GAAG,CAAC,EAAC,WAAW,EAAE,GAAG,IAAI,EAA6B,EAAE,EAAE;IACvF,IAAI,IAAI,GAAG,IAAI,EAAE,SAAS,IAAI,MAAM,CAAC;IAErC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,GAAG,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO;QACH,MAAM,EAAE,KAAK;QACb,IAAI;QACJ,WAAW;KACd,CAAC;AACN,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B","sourcesContent":["import {Schema} from '../../../schema';\n\nimport {CustomObjectSpec, CustomSpec} from './types';\n\ninterface BaseParams {\n layoutTitle?: string;\n}\n\ninterface GetObjectViewSpecParams\n extends BaseParams,\n Partial<Extract<CustomSpec, CustomObjectSpec>> {\n layout?: string;\n}\n\ntype GetPrimitiveViewSpecParams = BaseParams & Schema;\n\nexport const getOneOfViewSpec = ({layoutTitle}: BaseParams) => {\n return {\n type: 'oneof_custom',\n layout: 'row',\n layoutTitle,\n oneOfParams: {\n toggler: 'select' as const,\n },\n };\n};\n\nexport const getObjectViewSpec = ({\n properties,\n disabled,\n layoutTitle,\n layout = 'accordeon',\n}: GetObjectViewSpecParams) => {\n return {\n layoutTitle,\n type: 'base',\n layout,\n order: properties && Object.keys(properties).sort(),\n disabled,\n };\n};\n\nexport const getArrayViewSpec = ({layoutTitle}: BaseParams) => ({\n layoutTitle,\n type: 'base',\n layout: 'accordeon',\n layoutOpen: true,\n itemLabel: 'Add Item',\n});\n\nexport const getPrimitiveViewSpec = ({layoutTitle, ...data}: GetPrimitiveViewSpecParams) => {\n let type = data?.inputType || 'base';\n\n if (data && 'enum' in data && data.enum) {\n type = 'select';\n }\n return {\n layout: 'row',\n type,\n layoutTitle,\n };\n};\n"]}
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Tablet = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const svg_1 = require("../../utils/svg.js");
6
- const Tablet = (props) => ((0, jsx_runtime_1.jsx)("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "12", height: "14", viewBox: "0 0 12 14", fill: "none" }, svg_1.a11yHiddenSvgProps, props, { children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.5 3L10.5 11C10.5 11.8284 9.82843 12.5 9 12.5L3 12.5C2.17157 12.5 1.5 11.8284 1.5 11L1.5 3C1.5 2.17157 2.17157 1.5 3 1.5L9 1.5C9.82843 1.5 10.5 2.17157 10.5 3ZM9 -1.31134e-07C10.6569 -5.87108e-08 12 1.34315 12 3L12 11C12 12.6569 10.6569 14 9 14L3 14C1.34315 14 4.00426e-07 12.6569 4.72849e-07 11L8.2254e-07 3C8.94964e-07 1.34315 1.34315 -4.65826e-07 3 -3.93403e-07L9 -1.31134e-07ZM3.75 9.5C3.33579 9.5 3 9.83579 3 10.25C3 10.6642 3.33579 11 3.75 11L8.25 11C8.66421 11 9 10.6642 9 10.25C9 9.83579 8.66421 9.5 8.25 9.5L3.75 9.5Z", fill: "currentColor", fillOpacity: "0.85" }) })));
6
+ const Tablet = (props) => ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "14", viewBox: "0 0 12 14", fill: "none", ...svg_1.a11yHiddenSvgProps, ...props, children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.5 3L10.5 11C10.5 11.8284 9.82843 12.5 9 12.5L3 12.5C2.17157 12.5 1.5 11.8284 1.5 11L1.5 3C1.5 2.17157 2.17157 1.5 3 1.5L9 1.5C9.82843 1.5 10.5 2.17157 10.5 3ZM9 -1.31134e-07C10.6569 -5.87108e-08 12 1.34315 12 3L12 11C12 12.6569 10.6569 14 9 14L3 14C1.34315 14 4.00426e-07 12.6569 4.72849e-07 11L8.2254e-07 3C8.94964e-07 1.34315 1.34315 -4.65826e-07 3 -3.93403e-07L9 -1.31134e-07ZM3.75 9.5C3.33579 9.5 3 9.83579 3 10.25C3 10.6642 3.33579 11 3.75 11L8.25 11C8.66421 11 9 10.6642 9 10.25C9 9.83579 8.66421 9.5 8.25 9.5L3.75 9.5Z", fill: "currentColor", fillOpacity: "0.85" }) }));
7
7
  exports.Tablet = Tablet;
8
8
  //# sourceMappingURL=Tablet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tablet.js","sourceRoot":"../../../../src","sources":["editor/icons/Tablet.tsx"],"names":[],"mappings":";;;;AAEA,4CAAmD;AAE5C,MAAM,MAAM,GAA4C,CAAC,KAAK,EAAE,EAAE,CAAC,CACtE,8CACI,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,IACP,wBAAkB,EAClB,KAAK,cAET,iCACI,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mhBAAmhB,EACrhB,IAAI,EAAC,cAAc,EACnB,WAAW,EAAC,MAAM,GACpB,IACA,CACT,CAAC;AAlBW,QAAA,MAAM,UAkBjB","sourcesContent":["import * as React from 'react';\n\nimport {a11yHiddenSvgProps} from '../../utils/svg';\n\nexport const Tablet: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"14\"\n viewBox=\"0 0 12 14\"\n fill=\"none\"\n {...a11yHiddenSvgProps}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.5 3L10.5 11C10.5 11.8284 9.82843 12.5 9 12.5L3 12.5C2.17157 12.5 1.5 11.8284 1.5 11L1.5 3C1.5 2.17157 2.17157 1.5 3 1.5L9 1.5C9.82843 1.5 10.5 2.17157 10.5 3ZM9 -1.31134e-07C10.6569 -5.87108e-08 12 1.34315 12 3L12 11C12 12.6569 10.6569 14 9 14L3 14C1.34315 14 4.00426e-07 12.6569 4.72849e-07 11L8.2254e-07 3C8.94964e-07 1.34315 1.34315 -4.65826e-07 3 -3.93403e-07L9 -1.31134e-07ZM3.75 9.5C3.33579 9.5 3 9.83579 3 10.25C3 10.6642 3.33579 11 3.75 11L8.25 11C8.66421 11 9 10.6642 9 10.25C9 9.83579 8.66421 9.5 8.25 9.5L3.75 9.5Z\"\n fill=\"currentColor\"\n fillOpacity=\"0.85\"\n />\n </svg>\n);\n"]}
1
+ {"version":3,"file":"Tablet.js","sourceRoot":"../../../../src","sources":["editor/icons/Tablet.tsx"],"names":[],"mappings":";;;;AAEA,4CAAmD;AAE5C,MAAM,MAAM,GAA4C,CAAC,KAAK,EAAE,EAAE,CAAC,CACtE,gCACI,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,KACP,wBAAkB,KAClB,KAAK,YAET,iCACI,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mhBAAmhB,EACrhB,IAAI,EAAC,cAAc,EACnB,WAAW,EAAC,MAAM,GACpB,GACA,CACT,CAAC;AAlBW,QAAA,MAAM,UAkBjB","sourcesContent":["import * as React from 'react';\n\nimport {a11yHiddenSvgProps} from '../../utils/svg';\n\nexport const Tablet: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"14\"\n viewBox=\"0 0 12 14\"\n fill=\"none\"\n {...a11yHiddenSvgProps}\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.5 3L10.5 11C10.5 11.8284 9.82843 12.5 9 12.5L3 12.5C2.17157 12.5 1.5 11.8284 1.5 11L1.5 3C1.5 2.17157 2.17157 1.5 3 1.5L9 1.5C9.82843 1.5 10.5 2.17157 10.5 3ZM9 -1.31134e-07C10.6569 -5.87108e-08 12 1.34315 12 3L12 11C12 12.6569 10.6569 14 9 14L3 14C1.34315 14 4.00426e-07 12.6569 4.72849e-07 11L8.2254e-07 3C8.94964e-07 1.34315 1.34315 -4.65826e-07 3 -3.93403e-07L9 -1.31134e-07ZM3.75 9.5C3.33579 9.5 3 9.83579 3 10.25C3 10.6642 3.33579 11 3.75 11L8.25 11C8.66421 11 9 10.6642 9 10.25C9 9.83579 8.66421 9.5 8.25 9.5L3.75 9.5Z\"\n fill=\"currentColor\"\n fillOpacity=\"0.85\"\n />\n </svg>\n);\n"]}
@@ -38,8 +38,7 @@ function useMainState({ content: intialContent, custom }) {
38
38
  };
39
39
  const onSelect = (index) => dispatch({ type: reducer_1.SELECT_BLOCK, payload: index });
40
40
  const onContentUpdate = (newContent) => dispatch({ type: reducer_1.UPDATE_CONTENT, payload: newContent });
41
- const injectEditBlockProps = (_a) => {
42
- var { type, index: relativeIndex = 0, children } = _a, rest = tslib_1.__rest(_a, ["type", "index", "children"]);
41
+ const injectEditBlockProps = ({ type, index: relativeIndex = 0, children, ...rest }) => {
43
42
  const orderedBlocksStartIndex = contentHasHeader ? 1 : 0;
44
43
  const isHeader = checkIsHeader(type);
45
44
  const index = isHeader ? 0 : relativeIndex + orderedBlocksStartIndex;
@@ -62,10 +61,14 @@ function useMainState({ content: intialContent, custom }) {
62
61
  });
63
62
  }
64
63
  }
65
- return Object.assign({ children,
64
+ return {
65
+ children,
66
66
  isHeader,
67
67
  isActive,
68
- actions, onSelect: () => onSelect(index) }, rest);
68
+ actions,
69
+ onSelect: () => onSelect(index),
70
+ ...rest,
71
+ };
69
72
  };
70
73
  return {
71
74
  activeBlockIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["editor/store/main/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {DEFAULT_THEME} from '../../../components/constants';\nimport {Block, BlockDecorationProps, HeaderBlockTypes, PageContent} from '../../../models';\nimport {getCustomTypes, getHeaderBlock} from '../../../utils';\nimport {EditBlockActions, EditBlockControls} from '../../components/EditBlock/EditBlock';\nimport {EditBlockProps, EditorProps, ViewModeItem} from '../../types';\n\nimport {\n ADD_BLOCK,\n COPY_BLOCK,\n DELETE_BLOCK,\n ORDER_BLOCK,\n SELECT_BLOCK,\n UPDATE_CONTENT,\n reducer,\n} from './reducer';\nimport {addEditorProps} from './utils';\n\nexport type EditorBlockId = number | string;\n\nexport function useMainState({content: intialContent, custom}: Omit<EditorProps, 'children'>) {\n const [{activeBlockIndex, content, errorBoundaryState}, dispatch] = React.useReducer(reducer, {\n activeBlockIndex: 0,\n errorBoundaryState: 0,\n content: addEditorProps(intialContent),\n viewMode: ViewModeItem.Desktop,\n theme: DEFAULT_THEME,\n });\n\n return React.useMemo(() => {\n const headerBlockTypes = [...HeaderBlockTypes, ...getCustomTypes(['headers'], custom)];\n const contentHasHeader = Boolean(getHeaderBlock(content.blocks, headerBlockTypes));\n const checkIsHeader = (type: string) => headerBlockTypes.includes(type);\n\n const onAdd = (block: Block) => {\n const isHeader = checkIsHeader(block.type);\n\n if (contentHasHeader && isHeader) {\n //TODO: add warning that it should be only one header block\n return;\n }\n\n // eslint-disable-next-line no-nested-ternary\n const index = isHeader\n ? 0\n : activeBlockIndex === -1\n ? content.blocks.length\n : activeBlockIndex + 1;\n\n dispatch({type: ADD_BLOCK, payload: {block, index}});\n };\n const onSelect = (index: number) => dispatch({type: SELECT_BLOCK, payload: index});\n const onContentUpdate = (newContent: PageContent) =>\n dispatch({type: UPDATE_CONTENT, payload: newContent});\n const injectEditBlockProps = ({\n type,\n index: relativeIndex = 0,\n children,\n ...rest\n }: BlockDecorationProps) => {\n const orderedBlocksStartIndex = contentHasHeader ? 1 : 0;\n const isHeader = checkIsHeader(type);\n const index = isHeader ? 0 : relativeIndex + orderedBlocksStartIndex;\n const isActive = activeBlockIndex === index;\n const actions: EditBlockActions = {\n [EditBlockControls.Delete]: () => dispatch({type: DELETE_BLOCK, payload: index}),\n };\n\n if (!isHeader) {\n actions[EditBlockControls.Copy] = () =>\n dispatch({type: COPY_BLOCK, payload: index});\n\n if (index > orderedBlocksStartIndex) {\n actions[EditBlockControls.Up] = () =>\n dispatch({\n type: ORDER_BLOCK,\n payload: {oldIndex: index, newIndex: index - 1},\n });\n }\n\n if (index < content.blocks.length - 1) {\n actions[EditBlockControls.Down] = () =>\n dispatch({\n type: ORDER_BLOCK,\n payload: {oldIndex: index, newIndex: index + 1},\n });\n }\n }\n\n return {\n children,\n isHeader,\n isActive,\n actions,\n onSelect: () => onSelect(index),\n ...rest,\n } as EditBlockProps;\n };\n\n return {\n activeBlockIndex,\n content,\n errorBoundaryState,\n injectEditBlockProps,\n onAdd,\n onSelect,\n onContentUpdate,\n };\n }, [content, activeBlockIndex, errorBoundaryState, custom]);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["editor/store/main/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {DEFAULT_THEME} from '../../../components/constants';\nimport {Block, BlockDecorationProps, HeaderBlockTypes, PageContent} from '../../../models';\nimport {getCustomTypes, getHeaderBlock} from '../../../utils';\nimport {EditBlockActions, EditBlockControls} from '../../components/EditBlock/EditBlock';\nimport {EditBlockProps, EditorProps, ViewModeItem} from '../../types';\n\nimport {\n ADD_BLOCK,\n COPY_BLOCK,\n DELETE_BLOCK,\n ORDER_BLOCK,\n SELECT_BLOCK,\n UPDATE_CONTENT,\n reducer,\n} from './reducer';\nimport {addEditorProps} from './utils';\n\nexport type EditorBlockId = number | string;\n\nexport function useMainState({content: intialContent, custom}: Omit<EditorProps, 'children'>) {\n const [{activeBlockIndex, content, errorBoundaryState}, dispatch] = React.useReducer(reducer, {\n activeBlockIndex: 0,\n errorBoundaryState: 0,\n content: addEditorProps(intialContent),\n viewMode: ViewModeItem.Desktop,\n theme: DEFAULT_THEME,\n });\n\n return React.useMemo(() => {\n const headerBlockTypes = [...HeaderBlockTypes, ...getCustomTypes(['headers'], custom)];\n const contentHasHeader = Boolean(getHeaderBlock(content.blocks, headerBlockTypes));\n const checkIsHeader = (type: string) => headerBlockTypes.includes(type);\n\n const onAdd = (block: Block) => {\n const isHeader = checkIsHeader(block.type);\n\n if (contentHasHeader && isHeader) {\n //TODO: add warning that it should be only one header block\n return;\n }\n\n // eslint-disable-next-line no-nested-ternary\n const index = isHeader\n ? 0\n : activeBlockIndex === -1\n ? content.blocks.length\n : activeBlockIndex + 1;\n\n dispatch({type: ADD_BLOCK, payload: {block, index}});\n };\n const onSelect = (index: number) => dispatch({type: SELECT_BLOCK, payload: index});\n const onContentUpdate = (newContent: PageContent) =>\n dispatch({type: UPDATE_CONTENT, payload: newContent});\n const injectEditBlockProps = ({\n type,\n index: relativeIndex = 0,\n children,\n ...rest\n }: BlockDecorationProps) => {\n const orderedBlocksStartIndex = contentHasHeader ? 1 : 0;\n const isHeader = checkIsHeader(type);\n const index = isHeader ? 0 : relativeIndex + orderedBlocksStartIndex;\n const isActive = activeBlockIndex === index;\n const actions: EditBlockActions = {\n [EditBlockControls.Delete]: () => dispatch({type: DELETE_BLOCK, payload: index}),\n };\n\n if (!isHeader) {\n actions[EditBlockControls.Copy] = () =>\n dispatch({type: COPY_BLOCK, payload: index});\n\n if (index > orderedBlocksStartIndex) {\n actions[EditBlockControls.Up] = () =>\n dispatch({\n type: ORDER_BLOCK,\n payload: {oldIndex: index, newIndex: index - 1},\n });\n }\n\n if (index < content.blocks.length - 1) {\n actions[EditBlockControls.Down] = () =>\n dispatch({\n type: ORDER_BLOCK,\n payload: {oldIndex: index, newIndex: index + 1},\n });\n }\n }\n\n return {\n children,\n isHeader,\n isActive,\n actions,\n onSelect: () => onSelect(index),\n ...rest,\n } as EditBlockProps;\n };\n\n return {\n activeBlockIndex,\n content,\n errorBoundaryState,\n injectEditBlockProps,\n onAdd,\n onSelect,\n onContentUpdate,\n };\n }, [content, activeBlockIndex, errorBoundaryState, custom]);\n}\n"]}
@@ -13,12 +13,26 @@ exports.UPDATE_CONTENT = 'UPDATE_CONTENT';
13
13
  // reducer
14
14
  const reducer = (state, action) => {
15
15
  const { content } = state;
16
- const getNewState = (blocks, activeBlockIndex) => (Object.assign(Object.assign({}, state), { content: Object.assign(Object.assign({}, content), { blocks }), activeBlockIndex }));
16
+ const getNewState = (blocks, activeBlockIndex) => ({
17
+ ...state,
18
+ content: {
19
+ ...content,
20
+ blocks,
21
+ },
22
+ activeBlockIndex,
23
+ });
17
24
  switch (action.type) {
18
25
  case exports.UPDATE_CONTENT:
19
- return Object.assign(Object.assign({}, state), { content: action.payload, errorBoundaryState: (0, utils_1.getErrorBoundaryState)(state.errorBoundaryState) });
26
+ return {
27
+ ...state,
28
+ content: action.payload,
29
+ errorBoundaryState: (0, utils_1.getErrorBoundaryState)(state.errorBoundaryState),
30
+ };
20
31
  case exports.SELECT_BLOCK:
21
- return Object.assign(Object.assign({}, state), { activeBlockIndex: action.payload });
32
+ return {
33
+ ...state,
34
+ activeBlockIndex: action.payload,
35
+ };
22
36
  case exports.DELETE_BLOCK: {
23
37
  const blockId = action.payload;
24
38
  return getNewState(content.blocks.filter((_block, index) => index !== blockId), -1);
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"../../../../../src","sources":["editor/store/main/reducer.ts"],"names":[],"mappings":";;;AAGA,sCAA2F;AAsB3F,UAAU;AACG,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAwC/C,UAAU;AACH,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,MAAoB,EAAa,EAAE;IACzE,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;IACxB,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,gBAAwB,EAAE,EAAE,CAAC,iCACvE,KAAK,KACR,OAAO,kCACA,OAAO,KACV,MAAM,KAEV,gBAAgB,IAClB,CAAC;IAEH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,sBAAc;YACf,uCACO,KAAK,KACR,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,kBAAkB,EAAE,IAAA,6BAAqB,EAAC,KAAK,CAAC,kBAAkB,CAAC,IACrE;QACN,KAAK,oBAAY;YACb,uCACO,KAAK,KACR,gBAAgB,EAAE,MAAM,CAAC,OAAO,IAClC;QACN,KAAK,oBAAY,CAAC,CAAC,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAE/B,OAAO,WAAW,CACd,OAAO,CAAC,MAAM,CAAC,MAAM,CACjB,CAAC,MAAwB,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CACjE,EACD,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QACD,KAAK,kBAAU,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,WAAW,CAAC,IAAA,sBAAc,EAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,iBAAS,CAAC,CAAC,CAAC;YACb,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YAEtC,OAAO,WAAW,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,mBAAW,CAAC,CAAC,CAAC;YACf,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YAE5C,OAAO,WAAW,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC;QACD;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAnDW,QAAA,OAAO,WAmDlB","sourcesContent":["import {ConstructorBlock, PageContent, Theme} from '../../../models';\nimport {ViewModeItem} from '../../types';\n\nimport {addBlock, changeBlocksOrder, duplicateBlock, getErrorBoundaryState} from './utils';\n\nexport type EditorBlockId = number | string;\n\ninterface MainState {\n content: PageContent;\n activeBlockIndex: number;\n errorBoundaryState: number;\n viewMode: ViewModeItem;\n theme: Theme;\n}\n\ninterface OrderBlockParams {\n oldIndex: number;\n newIndex: number;\n}\n\ninterface AddBlockParams {\n block: ConstructorBlock;\n index: number;\n}\n\n// actions\nexport const SELECT_BLOCK = 'SELECT_BLOCK';\nexport const DELETE_BLOCK = 'DELETE_BLOCK';\nexport const COPY_BLOCK = 'COPY_BLOCK';\nexport const ADD_BLOCK = 'ADD_BLOCK';\nexport const SET_REGION = 'SET_REGION';\nexport const ORDER_BLOCK = 'ORDER_BLOCK';\nexport const UPDATE_CONTENT = 'UPDATE_CONTENT';\n\ninterface SelectBlock {\n type: typeof SELECT_BLOCK;\n payload: number;\n}\n\ninterface DeleteBlock {\n type: typeof DELETE_BLOCK;\n payload: number;\n}\n\ninterface CopyBlock {\n type: typeof COPY_BLOCK;\n payload: number;\n}\n\ninterface AddBlock {\n type: typeof ADD_BLOCK;\n payload: AddBlockParams;\n}\n\ninterface OrderBlock {\n type: typeof ORDER_BLOCK;\n payload: OrderBlockParams;\n}\n\ninterface UpdateContent {\n type: typeof UPDATE_CONTENT;\n payload: PageContent;\n}\n\nexport type EditorAction =\n | SelectBlock\n | DeleteBlock\n | CopyBlock\n | AddBlock\n | OrderBlock\n | UpdateContent;\n\n// reducer\nexport const reducer = (state: MainState, action: EditorAction): MainState => {\n const {content} = state;\n const getNewState = (blocks: ConstructorBlock[], activeBlockIndex: number) => ({\n ...state,\n content: {\n ...content,\n blocks,\n },\n activeBlockIndex,\n });\n\n switch (action.type) {\n case UPDATE_CONTENT:\n return {\n ...state,\n content: action.payload,\n errorBoundaryState: getErrorBoundaryState(state.errorBoundaryState),\n };\n case SELECT_BLOCK:\n return {\n ...state,\n activeBlockIndex: action.payload,\n };\n case DELETE_BLOCK: {\n const blockId = action.payload;\n\n return getNewState(\n content.blocks.filter(\n (_block: ConstructorBlock, index: number) => index !== blockId,\n ),\n -1,\n );\n }\n case COPY_BLOCK: {\n const index = action.payload;\n\n return getNewState(duplicateBlock(content.blocks, index), index + 1);\n }\n case ADD_BLOCK: {\n const {block, index} = action.payload;\n\n return getNewState(addBlock(content.blocks, block, index), index);\n }\n case ORDER_BLOCK: {\n const {oldIndex, newIndex} = action.payload;\n\n return getNewState(changeBlocksOrder(content.blocks, oldIndex, newIndex), newIndex);\n }\n default:\n return state;\n }\n};\n"]}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"../../../../../src","sources":["editor/store/main/reducer.ts"],"names":[],"mappings":";;;AAGA,sCAA2F;AAsB3F,UAAU;AACG,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAwC/C,UAAU;AACH,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,MAAoB,EAAa,EAAE;IACzE,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;IACxB,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,gBAAwB,EAAE,EAAE,CAAC,CAAC;QAC3E,GAAG,KAAK;QACR,OAAO,EAAE;YACL,GAAG,OAAO;YACV,MAAM;SACT;QACD,gBAAgB;KACnB,CAAC,CAAC;IAEH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,sBAAc;YACf,OAAO;gBACH,GAAG,KAAK;gBACR,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,kBAAkB,EAAE,IAAA,6BAAqB,EAAC,KAAK,CAAC,kBAAkB,CAAC;aACtE,CAAC;QACN,KAAK,oBAAY;YACb,OAAO;gBACH,GAAG,KAAK;gBACR,gBAAgB,EAAE,MAAM,CAAC,OAAO;aACnC,CAAC;QACN,KAAK,oBAAY,CAAC,CAAC,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAE/B,OAAO,WAAW,CACd,OAAO,CAAC,MAAM,CAAC,MAAM,CACjB,CAAC,MAAwB,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CACjE,EACD,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QACD,KAAK,kBAAU,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAE7B,OAAO,WAAW,CAAC,IAAA,sBAAc,EAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,iBAAS,CAAC,CAAC,CAAC;YACb,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YAEtC,OAAO,WAAW,CAAC,IAAA,gBAAQ,EAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,mBAAW,CAAC,CAAC,CAAC;YACf,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YAE5C,OAAO,WAAW,CAAC,IAAA,yBAAiB,EAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC;QACD;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAnDW,QAAA,OAAO,WAmDlB","sourcesContent":["import {ConstructorBlock, PageContent, Theme} from '../../../models';\nimport {ViewModeItem} from '../../types';\n\nimport {addBlock, changeBlocksOrder, duplicateBlock, getErrorBoundaryState} from './utils';\n\nexport type EditorBlockId = number | string;\n\ninterface MainState {\n content: PageContent;\n activeBlockIndex: number;\n errorBoundaryState: number;\n viewMode: ViewModeItem;\n theme: Theme;\n}\n\ninterface OrderBlockParams {\n oldIndex: number;\n newIndex: number;\n}\n\ninterface AddBlockParams {\n block: ConstructorBlock;\n index: number;\n}\n\n// actions\nexport const SELECT_BLOCK = 'SELECT_BLOCK';\nexport const DELETE_BLOCK = 'DELETE_BLOCK';\nexport const COPY_BLOCK = 'COPY_BLOCK';\nexport const ADD_BLOCK = 'ADD_BLOCK';\nexport const SET_REGION = 'SET_REGION';\nexport const ORDER_BLOCK = 'ORDER_BLOCK';\nexport const UPDATE_CONTENT = 'UPDATE_CONTENT';\n\ninterface SelectBlock {\n type: typeof SELECT_BLOCK;\n payload: number;\n}\n\ninterface DeleteBlock {\n type: typeof DELETE_BLOCK;\n payload: number;\n}\n\ninterface CopyBlock {\n type: typeof COPY_BLOCK;\n payload: number;\n}\n\ninterface AddBlock {\n type: typeof ADD_BLOCK;\n payload: AddBlockParams;\n}\n\ninterface OrderBlock {\n type: typeof ORDER_BLOCK;\n payload: OrderBlockParams;\n}\n\ninterface UpdateContent {\n type: typeof UPDATE_CONTENT;\n payload: PageContent;\n}\n\nexport type EditorAction =\n | SelectBlock\n | DeleteBlock\n | CopyBlock\n | AddBlock\n | OrderBlock\n | UpdateContent;\n\n// reducer\nexport const reducer = (state: MainState, action: EditorAction): MainState => {\n const {content} = state;\n const getNewState = (blocks: ConstructorBlock[], activeBlockIndex: number) => ({\n ...state,\n content: {\n ...content,\n blocks,\n },\n activeBlockIndex,\n });\n\n switch (action.type) {\n case UPDATE_CONTENT:\n return {\n ...state,\n content: action.payload,\n errorBoundaryState: getErrorBoundaryState(state.errorBoundaryState),\n };\n case SELECT_BLOCK:\n return {\n ...state,\n activeBlockIndex: action.payload,\n };\n case DELETE_BLOCK: {\n const blockId = action.payload;\n\n return getNewState(\n content.blocks.filter(\n (_block: ConstructorBlock, index: number) => index !== blockId,\n ),\n -1,\n );\n }\n case COPY_BLOCK: {\n const index = action.payload;\n\n return getNewState(duplicateBlock(content.blocks, index), index + 1);\n }\n case ADD_BLOCK: {\n const {block, index} = action.payload;\n\n return getNewState(addBlock(content.blocks, block, index), index);\n }\n case ORDER_BLOCK: {\n const {oldIndex, newIndex} = action.payload;\n\n return getNewState(changeBlocksOrder(content.blocks, oldIndex, newIndex), newIndex);\n }\n default:\n return state;\n }\n};\n"]}
@@ -31,7 +31,7 @@ const addBlock = (array, block, index) => {
31
31
  };
32
32
  exports.addBlock = addBlock;
33
33
  const addEditorProps = (content) => {
34
- return Object.assign(Object.assign({}, content), { animated: false });
34
+ return { ...content, animated: false };
35
35
  };
36
36
  exports.addEditorProps = addEditorProps;
37
37
  const getErrorBoundaryState = (prevState) => prevState === Number.MAX_SAFE_INTEGER ? 0 : prevState + 1;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../../src","sources":["editor/store/main/utils.ts"],"names":[],"mappings":";;;;AAAA,4EAAyC;AAMlC,MAAM,iBAAiB,GAAG,CAC7B,KAAyB,EACzB,QAAgB,EAChB,QAAgB,EAClB,EAAE;IACA,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAE,KAAa,EAAE,EAAE;IACvE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,IAAA,mBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,MAAM,gBAAgB,GAAG,CAAC,EAAiB,EAAE,kBAA0B,EAAE,EAAE;IAC9E,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACZ,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,iCAAiC;IACjC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,KAAuB,EAAE,KAAa,EAAE,EAAE;IAC1F,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAE,EAAE;IACnD,uCAAW,OAAO,KAAE,QAAQ,EAAE,KAAK,IAAE;AACzC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,SAAS,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;AADjD,QAAA,qBAAqB,yBAC4B","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nimport {ConstructorBlock, PageContent} from '../../../models';\n\nimport {EditorBlockId} from './reducer';\n\nexport const changeBlocksOrder = (\n array: ConstructorBlock[],\n oldIndex: number,\n newIndex: number,\n) => {\n const result = [...array];\n const element = result.splice(oldIndex, 1)[0];\n result.splice(newIndex, 0, element);\n\n return result;\n};\n\nexport const duplicateBlock = (array: ConstructorBlock[], index: number) => {\n const result = [...array];\n result.splice(index + 1, 0, cloneDeep(result[index]));\n\n return result;\n};\n\nexport const getNewBlockIndex = (id: EditorBlockId, orderedBlocksCount: number) => {\n if (id === -1) {\n return orderedBlocksCount;\n }\n\n // id === 'string' - header block\n return typeof id === 'string' ? 0 : id + 1;\n};\n\nexport const addBlock = (array: ConstructorBlock[], block: ConstructorBlock, index: number) => {\n const result = [...array];\n result.splice(index, 0, block);\n\n return result;\n};\n\nexport const addEditorProps = (content: PageContent) => {\n return {...content, animated: false};\n};\n\nexport const getErrorBoundaryState = (prevState: number) =>\n prevState === Number.MAX_SAFE_INTEGER ? 0 : prevState + 1;\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../../src","sources":["editor/store/main/utils.ts"],"names":[],"mappings":";;;;AAAA,4EAAyC;AAMlC,MAAM,iBAAiB,GAAG,CAC7B,KAAyB,EACzB,QAAgB,EAChB,QAAgB,EAClB,EAAE;IACA,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAE,KAAa,EAAE,EAAE;IACvE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,IAAA,mBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,MAAM,gBAAgB,GAAG,CAAC,EAAiB,EAAE,kBAA0B,EAAE,EAAE;IAC9E,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACZ,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,iCAAiC;IACjC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,KAAuB,EAAE,KAAa,EAAE,EAAE;IAC1F,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,QAAQ,YAKnB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAE,EAAE;IACnD,OAAO,EAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;AACzC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,SAAS,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;AADjD,QAAA,qBAAqB,yBAC4B","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nimport {ConstructorBlock, PageContent} from '../../../models';\n\nimport {EditorBlockId} from './reducer';\n\nexport const changeBlocksOrder = (\n array: ConstructorBlock[],\n oldIndex: number,\n newIndex: number,\n) => {\n const result = [...array];\n const element = result.splice(oldIndex, 1)[0];\n result.splice(newIndex, 0, element);\n\n return result;\n};\n\nexport const duplicateBlock = (array: ConstructorBlock[], index: number) => {\n const result = [...array];\n result.splice(index + 1, 0, cloneDeep(result[index]));\n\n return result;\n};\n\nexport const getNewBlockIndex = (id: EditorBlockId, orderedBlocksCount: number) => {\n if (id === -1) {\n return orderedBlocksCount;\n }\n\n // id === 'string' - header block\n return typeof id === 'string' ? 0 : id + 1;\n};\n\nexport const addBlock = (array: ConstructorBlock[], block: ConstructorBlock, index: number) => {\n const result = [...array];\n result.splice(index, 0, block);\n\n return result;\n};\n\nexport const addEditorProps = (content: PageContent) => {\n return {...content, animated: false};\n};\n\nexport const getErrorBoundaryState = (prevState: number) =>\n prevState === Number.MAX_SAFE_INTEGER ? 0 : prevState + 1;\n"]}