@gravity-ui/page-constructor 5.14.2 → 5.14.4-alpha.0

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 (392) hide show
  1. package/build/cjs/blocks/Banner/Banner.js +3 -1
  2. package/build/cjs/blocks/Banner/index.d.ts +3 -0
  3. package/build/cjs/blocks/Banner/index.js +22 -0
  4. package/build/cjs/blocks/CardLayout/CardLayout.css +1 -0
  5. package/build/cjs/blocks/CardLayout/CardLayout.js +11 -6
  6. package/build/cjs/blocks/CardLayout/index.d.ts +5 -0
  7. package/build/cjs/blocks/CardLayout/index.js +166 -0
  8. package/build/cjs/blocks/Companies/Companies.js +6 -4
  9. package/build/cjs/blocks/Companies/index.d.ts +3 -0
  10. package/build/cjs/blocks/Companies/index.js +18 -0
  11. package/build/cjs/blocks/ContentLayout/ContentLayout.js +6 -5
  12. package/build/cjs/blocks/ContentLayout/index.d.ts +11 -0
  13. package/build/cjs/blocks/ContentLayout/index.js +17 -0
  14. package/build/cjs/blocks/ContentLayout/schema.d.ts +1 -0
  15. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +22 -20
  16. package/build/cjs/blocks/ExtendedFeatures/index.d.ts +12 -0
  17. package/build/cjs/blocks/ExtendedFeatures/index.js +18 -0
  18. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +1 -0
  19. package/build/cjs/blocks/ExtendedFeatures/schema.js +1 -0
  20. package/build/cjs/blocks/FilterBlock/FilterBlock.js +11 -10
  21. package/build/cjs/blocks/FilterBlock/index.d.ts +11 -0
  22. package/build/cjs/blocks/FilterBlock/index.js +17 -0
  23. package/build/cjs/blocks/Form/index.d.ts +12 -0
  24. package/build/cjs/blocks/Form/index.js +18 -0
  25. package/build/cjs/blocks/Header/dynamic-form.d.ts +2 -0
  26. package/build/cjs/blocks/Header/dynamic-form.js +730 -0
  27. package/build/cjs/blocks/Header/index.d.ts +8 -0
  28. package/build/cjs/blocks/Header/index.js +14 -0
  29. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +3 -2
  30. package/build/cjs/blocks/HeaderSlider/index.d.ts +31 -0
  31. package/build/cjs/blocks/HeaderSlider/index.js +38 -0
  32. package/build/cjs/blocks/Icons/Icons.js +9 -6
  33. package/build/cjs/blocks/Icons/index.d.ts +13 -0
  34. package/build/cjs/blocks/Icons/index.js +19 -0
  35. package/build/cjs/blocks/Info/index.d.ts +21 -0
  36. package/build/cjs/blocks/Info/index.js +41 -0
  37. package/build/cjs/blocks/Map/index.d.ts +11 -0
  38. package/build/cjs/blocks/Map/index.js +17 -0
  39. package/build/cjs/blocks/Media/index.d.ts +14 -0
  40. package/build/cjs/blocks/Media/index.js +20 -0
  41. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +19 -16
  42. package/build/cjs/blocks/PromoFeaturesBlock/index.d.ts +12 -0
  43. package/build/cjs/blocks/PromoFeaturesBlock/index.js +18 -0
  44. package/build/cjs/blocks/Questions/Questions.js +12 -10
  45. package/build/cjs/blocks/Questions/index.d.ts +29 -0
  46. package/build/cjs/blocks/Questions/index.js +47 -0
  47. package/build/cjs/blocks/Share/Share.js +11 -10
  48. package/build/cjs/blocks/Share/index.d.ts +12 -0
  49. package/build/cjs/blocks/Share/index.js +18 -0
  50. package/build/cjs/blocks/Slider/Slider.js +22 -17
  51. package/build/cjs/blocks/Slider/dynamic-form.d.ts +3 -0
  52. package/build/cjs/blocks/Slider/dynamic-form.js +225 -0
  53. package/build/cjs/blocks/Slider/index.d.ts +8 -0
  54. package/build/cjs/blocks/Slider/index.js +14 -0
  55. package/build/cjs/blocks/Table/index.d.ts +8 -0
  56. package/build/cjs/blocks/Table/index.js +14 -0
  57. package/build/cjs/blocks/Table/schema.d.ts +1 -0
  58. package/build/cjs/blocks/Table/schema.js +1 -0
  59. package/build/cjs/blocks/Tabs/Tabs.js +9 -8
  60. package/build/cjs/blocks/Tabs/index.d.ts +16 -0
  61. package/build/cjs/blocks/Tabs/index.js +29 -0
  62. package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
  63. package/build/cjs/blocks/TestEditorBlock/TestEditorBlock.js +12 -0
  64. package/build/cjs/blocks/TestEditorBlock/form.d.ts +3 -0
  65. package/build/cjs/blocks/TestEditorBlock/form.js +80 -0
  66. package/build/cjs/blocks/TestEditorBlock/index.d.ts +11 -0
  67. package/build/cjs/blocks/TestEditorBlock/index.js +17 -0
  68. package/build/cjs/components/BlockBase/BlockBase.css +8 -16
  69. package/build/cjs/components/Image/dynamic-form.d.ts +2 -0
  70. package/build/cjs/components/Image/dynamic-form.js +84 -0
  71. package/build/cjs/components/ReactPlayer/ReactPlayer.js +8 -6
  72. package/build/cjs/components/editor/ChildrenWrap/ChildrenWrap.css +5 -0
  73. package/build/cjs/components/editor/ChildrenWrap/ChildrenWrap.d.ts +6 -0
  74. package/build/cjs/components/editor/ChildrenWrap/ChildrenWrap.js +15 -0
  75. package/build/cjs/components/editor/ItemWrap/ItemWrap.css +9 -0
  76. package/build/cjs/components/editor/ItemWrap/ItemWrap.d.ts +6 -0
  77. package/build/cjs/components/editor/ItemWrap/ItemWrap.js +15 -0
  78. package/build/cjs/constructor-items.d.ts +18 -6
  79. package/build/cjs/constructor-items.js +67 -1
  80. package/build/cjs/containers/PageConstructor/PageConstructor.js +16 -13
  81. package/build/cjs/containers/PageConstructor/Provider.js +4 -0
  82. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
  83. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +5 -2
  84. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.d.ts +8 -0
  85. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.js +109 -0
  86. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
  87. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  88. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
  89. package/build/cjs/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +1 -1
  90. package/build/cjs/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -3
  91. package/build/cjs/context/blockIdContext/blockIdContext.d.ts +2 -2
  92. package/build/cjs/context/blockIdContext/blockIdContext.js +1 -1
  93. package/build/cjs/context/editorContext/editorContext.d.ts +13 -0
  94. package/build/cjs/context/editorContext/editorContext.js +10 -0
  95. package/build/cjs/context/editorContext/editorProvider.d.ts +2 -0
  96. package/build/cjs/context/editorContext/editorProvider.js +20 -0
  97. package/build/cjs/context/editorContext/hooks/useEditorStore.d.ts +2 -0
  98. package/build/cjs/context/editorContext/hooks/useEditorStore.js +15 -0
  99. package/build/cjs/context/editorContext/index.d.ts +4 -0
  100. package/build/cjs/context/editorContext/index.js +7 -0
  101. package/build/cjs/context/editorContext/store.d.ts +24 -0
  102. package/build/cjs/context/editorContext/store.js +39 -0
  103. package/build/cjs/context/messagesContext/hooks/useMessageObserver.d.ts +4 -0
  104. package/build/cjs/context/messagesContext/hooks/useMessageObserver.js +16 -0
  105. package/build/cjs/context/messagesContext/hooks/useMessageSender.d.ts +2 -0
  106. package/build/cjs/context/messagesContext/hooks/useMessageSender.js +11 -0
  107. package/build/cjs/context/messagesContext/hooks/useMessagesStore.d.ts +2 -0
  108. package/build/cjs/context/messagesContext/hooks/useMessagesStore.js +15 -0
  109. package/build/cjs/context/messagesContext/index.d.ts +5 -0
  110. package/build/cjs/context/messagesContext/index.js +8 -0
  111. package/build/cjs/context/messagesContext/messagesContext.d.ts +14 -0
  112. package/build/cjs/context/messagesContext/messagesContext.js +12 -0
  113. package/build/cjs/context/messagesContext/messagesProvider.d.ts +2 -0
  114. package/build/cjs/context/messagesContext/messagesProvider.js +73 -0
  115. package/build/cjs/context/messagesContext/store.d.ts +25 -0
  116. package/build/cjs/context/messagesContext/store.js +17 -0
  117. package/build/cjs/context/messagesContext/types.d.ts +14 -0
  118. package/build/cjs/context/messagesContext/types.js +2 -0
  119. package/build/cjs/grid/Col/Col.d.ts +1 -1
  120. package/build/cjs/grid/Grid/Grid.css +2 -6
  121. package/build/cjs/hooks/useAnalytics.js +1 -1
  122. package/build/cjs/hooks/useEditorInitialize.d.ts +7 -0
  123. package/build/cjs/hooks/useEditorInitialize.js +90 -0
  124. package/build/cjs/models/constructor-items/blocks.d.ts +2 -1
  125. package/build/cjs/models/constructor-items/blocks.js +1 -0
  126. package/build/cjs/models/constructor-items/sub-blocks.d.ts +1 -1
  127. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +4 -1
  128. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
  129. package/build/cjs/navigation/containers/Layout/Layout.css +0 -1
  130. package/build/cjs/schema/constants.d.ts +1 -1
  131. package/build/cjs/schema/constants.js +2 -1
  132. package/build/cjs/schema/index.d.ts +227 -0
  133. package/build/cjs/schema/index.js +7 -3
  134. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
  135. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js +81 -0
  136. package/build/cjs/sub-blocks/BackgroundCard/index.d.ts +3 -0
  137. package/build/cjs/sub-blocks/BackgroundCard/index.js +19 -0
  138. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +4 -3
  139. package/build/cjs/sub-blocks/BannerCard/index.d.ts +3 -0
  140. package/build/cjs/sub-blocks/BannerCard/index.js +22 -0
  141. package/build/cjs/sub-blocks/BasicCard/index.d.ts +3 -0
  142. package/build/cjs/sub-blocks/BasicCard/index.js +18 -0
  143. package/build/cjs/sub-blocks/Content/index.d.ts +3 -0
  144. package/build/cjs/sub-blocks/Content/index.js +18 -0
  145. package/build/cjs/sub-blocks/Content/schema.d.ts +1 -0
  146. package/build/cjs/sub-blocks/Content/schema.js +1 -0
  147. package/build/cjs/sub-blocks/Divider/index.d.ts +3 -0
  148. package/build/cjs/sub-blocks/Divider/index.js +15 -0
  149. package/build/cjs/sub-blocks/ImageCard/ImageCard.js +2 -2
  150. package/build/cjs/sub-blocks/ImageCard/index.d.ts +3 -0
  151. package/build/cjs/sub-blocks/ImageCard/index.js +18 -0
  152. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +1 -1
  153. package/build/cjs/sub-blocks/LayoutItem/form.d.ts +8 -0
  154. package/build/cjs/sub-blocks/LayoutItem/form.js +14 -0
  155. package/build/cjs/sub-blocks/LayoutItem/index.d.ts +3 -0
  156. package/build/cjs/sub-blocks/LayoutItem/index.js +20 -0
  157. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +254 -246
  158. package/build/cjs/sub-blocks/LayoutItem/schema.js +7 -3
  159. package/build/cjs/sub-blocks/MediaCard/index.d.ts +3 -0
  160. package/build/cjs/sub-blocks/MediaCard/index.js +20 -0
  161. package/build/cjs/sub-blocks/PriceCard/index.d.ts +3 -0
  162. package/build/cjs/sub-blocks/PriceCard/index.js +31 -0
  163. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  164. package/build/cjs/sub-blocks/PriceDetailed/index.d.ts +4 -0
  165. package/build/cjs/sub-blocks/PriceDetailed/index.js +33 -0
  166. package/build/cjs/sub-blocks/Quote/index.d.ts +3 -0
  167. package/build/cjs/sub-blocks/Quote/index.js +21 -0
  168. package/build/cjs/types/actions/codes.d.ts +16 -0
  169. package/build/cjs/types/actions/codes.js +26 -0
  170. package/build/cjs/types/actions/index.d.ts +20 -0
  171. package/build/cjs/types/actions/index.js +10 -0
  172. package/build/cjs/types/actions/initial.d.ts +23 -0
  173. package/build/cjs/types/actions/initial.js +2 -0
  174. package/build/cjs/types/actions/insert.d.ts +19 -0
  175. package/build/cjs/types/actions/insert.js +2 -0
  176. package/build/cjs/types/actions/other.d.ts +16 -0
  177. package/build/cjs/types/actions/other.js +2 -0
  178. package/build/cjs/types/actions/overlay.d.ts +16 -0
  179. package/build/cjs/types/actions/overlay.js +2 -0
  180. package/build/cjs/types/actions/reorder.d.ts +17 -0
  181. package/build/cjs/types/actions/reorder.js +2 -0
  182. package/build/cjs/types/actions/select.d.ts +16 -0
  183. package/build/cjs/types/actions/select.js +2 -0
  184. package/build/cjs/types/dynamic-form.d.ts +92 -0
  185. package/build/cjs/types/dynamic-form.js +2 -0
  186. package/build/cjs/types/index.d.ts +14 -0
  187. package/build/cjs/types/index.js +2 -0
  188. package/build/cjs/utils/editor.d.ts +2 -0
  189. package/build/cjs/utils/editor.js +24 -0
  190. package/build/cjs/utils/form-generator.d.ts +9 -0
  191. package/build/cjs/utils/form-generator.js +126 -0
  192. package/build/cjs/utils/store.d.ts +16 -0
  193. package/build/cjs/utils/store.js +9 -0
  194. package/build/esm/blocks/Banner/Banner.js +3 -1
  195. package/build/esm/blocks/Banner/index.d.ts +3 -0
  196. package/build/esm/blocks/Banner/index.js +19 -0
  197. package/build/esm/blocks/CardLayout/CardLayout.css +1 -0
  198. package/build/esm/blocks/CardLayout/CardLayout.js +12 -7
  199. package/build/esm/blocks/CardLayout/index.d.ts +5 -0
  200. package/build/esm/blocks/CardLayout/index.js +162 -0
  201. package/build/esm/blocks/Companies/Companies.js +6 -4
  202. package/build/esm/blocks/Companies/index.d.ts +3 -0
  203. package/build/esm/blocks/Companies/index.js +15 -0
  204. package/build/esm/blocks/ContentLayout/ContentLayout.js +7 -6
  205. package/build/esm/blocks/ContentLayout/index.d.ts +11 -0
  206. package/build/esm/blocks/ContentLayout/index.js +14 -0
  207. package/build/esm/blocks/ContentLayout/schema.d.ts +1 -0
  208. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +23 -21
  209. package/build/esm/blocks/ExtendedFeatures/index.d.ts +12 -0
  210. package/build/esm/blocks/ExtendedFeatures/index.js +15 -0
  211. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +1 -0
  212. package/build/esm/blocks/ExtendedFeatures/schema.js +1 -0
  213. package/build/esm/blocks/FilterBlock/FilterBlock.js +12 -11
  214. package/build/esm/blocks/FilterBlock/index.d.ts +11 -0
  215. package/build/esm/blocks/FilterBlock/index.js +14 -0
  216. package/build/esm/blocks/Form/index.d.ts +12 -0
  217. package/build/esm/blocks/Form/index.js +15 -0
  218. package/build/esm/blocks/Header/dynamic-form.d.ts +2 -0
  219. package/build/esm/blocks/Header/dynamic-form.js +727 -0
  220. package/build/esm/blocks/Header/index.d.ts +8 -0
  221. package/build/esm/blocks/Header/index.js +11 -0
  222. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +3 -2
  223. package/build/esm/blocks/HeaderSlider/index.d.ts +31 -0
  224. package/build/esm/blocks/HeaderSlider/index.js +35 -0
  225. package/build/esm/blocks/Icons/Icons.js +9 -6
  226. package/build/esm/blocks/Icons/index.d.ts +13 -0
  227. package/build/esm/blocks/Icons/index.js +16 -0
  228. package/build/esm/blocks/Info/index.d.ts +21 -0
  229. package/build/esm/blocks/Info/index.js +38 -0
  230. package/build/esm/blocks/Map/index.d.ts +11 -0
  231. package/build/esm/blocks/Map/index.js +14 -0
  232. package/build/esm/blocks/Media/index.d.ts +14 -0
  233. package/build/esm/blocks/Media/index.js +17 -0
  234. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.js +19 -16
  235. package/build/esm/blocks/PromoFeaturesBlock/index.d.ts +12 -0
  236. package/build/esm/blocks/PromoFeaturesBlock/index.js +15 -0
  237. package/build/esm/blocks/Questions/Questions.js +13 -11
  238. package/build/esm/blocks/Questions/index.d.ts +29 -0
  239. package/build/esm/blocks/Questions/index.js +44 -0
  240. package/build/esm/blocks/Share/Share.js +11 -10
  241. package/build/esm/blocks/Share/index.d.ts +12 -0
  242. package/build/esm/blocks/Share/index.js +15 -0
  243. package/build/esm/blocks/Slider/Slider.js +22 -17
  244. package/build/esm/blocks/Slider/dynamic-form.d.ts +3 -0
  245. package/build/esm/blocks/Slider/dynamic-form.js +222 -0
  246. package/build/esm/blocks/Slider/index.d.ts +8 -0
  247. package/build/esm/blocks/Slider/index.js +11 -0
  248. package/build/esm/blocks/Table/index.d.ts +8 -0
  249. package/build/esm/blocks/Table/index.js +11 -0
  250. package/build/esm/blocks/Table/schema.d.ts +1 -0
  251. package/build/esm/blocks/Table/schema.js +1 -0
  252. package/build/esm/blocks/Tabs/Tabs.js +10 -9
  253. package/build/esm/blocks/Tabs/index.d.ts +16 -0
  254. package/build/esm/blocks/Tabs/index.js +26 -0
  255. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.d.ts +5 -0
  256. package/build/esm/blocks/TestEditorBlock/TestEditorBlock.js +7 -0
  257. package/build/esm/blocks/TestEditorBlock/form.d.ts +3 -0
  258. package/build/esm/blocks/TestEditorBlock/form.js +78 -0
  259. package/build/esm/blocks/TestEditorBlock/index.d.ts +11 -0
  260. package/build/esm/blocks/TestEditorBlock/index.js +13 -0
  261. package/build/esm/components/BlockBase/BlockBase.css +8 -16
  262. package/build/esm/components/Image/dynamic-form.d.ts +2 -0
  263. package/build/esm/components/Image/dynamic-form.js +80 -0
  264. package/build/esm/components/ReactPlayer/ReactPlayer.js +8 -6
  265. package/build/esm/components/editor/ChildrenWrap/ChildrenWrap.css +5 -0
  266. package/build/esm/components/editor/ChildrenWrap/ChildrenWrap.d.ts +7 -0
  267. package/build/esm/components/editor/ChildrenWrap/ChildrenWrap.js +13 -0
  268. package/build/esm/components/editor/ItemWrap/ItemWrap.css +9 -0
  269. package/build/esm/components/editor/ItemWrap/ItemWrap.d.ts +7 -0
  270. package/build/esm/components/editor/ItemWrap/ItemWrap.js +13 -0
  271. package/build/esm/constructor-items.d.ts +18 -6
  272. package/build/esm/constructor-items.js +66 -0
  273. package/build/esm/containers/PageConstructor/PageConstructor.js +19 -16
  274. package/build/esm/containers/PageConstructor/Provider.js +4 -0
  275. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.css +10 -6
  276. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +5 -2
  277. package/build/esm/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.d.ts +8 -0
  278. package/build/esm/containers/PageConstructor/components/ConstructorBlock/hooks/useEditorBlockMouseEvents.js +107 -0
  279. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -6
  280. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  281. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
  282. package/build/esm/containers/PageConstructor/components/ConstructorLoadable/ConstructorLoadable.js +1 -1
  283. package/build/esm/containers/PageConstructor/components/ConstructorRow/ConstructorRow.js +1 -3
  284. package/build/esm/context/blockIdContext/blockIdContext.d.ts +2 -2
  285. package/build/esm/context/blockIdContext/blockIdContext.js +1 -1
  286. package/build/esm/context/editorContext/editorContext.d.ts +13 -0
  287. package/build/esm/context/editorContext/editorContext.js +6 -0
  288. package/build/esm/context/editorContext/editorProvider.d.ts +2 -0
  289. package/build/esm/context/editorContext/editorProvider.js +15 -0
  290. package/build/esm/context/editorContext/hooks/useEditorStore.d.ts +2 -0
  291. package/build/esm/context/editorContext/hooks/useEditorStore.js +11 -0
  292. package/build/esm/context/editorContext/index.d.ts +4 -0
  293. package/build/esm/context/editorContext/index.js +4 -0
  294. package/build/esm/context/editorContext/store.d.ts +24 -0
  295. package/build/esm/context/editorContext/store.js +36 -0
  296. package/build/esm/context/messagesContext/hooks/useMessageObserver.d.ts +4 -0
  297. package/build/esm/context/messagesContext/hooks/useMessageObserver.js +12 -0
  298. package/build/esm/context/messagesContext/hooks/useMessageSender.d.ts +2 -0
  299. package/build/esm/context/messagesContext/hooks/useMessageSender.js +7 -0
  300. package/build/esm/context/messagesContext/hooks/useMessagesStore.d.ts +2 -0
  301. package/build/esm/context/messagesContext/hooks/useMessagesStore.js +11 -0
  302. package/build/esm/context/messagesContext/index.d.ts +5 -0
  303. package/build/esm/context/messagesContext/index.js +5 -0
  304. package/build/esm/context/messagesContext/messagesContext.d.ts +14 -0
  305. package/build/esm/context/messagesContext/messagesContext.js +8 -0
  306. package/build/esm/context/messagesContext/messagesProvider.d.ts +2 -0
  307. package/build/esm/context/messagesContext/messagesProvider.js +68 -0
  308. package/build/esm/context/messagesContext/store.d.ts +25 -0
  309. package/build/esm/context/messagesContext/store.js +14 -0
  310. package/build/esm/context/messagesContext/types.d.ts +14 -0
  311. package/build/esm/context/messagesContext/types.js +1 -0
  312. package/build/esm/grid/Col/Col.d.ts +1 -1
  313. package/build/esm/grid/Grid/Grid.css +2 -6
  314. package/build/esm/hooks/useAnalytics.js +1 -1
  315. package/build/esm/hooks/useEditorInitialize.d.ts +7 -0
  316. package/build/esm/hooks/useEditorInitialize.js +87 -0
  317. package/build/esm/models/constructor-items/blocks.d.ts +2 -1
  318. package/build/esm/models/constructor-items/blocks.js +1 -0
  319. package/build/esm/models/constructor-items/sub-blocks.d.ts +1 -1
  320. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +4 -1
  321. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -1
  322. package/build/esm/navigation/containers/Layout/Layout.css +0 -1
  323. package/build/esm/schema/constants.d.ts +1 -1
  324. package/build/esm/schema/constants.js +2 -1
  325. package/build/esm/schema/index.d.ts +227 -0
  326. package/build/esm/schema/index.js +6 -2
  327. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.d.ts +2 -0
  328. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js +78 -0
  329. package/build/esm/sub-blocks/BackgroundCard/index.d.ts +3 -0
  330. package/build/esm/sub-blocks/BackgroundCard/index.js +16 -0
  331. package/build/esm/sub-blocks/BannerCard/BannerCard.js +4 -3
  332. package/build/esm/sub-blocks/BannerCard/index.d.ts +3 -0
  333. package/build/esm/sub-blocks/BannerCard/index.js +19 -0
  334. package/build/esm/sub-blocks/BasicCard/index.d.ts +3 -0
  335. package/build/esm/sub-blocks/BasicCard/index.js +15 -0
  336. package/build/esm/sub-blocks/Content/index.d.ts +3 -0
  337. package/build/esm/sub-blocks/Content/index.js +15 -0
  338. package/build/esm/sub-blocks/Content/schema.d.ts +1 -0
  339. package/build/esm/sub-blocks/Content/schema.js +1 -0
  340. package/build/esm/sub-blocks/Divider/index.d.ts +3 -0
  341. package/build/esm/sub-blocks/Divider/index.js +12 -0
  342. package/build/esm/sub-blocks/ImageCard/ImageCard.js +2 -2
  343. package/build/esm/sub-blocks/ImageCard/index.d.ts +3 -0
  344. package/build/esm/sub-blocks/ImageCard/index.js +15 -0
  345. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +1 -1
  346. package/build/esm/sub-blocks/LayoutItem/form.d.ts +8 -0
  347. package/build/esm/sub-blocks/LayoutItem/form.js +11 -0
  348. package/build/esm/sub-blocks/LayoutItem/index.d.ts +3 -0
  349. package/build/esm/sub-blocks/LayoutItem/index.js +17 -0
  350. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +254 -246
  351. package/build/esm/sub-blocks/LayoutItem/schema.js +6 -2
  352. package/build/esm/sub-blocks/MediaCard/index.d.ts +3 -0
  353. package/build/esm/sub-blocks/MediaCard/index.js +17 -0
  354. package/build/esm/sub-blocks/PriceCard/index.d.ts +3 -0
  355. package/build/esm/sub-blocks/PriceCard/index.js +28 -0
  356. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +1 -1
  357. package/build/esm/sub-blocks/PriceDetailed/index.d.ts +4 -0
  358. package/build/esm/sub-blocks/PriceDetailed/index.js +30 -0
  359. package/build/esm/sub-blocks/Quote/index.d.ts +3 -0
  360. package/build/esm/sub-blocks/Quote/index.js +18 -0
  361. package/build/esm/types/actions/codes.d.ts +16 -0
  362. package/build/esm/types/actions/codes.js +23 -0
  363. package/build/esm/types/actions/index.d.ts +20 -0
  364. package/build/esm/types/actions/index.js +7 -0
  365. package/build/esm/types/actions/initial.d.ts +23 -0
  366. package/build/esm/types/actions/initial.js +1 -0
  367. package/build/esm/types/actions/insert.d.ts +19 -0
  368. package/build/esm/types/actions/insert.js +1 -0
  369. package/build/esm/types/actions/other.d.ts +16 -0
  370. package/build/esm/types/actions/other.js +1 -0
  371. package/build/esm/types/actions/overlay.d.ts +16 -0
  372. package/build/esm/types/actions/overlay.js +1 -0
  373. package/build/esm/types/actions/reorder.d.ts +17 -0
  374. package/build/esm/types/actions/reorder.js +1 -0
  375. package/build/esm/types/actions/select.d.ts +16 -0
  376. package/build/esm/types/actions/select.js +1 -0
  377. package/build/esm/types/dynamic-form.d.ts +92 -0
  378. package/build/esm/types/dynamic-form.js +1 -0
  379. package/build/esm/types/index.d.ts +14 -0
  380. package/build/esm/types/index.js +1 -0
  381. package/build/esm/utils/editor.d.ts +2 -0
  382. package/build/esm/utils/editor.js +20 -0
  383. package/build/esm/utils/form-generator.d.ts +9 -0
  384. package/build/esm/utils/form-generator.js +121 -0
  385. package/build/esm/utils/store.d.ts +16 -0
  386. package/build/esm/utils/store.js +5 -0
  387. package/package.json +5 -2
  388. package/server/models/constructor-items/blocks.d.ts +2 -1
  389. package/server/models/constructor-items/blocks.js +1 -0
  390. package/server/models/constructor-items/sub-blocks.d.ts +1 -1
  391. package/styles/mixins.scss +9 -9
  392. package/widget/index.js +1 -1
@@ -0,0 +1,4 @@
1
+ export * from './editorContext';
2
+ export * from './editorProvider';
3
+ export * from './hooks/useEditorStore';
4
+ export * from './store';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./editorContext"), exports);
5
+ tslib_1.__exportStar(require("./editorProvider"), exports);
6
+ tslib_1.__exportStar(require("./hooks/useEditorStore"), exports);
7
+ tslib_1.__exportStar(require("./store"), exports);
@@ -0,0 +1,24 @@
1
+ import { WithStoreReducer } from '../../types';
2
+ export interface EditorState {
3
+ manipulateOverlayMode: 'insert' | 'reorder' | false;
4
+ isSelectActive: boolean;
5
+ initialized: boolean;
6
+ }
7
+ export interface EditorMethods extends WithStoreReducer {
8
+ }
9
+ export type EditorStore = EditorState & EditorMethods;
10
+ export declare const createEditorStore: (overrideInitialState?: Partial<EditorState> | undefined) => import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<EditorState & EditorMethods>, "setState"> & {
11
+ setState<A extends string | {
12
+ type: string;
13
+ }>(partial: (EditorState & EditorMethods) | Partial<EditorState & EditorMethods> | ((state: EditorState & EditorMethods) => (EditorState & EditorMethods) | Partial<EditorState & EditorMethods>), replace?: boolean | undefined, action?: A | undefined): void;
14
+ }, "persist"> & {
15
+ persist: {
16
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<EditorState & EditorMethods, EditorState & EditorMethods>>) => void;
17
+ clearStorage: () => void;
18
+ rehydrate: () => void | Promise<void>;
19
+ hasHydrated: () => boolean;
20
+ onHydrate: (fn: (state: EditorState & EditorMethods) => void) => () => void;
21
+ onFinishHydration: (fn: (state: EditorState & EditorMethods) => void) => () => void;
22
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<EditorState & EditorMethods, EditorState & EditorMethods>>;
23
+ };
24
+ }>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEditorStore = void 0;
4
+ const actions_1 = require("../../types/actions");
5
+ const store_1 = require("../../utils/store");
6
+ exports.createEditorStore = (0, store_1.initializeStore)({
7
+ manipulateOverlayMode: false,
8
+ isSelectActive: false,
9
+ initialized: false,
10
+ }, (set, _get) => ({
11
+ reducer: (action) => {
12
+ switch (action.type) {
13
+ case actions_1.ActionTypes.EditorReady: {
14
+ set((state) => (Object.assign(Object.assign({}, state), { initialized: true })));
15
+ break;
16
+ }
17
+ case actions_1.ActionTypes.ReorderModeEnable: {
18
+ set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: 'reorder' })));
19
+ break;
20
+ }
21
+ case actions_1.ActionTypes.ReorderModeDisable: {
22
+ set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: false })));
23
+ break;
24
+ }
25
+ case actions_1.ActionTypes.InsertModeEnable: {
26
+ set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: 'insert' })));
27
+ break;
28
+ }
29
+ case actions_1.ActionTypes.InsertModeDisable: {
30
+ set((state) => (Object.assign(Object.assign({}, state), { manipulateOverlayMode: false })));
31
+ break;
32
+ }
33
+ case actions_1.ActionTypes.SelectBlock: {
34
+ set((state) => (Object.assign(Object.assign({}, state), { isSelectActive: true })));
35
+ break;
36
+ }
37
+ }
38
+ },
39
+ }));
@@ -0,0 +1,4 @@
1
+ import { DependencyList } from 'react';
2
+ import { Action } from '../../../types/actions';
3
+ export declare const useMessageObserver: <A extends Action>(type: A["type"], callback: (payload: A["payload"]) => void, deps?: DependencyList) => void;
4
+ export default useMessageObserver;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMessageObserver = void 0;
4
+ const react_1 = require("react");
5
+ const useMessagesStore_1 = require("./useMessagesStore");
6
+ const useMessageObserver = (type, callback, deps = []) => {
7
+ const { subscribe, unsubscribe } = (0, useMessagesStore_1.useMessagesStore)();
8
+ (0, react_1.useEffect)(() => {
9
+ subscribe(type, callback);
10
+ return () => {
11
+ unsubscribe(type, callback);
12
+ };
13
+ }, deps); // eslint-disable-line react-hooks/exhaustive-deps
14
+ };
15
+ exports.useMessageObserver = useMessageObserver;
16
+ exports.default = exports.useMessageObserver;
@@ -0,0 +1,2 @@
1
+ export declare const useMessageSender: () => (action: import("../../../types/actions").Action, options?: import("../types").SendOptions | undefined) => void;
2
+ export default useMessageSender;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMessageSender = void 0;
4
+ const react_1 = require("react");
5
+ const messagesContext_1 = require("../messagesContext");
6
+ const useMessageSender = () => {
7
+ const { sendMessage } = (0, react_1.useContext)(messagesContext_1.PostMessageContext);
8
+ return sendMessage;
9
+ };
10
+ exports.useMessageSender = useMessageSender;
11
+ exports.default = exports.useMessageSender;
@@ -0,0 +1,2 @@
1
+ export declare const useMessagesStore: () => import("../store").MessagesStore;
2
+ export default useMessagesStore;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMessagesStore = void 0;
4
+ const react_1 = require("react");
5
+ const zustand_1 = require("zustand");
6
+ const messagesContext_1 = require("../messagesContext");
7
+ const useMessagesStore = () => {
8
+ const { state } = (0, react_1.useContext)(messagesContext_1.PostMessageContext);
9
+ if (!state) {
10
+ throw new Error('Missing PostMessageContext');
11
+ }
12
+ return (0, zustand_1.useStore)(state);
13
+ };
14
+ exports.useMessagesStore = useMessagesStore;
15
+ exports.default = exports.useMessagesStore;
@@ -0,0 +1,5 @@
1
+ export * from './messagesContext';
2
+ export * from './messagesProvider';
3
+ export * from './hooks/useMessageSender';
4
+ export * from './hooks/useMessageObserver';
5
+ export * from './hooks/useMessagesStore';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./messagesContext"), exports);
5
+ tslib_1.__exportStar(require("./messagesProvider"), exports);
6
+ tslib_1.__exportStar(require("./hooks/useMessageSender"), exports);
7
+ tslib_1.__exportStar(require("./hooks/useMessageObserver"), exports);
8
+ tslib_1.__exportStar(require("./hooks/useMessagesStore"), exports);
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Context for sending messages between Editor and App
3
+ * Same exist in Editor
4
+ **/
5
+ import React from 'react';
6
+ import { StoreApi } from 'zustand';
7
+ import { Action } from '../../types/actions';
8
+ import { MessagesStore } from './store';
9
+ import { SendOptions } from './types';
10
+ export interface PostMessageContextProps {
11
+ state?: StoreApi<MessagesStore>;
12
+ sendMessage: (action: Action, options?: SendOptions) => void;
13
+ }
14
+ export declare const PostMessageContext: React.Context<PostMessageContextProps>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Context for sending messages between Editor and App
4
+ * Same exist in Editor
5
+ **/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.PostMessageContext = void 0;
8
+ const tslib_1 = require("tslib");
9
+ const react_1 = tslib_1.__importDefault(require("react"));
10
+ exports.PostMessageContext = react_1.default.createContext({
11
+ sendMessage: () => { },
12
+ });
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare const PostMessageProvider: ({ children }: PropsWithChildren) => JSX.Element;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostMessageProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const editorContext_1 = require("../editorContext");
7
+ const messagesContext_1 = require("./messagesContext");
8
+ const store_1 = require("./store");
9
+ const DEBUG_MODE = false;
10
+ const PostMessageProvider = ({ children }) => {
11
+ const storeRef = (0, react_1.useRef)();
12
+ if (!storeRef.current) {
13
+ storeRef.current = (0, store_1.createMessagesStore)();
14
+ }
15
+ const editorStore = (0, editorContext_1.useEditorStore)();
16
+ const sendPostMessage = (0, react_1.useCallback)((args) => {
17
+ window.parent.postMessage(args, '*');
18
+ }, []);
19
+ const notifySubscribers = (0, react_1.useCallback)((action, source) => {
20
+ const meta = { source };
21
+ const storesWithReducer = [editorStore];
22
+ const { type, payload } = action;
23
+ const store = storeRef.current;
24
+ if (!type) {
25
+ return;
26
+ }
27
+ if (store) {
28
+ const { subscribers } = store.getState();
29
+ const foundedSubscribers = subscribers.filter((subscriber) => subscriber.action === type);
30
+ for (const storeWithReducer of storesWithReducer) {
31
+ storeWithReducer.reducer(action, meta);
32
+ }
33
+ if (foundedSubscribers.length) {
34
+ for (const subscriber of foundedSubscribers) {
35
+ subscriber.handler(payload, meta);
36
+ }
37
+ }
38
+ }
39
+ }, [editorStore]);
40
+ (0, react_1.useEffect)(() => {
41
+ const onMessage = (e) => {
42
+ const { action, debug } = e.data;
43
+ if (action && action.type) {
44
+ if (debug) {
45
+ // eslint-disable-next-line no-console
46
+ console.log(`🔵 ➡️ Editor ${action.type}`, action.payload);
47
+ }
48
+ notifySubscribers(action, 'editor');
49
+ }
50
+ };
51
+ window.addEventListener('message', onMessage);
52
+ return () => {
53
+ window.removeEventListener('message', onMessage);
54
+ };
55
+ }, [notifySubscribers]);
56
+ const sendMessage = (0, react_1.useCallback)((action, { debug = DEBUG_MODE, direction = 'both' } = {}) => {
57
+ if (debug) {
58
+ // eslint-disable-next-line no-console
59
+ console.log(`🟢 Website ➡️ ${action.type}`, action.payload);
60
+ }
61
+ if (direction === 'both' || direction === 'editor') {
62
+ sendPostMessage({ action, debug });
63
+ }
64
+ if (direction === 'both' || direction === 'pc') {
65
+ notifySubscribers(action, 'pc');
66
+ }
67
+ }, [notifySubscribers, sendPostMessage]);
68
+ return (react_1.default.createElement(messagesContext_1.PostMessageContext.Provider, { value: {
69
+ state: storeRef.current,
70
+ sendMessage: sendMessage,
71
+ } }, children));
72
+ };
73
+ exports.PostMessageProvider = PostMessageProvider;
@@ -0,0 +1,25 @@
1
+ import { Subscriber } from '../../types';
2
+ import { SubscriptionFunc } from './types';
3
+ export interface MessagesState {
4
+ subscribers: Subscriber[];
5
+ }
6
+ export interface MessagesMethods {
7
+ subscribe: SubscriptionFunc;
8
+ unsubscribe: SubscriptionFunc;
9
+ }
10
+ export type MessagesStore = MessagesState & MessagesMethods;
11
+ export declare const createMessagesStore: (overrideInitialState?: Partial<MessagesState> | undefined) => import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<MessagesState & MessagesMethods>, "setState"> & {
12
+ setState<A extends string | {
13
+ type: string;
14
+ }>(partial: (MessagesState & MessagesMethods) | Partial<MessagesState & MessagesMethods> | ((state: MessagesState & MessagesMethods) => (MessagesState & MessagesMethods) | Partial<MessagesState & MessagesMethods>), replace?: boolean | undefined, action?: A | undefined): void;
15
+ }, "persist"> & {
16
+ persist: {
17
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<MessagesState & MessagesMethods, MessagesState & MessagesMethods>>) => void;
18
+ clearStorage: () => void;
19
+ rehydrate: () => void | Promise<void>;
20
+ hasHydrated: () => boolean;
21
+ onHydrate: (fn: (state: MessagesState & MessagesMethods) => void) => () => void;
22
+ onFinishHydration: (fn: (state: MessagesState & MessagesMethods) => void) => () => void;
23
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<MessagesState & MessagesMethods, MessagesState & MessagesMethods>>;
24
+ };
25
+ }>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMessagesStore = void 0;
4
+ const store_1 = require("../../utils/store");
5
+ exports.createMessagesStore = (0, store_1.initializeStore)({
6
+ subscribers: [],
7
+ }, (set, _get) => ({
8
+ subscribe: (type, payloadCallback) => {
9
+ set((state) => (Object.assign(Object.assign({}, state), { subscribers: [...state.subscribers, { action: type, handler: payloadCallback }] })));
10
+ return () => {
11
+ set((state) => (Object.assign(Object.assign({}, state), { subscribers: state.subscribers.filter(({ handler, action }) => payloadCallback !== handler || type !== action) })));
12
+ };
13
+ },
14
+ unsubscribe: (type, payloadCallback) => {
15
+ set((state) => (Object.assign(Object.assign({}, state), { subscribers: state.subscribers.filter(({ handler, action }) => payloadCallback !== handler || type !== action) })));
16
+ },
17
+ }));
@@ -0,0 +1,14 @@
1
+ import { Action } from '../../types/actions';
2
+ export interface SendOptions {
3
+ direction?: MetaSource | 'both';
4
+ debug?: boolean;
5
+ }
6
+ export interface PostMessageArgs {
7
+ action: Action;
8
+ debug: boolean;
9
+ }
10
+ export type SubscriptionFunc = <A extends Action>(type: A['type'], payloadCallback: (payload: A['payload'], meta: Meta) => void) => void;
11
+ export type MetaSource = 'pc' | 'editor';
12
+ export interface Meta {
13
+ source: MetaSource;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,4 +5,4 @@ export interface GridColumnProps extends GridColumnClassParams, Refable<HTMLDivE
5
5
  style?: CSSProperties;
6
6
  children?: React.ReactNode;
7
7
  }
8
- export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "sizes" | "className" | "hidden" | "role" | "qa" | "reset" | "visible" | "offsets" | "orders" | "alignSelf" | "justifyContent"> & React.RefAttributes<HTMLDivElement>>;
8
+ export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "sizes" | "className" | "hidden" | "role" | "qa" | "offsets" | "orders" | "visible" | "alignSelf" | "justifyContent" | "reset"> & React.RefAttributes<HTMLDivElement>>;
@@ -2,15 +2,11 @@
2
2
  .pc-Grid .container {
3
3
  max-width: calc(1232px + 8px * 2 + 40px * 2);
4
4
  }
5
- .pc-Grid .row {
6
- margin-right: 0;
7
- margin-left: 0;
8
- }
9
5
  .pc-Grid .pc-Grid .container-fluid,
10
6
  .pc-Grid .pc-Grid .container {
11
7
  padding: 0;
12
8
  }
13
- .pc-Grid .row .row {
9
+ .pc-Grid .row {
14
10
  margin: 0 -8px;
15
11
  }
16
12
  .pc-Grid_debug .container,
@@ -81,7 +77,7 @@
81
77
  .pc-Grid .col-12 {
82
78
  padding: 0 8px;
83
79
  }
84
- .pc-Grid .row .row {
80
+ .pc-Grid .row {
85
81
  margin: 0 -8px;
86
82
  }
87
83
  }
@@ -11,7 +11,7 @@ const useAnalytics = (name = '', target) => {
11
11
  const defaultEvent = (0, react_1.useMemo)(() => name
12
12
  ? {
13
13
  name,
14
- context,
14
+ context: String(context),
15
15
  type: models_1.PredefinedEventTypes.Default,
16
16
  target: target,
17
17
  }
@@ -0,0 +1,7 @@
1
+ import { PageContent } from '../models';
2
+ interface UseEditorInitializeProps {
3
+ content: PageContent;
4
+ setContent: (content: PageContent) => void;
5
+ }
6
+ declare const useEditorInitialize: ({ setContent, content }: UseEditorInitializeProps) => void;
7
+ export default useEditorInitialize;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = require("react");
5
+ const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
+ const constructor_items_1 = require("../constructor-items");
7
+ const editorContext_1 = require("../context/editorContext");
8
+ const messagesContext_1 = require("../context/messagesContext");
9
+ const schema_1 = require("../schema");
10
+ const actions_1 = require("../types/actions");
11
+ const form_generator_1 = require("../utils/form-generator");
12
+ const useEditorInitialize = ({ setContent, content }) => {
13
+ const { manipulateOverlayMode, isSelectActive } = (0, editorContext_1.useEditorStore)();
14
+ const sendMessage = (0, messagesContext_1.useMessageSender)();
15
+ const { activeElement } = (0, react_1.useContext)(editorContext_1.EditorContext);
16
+ const onResize = (0, react_1.useCallback)(() => {
17
+ const height = document.documentElement.getBoundingClientRect().height;
18
+ sendMessage({
19
+ type: actions_1.ActionTypes.SetHeight,
20
+ payload: { height },
21
+ });
22
+ if (isSelectActive && activeElement) {
23
+ const rect = activeElement.getClientRects().item(0);
24
+ if (rect) {
25
+ sendMessage({
26
+ type: actions_1.ActionTypes.UpdateSelectedBlockRect,
27
+ payload: {
28
+ rect: rect,
29
+ },
30
+ });
31
+ }
32
+ }
33
+ }, [activeElement, isSelectActive, sendMessage]);
34
+ (0, messagesContext_1.useMessageObserver)(actions_1.ActionTypes.UpdateConfigs, ({ content: newContent }) => {
35
+ setContent(newContent);
36
+ });
37
+ (0, react_1.useEffect)(() => {
38
+ onResize();
39
+ }, [content, onResize]);
40
+ // Fires only once
41
+ (0, react_1.useEffect)(() => {
42
+ const height = document.documentElement.getBoundingClientRect().height;
43
+ sendMessage({
44
+ type: actions_1.ActionTypes.IframeReady,
45
+ payload: { height },
46
+ }, { direction: 'editor' });
47
+ sendMessage({
48
+ type: actions_1.ActionTypes.BlocksConfigs,
49
+ payload: {
50
+ blocks: Object.entries(constructor_items_1.blockDataMap).reduce((acc, [key, value]) => {
51
+ acc.push({ type: key, schema: value.schema });
52
+ return acc;
53
+ }, []),
54
+ subBlocks: [],
55
+ global: (0, form_generator_1.generateFromAJV)(schema_1.defaultComponentsConfigurationSchema),
56
+ },
57
+ });
58
+ }, [sendMessage]);
59
+ (0, react_1.useEffect)(() => {
60
+ const onMouseUp = (e) => {
61
+ if (manipulateOverlayMode === 'insert') {
62
+ e.preventDefault();
63
+ sendMessage({ type: actions_1.ActionTypes.InsertModeDisable, payload: undefined });
64
+ }
65
+ if (manipulateOverlayMode === 'reorder') {
66
+ e.preventDefault();
67
+ sendMessage({ type: actions_1.ActionTypes.ReorderModeDisable, payload: undefined });
68
+ }
69
+ };
70
+ const onMouseMove = (event) => {
71
+ if (manipulateOverlayMode) {
72
+ sendMessage({
73
+ type: actions_1.ActionTypes.OverlayModeOnMove,
74
+ payload: { cursor: { x: event.clientX, y: event.clientY } },
75
+ });
76
+ }
77
+ };
78
+ const throttleOnMouseMove = lodash_1.default.throttle(onMouseMove, 1);
79
+ const throttleOnMouseUp = lodash_1.default.throttle(onMouseUp, 1);
80
+ document.addEventListener('mousemove', throttleOnMouseMove);
81
+ document.addEventListener('mouseup', throttleOnMouseUp);
82
+ window.addEventListener('resize', onResize);
83
+ return () => {
84
+ document.removeEventListener('mousemove', throttleOnMouseMove);
85
+ document.removeEventListener('mouseup', throttleOnMouseUp);
86
+ window.removeEventListener('resize', onResize);
87
+ };
88
+ }, [activeElement, manipulateOverlayMode, onResize, sendMessage]);
89
+ };
90
+ exports.default = useEditorInitialize;
@@ -24,7 +24,8 @@ export declare enum BlockType {
24
24
  ShareBlock = "share-block",
25
25
  MapBlock = "map-block",
26
26
  FilterBlock = "filter-block",
27
- FormBlock = "form-block"
27
+ FormBlock = "form-block",
28
+ TestEditorBlock = "test-editor-block"
28
29
  }
29
30
  export declare const BlockTypes: BlockType[];
30
31
  export declare const HeaderBlockTypes: BlockType[];
@@ -22,6 +22,7 @@ var BlockType;
22
22
  BlockType["MapBlock"] = "map-block";
23
23
  BlockType["FilterBlock"] = "filter-block";
24
24
  BlockType["FormBlock"] = "form-block";
25
+ BlockType["TestEditorBlock"] = "test-editor-block";
25
26
  })(BlockType = exports.BlockType || (exports.BlockType = {}));
26
27
  exports.BlockTypes = Object.values(BlockType);
27
28
  exports.HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];
@@ -117,7 +117,7 @@ export interface BannerCardProps {
117
117
  disableCompress?: boolean;
118
118
  color?: ThemeSupporting<string>;
119
119
  theme?: TextTheme;
120
- button: Pick<ButtonProps, 'text' | 'url' | 'target' | 'theme'>;
120
+ button?: Pick<ButtonProps, 'text' | 'url' | 'target' | 'theme'>;
121
121
  mediaView?: MediaView;
122
122
  }
123
123
  export interface MediaCardProps extends MediaProps, AnalyticsEventsBase, CardBaseProps {
@@ -24,7 +24,10 @@ const NavigationItem = (_a) => {
24
24
  ? componentProperties
25
25
  : Object.assign(Object.assign({}, componentProperties), { menuLayout });
26
26
  }, [data, props, type, menuLayout]);
27
- return (react_1.default.createElement(blockIdContext_1.BlockIdContext.Provider, { value: ANALYTICS_ID },
27
+ return (
28
+ // TODO: fix any
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ react_1.default.createElement(blockIdContext_1.BlockIdContext.Provider, { value: ANALYTICS_ID },
28
31
  react_1.default.createElement("li", { className: b({ 'menu-layout': menuLayout }, className) },
29
32
  react_1.default.createElement(Component, Object.assign({}, componentProps, { className: b('content', { type }) })))));
30
33
  };
@@ -11,7 +11,10 @@ const ANALYTICS_ID = 'navigation';
11
11
  const NavigationButton = (props) => {
12
12
  const { url, target, className } = props;
13
13
  const classes = b(null, className);
14
- return (react_1.default.createElement(blockIdContext_1.BlockIdContext.Provider, { value: ANALYTICS_ID }, target ? (react_1.default.createElement(components_1.Button, Object.assign({ className: classes }, props, { url: url }))) : (react_1.default.createElement(components_1.RouterLink, { href: url },
14
+ return (
15
+ // TODO: fix any
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ react_1.default.createElement(blockIdContext_1.BlockIdContext.Provider, { value: ANALYTICS_ID }, target ? (react_1.default.createElement(components_1.Button, Object.assign({ className: classes }, props, { url: url }))) : (react_1.default.createElement(components_1.RouterLink, { href: url },
15
18
  react_1.default.createElement(components_1.Button, Object.assign({}, props, { className: classes, url: url }))))));
16
19
  };
17
20
  exports.NavigationButton = NavigationButton;
@@ -1,7 +1,6 @@
1
1
  .pc-layout {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- min-height: 100vh;
5
4
  }
6
5
  .pc-layout__content {
7
6
  display: flex;
@@ -119,7 +119,7 @@ export declare const cardSchemas: {
119
119
  };
120
120
  } | undefined;
121
121
  controlPosition: {
122
- type: string; /** @deprecated */
122
+ type: string;
123
123
  enum: string[];
124
124
  };
125
125
  border: {
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
4
+ const TestEditorBlock_1 = require("../blocks/TestEditorBlock");
4
5
  const blocks_1 = require("./validators/blocks");
5
6
  const sub_blocks_1 = require("./validators/sub-blocks");
6
- exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock);
7
+ exports.blockSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock), TestEditorBlock_1.TestEditorBlockSchema);
7
8
  exports.cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard), sub_blocks_1.PriceCardBlock), sub_blocks_1.ImageCard);
8
9
  exports.constructorBlockSchemaNames = [
9
10
  'divider',