@gravity-ui/page-constructor 6.3.2-alpha.5 → 6.3.2-alpha.6

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 (374) hide show
  1. package/README.md +98 -10
  2. package/build/cjs/blocks/FoldableList/FoldableList.css +13 -0
  3. package/build/cjs/blocks/FoldableList/FoldableList.d.ts +3 -0
  4. package/build/cjs/blocks/FoldableList/FoldableList.js +31 -0
  5. package/build/cjs/blocks/FoldableList/FoldableList.js.map +1 -0
  6. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  7. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +2 -0
  8. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +20 -0
  9. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  10. package/build/cjs/blocks/FoldableList/schema.d.ts +140 -0
  11. package/build/cjs/blocks/FoldableList/schema.js +39 -0
  12. package/build/cjs/blocks/FoldableList/schema.js.map +1 -0
  13. package/build/cjs/blocks/Header/Header.css +12 -1
  14. package/build/cjs/blocks/Header/Header.js +4 -1
  15. package/build/cjs/blocks/Header/Header.js.map +1 -1
  16. package/build/cjs/blocks/Header/schema.d.ts +10 -0
  17. package/build/cjs/blocks/Header/schema.js +5 -0
  18. package/build/cjs/blocks/Header/schema.js.map +1 -1
  19. package/build/cjs/blocks/HeaderSlider/schema.d.ts +5 -0
  20. package/build/cjs/blocks/Slider/Slider.js +4 -1
  21. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  22. package/build/cjs/blocks/index.d.ts +1 -0
  23. package/build/cjs/blocks/index.js +3 -1
  24. package/build/cjs/blocks/index.js.map +1 -1
  25. package/build/cjs/common/store.d.ts +1 -0
  26. package/build/cjs/common/store.js +1 -0
  27. package/build/cjs/common/store.js.map +1 -1
  28. package/build/cjs/common/types/forms.d.ts +12 -1
  29. package/build/cjs/common/types/forms.js.map +1 -1
  30. package/build/cjs/components/FullscreenImage/FullscreenImage.css +1 -1
  31. package/build/cjs/components/ReactPlayer/ReactPlayer.js +4 -1
  32. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  33. package/build/cjs/constructor-items.d.ts +1 -0
  34. package/build/cjs/constructor-items.js +4 -4
  35. package/build/cjs/constructor-items.js.map +1 -1
  36. package/build/cjs/containers/PageConstructor/PageConstructor.js +18 -1
  37. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  38. package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.js +8 -1
  39. package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  40. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.css +6 -0
  41. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.d.ts +9 -0
  42. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js +35 -0
  43. package/build/cjs/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js.map +1 -0
  44. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.css +30 -0
  45. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js +9 -7
  46. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  47. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.d.ts +2 -1
  48. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.js +26 -4
  49. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.js.map +1 -1
  50. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js +2 -2
  51. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  52. package/build/cjs/editor-v2/hooks/useEditorTabs.js +2 -2
  53. package/build/cjs/editor-v2/hooks/useEditorTabs.js.map +1 -1
  54. package/build/cjs/editor-v2/store.d.ts +1 -0
  55. package/build/cjs/editor-v2/store.js +3 -0
  56. package/build/cjs/editor-v2/store.js.map +1 -1
  57. package/build/cjs/hooks/usePCEditorBlockMouseEvents.d.ts +1 -0
  58. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js +1 -0
  59. package/build/cjs/hooks/usePCEditorBlockMouseEvents.js.map +1 -1
  60. package/build/cjs/hooks/usePCEditorItemWrap.d.ts +1 -0
  61. package/build/cjs/internal-typings/global.d.ts +1 -0
  62. package/build/cjs/models/constructor-items/blocks.d.ts +19 -1
  63. package/build/cjs/models/constructor-items/blocks.js +1 -0
  64. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  65. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -1
  66. package/build/cjs/models/constructor-items/sub-blocks.js.map +1 -1
  67. package/build/cjs/navigation/schema.d.ts +2 -0
  68. package/build/cjs/navigation/schema.js +12 -3
  69. package/build/cjs/navigation/schema.js.map +1 -1
  70. package/build/cjs/schema/constants.js +1 -0
  71. package/build/cjs/schema/constants.js.map +1 -1
  72. package/build/cjs/schema/index.d.ts +2 -0
  73. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  74. package/build/cjs/schema/validators/blocks.js +1 -0
  75. package/build/cjs/schema/validators/blocks.js.map +1 -1
  76. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  77. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  78. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  79. package/build/cjs/sub-blocks/HubspotForm/index.js +2 -2
  80. package/build/cjs/sub-blocks/HubspotForm/index.js.map +1 -1
  81. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  82. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js +51 -0
  83. package/build/cjs/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  84. package/build/cjs/text-transform/config.js +25 -1
  85. package/build/cjs/text-transform/config.js.map +1 -1
  86. package/build/cjs/utils/form-generator.js +27 -0
  87. package/build/cjs/utils/form-generator.js.map +1 -1
  88. package/build/cjs/utils/hubspot.d.ts +1 -0
  89. package/build/cjs/utils/hubspot.js.map +1 -1
  90. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  91. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  92. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  93. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  94. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  95. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  96. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +16 -0
  97. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  98. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  99. package/build/esm/blocks/FoldableList/schema.js +35 -0
  100. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  101. package/build/esm/blocks/Header/Header.css +12 -1
  102. package/build/esm/blocks/Header/Header.js +4 -1
  103. package/build/esm/blocks/Header/Header.js.map +1 -1
  104. package/build/esm/blocks/Header/schema.d.ts +10 -0
  105. package/build/esm/blocks/Header/schema.js +5 -0
  106. package/build/esm/blocks/Header/schema.js.map +1 -1
  107. package/build/esm/blocks/HeaderSlider/schema.d.ts +5 -0
  108. package/build/esm/blocks/Slider/Slider.js +4 -1
  109. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  110. package/build/esm/blocks/index.d.ts +1 -0
  111. package/build/esm/blocks/index.js +1 -0
  112. package/build/esm/blocks/index.js.map +1 -1
  113. package/build/esm/common/store.d.ts +1 -0
  114. package/build/esm/common/store.js +1 -0
  115. package/build/esm/common/store.js.map +1 -1
  116. package/build/esm/common/types/forms.d.ts +12 -1
  117. package/build/esm/common/types/forms.js.map +1 -1
  118. package/build/esm/components/FullscreenImage/FullscreenImage.css +1 -1
  119. package/build/esm/components/ReactPlayer/ReactPlayer.js +4 -1
  120. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  121. package/build/esm/constructor-items.d.ts +1 -0
  122. package/build/esm/constructor-items.js +5 -5
  123. package/build/esm/constructor-items.js.map +1 -1
  124. package/build/esm/containers/PageConstructor/PageConstructor.js +18 -1
  125. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  126. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js +8 -1
  127. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  128. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.css +6 -0
  129. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.d.ts +10 -0
  130. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js +33 -0
  131. package/build/esm/editor-v2/components/DynamicForm/Fields/AnyOf/AnyOf.js.map +1 -0
  132. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.css +30 -0
  133. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js +10 -8
  134. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  135. package/build/esm/editor-v2/containers/SourceCode/SourceCode.d.ts +2 -1
  136. package/build/esm/editor-v2/containers/SourceCode/SourceCode.js +26 -4
  137. package/build/esm/editor-v2/containers/SourceCode/SourceCode.js.map +1 -1
  138. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js +3 -3
  139. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  140. package/build/esm/editor-v2/hooks/useEditorTabs.js +2 -2
  141. package/build/esm/editor-v2/hooks/useEditorTabs.js.map +1 -1
  142. package/build/esm/editor-v2/store.d.ts +1 -0
  143. package/build/esm/editor-v2/store.js +3 -0
  144. package/build/esm/editor-v2/store.js.map +1 -1
  145. package/build/esm/hooks/usePCEditorBlockMouseEvents.d.ts +1 -0
  146. package/build/esm/hooks/usePCEditorBlockMouseEvents.js +1 -0
  147. package/build/esm/hooks/usePCEditorBlockMouseEvents.js.map +1 -1
  148. package/build/esm/hooks/usePCEditorItemWrap.d.ts +1 -0
  149. package/build/esm/internal-typings/global.d.ts +1 -0
  150. package/build/esm/models/constructor-items/blocks.d.ts +19 -1
  151. package/build/esm/models/constructor-items/blocks.js +1 -0
  152. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  153. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -1
  154. package/build/esm/models/constructor-items/sub-blocks.js.map +1 -1
  155. package/build/esm/navigation/schema.d.ts +2 -0
  156. package/build/esm/navigation/schema.js +12 -3
  157. package/build/esm/navigation/schema.js.map +1 -1
  158. package/build/esm/schema/constants.js +2 -1
  159. package/build/esm/schema/constants.js.map +1 -1
  160. package/build/esm/schema/index.d.ts +2 -0
  161. package/build/esm/schema/validators/blocks.d.ts +1 -0
  162. package/build/esm/schema/validators/blocks.js +1 -0
  163. package/build/esm/schema/validators/blocks.js.map +1 -1
  164. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -1
  165. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +5 -1
  166. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js.map +1 -1
  167. package/build/esm/sub-blocks/HubspotForm/index.js +2 -2
  168. package/build/esm/sub-blocks/HubspotForm/index.js.map +1 -1
  169. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.d.ts +2 -0
  170. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js +47 -0
  171. package/build/esm/sub-blocks/HubspotForm/setHubspotDefaultValues.js.map +1 -0
  172. package/build/esm/text-transform/config.js +25 -1
  173. package/build/esm/text-transform/config.js.map +1 -1
  174. package/build/esm/utils/form-generator.js +27 -0
  175. package/build/esm/utils/form-generator.js.map +1 -1
  176. package/build/esm/utils/hubspot.d.ts +1 -0
  177. package/build/esm/utils/hubspot.js.map +1 -1
  178. package/package.json +13 -15
  179. package/schema/index.js +1 -1
  180. package/server/models/constructor-items/blocks.d.ts +19 -1
  181. package/server/models/constructor-items/blocks.js +1 -0
  182. package/server/models/constructor-items/sub-blocks.d.ts +2 -1
  183. package/server/text-transform/config.js +25 -1
  184. package/server/utils/hubspot.d.ts +1 -0
  185. package/widget/{5287.index.js → 1092.index.js} +1 -1
  186. package/widget/{8092.index.js → 1130.index.js} +1 -1
  187. package/widget/1219.index.js +1 -0
  188. package/widget/{2390.index.js → 122.index.js} +1 -1
  189. package/widget/{6817.index.js → 1289.index.js} +1 -1
  190. package/widget/{2921.index.js → 1335.index.js} +1 -1
  191. package/widget/{1876.index.js → 1340.index.js} +1 -1
  192. package/widget/{3901.index.js → 1349.index.js} +1 -1
  193. package/widget/1532.index.js +1 -0
  194. package/widget/{2957.index.js → 1750.index.js} +1 -1
  195. package/widget/{5105.index.js → 1995.index.js} +1 -1
  196. package/widget/{5418.index.js → 2010.index.js} +1 -1
  197. package/widget/{9517.index.js → 2026.index.js} +1 -1
  198. package/widget/{1794.index.js → 2187.index.js} +1 -1
  199. package/widget/{7548.index.js → 2218.index.js} +1 -1
  200. package/widget/225.index.js +1 -0
  201. package/widget/2338.index.js +1 -0
  202. package/widget/{4653.index.js → 2355.index.js} +1 -1
  203. package/widget/{5001.index.js → 2369.index.js} +1 -1
  204. package/widget/{4127.index.js → 2487.index.js} +1 -1
  205. package/widget/{6165.index.js → 2498.index.js} +1 -1
  206. package/widget/{5254.index.js → 2509.index.js} +1 -1
  207. package/widget/2544.index.js +1 -1
  208. package/widget/2619.index.js +1 -0
  209. package/widget/{5941.index.js → 2673.index.js} +1 -1
  210. package/widget/{4717.index.js → 2698.index.js} +1 -1
  211. package/widget/{7427.index.js → 2706.index.js} +1 -1
  212. package/widget/{8602.index.js → 2739.index.js} +1 -1
  213. package/widget/2745.index.js +1 -0
  214. package/widget/2796.index.js +1 -0
  215. package/widget/{7573.index.js → 2830.index.js} +1 -1
  216. package/widget/{3237.index.js → 2878.index.js} +1 -1
  217. package/widget/292.index.js +1 -0
  218. package/widget/2979.index.js +1 -0
  219. package/widget/3187.index.js +1 -0
  220. package/widget/321.index.js +1 -0
  221. package/widget/{5437.index.js → 3222.index.js} +1 -1
  222. package/widget/{1987.index.js → 3225.index.js} +1 -1
  223. package/widget/{7719.index.js → 3309.index.js} +1 -1
  224. package/widget/{4254.index.js → 3433.index.js} +1 -1
  225. package/widget/{2722.index.js → 3473.index.js} +1 -1
  226. package/widget/3532.index.js +1 -0
  227. package/widget/3562.index.js +1 -0
  228. package/widget/{6148.index.js → 3672.index.js} +1 -1
  229. package/widget/{4990.index.js → 3713.index.js} +1 -1
  230. package/widget/{8894.index.js → 3860.index.js} +1 -1
  231. package/widget/{5551.index.js → 3900.index.js} +1 -1
  232. package/widget/{6629.index.js → 4007.index.js} +1 -1
  233. package/widget/{7467.index.js → 4061.index.js} +1 -1
  234. package/widget/{5423.index.js → 4072.index.js} +1 -1
  235. package/widget/{4144.index.js → 4173.index.js} +1 -1
  236. package/widget/4288.index.js +1 -0
  237. package/widget/{8242.index.js → 4309.index.js} +1 -1
  238. package/widget/{8146.index.js → 4334.index.js} +1 -1
  239. package/widget/{9339.index.js → 4405.index.js} +1 -1
  240. package/widget/4457.index.js +1 -0
  241. package/widget/{8768.index.js → 4485.index.js} +1 -1
  242. package/widget/4509.index.js +1 -0
  243. package/widget/{4067.index.js → 4608.index.js} +1 -1
  244. package/widget/465.index.js +1 -0
  245. package/widget/{7118.index.js → 4719.index.js} +1 -1
  246. package/widget/4734.index.js +1 -0
  247. package/widget/4780.index.js +1 -0
  248. package/widget/4895.index.js +1 -0
  249. package/widget/{790.index.js → 494.index.js} +1 -1
  250. package/widget/5012.index.js +1 -0
  251. package/widget/{4722.index.js → 5084.index.js} +1 -1
  252. package/widget/5285.index.js +1 -0
  253. package/widget/5376.index.js +1 -0
  254. package/widget/539.index.js +1 -0
  255. package/widget/5414.index.js +1 -0
  256. package/widget/{8980.index.js → 5513.index.js} +1 -1
  257. package/widget/5530.index.js +1 -0
  258. package/widget/5571.index.js +1 -0
  259. package/widget/{8540.index.js → 5592.index.js} +1 -1
  260. package/widget/5616.index.js +1 -0
  261. package/widget/{5903.index.js → 5662.index.js} +1 -1
  262. package/widget/{7109.index.js → 5665.index.js} +1 -1
  263. package/widget/{8792.index.js → 5681.index.js} +1 -1
  264. package/widget/5760.index.js +1 -0
  265. package/widget/{6257.index.js → 5811.index.js} +1 -1
  266. package/widget/{5054.index.js → 5826.index.js} +1 -1
  267. package/widget/{1560.index.js → 5877.index.js} +1 -1
  268. package/widget/{9149.index.js → 5944.index.js} +1 -1
  269. package/widget/{8341.index.js → 5977.index.js} +1 -1
  270. package/widget/{3646.index.js → 5993.index.js} +1 -1
  271. package/widget/{2009.index.js → 6007.index.js} +1 -1
  272. package/widget/{3852.index.js → 6033.index.js} +1 -1
  273. package/widget/{5567.index.js → 6101.index.js} +1 -1
  274. package/widget/623.index.js +1 -0
  275. package/widget/{7989.index.js → 6290.index.js} +1 -1
  276. package/widget/6364.index.js +1 -0
  277. package/widget/{7387.index.js → 6400.index.js} +1 -1
  278. package/widget/{5473.index.js → 6462.index.js} +1 -1
  279. package/widget/6467.index.js +1 -0
  280. package/widget/{6622.index.js → 6481.index.js} +1 -1
  281. package/widget/{4888.index.js → 6605.index.js} +1 -1
  282. package/widget/{2966.index.js → 6803.index.js} +1 -1
  283. package/widget/{5627.index.js → 6847.index.js} +1 -1
  284. package/widget/{2019.index.js → 7081.index.js} +1 -1
  285. package/widget/7205.index.js +1 -0
  286. package/widget/{5596.index.js → 7250.index.js} +1 -1
  287. package/widget/{7763.index.js → 7317.index.js} +1 -1
  288. package/widget/7329.index.js +1 -0
  289. package/widget/{5159.index.js → 7406.index.js} +1 -1
  290. package/widget/{7632.index.js → 7409.index.js} +1 -1
  291. package/widget/{3783.index.js → 7420.index.js} +1 -1
  292. package/widget/{7101.index.js → 7439.index.js} +1 -1
  293. package/widget/{9197.index.js → 7674.index.js} +1 -1
  294. package/widget/{5805.index.js → 7690.index.js} +1 -1
  295. package/widget/{2641.index.js → 7741.index.js} +1 -1
  296. package/widget/{4724.index.js → 7933.index.js} +1 -1
  297. package/widget/{9132.index.js → 8003.index.js} +1 -1
  298. package/widget/813.index.js +1 -0
  299. package/widget/{6513.index.js → 8142.index.js} +1 -1
  300. package/widget/{8562.index.js → 8298.index.js} +1 -1
  301. package/widget/{7200.index.js → 8361.index.js} +1 -1
  302. package/widget/{4855.index.js → 8418.index.js} +1 -1
  303. package/widget/860.index.js +1 -0
  304. package/widget/{1796.index.js → 8615.index.js} +1 -1
  305. package/widget/{6312.index.js → 8660.index.js} +1 -1
  306. package/widget/880.index.js +1 -0
  307. package/widget/8804.index.js +1 -0
  308. package/widget/8809.index.js +1 -0
  309. package/widget/{9157.index.js → 8928.index.js} +1 -1
  310. package/widget/912.index.js +1 -0
  311. package/widget/9160.index.js +1 -0
  312. package/widget/{5914.index.js → 9252.index.js} +1 -1
  313. package/widget/{3706.index.js → 9286.index.js} +1 -1
  314. package/widget/{2502.index.js → 9294.index.js} +1 -1
  315. package/widget/{9182.index.js → 9423.index.js} +1 -1
  316. package/widget/{8477.index.js → 9464.index.js} +1 -1
  317. package/widget/950.index.js +1 -0
  318. package/widget/952.index.js +1 -0
  319. package/widget/9677.index.js +1 -0
  320. package/widget/9751.index.js +1 -0
  321. package/widget/{3220.index.js → 9836.index.js} +1 -1
  322. package/widget/{2376.index.js → 9865.index.js} +1 -1
  323. package/widget/{5109.index.js → 9881.index.js} +1 -1
  324. package/widget/9911.index.js +1 -1
  325. package/widget/{7822.index.js → 9964.index.js} +1 -1
  326. package/widget/{9091.index.js → 9990.index.js} +1 -1
  327. package/widget/9998.index.js +1 -0
  328. package/widget/index.js +1 -1
  329. package/widget/1113.index.js +0 -1
  330. package/widget/123.index.js +0 -1
  331. package/widget/1573.index.js +0 -1
  332. package/widget/2030.index.js +0 -1
  333. package/widget/229.index.js +0 -1
  334. package/widget/261.index.js +0 -1
  335. package/widget/302.index.js +0 -1
  336. package/widget/3035.index.js +0 -1
  337. package/widget/313.index.js +0 -1
  338. package/widget/3521.index.js +0 -1
  339. package/widget/3864.index.js +0 -1
  340. package/widget/3939.index.js +0 -1
  341. package/widget/4017.index.js +0 -1
  342. package/widget/4149.index.js +0 -1
  343. package/widget/4502.index.js +0 -1
  344. package/widget/466.index.js +0 -1
  345. package/widget/504.index.js +0 -1
  346. package/widget/5321.index.js +0 -1
  347. package/widget/5742.index.js +0 -1
  348. package/widget/5817.index.js +0 -1
  349. package/widget/600.index.js +0 -1
  350. package/widget/6023.index.js +0 -1
  351. package/widget/6159.index.js +0 -1
  352. package/widget/617.index.js +0 -1
  353. package/widget/6183.index.js +0 -1
  354. package/widget/6509.index.js +0 -1
  355. package/widget/6636.index.js +0 -1
  356. package/widget/6831.index.js +0 -1
  357. package/widget/6953.index.js +0 -1
  358. package/widget/7296.index.js +0 -1
  359. package/widget/7486.index.js +0 -1
  360. package/widget/7496.index.js +0 -1
  361. package/widget/7553.index.js +0 -1
  362. package/widget/758.index.js +0 -1
  363. package/widget/772.index.js +0 -1
  364. package/widget/7797.index.js +0 -1
  365. package/widget/8066.index.js +0 -1
  366. package/widget/8507.index.js +0 -1
  367. package/widget/8529.index.js +0 -1
  368. package/widget/8727.index.js +0 -1
  369. package/widget/8864.index.js +0 -1
  370. package/widget/8889.index.js +0 -1
  371. package/widget/953.index.js +0 -1
  372. package/widget/9670.index.js +0 -1
  373. package/widget/9682.index.js +0 -1
  374. package/widget/9928.index.js +0 -1
@@ -59,12 +59,12 @@ const useEditorTabs = ({ leftTabs, rightTabs, }) => {
59
59
  {
60
60
  id: 'source-code-yaml',
61
61
  title: 'YAML',
62
- component: () => (0, jsx_runtime_1.jsx)(SourceCode_1.default, { format: "yaml" }),
62
+ component: () => ((0, jsx_runtime_1.jsx)(SourceCode_1.default, { format: "yaml", showSelectedBlockOnly: true })),
63
63
  },
64
64
  {
65
65
  id: 'source-code-json',
66
66
  title: 'JSON',
67
- component: () => (0, jsx_runtime_1.jsx)(SourceCode_1.default, { format: "json" }),
67
+ component: () => ((0, jsx_runtime_1.jsx)(SourceCode_1.default, { format: "json", showSelectedBlockOnly: true })),
68
68
  },
69
69
  ] })),
70
70
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useEditorTabs.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/useEditorTabs.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,8EAA4D;AAC5D,+GAA4E;AAC5E,gGAA6D;AAC7D,sGAAmE;AACnE,gGAA6D;AAC7D,+EAAsC;AAE/B,MAAM,aAAa,GAAG,CAAC,EAC1B,QAAQ,EACR,SAAS,GAIZ,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACH,IAAI,EAAE;YACF;gBACI,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG,EAAE,CAAC,CACb,uBAAC,cAAI,IACD,KAAK,EAAE;wBACH;4BACI,EAAE,EAAE,aAAa;4BACjB,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,oBAAU;yBACxB;wBACD;4BACI,EAAE,EAAE,QAAQ;4BACZ,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,cAAI;yBAClB;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,GAAG;yBAChD;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,GAAG;yBAChD;qBACJ,GACH,CACL;aACJ;YACD;gBACI,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,sBAAY;aAC1B;YACD,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;SACtB;QACD,KAAK,EAAE;YACH;gBACI,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG,EAAE,CAAC,CACb,uBAAC,cAAI,IACD,KAAK,EAAE;wBACH;4BACI,EAAE,EAAE,cAAc;4BAClB,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,yBAAe;yBAC7B;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,GAAG;yBAChD;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,GAAG;yBAChD;qBACJ,GACH,CACL;aACJ;YACD,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;SACvB;KACJ,CAAC,EACF,CAAC,QAAQ,EAAE,SAAS,CAAC,CACxB,CAAC;IAEF,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAhFW,QAAA,aAAa,iBAgFxB","sourcesContent":["import * as React from 'react';\n\nimport Tabs, {TabsItemProps} from '../components/Tabs/Tabs';\nimport BlockConfigForm from '../containers/BlockConfigForm/BlockConfigForm';\nimport BlocksList from '../containers/BlocksList/BlocksList';\nimport GlobalConfig from '../containers/GlobalConfig/GlobalConfig';\nimport SourceCode from '../containers/SourceCode/SourceCode';\nimport Tree from '../containers/Tree';\n\nexport const useEditorTabs = ({\n leftTabs,\n rightTabs,\n}: {\n leftTabs?: TabsItemProps[];\n rightTabs?: TabsItemProps[];\n}) => {\n const tabs = React.useMemo(\n () => ({\n left: [\n {\n id: 'page',\n title: 'PAGE',\n component: () => (\n <Tabs\n items={[\n {\n id: 'blocks-list',\n title: 'BLOCKS',\n component: BlocksList,\n },\n {\n id: 'layers',\n title: 'LAYERS',\n component: Tree,\n },\n {\n id: 'source-code-yaml',\n title: 'YAML',\n component: () => <SourceCode format=\"yaml\" />,\n },\n {\n id: 'source-code-json',\n title: 'JSON',\n component: () => <SourceCode format=\"json\" />,\n },\n ]}\n />\n ),\n },\n {\n id: 'navigation',\n title: 'NAVIGATION',\n component: GlobalConfig,\n },\n ...(leftTabs || []),\n ],\n right: [\n {\n id: 'edit',\n title: 'EDIT',\n component: () => (\n <Tabs\n items={[\n {\n id: 'block-config',\n title: 'INPUTS',\n component: BlockConfigForm,\n },\n {\n id: 'source-code-yaml',\n title: 'YAML',\n component: () => <SourceCode format=\"yaml\" />,\n },\n {\n id: 'source-code-json',\n title: 'JSON',\n component: () => <SourceCode format=\"json\" />,\n },\n ]}\n />\n ),\n },\n ...(rightTabs || []),\n ],\n }),\n [leftTabs, rightTabs],\n );\n\n return tabs;\n};\n"]}
1
+ {"version":3,"file":"useEditorTabs.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/useEditorTabs.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,8EAA4D;AAC5D,+GAA4E;AAC5E,gGAA6D;AAC7D,sGAAmE;AACnE,gGAA6D;AAC7D,+EAAsC;AAE/B,MAAM,aAAa,GAAG,CAAC,EAC1B,QAAQ,EACR,SAAS,GAIZ,EAAE,EAAE;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACH,IAAI,EAAE;YACF;gBACI,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG,EAAE,CAAC,CACb,uBAAC,cAAI,IACD,KAAK,EAAE;wBACH;4BACI,EAAE,EAAE,aAAa;4BACjB,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,oBAAU;yBACxB;wBACD;4BACI,EAAE,EAAE,QAAQ;4BACZ,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,cAAI;yBAClB;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,GAAG;yBAChD;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,GAAG;yBAChD;qBACJ,GACH,CACL;aACJ;YACD;gBACI,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,sBAAY;aAC1B;YACD,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;SACtB;QACD,KAAK,EAAE;YACH;gBACI,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,GAAG,EAAE,CAAC,CACb,uBAAC,cAAI,IACD,KAAK,EAAE;wBACH;4BACI,EAAE,EAAE,cAAc;4BAClB,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,yBAAe;yBAC7B;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,CACb,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,EAAC,qBAAqB,EAAE,IAAI,GAAI,CAC5D;yBACJ;wBACD;4BACI,EAAE,EAAE,kBAAkB;4BACtB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,GAAG,EAAE,CAAC,CACb,uBAAC,oBAAU,IAAC,MAAM,EAAC,MAAM,EAAC,qBAAqB,EAAE,IAAI,GAAI,CAC5D;yBACJ;qBACJ,GACH,CACL;aACJ;YACD,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;SACvB;KACJ,CAAC,EACF,CAAC,QAAQ,EAAE,SAAS,CAAC,CACxB,CAAC;IAEF,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AApFW,QAAA,aAAa,iBAoFxB","sourcesContent":["import * as React from 'react';\n\nimport Tabs, {TabsItemProps} from '../components/Tabs/Tabs';\nimport BlockConfigForm from '../containers/BlockConfigForm/BlockConfigForm';\nimport BlocksList from '../containers/BlocksList/BlocksList';\nimport GlobalConfig from '../containers/GlobalConfig/GlobalConfig';\nimport SourceCode from '../containers/SourceCode/SourceCode';\nimport Tree from '../containers/Tree';\n\nexport const useEditorTabs = ({\n leftTabs,\n rightTabs,\n}: {\n leftTabs?: TabsItemProps[];\n rightTabs?: TabsItemProps[];\n}) => {\n const tabs = React.useMemo(\n () => ({\n left: [\n {\n id: 'page',\n title: 'PAGE',\n component: () => (\n <Tabs\n items={[\n {\n id: 'blocks-list',\n title: 'BLOCKS',\n component: BlocksList,\n },\n {\n id: 'layers',\n title: 'LAYERS',\n component: Tree,\n },\n {\n id: 'source-code-yaml',\n title: 'YAML',\n component: () => <SourceCode format=\"yaml\" />,\n },\n {\n id: 'source-code-json',\n title: 'JSON',\n component: () => <SourceCode format=\"json\" />,\n },\n ]}\n />\n ),\n },\n {\n id: 'navigation',\n title: 'NAVIGATION',\n component: GlobalConfig,\n },\n ...(leftTabs || []),\n ],\n right: [\n {\n id: 'edit',\n title: 'EDIT',\n component: () => (\n <Tabs\n items={[\n {\n id: 'block-config',\n title: 'INPUTS',\n component: BlockConfigForm,\n },\n {\n id: 'source-code-yaml',\n title: 'YAML',\n component: () => (\n <SourceCode format=\"yaml\" showSelectedBlockOnly={true} />\n ),\n },\n {\n id: 'source-code-json',\n title: 'JSON',\n component: () => (\n <SourceCode format=\"json\" showSelectedBlockOnly={true} />\n ),\n },\n ]}\n />\n ),\n },\n ...(rightTabs || []),\n ],\n }),\n [leftTabs, rightTabs],\n );\n\n return tabs;\n};\n"]}
@@ -9,6 +9,7 @@ export interface EditorMethods {
9
9
  setZoom(zoom: number): void;
10
10
  increaseZoom(): void;
11
11
  decreaseZoom(): void;
12
+ togglePreviewMode(): void;
12
13
  setConfig(data: Pick<EditorState, 'blocks' | 'subBlocks' | 'global'>): void;
13
14
  setContent(data: PageContentWithNavigation): void;
14
15
  insertBlock(path: number[], blockType: string, position?: 'prepend' | 'append'): void;
@@ -41,6 +41,9 @@ exports.createEditorStore = (0, utils_1.initializeStore)(store_1.initialStore, (
41
41
  }
42
42
  }
43
43
  },
44
+ togglePreviewMode() {
45
+ set((state) => ({ ...state, isPreviewMode: !state.isPreviewMode }));
46
+ },
44
47
  setConfig(data) {
45
48
  set((state) => ({ ...state, ...data }));
46
49
  },
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"../../../src","sources":["editor-v2/store.ts"],"names":[],"mappings":";;;;AAAA,4DAAuB;AAEvB,8CAA0D;AAE1D,8CAAgD;AAGhD,8CAAuC;AACvC,4CASiB;AA0BJ,QAAA,iBAAiB,GAAG,IAAA,uBAAe,EAC5C,oBAAY,EACZ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACX,SAAS,CAAC,MAAc;QACpB,gFAAgF;QAChF,sDAAsD;QACtD,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC;QAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,cAAc,CAAC,WAAmB;QAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,IAAI;QACR,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IACD,YAAY;QACR,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,sBAAU,EAAE,CAAC;YAC5B,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACrB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IACD,YAAY;QACR,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;QAC/B,MAAM,YAAY,GAAG,sBAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QAElD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACrB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpB,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IACD,SAAS,CAAC,IAAI;QACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE;QACvD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,YAAY;YACZ,sGAAsG;YACtG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;QAEhC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACnE,MAAM,YAAY,GACd,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YACnC,CAAC,CAAC,EAAC,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC;YACjD,CAAC,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;QAE5B,MAAM,eAAe,GAAG,IAAA,0BAAkB,EACtC,YAAY,EACZ,SAAS,EACT,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CACpB,IAAA,cAAM,EAAC,YAAY,EAAE,KAAK,EAAE,YAAgC,CAAC,CACpE,CAAC;QAEF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,OAAO,EAAE,EAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAC;YACpD,aAAa,EAAE,SAAS;SAC3B,CAAC,CAAC,CAAC;IACR,CAAC;IACD,gBAAgB,CAAC,SAAiB;QAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,qBAAqB,EAAE,QAAQ;YAC/B,kBAAkB,EAAE,SAAS;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IACD,WAAW;QACP,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,qBAAqB,EAAE,KAAK;YAC5B,kBAAkB,EAAE,SAAS;YAC7B,mBAAmB,EAAE,SAAS;SACjC,CAAC,CAAC,CAAC;IACR,CAAC;IACD,iBAAiB,CAAC,IAAI;QAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,qBAAqB,EAAE,SAAS;YAChC,mBAAmB,EAAE,IAAI;SAC5B,CAAC,CAAC,CAAC;IACR,CAAC;IACD,UAAU,CAAC,OAAO;QACd,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC,CAAC;IACR,CAAC;IACD,UAAU;QACN,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC,CAAC;IACR,CAAC;IACD,gBAAgB,CAAC,IAAI;QACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC,CAAC;IACR,CAAC;IACD,WAAW,CAAC,IAAI,EAAE,KAAK;QACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACV,MAAM,SAAS,GAAG,gBAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO;gBACH,GAAG,KAAK;gBACR,OAAO,EAAE,SAAS;aACrB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IACD,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;QACvB,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAE1C,MAAM,eAAe,GAAG,IAAA,0BAAkB,EAAC,YAAY,EAAE,SAAS,EAAE,uBAAe,CAAC,CAAC;QACrF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,OAAO,EAAE,EAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAC;YACpD,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC,CAAC;IACR,CAAC;IACD,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE;QAC1B,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAE1C,MAAM,eAAe,GAAG,IAAA,0BAAkB,EAAC,YAAY,EAAE,SAAS,EAAE,0BAAkB,CAAC,CAAC;QAExF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,OAAO,EAAE,EAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAC;SACvD,CAAC,CAAC,CAAC;IACR,CAAC;IACD,YAAY,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE;QAC1D,kEAAkE;QAClE,IAAI,oBAAoB,GAAa,gBAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE9D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,YAAY;YACZ,sGAAsG;YACtG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,eAAmC,CAAC;QACxC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,OAAO;QACP,MAAM,WAAW,GAAG,gBAAC,CAAC,GAAG,CAAC,YAAY,EAAE,IAAA,qCAA6B,EAAC,SAAS,CAAC,CAAC,CAAC;QAElF,IAAI,IAAA,yBAAiB,EAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;YAC5C,eAAe,GAAG,IAAA,0BAAkB,EAAC,YAAY,EAAE,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;gBAC3E,OAAO,IAAA,yBAAiB,EACpB,YAAY,EACZ,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/B,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CACtC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IACI,QAAQ,KAAK,QAAQ;gBACrB,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EACvE,CAAC;gBACC,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjD,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,IAAA,wCAAgC,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC3E,oBAAoB,GAAG,gBAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE9C,SAAS;YACT,MAAM,wBAAwB,GAAG,IAAA,0BAAkB,EAC/C,YAAY,EACZ,SAAS,EACT,uBAAe,CAClB,CAAC;YACF,QAAQ;YACR,eAAe,GAAG,IAAA,0BAAkB,EAChC,wBAAwB,EACxB,SAAS,EACT,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,IAAA,cAAM,EAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CACpE,CAAC;QACN,CAAC;QAED,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,OAAO,EAAE,EAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAC;YACpD,aAAa,EAAE,oBAAoB;SACtC,CAAC,CAAC,CAAC;IACR,CAAC;IACD,eAAe,EAAE,GAAG,EAAE;QAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC,CAAC;IACR,CAAC;IACD,WAAW,EAAE,GAAG,EAAE;QACd,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACZ,GAAG,KAAK;YACR,OAAO,EAAE,EAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAC;SAC1C,CAAC,CAAC,CAAC;IACR,CAAC;CACJ,CAAC,CACL,CAAC","sourcesContent":["import _ from 'lodash';\n\nimport {EditorState, initialStore} from '../common/store';\nimport {DynamicFormValue} from '../common/types';\nimport {initializeStore} from '../common/utils';\nimport {ConstructorBlock, PageContentWithNavigation} from '../models';\n\nimport {ZOOM_STEPS} from './constants';\nimport {\n duplicateArrayItem,\n generateChildrenPathFromArray,\n getDestinationShiftBeforeReorder,\n insert,\n isItemsNeighbours,\n modifyObjectByPath,\n removeFromArray,\n reorderArrayItems,\n} from './utils';\n\nexport interface EditorMethods {\n initialize(): void;\n setSelectedBlock(path: number[] | null): void;\n setHeight(height: number): void;\n setDeviceWidth(deviceWidth: string): void;\n setZoom(zoom: number): void;\n increaseZoom(): void;\n decreaseZoom(): void;\n setConfig(data: Pick<EditorState, 'blocks' | 'subBlocks' | 'global'>): void;\n setContent(data: PageContentWithNavigation): void;\n insertBlock(path: number[], blockType: string, position?: 'prepend' | 'append'): void;\n enableInsertMode(blockType: string): void;\n enableReorderMode(path: number[]): void;\n disableMode(): void;\n updateField(path: string, value: DynamicFormValue): void;\n deleteBlock(path: number[]): void;\n duplicateBlock(path: number[]): void;\n reorderBlock(path: number[], destination: number[], position?: 'prepend' | 'append'): void;\n resetInitialize(): void;\n resetBlocks(): void;\n}\n\nexport type EditorStore = EditorState & EditorMethods;\n\nexport const createEditorStore = initializeStore<EditorState, EditorMethods>(\n initialStore,\n (set, get) => ({\n setHeight(height: number) {\n // We have to add 200-500px, because of bottom padding or margin of last element\n // which is not taken into calculation of final height\n const newHeight = height + 500;\n set((state) => ({...state, height: newHeight}));\n },\n setDeviceWidth(deviceWidth: string) {\n set((state) => ({...state, deviceWidth}));\n },\n setZoom(zoom) {\n if (zoom > 0) {\n set((state) => ({...state, zoom}));\n }\n },\n increaseZoom() {\n const currentZoom = get().zoom;\n\n for (const step of ZOOM_STEPS) {\n if (currentZoom < step) {\n get().setZoom(step);\n break;\n }\n }\n },\n decreaseZoom() {\n const currentZoom = get().zoom;\n const reverseSteps = ZOOM_STEPS.slice().reverse();\n\n for (const step of reverseSteps) {\n if (currentZoom > step) {\n get().setZoom(step);\n break;\n }\n }\n },\n setConfig(data) {\n set((state) => ({...state, ...data}));\n },\n insertBlock: (arrayPath, blockType, position = 'append') => {\n if (position === 'append') {\n // TODO: fix\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign, no-param-reassign\n arrayPath[arrayPath.length - 1] = arrayPath[arrayPath.length - 1] + 1;\n }\n\n const blocksConfig = get().content.blocks;\n const blocksData = get().blocks;\n\n const foundBlock = blocksData.find(({type}) => type === blockType);\n const defaultValue =\n foundBlock && foundBlock.schema.default\n ? {...foundBlock.schema.default, type: blockType}\n : {type: blockType};\n\n const newBlocksConfig = modifyObjectByPath(\n blocksConfig,\n arrayPath,\n (parentBlocks, index) =>\n insert(parentBlocks, index, defaultValue as ConstructorBlock),\n );\n\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n selectedBlock: arrayPath,\n }));\n },\n enableInsertMode(blockType: string) {\n set((state) => ({\n ...state,\n manipulateOverlayMode: 'insert',\n preInsertBlockType: blockType,\n }));\n },\n disableMode() {\n set((state) => ({\n ...state,\n manipulateOverlayMode: false,\n preInsertBlockType: undefined,\n preReorderBlockPath: undefined,\n }));\n },\n enableReorderMode(path) {\n set((state) => ({\n ...state,\n manipulateOverlayMode: 'reorder',\n preReorderBlockPath: path,\n }));\n },\n setContent(content) {\n set((state) => ({\n ...state,\n content: content,\n }));\n },\n initialize() {\n set((state) => ({\n ...state,\n initialized: true,\n }));\n },\n setSelectedBlock(path) {\n set((state) => ({\n ...state,\n selectedBlock: path,\n }));\n },\n updateField(path, value) {\n set((state) => {\n const newConfig = _.set(state.content, path, value);\n return {\n ...state,\n content: newConfig,\n };\n });\n },\n deleteBlock: (arrayPath) => {\n const blocksConfig = get().content.blocks;\n\n const newBlocksConfig = modifyObjectByPath(blocksConfig, arrayPath, removeFromArray);\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n selectedBlock: null,\n }));\n },\n duplicateBlock: (arrayPath) => {\n const blocksConfig = get().content.blocks;\n\n const newBlocksConfig = modifyObjectByPath(blocksConfig, arrayPath, duplicateArrayItem);\n\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n }));\n },\n reorderBlock: (arrayPath, destination, position = 'append') => {\n // Create a copy of the destination array before any modifications\n let finalDestinationPath: number[] = _.cloneDeep(destination);\n\n if (position === 'append') {\n // TODO: fix\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign, no-param-reassign\n destination[destination.length - 1] = destination[destination.length - 1] + 1;\n }\n\n let newBlocksConfig: ConstructorBlock[];\n const blocksConfig = get().content.blocks;\n // Copy\n const copiedBlock = _.get(blocksConfig, generateChildrenPathFromArray(arrayPath));\n\n if (isItemsNeighbours(arrayPath, destination)) {\n newBlocksConfig = modifyObjectByPath(blocksConfig, arrayPath, (parentBlocks) => {\n return reorderArrayItems(\n parentBlocks,\n arrayPath[arrayPath.length - 1],\n destination[destination.length - 1],\n );\n });\n\n if (\n position === 'append' &&\n destination[destination.length - 1] < arrayPath[arrayPath.length - 1]\n ) {\n finalDestinationPath[finalDestinationPath.length - 1] =\n finalDestinationPath[finalDestinationPath.length - 1] + 1;\n }\n } else {\n const arrayDest = getDestinationShiftBeforeReorder(arrayPath, destination);\n finalDestinationPath = _.cloneDeep(arrayDest);\n\n // Delete\n const blocksConfigWithoutBlock = modifyObjectByPath(\n blocksConfig,\n arrayPath,\n removeFromArray,\n );\n // Paste\n newBlocksConfig = modifyObjectByPath(\n blocksConfigWithoutBlock,\n arrayDest,\n (parentBlocks, index) => insert(parentBlocks, index, copiedBlock),\n );\n }\n\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n selectedBlock: finalDestinationPath,\n }));\n },\n resetInitialize: () => {\n set((state) => ({\n ...state,\n initialized: false,\n }));\n },\n resetBlocks: () => {\n set((state) => ({\n ...state,\n content: {...state.content, blocks: []},\n }));\n },\n }),\n);\n"]}
1
+ {"version":3,"file":"store.js","sourceRoot":"../../../src","sources":["editor-v2/store.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash';\n\nimport {EditorState, initialStore} from '../common/store';\nimport {DynamicFormValue} from '../common/types';\nimport {initializeStore} from '../common/utils';\nimport {ConstructorBlock, PageContentWithNavigation} from '../models';\n\nimport {ZOOM_STEPS} from './constants';\nimport {\n duplicateArrayItem,\n generateChildrenPathFromArray,\n getDestinationShiftBeforeReorder,\n insert,\n isItemsNeighbours,\n modifyObjectByPath,\n removeFromArray,\n reorderArrayItems,\n} from './utils';\n\nexport interface EditorMethods {\n initialize(): void;\n setSelectedBlock(path: number[] | null): void;\n setHeight(height: number): void;\n setDeviceWidth(deviceWidth: string): void;\n setZoom(zoom: number): void;\n increaseZoom(): void;\n decreaseZoom(): void;\n togglePreviewMode(): void;\n setConfig(data: Pick<EditorState, 'blocks' | 'subBlocks' | 'global'>): void;\n setContent(data: PageContentWithNavigation): void;\n insertBlock(path: number[], blockType: string, position?: 'prepend' | 'append'): void;\n enableInsertMode(blockType: string): void;\n enableReorderMode(path: number[]): void;\n disableMode(): void;\n updateField(path: string, value: DynamicFormValue): void;\n deleteBlock(path: number[]): void;\n duplicateBlock(path: number[]): void;\n reorderBlock(path: number[], destination: number[], position?: 'prepend' | 'append'): void;\n resetInitialize(): void;\n resetBlocks(): void;\n}\n\nexport type EditorStore = EditorState & EditorMethods;\n\nexport const createEditorStore = initializeStore<EditorState, EditorMethods>(\n initialStore,\n (set, get) => ({\n setHeight(height: number) {\n // We have to add 200-500px, because of bottom padding or margin of last element\n // which is not taken into calculation of final height\n const newHeight = height + 500;\n set((state) => ({...state, height: newHeight}));\n },\n setDeviceWidth(deviceWidth: string) {\n set((state) => ({...state, deviceWidth}));\n },\n setZoom(zoom) {\n if (zoom > 0) {\n set((state) => ({...state, zoom}));\n }\n },\n increaseZoom() {\n const currentZoom = get().zoom;\n\n for (const step of ZOOM_STEPS) {\n if (currentZoom < step) {\n get().setZoom(step);\n break;\n }\n }\n },\n decreaseZoom() {\n const currentZoom = get().zoom;\n const reverseSteps = ZOOM_STEPS.slice().reverse();\n\n for (const step of reverseSteps) {\n if (currentZoom > step) {\n get().setZoom(step);\n break;\n }\n }\n },\n togglePreviewMode() {\n set((state) => ({...state, isPreviewMode: !state.isPreviewMode}));\n },\n setConfig(data) {\n set((state) => ({...state, ...data}));\n },\n insertBlock: (arrayPath, blockType, position = 'append') => {\n if (position === 'append') {\n // TODO: fix\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign, no-param-reassign\n arrayPath[arrayPath.length - 1] = arrayPath[arrayPath.length - 1] + 1;\n }\n\n const blocksConfig = get().content.blocks;\n const blocksData = get().blocks;\n\n const foundBlock = blocksData.find(({type}) => type === blockType);\n const defaultValue =\n foundBlock && foundBlock.schema.default\n ? {...foundBlock.schema.default, type: blockType}\n : {type: blockType};\n\n const newBlocksConfig = modifyObjectByPath(\n blocksConfig,\n arrayPath,\n (parentBlocks, index) =>\n insert(parentBlocks, index, defaultValue as ConstructorBlock),\n );\n\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n selectedBlock: arrayPath,\n }));\n },\n enableInsertMode(blockType: string) {\n set((state) => ({\n ...state,\n manipulateOverlayMode: 'insert',\n preInsertBlockType: blockType,\n }));\n },\n disableMode() {\n set((state) => ({\n ...state,\n manipulateOverlayMode: false,\n preInsertBlockType: undefined,\n preReorderBlockPath: undefined,\n }));\n },\n enableReorderMode(path) {\n set((state) => ({\n ...state,\n manipulateOverlayMode: 'reorder',\n preReorderBlockPath: path,\n }));\n },\n setContent(content) {\n set((state) => ({\n ...state,\n content: content,\n }));\n },\n initialize() {\n set((state) => ({\n ...state,\n initialized: true,\n }));\n },\n setSelectedBlock(path) {\n set((state) => ({\n ...state,\n selectedBlock: path,\n }));\n },\n updateField(path, value) {\n set((state) => {\n const newConfig = _.set(state.content, path, value);\n return {\n ...state,\n content: newConfig,\n };\n });\n },\n deleteBlock: (arrayPath) => {\n const blocksConfig = get().content.blocks;\n\n const newBlocksConfig = modifyObjectByPath(blocksConfig, arrayPath, removeFromArray);\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n selectedBlock: null,\n }));\n },\n duplicateBlock: (arrayPath) => {\n const blocksConfig = get().content.blocks;\n\n const newBlocksConfig = modifyObjectByPath(blocksConfig, arrayPath, duplicateArrayItem);\n\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n }));\n },\n reorderBlock: (arrayPath, destination, position = 'append') => {\n // Create a copy of the destination array before any modifications\n let finalDestinationPath: number[] = _.cloneDeep(destination);\n\n if (position === 'append') {\n // TODO: fix\n // eslint-disable-next-line no-not-accumulator-reassign/no-not-accumulator-reassign, no-param-reassign\n destination[destination.length - 1] = destination[destination.length - 1] + 1;\n }\n\n let newBlocksConfig: ConstructorBlock[];\n const blocksConfig = get().content.blocks;\n // Copy\n const copiedBlock = _.get(blocksConfig, generateChildrenPathFromArray(arrayPath));\n\n if (isItemsNeighbours(arrayPath, destination)) {\n newBlocksConfig = modifyObjectByPath(blocksConfig, arrayPath, (parentBlocks) => {\n return reorderArrayItems(\n parentBlocks,\n arrayPath[arrayPath.length - 1],\n destination[destination.length - 1],\n );\n });\n\n if (\n position === 'append' &&\n destination[destination.length - 1] < arrayPath[arrayPath.length - 1]\n ) {\n finalDestinationPath[finalDestinationPath.length - 1] =\n finalDestinationPath[finalDestinationPath.length - 1] + 1;\n }\n } else {\n const arrayDest = getDestinationShiftBeforeReorder(arrayPath, destination);\n finalDestinationPath = _.cloneDeep(arrayDest);\n\n // Delete\n const blocksConfigWithoutBlock = modifyObjectByPath(\n blocksConfig,\n arrayPath,\n removeFromArray,\n );\n // Paste\n newBlocksConfig = modifyObjectByPath(\n blocksConfigWithoutBlock,\n arrayDest,\n (parentBlocks, index) => insert(parentBlocks, index, copiedBlock),\n );\n }\n\n set((state) => ({\n ...state,\n content: {...state.content, blocks: newBlocksConfig},\n selectedBlock: finalDestinationPath,\n }));\n },\n resetInitialize: () => {\n set((state) => ({\n ...state,\n initialized: false,\n }));\n },\n resetBlocks: () => {\n set((state) => ({\n ...state,\n content: {...state.content, blocks: []},\n }));\n },\n }),\n);\n"]}
@@ -4,5 +4,6 @@ declare const usePCEditorBlockMouseEvents: (arrayIndex: number[], element?: HTML
4
4
  onMouseMove: (e: React.MouseEvent) => void;
5
5
  onMouseUp: (e: React.MouseEvent) => void;
6
6
  onMouseLeave: () => void;
7
+ 'data-editor-item': boolean;
7
8
  };
8
9
  export default usePCEditorBlockMouseEvents;
@@ -44,6 +44,7 @@ const usePCEditorBlockMouseEvents = (arrayIndex, element) => {
44
44
  onMouseMove,
45
45
  onMouseUp,
46
46
  onMouseLeave,
47
+ 'data-editor-item': true,
47
48
  };
48
49
  };
49
50
  exports.default = usePCEditorBlockMouseEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"usePCEditorBlockMouseEvents.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorBlockMouseEvents.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAI/B,+CAA6D;AAE7D,8DAAyD;AAEzD,MAAM,2BAA2B,GAAG,CAAC,UAAoB,EAAE,OAAqB,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAA,qCAA4B,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAA,wCAAoB,EAAC,aAAa,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAA,qCAA4B,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,OAAO,CAAC,CACZ,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,OAAO;QACH,OAAO;QACP,WAAW;QACX,SAAS;QACT,YAAY;KACf,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC","sourcesContent":["import * as React from 'react';\n\nimport _ from 'lodash';\n\nimport {getCursorPositionOverElement} from '../utils/editor';\n\nimport {sendEventPostMessage} from './usePostMessageAPI';\n\nconst usePCEditorBlockMouseEvents = (arrayIndex: number[], element?: HTMLElement) => {\n const onMouseUp = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n const position = getCursorPositionOverElement(rect, e);\n sendEventPostMessage('ON_MOUSE_UP', {path: arrayIndex, rect, position});\n }\n }\n },\n [arrayIndex, element],\n );\n\n const onMouseMove = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n const position = getCursorPositionOverElement(rect, e);\n sendEventPostMessage('ON_HOVER_BLOCK', {rect, position});\n }\n }\n },\n [element],\n );\n\n const onMouseLeave = React.useCallback(() => {\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n sendEventPostMessage('ON_HOVER_BLOCK', {});\n }\n }\n }, [element]);\n\n const onClick = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n sendEventPostMessage('ON_CLICK_BLOCK', {path: arrayIndex});\n }\n },\n [arrayIndex, element],\n );\n\n return {\n onClick,\n onMouseMove,\n onMouseUp,\n onMouseLeave,\n };\n};\n\nexport default usePCEditorBlockMouseEvents;\n"]}
1
+ {"version":3,"file":"usePCEditorBlockMouseEvents.js","sourceRoot":"../../../src","sources":["hooks/usePCEditorBlockMouseEvents.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAI/B,+CAA6D;AAE7D,8DAAyD;AAEzD,MAAM,2BAA2B,GAAG,CAAC,UAAoB,EAAE,OAAqB,EAAE,EAAE;IAChF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAA,qCAA4B,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAA,wCAAoB,EAAC,aAAa,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAA,qCAA4B,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,OAAO,CAAC,CACZ,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACP,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,CAAC,CAAmB,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,IAAA,wCAAoB,EAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC;IAEF,OAAO;QACH,OAAO;QACP,WAAW;QACX,SAAS;QACT,YAAY;QACZ,kBAAkB,EAAE,IAAI;KAC3B,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC","sourcesContent":["import * as React from 'react';\n\nimport _ from 'lodash';\n\nimport {getCursorPositionOverElement} from '../utils/editor';\n\nimport {sendEventPostMessage} from './usePostMessageAPI';\n\nconst usePCEditorBlockMouseEvents = (arrayIndex: number[], element?: HTMLElement) => {\n const onMouseUp = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n const position = getCursorPositionOverElement(rect, e);\n sendEventPostMessage('ON_MOUSE_UP', {path: arrayIndex, rect, position});\n }\n }\n },\n [arrayIndex, element],\n );\n\n const onMouseMove = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n const position = getCursorPositionOverElement(rect, e);\n sendEventPostMessage('ON_HOVER_BLOCK', {rect, position});\n }\n }\n },\n [element],\n );\n\n const onMouseLeave = React.useCallback(() => {\n if (element) {\n const rect = element.getClientRects().item(0);\n if (rect) {\n sendEventPostMessage('ON_HOVER_BLOCK', {});\n }\n }\n }, [element]);\n\n const onClick = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (element) {\n sendEventPostMessage('ON_CLICK_BLOCK', {path: arrayIndex});\n }\n },\n [arrayIndex, element],\n );\n\n return {\n onClick,\n onMouseMove,\n onMouseUp,\n onMouseLeave,\n 'data-editor-item': true,\n };\n};\n\nexport default usePCEditorBlockMouseEvents;\n"]}
@@ -5,6 +5,7 @@ export declare function usePCEditorItemWrap(index?: number): {
5
5
  onMouseMove: (e: React.MouseEvent) => void;
6
6
  onMouseUp: (e: React.MouseEvent) => void;
7
7
  onMouseLeave: () => void;
8
+ 'data-editor-item': boolean;
8
9
  };
9
10
  blockRef: (node: HTMLElement | null) => void;
10
11
  };
@@ -20,6 +20,7 @@ declare namespace Hbspt {
20
20
  target?: string;
21
21
  cssClass?: string;
22
22
  formInstanceId?: string;
23
+ onFormReady?: (form: HTMLFormElement) => void;
23
24
  }
24
25
  }
25
26
 
@@ -10,6 +10,7 @@ export declare enum BlockType {
10
10
  ExtendedFeaturesBlock = "extended-features-block",
11
11
  SliderBlock = "slider-block",
12
12
  QuestionsBlock = "questions-block",
13
+ FoldableListBlock = "foldable-list-block",
13
14
  BannerBlock = "banner-block",
14
15
  CompaniesBlock = "companies-block",
15
16
  MediaBlock = "media-block",
@@ -112,6 +113,7 @@ export interface HeaderBlockProps {
112
113
  title: string;
113
114
  overtitle?: string | JSX.Element;
114
115
  description?: string;
116
+ additionalInfo?: string;
115
117
  buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];
116
118
  width?: HeaderWidth;
117
119
  /** @deprecated imageSize now depends on width */
@@ -170,6 +172,19 @@ export interface QuestionBlockItemProps extends QuestionItem {
170
172
  isOpened: boolean;
171
173
  onClick: () => void;
172
174
  }
175
+ export interface FoldableListItem {
176
+ title: string;
177
+ text: string;
178
+ listStyle?: 'dash' | 'disk';
179
+ link?: LinkProps;
180
+ }
181
+ export interface FoldableListProps extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {
182
+ items: FoldableListItem[];
183
+ }
184
+ export interface FoldableListBlockItemProps extends FoldableListItem {
185
+ isOpened: boolean;
186
+ onClick: () => void;
187
+ }
173
188
  export interface BannerBlockProps extends BannerCardProps, Animatable {
174
189
  }
175
190
  export interface CompaniesBlockProps extends Animatable {
@@ -369,6 +384,9 @@ export type PromoFeaturesBlockModel = {
369
384
  export type QuestionsBlockModel = {
370
385
  type: BlockType.QuestionsBlock;
371
386
  } & QuestionsProps;
387
+ export type FoldableListBlockModel = {
388
+ type: BlockType.FoldableListBlock;
389
+ } & FoldableListProps;
372
390
  export type BannerBlockModel = {
373
391
  type: BlockType.BannerBlock;
374
392
  } & BannerBlockProps;
@@ -414,7 +432,7 @@ export type FormBlockModel = {
414
432
  export type SliderNewBlockModel = {
415
433
  type: BlockType.SliderNewBlock;
416
434
  } & SliderNewProps;
417
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
435
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | FoldableListBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
418
436
  type UnstableBlockModels = SliderNewBlockModel;
419
437
  export type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;
420
438
  export {};
@@ -7,6 +7,7 @@ var BlockType;
7
7
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
8
8
  BlockType["SliderBlock"] = "slider-block";
9
9
  BlockType["QuestionsBlock"] = "questions-block";
10
+ BlockType["FoldableListBlock"] = "foldable-list-block";
10
11
  BlockType["BannerBlock"] = "banner-block";
11
12
  BlockType["CompaniesBlock"] = "companies-block";
12
13
  BlockType["MediaBlock"] = "media-block";
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["models/constructor-items/blocks.ts"],"names":[],"mappings":";;;AA2CA,IAAY,SAuBX;AAvBD,WAAY,SAAS;IACjB,wDAA2C,CAAA;IAC3C,8DAAiD,CAAA;IACjD,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,sDAAyC,CAAA;IACzC,yCAA4B,CAAA;IAC5B,uCAA0B,CAAA;IAC1B,kDAAqC,CAAA;IACrC,wDAA2C,CAAA;IAC3C,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,yCAA4B,CAAA;IAC5B,qCAAwB,CAAA;IACxB,WAAW;IACX,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;AACvC,CAAC,EAvBW,SAAS,yBAAT,SAAS,QAuBpB;AAEY,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,gBAAgB,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAgCrF,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;AACb,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,sCAAwB,CAAA;IACxB,wCAA0B,CAAA;AAC9B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AA+SD,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,iCAAS,CAAA;IACT,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;AACzB,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AAOD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,kDAA4B,CAAA;IAC5B,kDAA4B,CAAA;IAC5B,uCAAiB,CAAA;AACrB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B","sourcesContent":["import * as React from 'react';\n\nimport {ButtonSize} from '@gravity-ui/uikit';\n\nimport {GridColumnSize, GridColumnSizesType, IndentValue} from '../../grid/types';\nimport {ThemeSupporting} from '../../utils';\nimport {AnalyticsEventsBase} from '../common';\n\nimport {\n AnchorProps,\n Animatable,\n BackgroundImageProps,\n ButtonProps,\n CardBorder,\n ContentSize,\n ContentTextSize,\n ContentTheme,\n FileLinkProps,\n HeaderBreadCrumbsProps,\n HeaderImageSize,\n HeaderOffset,\n HeaderWidth,\n ImageDeviceProps,\n ImageProps,\n Justify,\n LegendTableMarkerType,\n LinkProps,\n MapProps,\n MediaDirection,\n MediaProps,\n MediaView,\n TextSize,\n TextTheme,\n ThemedImage,\n ThemedMediaProps,\n ThemedMediaVideoProps,\n TitleItemBaseProps,\n TitleItemProps,\n WithBorder,\n YandexFormProps,\n} from './common';\nimport {BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels} from './sub-blocks';\n\nexport enum BlockType {\n PromoFeaturesBlock = 'promo-features-block',\n ExtendedFeaturesBlock = 'extended-features-block',\n SliderBlock = 'slider-block',\n QuestionsBlock = 'questions-block',\n BannerBlock = 'banner-block',\n CompaniesBlock = 'companies-block',\n MediaBlock = 'media-block',\n InfoBlock = 'info-block',\n TableBlock = 'table-block',\n TabsBlock = 'tabs-block',\n HeaderSliderBlock = 'header-slider-block',\n HeaderBlock = 'header-block',\n IconsBlock = 'icons-block',\n CardLayoutBlock = 'card-layout-block',\n ContentLayoutBlock = 'content-layout-block',\n ShareBlock = 'share-block',\n MapBlock = 'map-block',\n FilterBlock = 'filter-block',\n FormBlock = 'form-block',\n // unstable\n TestEditorBlock = 'test-editor-block',\n SliderNewBlock = 'slider-new-block',\n}\n\nexport const BlockTypes = Object.values(BlockType);\nexport const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];\n\nexport interface Childable {\n children?: SubBlock[];\n}\n\n//block props\nexport interface BlockBaseProps {\n anchor?: AnchorProps;\n visible?: GridColumnSize;\n /** @deprecated */\n resetPaddings?: boolean;\n indent?: {\n top?: IndentValue;\n bottom?: IndentValue;\n };\n qa?: string;\n}\n\nexport interface LoadableProps {\n source: string;\n /**\n * @deprecated Will be moved to params\n */\n serviceId?: number;\n params?: Record<string, string | number | boolean | object>;\n}\n\nexport interface LoadableChildren {\n loadable?: LoadableProps;\n}\n\nexport enum SliderBreakpointNames {\n Sm = 'sm',\n Md = 'md',\n Lg = 'lg',\n Xl = 'xl',\n}\n\nexport enum SliderType {\n MediaCard = 'media-card',\n HeaderCard = 'header-card',\n}\n\nexport type SliderBreakpointParams = Record<SliderBreakpointNames, number>;\nexport type SlidesToShow = Partial<SliderBreakpointParams> | number;\n\nexport interface SliderProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n adaptive?: boolean;\n}\n\nexport interface SliderNewProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n}\n\nexport interface HeaderSliderBlockProps extends Omit<SliderProps, 'title' | 'description'> {\n items: HeaderBlockProps[];\n}\n\ninterface HeaderBackgroundProps {\n /** @deprecated replaced by Media Props image */\n url?: string;\n /** @deprecated replaced by Media Props image */\n disableCompress?: boolean;\n}\n\nexport interface HeaderBlockBackground extends Partial<HeaderBackgroundProps>, Partial<MediaProps> {\n fullWidth?: boolean;\n fullWidthMedia?: boolean;\n}\n\nexport type ThemedHeaderBlockBackground = ThemeSupporting<HeaderBlockBackground>;\n\nexport interface HeaderBlockProps {\n title: string;\n overtitle?: string | JSX.Element;\n description?: string;\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];\n width?: HeaderWidth;\n /** @deprecated imageSize now depends on width */\n imageSize?: HeaderImageSize;\n /**\n * @deprecated used only on the main page\n * TODO: delete after the possibility to remove padding-bottom in the block\n */\n offset?: HeaderOffset;\n image?: ThemedImage;\n video?: ThemedMediaVideoProps;\n mediaView?: MediaView;\n centered?: boolean;\n background?: ThemedHeaderBlockBackground;\n theme?: 'light' | 'dark';\n verticalOffset?: '0' | 's' | 'm' | 'l' | 'xl';\n breadcrumbs?: HeaderBreadCrumbsProps;\n status?: JSX.Element;\n renderTitle?: (title: string) => React.ReactNode;\n}\n\nexport interface ExtendedFeaturesItem\n extends Omit<ContentBlockProps, 'theme' | 'centered' | 'colSizes' | 'size' | 'title'> {\n title: string;\n label?: string;\n icon?: ThemedImage;\n /** @deprecated **/\n link?: LinkProps;\n}\n\nexport interface ExtendedFeaturesProps extends Animatable {\n items: ExtendedFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n colSizes?: GridColumnSizesType;\n}\n\nexport interface PromoFeaturesItem {\n title: string;\n text: string;\n theme?: 'accent' | 'accent-light' | 'primary';\n media?: ThemeSupporting<MediaProps>;\n}\n\nexport interface PromoFeaturesProps extends Animatable {\n items: PromoFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n theme?: 'grey' | 'default';\n}\n\nexport interface QuestionItem {\n title: string;\n text: string;\n listStyle?: 'dash' | 'disk';\n link?: LinkProps;\n}\n\nexport interface QuestionsProps\n extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {\n items: QuestionItem[];\n}\n\nexport interface QuestionBlockItemProps extends QuestionItem {\n isOpened: boolean;\n onClick: () => void;\n}\n\nexport interface BannerBlockProps extends BannerCardProps, Animatable {}\n\nexport interface CompaniesBlockProps extends Animatable {\n title: string;\n description?: string;\n images: ThemeSupporting<ImageDeviceProps>;\n}\n\nexport interface MediaBaseBlockProps extends Animatable, MediaContentProps {\n direction?: MediaDirection;\n mobileDirection?: MediaDirection;\n largeMedia?: boolean;\n mediaOnly?: boolean;\n mediaOnlyColSizes?: GridColumnSizesType;\n}\n\nexport interface MediaContentProps\n extends Omit<ContentBlockProps, 'colSizes' | 'text' | 'title' | 'theme' | 'centered'> {\n title: string;\n description?: string;\n /** @deprecated Use array of buttons from ContentBlockProps instead**/\n button?: ButtonProps;\n}\n\nexport interface MediaBlockProps extends MediaBaseBlockProps, WithBorder {\n media: ThemeSupporting<MediaProps>;\n}\n\nexport interface MapBlockProps extends MediaBaseBlockProps, WithBorder {\n map: MapProps;\n}\n\nexport interface InfoBlockProps {\n theme?: TextTheme;\n backgroundColor?: ThemeSupporting<string>;\n /** @deprecated **/\n title?: string;\n /** @deprecated **/\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme'>[];\n /** @deprecated **/\n sectionsTitle?: string;\n /** @deprecated **/\n links?: Pick<LinkProps, 'text' | 'url'>[];\n leftContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n rightContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n}\n\nexport interface TableProps {\n content: string[][];\n legend?: string[];\n hideLegend?: boolean;\n justify?: Justify[];\n marker?: LegendTableMarkerType;\n /**\n * Only as accessible name, not displayed explicitly\n */\n caption?: string;\n}\n\nexport interface TableBlockProps {\n title: string;\n table: TableProps;\n}\n\nexport interface TabsBlockItem\n extends Omit<ContentBlockProps, 'size' | 'colSizes' | 'centered' | 'theme'>,\n WithBorder {\n tabName: string;\n /**\n * @deprecated Use array links from ContentBlockProps instead\n */\n link?: LinkProps;\n image?: ThemedImage;\n caption?: string;\n media?: ThemedMediaProps;\n}\n\nexport interface TabsBlockProps extends Animatable {\n title?: TitleItemProps | string;\n description?: string;\n tabsColSizes?: GridColumnSizesType;\n centered?: boolean;\n direction?: MediaDirection;\n items: TabsBlockItem[];\n contentSize?: ContentSize;\n}\n\nexport interface CardLayoutBlockProps extends Childable, Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n titleClassName?: string;\n description?: string;\n colSizes?: GridColumnSizesType;\n background?: ThemeSupporting<\n BackgroundImageProps & {\n border?: CardBorder;\n }\n >;\n}\n\nexport type FilterTag = {\n id: string;\n label: string;\n};\n\nexport type FilterItem = {\n tags: string[];\n card: SubBlockModels;\n};\n\nexport interface FilterBlockProps extends Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n description?: string;\n tags: FilterTag[];\n items: FilterItem[];\n tagButtonSize?: ButtonSize;\n allTag?: boolean | string;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n}\n\nexport interface IconsBlockItemProps extends AnalyticsEventsBase {\n url: string;\n text: string;\n src: ThemeSupporting<string>;\n}\n\nexport interface IconsBlockProps {\n title?: string;\n description?: string;\n size?: 's' | 'm' | 'l';\n items: IconsBlockItemProps[];\n colSizes?: GridColumnSizesType;\n}\n\ninterface ContentLayoutBlockParams {\n size?: ContentSize;\n background?: ThemeSupporting<BackgroundImageProps>;\n centered?: boolean;\n theme?: ContentTheme;\n textWidth?: ContentTextSize;\n}\n\nexport interface ContentLayoutBlockProps extends ContentLayoutBlockParams {\n textContent: ContentBlockProps;\n fileContent?: FileLinkProps[];\n}\n\nexport type SVGIcon = React.FC<React.SVGProps<SVGSVGElement>>;\n\nexport interface ContentItemProps {\n title?: string;\n text?: string;\n icon: ThemeSupporting<ImageProps | SVGIcon>;\n}\n\nexport interface ContentListProps {\n list: ContentItemProps[];\n size: ContentSize;\n theme?: ContentTheme;\n}\n\nexport interface ContentBlockProps {\n title?: TitleItemBaseProps | string;\n titleId?: string;\n text?: string;\n textId?: string;\n additionalInfo?: string;\n links?: LinkProps[];\n buttons?: ButtonProps[];\n size?: ContentSize;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n theme?: ContentTheme;\n list?: ContentItemProps[];\n controlPosition?: 'default' | 'bottom';\n}\n\nexport enum PCShareSocialNetwork {\n Vk = 'vk',\n Telegram = 'telegram',\n Twitter = 'twitter',\n Facebook = 'facebook',\n LinkedIn = 'linkedin',\n}\n\nexport interface ShareBlockProps {\n items: PCShareSocialNetwork[];\n title?: string;\n}\n\nexport enum FormBlockDataTypes {\n YANDEX = 'yandex',\n HUBSPOT = 'hubspot',\n}\n\nexport enum FormBlockDirection {\n FormContent = 'form-content',\n ContentForm = 'content-form',\n Center = 'center',\n}\n\nexport interface FormBlockYandexData {\n yandex: ThemeSupporting<YandexFormProps>;\n}\n\nexport interface FormBlockHubspotData {\n hubspot: ThemeSupporting<HubspotFormProps>;\n}\n\nexport type FormBlockData = FormBlockYandexData | FormBlockHubspotData;\n\nexport interface FormBlockProps {\n formData: FormBlockData;\n title?: string;\n textContent?: Omit<ContentBlockProps, 'centered' | 'colSizes' | 'size'>;\n direction?: FormBlockDirection;\n background?: ThemeSupporting<BackgroundImageProps>;\n}\n\n//block models\nexport type HeaderBlockModel = {\n type: BlockType.HeaderBlock;\n} & HeaderBlockProps;\n\nexport type SliderBlockModel = {\n type: BlockType.SliderBlock;\n} & SliderProps;\n\nexport type ExtendedFeaturesBlockModel = {\n type: BlockType.ExtendedFeaturesBlock;\n} & ExtendedFeaturesProps;\n\nexport type PromoFeaturesBlockModel = {\n type: BlockType.PromoFeaturesBlock;\n} & PromoFeaturesProps;\n\nexport type QuestionsBlockModel = {\n type: BlockType.QuestionsBlock;\n} & QuestionsProps;\n\nexport type BannerBlockModel = {\n type: BlockType.BannerBlock;\n} & BannerBlockProps;\n\nexport type CompaniesBlockModel = {\n type: BlockType.CompaniesBlock;\n} & CompaniesBlockProps;\n\nexport type MediaBlockModel = {\n type: BlockType.MediaBlock;\n} & MediaBlockProps;\n\nexport type MapBlockModel = {\n type: BlockType.MapBlock;\n} & MapBlockProps;\n\nexport type InfoBlockModel = {\n type: BlockType.InfoBlock;\n} & InfoBlockProps;\n\nexport type TableBlockModel = {\n type: BlockType.TableBlock;\n} & TableBlockProps;\n\nexport type TabsBlockModel = {\n type: BlockType.TabsBlock;\n} & TabsBlockProps;\n\nexport type CardLayoutBlockModel = {\n type: BlockType.CardLayoutBlock;\n} & CardLayoutBlockProps;\n\nexport type FilterBlockModel = {\n type: BlockType.FilterBlock;\n} & FilterBlockProps;\n\nexport type IconsBlockModel = {\n type: BlockType.IconsBlock;\n} & IconsBlockProps;\n\nexport type HeaderSliderBlockModel = {\n type: BlockType.HeaderSliderBlock;\n} & HeaderSliderBlockProps;\n\nexport type ContentLayoutBlockModel = {\n type: BlockType.ContentLayoutBlock;\n} & ContentLayoutBlockProps;\n\nexport type ShareBLockModel = {\n type: BlockType.ShareBlock;\n} & ShareBlockProps;\n\nexport type FormBlockModel = {\n type: BlockType.FormBlock;\n} & FormBlockProps;\n\n// unstable block models\nexport type SliderNewBlockModel = {\n type: BlockType.SliderNewBlock;\n} & SliderNewProps;\n\ntype BlockModels =\n | SliderBlockModel\n | ExtendedFeaturesBlockModel\n | PromoFeaturesBlockModel\n | QuestionsBlockModel\n | BannerBlockModel\n | CompaniesBlockModel\n | MediaBlockModel\n | MapBlockModel\n | InfoBlockModel\n | TableBlockModel\n | TabsBlockModel\n | HeaderBlockModel\n | IconsBlockModel\n | HeaderSliderBlockModel\n | CardLayoutBlockModel\n | ContentLayoutBlockModel\n | ShareBLockModel\n | FilterBlockModel\n | FormBlockModel;\n\ntype UnstableBlockModels = SliderNewBlockModel;\n\nexport type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;\n"]}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["models/constructor-items/blocks.ts"],"names":[],"mappings":";;;AA2CA,IAAY,SAwBX;AAxBD,WAAY,SAAS;IACjB,wDAA2C,CAAA;IAC3C,8DAAiD,CAAA;IACjD,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,sDAAyC,CAAA;IACzC,yCAA4B,CAAA;IAC5B,+CAAkC,CAAA;IAClC,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,sDAAyC,CAAA;IACzC,yCAA4B,CAAA;IAC5B,uCAA0B,CAAA;IAC1B,kDAAqC,CAAA;IACrC,wDAA2C,CAAA;IAC3C,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,yCAA4B,CAAA;IAC5B,qCAAwB,CAAA;IACxB,WAAW;IACX,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;AACvC,CAAC,EAxBW,SAAS,yBAAT,SAAS,QAwBpB;AAEY,QAAA,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,gBAAgB,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;AAgCrF,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;IACT,kCAAS,CAAA;AACb,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,sCAAwB,CAAA;IACxB,wCAA0B,CAAA;AAC9B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAiUD,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,iCAAS,CAAA;IACT,6CAAqB,CAAA;IACrB,2CAAmB,CAAA;IACnB,6CAAqB,CAAA;IACrB,6CAAqB,CAAA;AACzB,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AAOD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,kDAA4B,CAAA;IAC5B,kDAA4B,CAAA;IAC5B,uCAAiB,CAAA;AACrB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B","sourcesContent":["import * as React from 'react';\n\nimport {ButtonSize} from '@gravity-ui/uikit';\n\nimport {GridColumnSize, GridColumnSizesType, IndentValue} from '../../grid/types';\nimport {ThemeSupporting} from '../../utils';\nimport {AnalyticsEventsBase} from '../common';\n\nimport {\n AnchorProps,\n Animatable,\n BackgroundImageProps,\n ButtonProps,\n CardBorder,\n ContentSize,\n ContentTextSize,\n ContentTheme,\n FileLinkProps,\n HeaderBreadCrumbsProps,\n HeaderImageSize,\n HeaderOffset,\n HeaderWidth,\n ImageDeviceProps,\n ImageProps,\n Justify,\n LegendTableMarkerType,\n LinkProps,\n MapProps,\n MediaDirection,\n MediaProps,\n MediaView,\n TextSize,\n TextTheme,\n ThemedImage,\n ThemedMediaProps,\n ThemedMediaVideoProps,\n TitleItemBaseProps,\n TitleItemProps,\n WithBorder,\n YandexFormProps,\n} from './common';\nimport {BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels} from './sub-blocks';\n\nexport enum BlockType {\n PromoFeaturesBlock = 'promo-features-block',\n ExtendedFeaturesBlock = 'extended-features-block',\n SliderBlock = 'slider-block',\n QuestionsBlock = 'questions-block',\n FoldableListBlock = 'foldable-list-block',\n BannerBlock = 'banner-block',\n CompaniesBlock = 'companies-block',\n MediaBlock = 'media-block',\n InfoBlock = 'info-block',\n TableBlock = 'table-block',\n TabsBlock = 'tabs-block',\n HeaderSliderBlock = 'header-slider-block',\n HeaderBlock = 'header-block',\n IconsBlock = 'icons-block',\n CardLayoutBlock = 'card-layout-block',\n ContentLayoutBlock = 'content-layout-block',\n ShareBlock = 'share-block',\n MapBlock = 'map-block',\n FilterBlock = 'filter-block',\n FormBlock = 'form-block',\n // unstable\n TestEditorBlock = 'test-editor-block',\n SliderNewBlock = 'slider-new-block',\n}\n\nexport const BlockTypes = Object.values(BlockType);\nexport const HeaderBlockTypes = [BlockType.HeaderBlock, BlockType.HeaderSliderBlock];\n\nexport interface Childable {\n children?: SubBlock[];\n}\n\n//block props\nexport interface BlockBaseProps {\n anchor?: AnchorProps;\n visible?: GridColumnSize;\n /** @deprecated */\n resetPaddings?: boolean;\n indent?: {\n top?: IndentValue;\n bottom?: IndentValue;\n };\n qa?: string;\n}\n\nexport interface LoadableProps {\n source: string;\n /**\n * @deprecated Will be moved to params\n */\n serviceId?: number;\n params?: Record<string, string | number | boolean | object>;\n}\n\nexport interface LoadableChildren {\n loadable?: LoadableProps;\n}\n\nexport enum SliderBreakpointNames {\n Sm = 'sm',\n Md = 'md',\n Lg = 'lg',\n Xl = 'xl',\n}\n\nexport enum SliderType {\n MediaCard = 'media-card',\n HeaderCard = 'header-card',\n}\n\nexport type SliderBreakpointParams = Record<SliderBreakpointNames, number>;\nexport type SlidesToShow = Partial<SliderBreakpointParams> | number;\n\nexport interface SliderProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n adaptive?: boolean;\n}\n\nexport interface SliderNewProps extends Childable, Animatable, LoadableChildren {\n dots?: boolean;\n arrows?: boolean;\n slidesToShow?: SlidesToShow;\n disclaimer?: {\n text: string;\n size?: TextSize;\n };\n title?: TitleItemBaseProps;\n description?: string;\n autoplay?: number;\n //for server transforms\n randomOrder?: boolean;\n}\n\nexport interface HeaderSliderBlockProps extends Omit<SliderProps, 'title' | 'description'> {\n items: HeaderBlockProps[];\n}\n\ninterface HeaderBackgroundProps {\n /** @deprecated replaced by Media Props image */\n url?: string;\n /** @deprecated replaced by Media Props image */\n disableCompress?: boolean;\n}\n\nexport interface HeaderBlockBackground extends Partial<HeaderBackgroundProps>, Partial<MediaProps> {\n fullWidth?: boolean;\n fullWidthMedia?: boolean;\n}\n\nexport type ThemedHeaderBlockBackground = ThemeSupporting<HeaderBlockBackground>;\n\nexport interface HeaderBlockProps {\n title: string;\n overtitle?: string | JSX.Element;\n description?: string;\n additionalInfo?: string;\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme' | 'primary' | 'size' | 'extraProps'>[];\n width?: HeaderWidth;\n /** @deprecated imageSize now depends on width */\n imageSize?: HeaderImageSize;\n /**\n * @deprecated used only on the main page\n * TODO: delete after the possibility to remove padding-bottom in the block\n */\n offset?: HeaderOffset;\n image?: ThemedImage;\n video?: ThemedMediaVideoProps;\n mediaView?: MediaView;\n centered?: boolean;\n background?: ThemedHeaderBlockBackground;\n theme?: 'light' | 'dark';\n verticalOffset?: '0' | 's' | 'm' | 'l' | 'xl';\n breadcrumbs?: HeaderBreadCrumbsProps;\n status?: JSX.Element;\n renderTitle?: (title: string) => React.ReactNode;\n}\n\nexport interface ExtendedFeaturesItem\n extends Omit<ContentBlockProps, 'theme' | 'centered' | 'colSizes' | 'size' | 'title'> {\n title: string;\n label?: string;\n icon?: ThemedImage;\n /** @deprecated **/\n link?: LinkProps;\n}\n\nexport interface ExtendedFeaturesProps extends Animatable {\n items: ExtendedFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n colSizes?: GridColumnSizesType;\n}\n\nexport interface PromoFeaturesItem {\n title: string;\n text: string;\n theme?: 'accent' | 'accent-light' | 'primary';\n media?: ThemeSupporting<MediaProps>;\n}\n\nexport interface PromoFeaturesProps extends Animatable {\n items: PromoFeaturesItem[];\n title?: TitleItemProps | string;\n description?: string;\n theme?: 'grey' | 'default';\n}\n\nexport interface QuestionItem {\n title: string;\n text: string;\n listStyle?: 'dash' | 'disk';\n link?: LinkProps;\n}\n\nexport interface QuestionsProps\n extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {\n items: QuestionItem[];\n}\n\nexport interface QuestionBlockItemProps extends QuestionItem {\n isOpened: boolean;\n onClick: () => void;\n}\n\nexport interface FoldableListItem {\n title: string;\n text: string;\n listStyle?: 'dash' | 'disk';\n link?: LinkProps;\n}\n\nexport interface FoldableListProps\n extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {\n items: FoldableListItem[];\n}\n\nexport interface FoldableListBlockItemProps extends FoldableListItem {\n isOpened: boolean;\n onClick: () => void;\n}\n\nexport interface BannerBlockProps extends BannerCardProps, Animatable {}\n\nexport interface CompaniesBlockProps extends Animatable {\n title: string;\n description?: string;\n images: ThemeSupporting<ImageDeviceProps>;\n}\n\nexport interface MediaBaseBlockProps extends Animatable, MediaContentProps {\n direction?: MediaDirection;\n mobileDirection?: MediaDirection;\n largeMedia?: boolean;\n mediaOnly?: boolean;\n mediaOnlyColSizes?: GridColumnSizesType;\n}\n\nexport interface MediaContentProps\n extends Omit<ContentBlockProps, 'colSizes' | 'text' | 'title' | 'theme' | 'centered'> {\n title: string;\n description?: string;\n /** @deprecated Use array of buttons from ContentBlockProps instead**/\n button?: ButtonProps;\n}\n\nexport interface MediaBlockProps extends MediaBaseBlockProps, WithBorder {\n media: ThemeSupporting<MediaProps>;\n}\n\nexport interface MapBlockProps extends MediaBaseBlockProps, WithBorder {\n map: MapProps;\n}\n\nexport interface InfoBlockProps {\n theme?: TextTheme;\n backgroundColor?: ThemeSupporting<string>;\n /** @deprecated **/\n title?: string;\n /** @deprecated **/\n buttons?: Pick<ButtonProps, 'url' | 'text' | 'theme'>[];\n /** @deprecated **/\n sectionsTitle?: string;\n /** @deprecated **/\n links?: Pick<LinkProps, 'text' | 'url'>[];\n leftContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n rightContent?: Omit<ContentBlockProps, 'colSizes' | 'theme' | 'size'>;\n}\n\nexport interface TableProps {\n content: string[][];\n legend?: string[];\n hideLegend?: boolean;\n justify?: Justify[];\n marker?: LegendTableMarkerType;\n /**\n * Only as accessible name, not displayed explicitly\n */\n caption?: string;\n}\n\nexport interface TableBlockProps {\n title: string;\n table: TableProps;\n}\n\nexport interface TabsBlockItem\n extends Omit<ContentBlockProps, 'size' | 'colSizes' | 'centered' | 'theme'>,\n WithBorder {\n tabName: string;\n /**\n * @deprecated Use array links from ContentBlockProps instead\n */\n link?: LinkProps;\n image?: ThemedImage;\n caption?: string;\n media?: ThemedMediaProps;\n}\n\nexport interface TabsBlockProps extends Animatable {\n title?: TitleItemProps | string;\n description?: string;\n tabsColSizes?: GridColumnSizesType;\n centered?: boolean;\n direction?: MediaDirection;\n items: TabsBlockItem[];\n contentSize?: ContentSize;\n}\n\nexport interface CardLayoutBlockProps extends Childable, Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n titleClassName?: string;\n description?: string;\n colSizes?: GridColumnSizesType;\n background?: ThemeSupporting<\n BackgroundImageProps & {\n border?: CardBorder;\n }\n >;\n}\n\nexport type FilterTag = {\n id: string;\n label: string;\n};\n\nexport type FilterItem = {\n tags: string[];\n card: SubBlockModels;\n};\n\nexport interface FilterBlockProps extends Animatable, LoadableChildren {\n title?: TitleItemProps | string;\n description?: string;\n tags: FilterTag[];\n items: FilterItem[];\n tagButtonSize?: ButtonSize;\n allTag?: boolean | string;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n}\n\nexport interface IconsBlockItemProps extends AnalyticsEventsBase {\n url: string;\n text: string;\n src: ThemeSupporting<string>;\n}\n\nexport interface IconsBlockProps {\n title?: string;\n description?: string;\n size?: 's' | 'm' | 'l';\n items: IconsBlockItemProps[];\n colSizes?: GridColumnSizesType;\n}\n\ninterface ContentLayoutBlockParams {\n size?: ContentSize;\n background?: ThemeSupporting<BackgroundImageProps>;\n centered?: boolean;\n theme?: ContentTheme;\n textWidth?: ContentTextSize;\n}\n\nexport interface ContentLayoutBlockProps extends ContentLayoutBlockParams {\n textContent: ContentBlockProps;\n fileContent?: FileLinkProps[];\n}\n\nexport type SVGIcon = React.FC<React.SVGProps<SVGSVGElement>>;\n\nexport interface ContentItemProps {\n title?: string;\n text?: string;\n icon: ThemeSupporting<ImageProps | SVGIcon>;\n}\n\nexport interface ContentListProps {\n list: ContentItemProps[];\n size: ContentSize;\n theme?: ContentTheme;\n}\n\nexport interface ContentBlockProps {\n title?: TitleItemBaseProps | string;\n titleId?: string;\n text?: string;\n textId?: string;\n additionalInfo?: string;\n links?: LinkProps[];\n buttons?: ButtonProps[];\n size?: ContentSize;\n colSizes?: GridColumnSizesType;\n centered?: boolean;\n theme?: ContentTheme;\n list?: ContentItemProps[];\n controlPosition?: 'default' | 'bottom';\n}\n\nexport enum PCShareSocialNetwork {\n Vk = 'vk',\n Telegram = 'telegram',\n Twitter = 'twitter',\n Facebook = 'facebook',\n LinkedIn = 'linkedin',\n}\n\nexport interface ShareBlockProps {\n items: PCShareSocialNetwork[];\n title?: string;\n}\n\nexport enum FormBlockDataTypes {\n YANDEX = 'yandex',\n HUBSPOT = 'hubspot',\n}\n\nexport enum FormBlockDirection {\n FormContent = 'form-content',\n ContentForm = 'content-form',\n Center = 'center',\n}\n\nexport interface FormBlockYandexData {\n yandex: ThemeSupporting<YandexFormProps>;\n}\n\nexport interface FormBlockHubspotData {\n hubspot: ThemeSupporting<HubspotFormProps>;\n}\n\nexport type FormBlockData = FormBlockYandexData | FormBlockHubspotData;\n\nexport interface FormBlockProps {\n formData: FormBlockData;\n title?: string;\n textContent?: Omit<ContentBlockProps, 'centered' | 'colSizes' | 'size'>;\n direction?: FormBlockDirection;\n background?: ThemeSupporting<BackgroundImageProps>;\n}\n\n//block models\nexport type HeaderBlockModel = {\n type: BlockType.HeaderBlock;\n} & HeaderBlockProps;\n\nexport type SliderBlockModel = {\n type: BlockType.SliderBlock;\n} & SliderProps;\n\nexport type ExtendedFeaturesBlockModel = {\n type: BlockType.ExtendedFeaturesBlock;\n} & ExtendedFeaturesProps;\n\nexport type PromoFeaturesBlockModel = {\n type: BlockType.PromoFeaturesBlock;\n} & PromoFeaturesProps;\n\nexport type QuestionsBlockModel = {\n type: BlockType.QuestionsBlock;\n} & QuestionsProps;\n\nexport type FoldableListBlockModel = {\n type: BlockType.FoldableListBlock;\n} & FoldableListProps;\n\nexport type BannerBlockModel = {\n type: BlockType.BannerBlock;\n} & BannerBlockProps;\n\nexport type CompaniesBlockModel = {\n type: BlockType.CompaniesBlock;\n} & CompaniesBlockProps;\n\nexport type MediaBlockModel = {\n type: BlockType.MediaBlock;\n} & MediaBlockProps;\n\nexport type MapBlockModel = {\n type: BlockType.MapBlock;\n} & MapBlockProps;\n\nexport type InfoBlockModel = {\n type: BlockType.InfoBlock;\n} & InfoBlockProps;\n\nexport type TableBlockModel = {\n type: BlockType.TableBlock;\n} & TableBlockProps;\n\nexport type TabsBlockModel = {\n type: BlockType.TabsBlock;\n} & TabsBlockProps;\n\nexport type CardLayoutBlockModel = {\n type: BlockType.CardLayoutBlock;\n} & CardLayoutBlockProps;\n\nexport type FilterBlockModel = {\n type: BlockType.FilterBlock;\n} & FilterBlockProps;\n\nexport type IconsBlockModel = {\n type: BlockType.IconsBlock;\n} & IconsBlockProps;\n\nexport type HeaderSliderBlockModel = {\n type: BlockType.HeaderSliderBlock;\n} & HeaderSliderBlockProps;\n\nexport type ContentLayoutBlockModel = {\n type: BlockType.ContentLayoutBlock;\n} & ContentLayoutBlockProps;\n\nexport type ShareBLockModel = {\n type: BlockType.ShareBlock;\n} & ShareBlockProps;\n\nexport type FormBlockModel = {\n type: BlockType.FormBlock;\n} & FormBlockProps;\n\n// unstable block models\nexport type SliderNewBlockModel = {\n type: BlockType.SliderNewBlock;\n} & SliderNewProps;\n\ntype BlockModels =\n | SliderBlockModel\n | ExtendedFeaturesBlockModel\n | PromoFeaturesBlockModel\n | QuestionsBlockModel\n | FoldableListBlockModel\n | BannerBlockModel\n | CompaniesBlockModel\n | MediaBlockModel\n | MapBlockModel\n | InfoBlockModel\n | TableBlockModel\n | TabsBlockModel\n | HeaderBlockModel\n | IconsBlockModel\n | HeaderSliderBlockModel\n | CardLayoutBlockModel\n | ContentLayoutBlockModel\n | ShareBLockModel\n | FilterBlockModel\n | FormBlockModel;\n\ntype UnstableBlockModels = SliderNewBlockModel;\n\nexport type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { ClassNameProps, QuoteType } from "../index.js";
2
2
  import { ThemeSupporting } from "../../utils/index.js";
3
- import { HubspotEventData, HubspotEventHandlers } from "../../utils/hubspot.js";
3
+ import { HubspotEventData, HubspotEventHandlers, HubspotFormDefaultValues } from "../../utils/hubspot.js";
4
4
  import { AnalyticsEventsBase } from "../common.js";
5
5
  import { ContentBlockProps } from "./blocks.js";
6
6
  import { AuthorItem, ButtonProps, CardBaseProps, CardLayoutProps, ContentTheme, DividerSize, ImageCardMargins, ImageObjectProps, ImageProps, LayoutItemContentMargin, LinkProps, MediaProps, MediaView, PriceDetailedProps, TextTheme, Themable, ThemedImage } from "./common.js";
@@ -72,6 +72,7 @@ export interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsB
72
72
  onLoad?: (arg: HubspotEventData) => void;
73
73
  hubspotEvents?: string[];
74
74
  createDOMElement?: boolean;
75
+ defaultValues?: HubspotFormDefaultValues;
75
76
  }
76
77
  export interface QuoteProps extends Themable, CardBaseProps {
77
78
  text?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sub-blocks.js","sourceRoot":"../../../../src","sources":["models/constructor-items/sub-blocks.ts"],"names":[],"mappings":";;;AA0BA,IAAY,YAoBX;AApBD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf;;OAEG;IACH,gDAAgC,CAAA;IAChC,wCAAwB,CAAA;IACxB,0CAA0B,CAAA;IAC1B,0CAA0B,CAAA;IAC1B,kDAAkC,CAAA;IAClC,wCAAwB,CAAA;IACxB,mCAAmB,CAAA;IACnB,4CAA4B,CAAA;IAC5B;;OAEG;IACH,6BAAa,CAAA;IACb,wCAAwB,CAAA;IACxB,wCAAwB,CAAA;AAC5B,CAAC,EApBW,YAAY,4BAAZ,YAAY,QAoBvB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,6BAAa,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAWD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAEY,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import {ClassNameProps, QuoteType} from '../../models';\nimport {ThemeSupporting} from '../../utils';\nimport {HubspotEventData, HubspotEventHandlers} from '../../utils/hubspot';\nimport {AnalyticsEventsBase} from '../common';\n\nimport {ContentBlockProps} from './blocks';\nimport {\n AuthorItem,\n ButtonProps,\n CardBaseProps,\n CardLayoutProps,\n ContentTheme,\n DividerSize,\n ImageCardMargins,\n ImageObjectProps,\n ImageProps,\n LayoutItemContentMargin,\n LinkProps,\n MediaProps,\n MediaView,\n PriceDetailedProps,\n TextTheme,\n Themable,\n ThemedImage,\n} from './common';\n\nexport enum SubBlockType {\n Divider = 'divider',\n Quote = 'quote',\n /**\n * @deprecated Will be removed\n */\n PriceDetailed = 'price-detailed',\n MediaCard = 'media-card',\n BannerCard = 'banner-card',\n LayoutItem = 'layout-item',\n BackgroundCard = 'background-card',\n BasicCard = 'basic-card',\n Content = 'content',\n HubspotForm = 'hubspot-form',\n /**\n * @deprecated Will be removed, use BasicCard instead\n */\n Card = 'card',\n PriceCard = 'price-card',\n ImageCard = 'image-card',\n}\n\nexport enum IconPosition {\n Top = 'top',\n Left = 'left',\n}\n\nexport interface PositionedIcon {\n value: ImageProps;\n position?: IconPosition;\n}\n\nexport interface IconWrapperProps {\n icon?: PositionedIcon;\n}\n\nexport enum ImageCardDirection {\n Direct = 'direct',\n Reverse = 'reverse',\n}\n\nexport const SubBlockTypes = Object.values(SubBlockType);\n\nexport interface DividerProps {\n size?: DividerSize;\n border?: boolean;\n}\n\nexport interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsBase {\n className?: string;\n theme?: ContentTheme;\n isMobile?: boolean;\n region?: string;\n portalId: string;\n formId: string;\n formInstanceId?: string;\n formClassName?: string;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onBeforeLoad?: (arg: HubspotEventData) => void;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onBeforeSubmit?: (arg: HubspotEventData) => void;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onSubmit?: (arg: HubspotEventData) => void;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onLoad?: (arg: HubspotEventData) => void;\n hubspotEvents?: string[];\n createDOMElement?: boolean;\n}\n\n//cards\nexport interface QuoteProps extends Themable, CardBaseProps {\n text?: string;\n // for backward compatibility, yfmText will become property 'text' in major\n yfmText?: string;\n image: ThemedImage;\n logo: ThemeSupporting<ImageProps>;\n color?: string;\n /**\n * @deprecated use property button instead\n */\n url?: string;\n /**\n * @deprecated use property button instead\n */\n urlTitle?: string;\n author?: AuthorItem;\n /**\n * @deprecated use property button instead\n */\n buttonText?: string;\n theme?: TextTheme;\n quoteType?: QuoteType;\n button?: ButtonProps;\n}\n\nexport interface BackgroundCardProps\n extends CardBaseProps,\n AnalyticsEventsBase,\n CardLayoutProps,\n Omit<ContentBlockProps, 'colSizes' | 'centered' | 'controlPosition'> {\n url?: string;\n urlTitle?: string;\n background?: ThemeSupporting<ImageObjectProps>;\n paddingBottom?: 's' | 'm' | 'l' | 'xl';\n backgroundColor?: string;\n}\n\nexport interface BasicCardProps\n extends CardBaseProps,\n AnalyticsEventsBase,\n CardLayoutProps,\n Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme' | 'controlPosition'> {\n url: string;\n urlTitle?: string;\n icon?: ThemeSupporting<ImageProps>;\n target?: string;\n iconPosition?: IconPosition;\n}\n\nexport interface BannerCardProps {\n title: string;\n subtitle?: string;\n className?: string;\n image?: ThemeSupporting<string>;\n disableCompress?: boolean;\n color?: ThemeSupporting<string>;\n theme?: TextTheme;\n button?: Pick<ButtonProps, 'text' | 'url' | 'target' | 'theme'>;\n mediaView?: MediaView;\n}\n\nexport interface MediaCardProps extends MediaProps, AnalyticsEventsBase, CardBaseProps {}\n\nexport interface PriceCardProps extends CardBaseProps, Pick<ContentBlockProps, 'theme'> {\n title: string;\n price: string;\n pricePeriod?: string;\n priceDetails?: string;\n description?: string;\n buttons?: ButtonProps[];\n links?: LinkProps[];\n backgroundColor?: string;\n list?: string[];\n}\n\nexport interface LayoutItemProps extends ClassNameProps, CardLayoutProps, AnalyticsEventsBase {\n content: Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size'>;\n contentMargin?: LayoutItemContentMargin;\n media?: ThemeSupporting<MediaProps>;\n metaInfo?: string[];\n border?: boolean;\n fullscreen?: boolean;\n icon?: ThemeSupporting<PositionedIcon>;\n}\n\nexport interface ImageCardProps\n extends CardBaseProps,\n CardLayoutProps,\n Omit<ContentBlockProps, 'colSizes' | 'centered' | 'controlPosition'> {\n image: ThemeSupporting<ImageProps>;\n enableImageBorderRadius?: boolean;\n margins?: ImageCardMargins;\n direction?: ImageCardDirection;\n backgroundColor?: string;\n url?: string;\n urlTitle?: string;\n target?: string;\n}\n\n// sub-block models\nexport type DividerModel = {\n type: SubBlockType.Divider;\n} & DividerProps;\n\nexport type QuoteModel = {\n type: SubBlockType.Quote;\n} & QuoteProps;\n\nexport type LayoutItemModel = {\n type: SubBlockType.LayoutItem;\n} & LayoutItemProps;\n\nexport type BackgroundCardModel = {\n type: SubBlockType.BackgroundCard;\n} & BackgroundCardProps;\n\n/** @deprecated */\nexport type PriceDetailedModel = {\n type: SubBlockType.PriceDetailed;\n} & PriceDetailedProps;\n\nexport type MediaCardModel = {\n type: SubBlockType.MediaCard;\n} & MediaCardProps;\n\nexport type HubspotFormModel = {\n type: SubBlockType.HubspotForm;\n} & HubspotFormProps;\n\nexport type BannerCardModel = {\n type: SubBlockType.BannerCard;\n} & BannerCardProps;\n\nexport type BasicCardModel = {\n type: SubBlockType.BasicCard;\n} & BasicCardProps;\n\nexport type PriceCardModel = {\n type: SubBlockType.PriceCard;\n} & PriceCardProps;\n\nexport type ImageCardModel = {\n type: SubBlockType.ImageCard;\n} & ImageCardProps;\n\nexport type SubBlockModels =\n | DividerModel\n | QuoteModel\n | PriceDetailedModel\n | MediaCardModel\n | BackgroundCardModel\n | HubspotFormModel\n | BannerCardModel\n | BasicCardModel\n | PriceCardModel\n | LayoutItemModel\n | ImageCardModel;\n\nexport type SubBlock = SubBlockModels;\n"]}
1
+ {"version":3,"file":"sub-blocks.js","sourceRoot":"../../../../src","sources":["models/constructor-items/sub-blocks.ts"],"names":[],"mappings":";;;AA8BA,IAAY,YAoBX;AApBD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf;;OAEG;IACH,gDAAgC,CAAA;IAChC,wCAAwB,CAAA;IACxB,0CAA0B,CAAA;IAC1B,0CAA0B,CAAA;IAC1B,kDAAkC,CAAA;IAClC,wCAAwB,CAAA;IACxB,mCAAmB,CAAA;IACnB,4CAA4B,CAAA;IAC5B;;OAEG;IACH,6BAAa,CAAA;IACb,wCAAwB,CAAA;IACxB,wCAAwB,CAAA;AAC5B,CAAC,EApBW,YAAY,4BAAZ,YAAY,QAoBvB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,2BAAW,CAAA;IACX,6BAAa,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAWD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAEY,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import {ClassNameProps, QuoteType} from '../../models';\nimport {ThemeSupporting} from '../../utils';\nimport {\n HubspotEventData,\n HubspotEventHandlers,\n HubspotFormDefaultValues,\n} from '../../utils/hubspot';\nimport {AnalyticsEventsBase} from '../common';\n\nimport {ContentBlockProps} from './blocks';\nimport {\n AuthorItem,\n ButtonProps,\n CardBaseProps,\n CardLayoutProps,\n ContentTheme,\n DividerSize,\n ImageCardMargins,\n ImageObjectProps,\n ImageProps,\n LayoutItemContentMargin,\n LinkProps,\n MediaProps,\n MediaView,\n PriceDetailedProps,\n TextTheme,\n Themable,\n ThemedImage,\n} from './common';\n\nexport enum SubBlockType {\n Divider = 'divider',\n Quote = 'quote',\n /**\n * @deprecated Will be removed\n */\n PriceDetailed = 'price-detailed',\n MediaCard = 'media-card',\n BannerCard = 'banner-card',\n LayoutItem = 'layout-item',\n BackgroundCard = 'background-card',\n BasicCard = 'basic-card',\n Content = 'content',\n HubspotForm = 'hubspot-form',\n /**\n * @deprecated Will be removed, use BasicCard instead\n */\n Card = 'card',\n PriceCard = 'price-card',\n ImageCard = 'image-card',\n}\n\nexport enum IconPosition {\n Top = 'top',\n Left = 'left',\n}\n\nexport interface PositionedIcon {\n value: ImageProps;\n position?: IconPosition;\n}\n\nexport interface IconWrapperProps {\n icon?: PositionedIcon;\n}\n\nexport enum ImageCardDirection {\n Direct = 'direct',\n Reverse = 'reverse',\n}\n\nexport const SubBlockTypes = Object.values(SubBlockType);\n\nexport interface DividerProps {\n size?: DividerSize;\n border?: boolean;\n}\n\nexport interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsBase {\n className?: string;\n theme?: ContentTheme;\n isMobile?: boolean;\n region?: string;\n portalId: string;\n formId: string;\n formInstanceId?: string;\n formClassName?: string;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onBeforeLoad?: (arg: HubspotEventData) => void;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onBeforeSubmit?: (arg: HubspotEventData) => void;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onSubmit?: (arg: HubspotEventData) => void;\n\n /**\n * To use this handler for component that is rendered in iframe, set up useLoopBackHubspotEvents hook on top level frame\n */\n onLoad?: (arg: HubspotEventData) => void;\n hubspotEvents?: string[];\n createDOMElement?: boolean;\n defaultValues?: HubspotFormDefaultValues;\n}\n\n//cards\nexport interface QuoteProps extends Themable, CardBaseProps {\n text?: string;\n // for backward compatibility, yfmText will become property 'text' in major\n yfmText?: string;\n image: ThemedImage;\n logo: ThemeSupporting<ImageProps>;\n color?: string;\n /**\n * @deprecated use property button instead\n */\n url?: string;\n /**\n * @deprecated use property button instead\n */\n urlTitle?: string;\n author?: AuthorItem;\n /**\n * @deprecated use property button instead\n */\n buttonText?: string;\n theme?: TextTheme;\n quoteType?: QuoteType;\n button?: ButtonProps;\n}\n\nexport interface BackgroundCardProps\n extends CardBaseProps,\n AnalyticsEventsBase,\n CardLayoutProps,\n Omit<ContentBlockProps, 'colSizes' | 'centered' | 'controlPosition'> {\n url?: string;\n urlTitle?: string;\n background?: ThemeSupporting<ImageObjectProps>;\n paddingBottom?: 's' | 'm' | 'l' | 'xl';\n backgroundColor?: string;\n}\n\nexport interface BasicCardProps\n extends CardBaseProps,\n AnalyticsEventsBase,\n CardLayoutProps,\n Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme' | 'controlPosition'> {\n url: string;\n urlTitle?: string;\n icon?: ThemeSupporting<ImageProps>;\n target?: string;\n iconPosition?: IconPosition;\n}\n\nexport interface BannerCardProps {\n title: string;\n subtitle?: string;\n className?: string;\n image?: ThemeSupporting<string>;\n disableCompress?: boolean;\n color?: ThemeSupporting<string>;\n theme?: TextTheme;\n button?: Pick<ButtonProps, 'text' | 'url' | 'target' | 'theme'>;\n mediaView?: MediaView;\n}\n\nexport interface MediaCardProps extends MediaProps, AnalyticsEventsBase, CardBaseProps {}\n\nexport interface PriceCardProps extends CardBaseProps, Pick<ContentBlockProps, 'theme'> {\n title: string;\n price: string;\n pricePeriod?: string;\n priceDetails?: string;\n description?: string;\n buttons?: ButtonProps[];\n links?: LinkProps[];\n backgroundColor?: string;\n list?: string[];\n}\n\nexport interface LayoutItemProps extends ClassNameProps, CardLayoutProps, AnalyticsEventsBase {\n content: Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size'>;\n contentMargin?: LayoutItemContentMargin;\n media?: ThemeSupporting<MediaProps>;\n metaInfo?: string[];\n border?: boolean;\n fullscreen?: boolean;\n icon?: ThemeSupporting<PositionedIcon>;\n}\n\nexport interface ImageCardProps\n extends CardBaseProps,\n CardLayoutProps,\n Omit<ContentBlockProps, 'colSizes' | 'centered' | 'controlPosition'> {\n image: ThemeSupporting<ImageProps>;\n enableImageBorderRadius?: boolean;\n margins?: ImageCardMargins;\n direction?: ImageCardDirection;\n backgroundColor?: string;\n url?: string;\n urlTitle?: string;\n target?: string;\n}\n\n// sub-block models\nexport type DividerModel = {\n type: SubBlockType.Divider;\n} & DividerProps;\n\nexport type QuoteModel = {\n type: SubBlockType.Quote;\n} & QuoteProps;\n\nexport type LayoutItemModel = {\n type: SubBlockType.LayoutItem;\n} & LayoutItemProps;\n\nexport type BackgroundCardModel = {\n type: SubBlockType.BackgroundCard;\n} & BackgroundCardProps;\n\n/** @deprecated */\nexport type PriceDetailedModel = {\n type: SubBlockType.PriceDetailed;\n} & PriceDetailedProps;\n\nexport type MediaCardModel = {\n type: SubBlockType.MediaCard;\n} & MediaCardProps;\n\nexport type HubspotFormModel = {\n type: SubBlockType.HubspotForm;\n} & HubspotFormProps;\n\nexport type BannerCardModel = {\n type: SubBlockType.BannerCard;\n} & BannerCardProps;\n\nexport type BasicCardModel = {\n type: SubBlockType.BasicCard;\n} & BasicCardProps;\n\nexport type PriceCardModel = {\n type: SubBlockType.PriceCard;\n} & PriceCardProps;\n\nexport type ImageCardModel = {\n type: SubBlockType.ImageCard;\n} & ImageCardProps;\n\nexport type SubBlockModels =\n | DividerModel\n | QuoteModel\n | PriceDetailedModel\n | MediaCardModel\n | BackgroundCardModel\n | HubspotFormModel\n | BannerCardModel\n | BasicCardModel\n | PriceCardModel\n | LayoutItemModel\n | ImageCardModel;\n\nexport type SubBlock = SubBlockModels;\n"]}
@@ -55,6 +55,7 @@ export declare const NavigationHeaderProps: {
55
55
  };
56
56
  };
57
57
  };
58
+ optionName: string;
58
59
  }[];
59
60
  };
60
61
  rightItems: {
@@ -68,6 +69,7 @@ export declare const NavigationHeaderProps: {
68
69
  };
69
70
  };
70
71
  };
72
+ optionName: string;
71
73
  }[];
72
74
  };
73
75
  iconSize: {
@@ -81,9 +81,18 @@ const NavigationDropdownItemProps = {
81
81
  };
82
82
  const NavigationItemProps = {
83
83
  oneOf: [
84
- (0, utils_1.filteredArray)(NavigationLinkItemProps),
85
- (0, utils_1.filteredArray)(NavigationButtonItemProps),
86
- (0, utils_1.filteredArray)(NavigationDropdownItemProps),
84
+ {
85
+ optionName: 'link',
86
+ ...(0, utils_1.filteredArray)(NavigationLinkItemProps),
87
+ },
88
+ {
89
+ optionName: 'button',
90
+ ...(0, utils_1.filteredArray)(NavigationButtonItemProps),
91
+ },
92
+ {
93
+ optionName: 'dropdown',
94
+ ...(0, utils_1.filteredArray)(NavigationDropdownItemProps),
95
+ },
87
96
  ],
88
97
  };
89
98
  exports.NavigationHeaderProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"../../../src","sources":["navigation/schema.ts"],"names":[],"mappings":";;;;AAAA,kEAA+B;AAE/B,0DAAuE;AACvE,2DAAwD;AACxD,yDAAyD;AAEzD,MAAM,kBAAkB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;CACvC,CAAC;AAEW,QAAA,SAAS,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACR,IAAI,EAAE,mBAAU;QAChB,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB;QACD,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;KACtB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,wBAAe;KAC3B;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,QAAQ;KACjB;CACJ,CAAC;AAEF,MAAM,2BAA2B,GAAG,IAAA,cAAI,EAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3E,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE;QACR,GAAG,2BAA2B;QAC9B,IAAI,EAAE,EAAC,GAAG,kBAAkB,EAAC;QAC7B,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;SACjB;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;SACjB;QACD,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;SAClB;KACJ;CACJ,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACjC,UAAU,EAAE;QACR,GAAG,oBAAW;QACd,IAAI,EAAE,EAAC,GAAG,kBAAkB,EAAC;KAChC;CACJ,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAChC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE;QACR,GAAG,uBAAuB;QAC1B,IAAI,EAAE,EAAC,GAAG,kBAAkB,EAAC;QAC7B,KAAK,EAAE,IAAA,qBAAa,EAAC,uBAAuB,CAAC;KAChD;CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAG;IACxB,KAAK,EAAE;QACH,IAAA,qBAAa,EAAC,uBAAuB,CAAC;QACtC,IAAA,qBAAa,EAAC,yBAAyB,CAAC;QACxC,IAAA,qBAAa,EAAC,2BAA2B,CAAC;KAC7C;CACJ,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,UAAU,EAAE;QACR,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE;YACN,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps, imageUrlPattern} from '../components/Image/schema';\nimport {ButtonProps} from '../schema/validators/common';\nimport {filteredArray} from '../schema/validators/utils';\n\nconst NavigationItemType = {\n type: 'string',\n enum: ['link', 'button', 'dropdown'],\n};\n\nexport const LogoProps = {\n type: 'object',\n additionalProperties: false,\n required: ['icon'],\n properties: {\n icon: ImageProps,\n text: {\n type: 'string',\n contentType: 'text',\n },\n url: {\n type: 'string',\n },\n },\n};\n\nconst NavigationItemBaseProps = {\n text: {\n type: 'string',\n contentType: 'text',\n },\n url: {\n type: 'string',\n },\n icon: {\n type: 'string',\n pattern: imageUrlPattern,\n },\n iconSize: {\n type: 'number',\n },\n};\n\nconst NavigationItemBaseLinkProps = omit(NavigationItemBaseProps, ['url']);\n\nconst NavigationLinkItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'text'],\n properties: {\n ...NavigationItemBaseLinkProps,\n type: {...NavigationItemType},\n url: {\n type: 'string',\n },\n target: {\n type: 'string',\n },\n arrow: {\n type: 'boolean',\n },\n },\n};\n\nconst NavigationButtonItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'text', 'url'],\n properties: {\n ...ButtonProps,\n type: {...NavigationItemType},\n },\n};\n\nconst NavigationDropdownItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'items'],\n properties: {\n ...NavigationItemBaseProps,\n type: {...NavigationItemType},\n items: filteredArray(NavigationLinkItemProps),\n },\n};\n\nconst NavigationItemProps = {\n oneOf: [\n filteredArray(NavigationLinkItemProps),\n filteredArray(NavigationButtonItemProps),\n filteredArray(NavigationDropdownItemProps),\n ],\n};\n\nexport const NavigationHeaderProps = {\n type: 'object',\n additionalProperties: false,\n required: ['leftItems'],\n properties: {\n leftItems: NavigationItemProps,\n rightItems: NavigationItemProps,\n iconSize: {\n type: 'number',\n },\n },\n};\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../src","sources":["navigation/schema.ts"],"names":[],"mappings":";;;;AAAA,kEAA+B;AAE/B,0DAAuE;AACvE,2DAAwD;AACxD,yDAAyD;AAEzD,MAAM,kBAAkB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;CACvC,CAAC;AAEW,QAAA,SAAS,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACR,IAAI,EAAE,mBAAU;QAChB,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB;QACD,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;KACtB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,wBAAe;KAC3B;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,QAAQ;KACjB;CACJ,CAAC;AAEF,MAAM,2BAA2B,GAAG,IAAA,cAAI,EAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3E,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE;QACR,GAAG,2BAA2B;QAC9B,IAAI,EAAE,EAAC,GAAG,kBAAkB,EAAC;QAC7B,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;SACjB;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;SACjB;QACD,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;SAClB;KACJ;CACJ,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACjC,UAAU,EAAE;QACR,GAAG,oBAAW;QACd,IAAI,EAAE,EAAC,GAAG,kBAAkB,EAAC;KAChC;CACJ,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAChC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE;QACR,GAAG,uBAAuB;QAC1B,IAAI,EAAE,EAAC,GAAG,kBAAkB,EAAC;QAC7B,KAAK,EAAE,IAAA,qBAAa,EAAC,uBAAuB,CAAC;KAChD;CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAG;IACxB,KAAK,EAAE;QACH;YACI,UAAU,EAAE,MAAM;YAClB,GAAG,IAAA,qBAAa,EAAC,uBAAuB,CAAC;SAC5C;QACD;YACI,UAAU,EAAE,QAAQ;YACpB,GAAG,IAAA,qBAAa,EAAC,yBAAyB,CAAC;SAC9C;QACD;YACI,UAAU,EAAE,UAAU;YACtB,GAAG,IAAA,qBAAa,EAAC,2BAA2B,CAAC;SAChD;KACJ;CACJ,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,UAAU,EAAE;QACR,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE;YACN,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps, imageUrlPattern} from '../components/Image/schema';\nimport {ButtonProps} from '../schema/validators/common';\nimport {filteredArray} from '../schema/validators/utils';\n\nconst NavigationItemType = {\n type: 'string',\n enum: ['link', 'button', 'dropdown'],\n};\n\nexport const LogoProps = {\n type: 'object',\n additionalProperties: false,\n required: ['icon'],\n properties: {\n icon: ImageProps,\n text: {\n type: 'string',\n contentType: 'text',\n },\n url: {\n type: 'string',\n },\n },\n};\n\nconst NavigationItemBaseProps = {\n text: {\n type: 'string',\n contentType: 'text',\n },\n url: {\n type: 'string',\n },\n icon: {\n type: 'string',\n pattern: imageUrlPattern,\n },\n iconSize: {\n type: 'number',\n },\n};\n\nconst NavigationItemBaseLinkProps = omit(NavigationItemBaseProps, ['url']);\n\nconst NavigationLinkItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'text'],\n properties: {\n ...NavigationItemBaseLinkProps,\n type: {...NavigationItemType},\n url: {\n type: 'string',\n },\n target: {\n type: 'string',\n },\n arrow: {\n type: 'boolean',\n },\n },\n};\n\nconst NavigationButtonItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'text', 'url'],\n properties: {\n ...ButtonProps,\n type: {...NavigationItemType},\n },\n};\n\nconst NavigationDropdownItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'items'],\n properties: {\n ...NavigationItemBaseProps,\n type: {...NavigationItemType},\n items: filteredArray(NavigationLinkItemProps),\n },\n};\n\nconst NavigationItemProps = {\n oneOf: [\n {\n optionName: 'link',\n ...filteredArray(NavigationLinkItemProps),\n },\n {\n optionName: 'button',\n ...filteredArray(NavigationButtonItemProps),\n },\n {\n optionName: 'dropdown',\n ...filteredArray(NavigationDropdownItemProps),\n },\n ],\n};\n\nexport const NavigationHeaderProps = {\n type: 'object',\n additionalProperties: false,\n required: ['leftItems'],\n properties: {\n leftItems: NavigationItemProps,\n rightItems: NavigationItemProps,\n iconSize: {\n type: 'number',\n },\n },\n};\n"]}
@@ -10,6 +10,7 @@ exports.blockSchemas = {
10
10
  ...blocks_1.PromoFeaturesBlock,
11
11
  ...blocks_1.SliderBlock,
12
12
  ...blocks_1.QuestionsBlock,
13
+ ...blocks_1.FoldableListBlock,
13
14
  ...blocks_1.HeaderBlock,
14
15
  ...blocks_1.BannerBlock,
15
16
  ...blocks_1.CompaniesBlock,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"../../../src","sources":["schema/constants.ts"],"names":[],"mappings":";;;AAAA,wEAAgE;AAGhE,mDAsB6B;AAC7B,2DASiC;AAEpB,QAAA,YAAY,GAA8B;IACnD,GAAG,oBAAO;IACV,GAAG,8BAAqB;IACxB,GAAG,2BAAkB;IACrB,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,oBAAW;IACd,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,mBAAU;IACb,GAAG,iBAAQ;IACX,GAAG,kBAAS;IACZ,GAAG,mBAAU;IACb,GAAG,kBAAS;IACZ,GAAG,0BAAiB;IACpB,GAAG,mBAAU;IACb,GAAG,wBAAe;IAClB,GAAG,2BAAkB;IACrB,GAAG,mBAAU;IACb,GAAG,oBAAW;IACd,GAAG,kBAAS;IACZ,GAAG,uCAAqB;IACxB,GAAG,uBAAc;CACpB,CAAC;AAEW,QAAA,WAAW,GAAG;IACvB,GAAG,2BAAc;IACjB,GAAG,mBAAU;IACb,GAAG,+BAAkB;IACrB,GAAG,2BAAc;IACjB,GAAG,kBAAK;IACR,GAAG,sBAAS;IACZ,GAAG,2BAAc;IACjB,GAAG,sBAAS;CACf,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACvC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,aAAa;IACb,cAAc;IACd,YAAY;CACf,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACtC,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,YAAY;CACf,CAAC","sourcesContent":["import {TestEditorBlockSchema} from '../blocks/TestEditorBlock';\nimport {BlockType} from '../models';\n\nimport {\n BannerBlock,\n BannerCard,\n CardLayoutBlock,\n CompaniesBlock,\n ContentLayoutBlock,\n ExtendedFeaturesBlock,\n FilterBlock,\n FormBlock,\n HeaderBlock,\n HeaderSliderBlock,\n IconsBlock,\n InfoBlock,\n MapBlock,\n MediaBlock,\n PromoFeaturesBlock,\n QuestionsBlock,\n ShareBlock,\n SliderBlock,\n SliderNewBlock,\n TableBlock,\n TabsBlock,\n} from './validators/blocks';\nimport {\n BackgroundCard,\n BasicCard,\n Divider,\n ImageCard,\n MediaCardBlock,\n PriceCardBlock,\n PriceDetailedBlock,\n Quote,\n} from './validators/sub-blocks';\n\nexport const blockSchemas: Record<BlockType, object> = {\n ...Divider,\n ...ExtendedFeaturesBlock,\n ...PromoFeaturesBlock,\n ...SliderBlock,\n ...QuestionsBlock,\n ...HeaderBlock,\n ...BannerBlock,\n ...CompaniesBlock,\n ...MediaBlock,\n ...MapBlock,\n ...InfoBlock,\n ...TableBlock,\n ...TabsBlock,\n ...HeaderSliderBlock,\n ...IconsBlock,\n ...CardLayoutBlock,\n ...ContentLayoutBlock,\n ...ShareBlock,\n ...FilterBlock,\n ...FormBlock,\n ...TestEditorBlockSchema,\n ...SliderNewBlock,\n};\n\nexport const cardSchemas = {\n ...MediaCardBlock,\n ...BannerCard,\n ...PriceDetailedBlock,\n ...BackgroundCard,\n ...Quote,\n ...BasicCard,\n ...PriceCardBlock,\n ...ImageCard,\n};\n\nexport const constructorBlockSchemaNames = [\n 'divider',\n 'quote',\n 'event',\n 'post',\n 'extended-features-block',\n 'promo-features-block',\n 'slider-block',\n 'questions-block',\n 'header-block',\n 'banner-block',\n 'companies-block',\n 'media-block',\n 'map-block',\n 'info-block',\n 'table-block',\n 'tabs-block',\n /** @deprecated */\n 'price-detailed',\n 'header-slider-block',\n 'cards-with-image-block',\n 'icons-block',\n 'card-layout-block',\n 'content-layout-block',\n 'share-block',\n 'filter-block',\n 'form-block',\n];\n\nexport const constructorCardSchemaNames = [\n 'media-card',\n 'banner-card',\n /** @deprecated */\n 'price-detailed',\n 'background-card',\n 'quote',\n 'basic-card',\n 'layout-item',\n 'price-card',\n 'image-card',\n];\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"../../../src","sources":["schema/constants.ts"],"names":[],"mappings":";;;AAAA,wEAAgE;AAGhE,mDAuB6B;AAC7B,2DASiC;AAEpB,QAAA,YAAY,GAA8B;IACnD,GAAG,oBAAO;IACV,GAAG,8BAAqB;IACxB,GAAG,2BAAkB;IACrB,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,0BAAiB;IACpB,GAAG,oBAAW;IACd,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,mBAAU;IACb,GAAG,iBAAQ;IACX,GAAG,kBAAS;IACZ,GAAG,mBAAU;IACb,GAAG,kBAAS;IACZ,GAAG,0BAAiB;IACpB,GAAG,mBAAU;IACb,GAAG,wBAAe;IAClB,GAAG,2BAAkB;IACrB,GAAG,mBAAU;IACb,GAAG,oBAAW;IACd,GAAG,kBAAS;IACZ,GAAG,uCAAqB;IACxB,GAAG,uBAAc;CACpB,CAAC;AAEW,QAAA,WAAW,GAAG;IACvB,GAAG,2BAAc;IACjB,GAAG,mBAAU;IACb,GAAG,+BAAkB;IACrB,GAAG,2BAAc;IACjB,GAAG,kBAAK;IACR,GAAG,sBAAS;IACZ,GAAG,2BAAc;IACjB,GAAG,sBAAS;CACf,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACvC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,aAAa;IACb,cAAc;IACd,YAAY;CACf,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACtC,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,YAAY;CACf,CAAC","sourcesContent":["import {TestEditorBlockSchema} from '../blocks/TestEditorBlock';\nimport {BlockType} from '../models';\n\nimport {\n BannerBlock,\n BannerCard,\n CardLayoutBlock,\n CompaniesBlock,\n ContentLayoutBlock,\n ExtendedFeaturesBlock,\n FilterBlock,\n FoldableListBlock,\n FormBlock,\n HeaderBlock,\n HeaderSliderBlock,\n IconsBlock,\n InfoBlock,\n MapBlock,\n MediaBlock,\n PromoFeaturesBlock,\n QuestionsBlock,\n ShareBlock,\n SliderBlock,\n SliderNewBlock,\n TableBlock,\n TabsBlock,\n} from './validators/blocks';\nimport {\n BackgroundCard,\n BasicCard,\n Divider,\n ImageCard,\n MediaCardBlock,\n PriceCardBlock,\n PriceDetailedBlock,\n Quote,\n} from './validators/sub-blocks';\n\nexport const blockSchemas: Record<BlockType, object> = {\n ...Divider,\n ...ExtendedFeaturesBlock,\n ...PromoFeaturesBlock,\n ...SliderBlock,\n ...QuestionsBlock,\n ...FoldableListBlock,\n ...HeaderBlock,\n ...BannerBlock,\n ...CompaniesBlock,\n ...MediaBlock,\n ...MapBlock,\n ...InfoBlock,\n ...TableBlock,\n ...TabsBlock,\n ...HeaderSliderBlock,\n ...IconsBlock,\n ...CardLayoutBlock,\n ...ContentLayoutBlock,\n ...ShareBlock,\n ...FilterBlock,\n ...FormBlock,\n ...TestEditorBlockSchema,\n ...SliderNewBlock,\n};\n\nexport const cardSchemas = {\n ...MediaCardBlock,\n ...BannerCard,\n ...PriceDetailedBlock,\n ...BackgroundCard,\n ...Quote,\n ...BasicCard,\n ...PriceCardBlock,\n ...ImageCard,\n};\n\nexport const constructorBlockSchemaNames = [\n 'divider',\n 'quote',\n 'event',\n 'post',\n 'extended-features-block',\n 'promo-features-block',\n 'slider-block',\n 'questions-block',\n 'header-block',\n 'banner-block',\n 'companies-block',\n 'media-block',\n 'map-block',\n 'info-block',\n 'table-block',\n 'tabs-block',\n /** @deprecated */\n 'price-detailed',\n 'header-slider-block',\n 'cards-with-image-block',\n 'icons-block',\n 'card-layout-block',\n 'content-layout-block',\n 'share-block',\n 'filter-block',\n 'form-block',\n];\n\nexport const constructorCardSchemaNames = [\n 'media-card',\n 'banner-card',\n /** @deprecated */\n 'price-detailed',\n 'background-card',\n 'quote',\n 'basic-card',\n 'layout-item',\n 'price-card',\n 'image-card',\n];\n"]}
@@ -81,6 +81,7 @@ export declare const defaultComponentsConfigurationSchema: {
81
81
  };
82
82
  };
83
83
  };
84
+ optionName: string;
84
85
  }[];
85
86
  };
86
87
  rightItems: {
@@ -94,6 +95,7 @@ export declare const defaultComponentsConfigurationSchema: {
94
95
  };
95
96
  };
96
97
  };
98
+ optionName: string;
97
99
  }[];
98
100
  };
99
101
  iconSize: {
@@ -7,6 +7,7 @@ export * from "../../blocks/Info/schema.js";
7
7
  export * from "../../blocks/Media/schema.js";
8
8
  export * from "../../blocks/Map/schema.js";
9
9
  export * from "../../blocks/Questions/schema.js";
10
+ export * from "../../blocks/FoldableList/schema.js";
10
11
  export * from "../../blocks/Slider/schema.js";
11
12
  export * from "../../blocks/Table/schema.js";
12
13
  export * from "../../blocks/Tabs/schema.js";
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("../../blocks/Info/schema.js"), exports);
10
10
  tslib_1.__exportStar(require("../../blocks/Media/schema.js"), exports);
11
11
  tslib_1.__exportStar(require("../../blocks/Map/schema.js"), exports);
12
12
  tslib_1.__exportStar(require("../../blocks/Questions/schema.js"), exports);
13
+ tslib_1.__exportStar(require("../../blocks/FoldableList/schema.js"), exports);
13
14
  tslib_1.__exportStar(require("../../blocks/Slider/schema.js"), exports);
14
15
  tslib_1.__exportStar(require("../../blocks/Table/schema.js"), exports);
15
16
  tslib_1.__exportStar(require("../../blocks/Tabs/schema.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["schema/validators/blocks.ts"],"names":[],"mappings":";;;AAAA,wEAA2C;AAC3C,2EAA8C;AAC9C,kFAAqD;AACrD,oFAAuD;AACvD,wEAA2C;AAC3C,sEAAyC;AACzC,uEAA0C;AAC1C,qEAAwC;AACxC,2EAA8C;AAC9C,wEAA2C;AAC3C,uEAA0C;AAC1C,sEAAyC;AACzC,8EAAiD;AACjD,uEAA0C;AAC1C,4EAA+C;AAC/C,+EAAkD;AAClD,uEAA0C;AAC1C,6EAAgD;AAChD,sEAAyC;AACzC,2EAA8C","sourcesContent":["export * from '../../blocks/Banner/schema';\nexport * from '../../blocks/Companies/schema';\nexport * from '../../blocks/ExtendedFeatures/schema';\nexport * from '../../blocks/PromoFeaturesBlock/schema';\nexport * from '../../blocks/Header/schema';\nexport * from '../../blocks/Info/schema';\nexport * from '../../blocks/Media/schema';\nexport * from '../../blocks/Map/schema';\nexport * from '../../blocks/Questions/schema';\nexport * from '../../blocks/Slider/schema';\nexport * from '../../blocks/Table/schema';\nexport * from '../../blocks/Tabs/schema';\nexport * from '../../blocks/HeaderSlider/schema';\nexport * from '../../blocks/Icons/schema';\nexport * from '../../blocks/CardLayout/schema';\nexport * from '../../blocks/ContentLayout/schema';\nexport * from '../../blocks/Share/schema';\nexport * from '../../blocks/FilterBlock/schema';\nexport * from '../../blocks/Form/schema';\nexport * from '../../blocks/SliderNew/schema';\n"]}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["schema/validators/blocks.ts"],"names":[],"mappings":";;;AAAA,wEAA2C;AAC3C,2EAA8C;AAC9C,kFAAqD;AACrD,oFAAuD;AACvD,wEAA2C;AAC3C,sEAAyC;AACzC,uEAA0C;AAC1C,qEAAwC;AACxC,2EAA8C;AAC9C,8EAAiD;AACjD,wEAA2C;AAC3C,uEAA0C;AAC1C,sEAAyC;AACzC,8EAAiD;AACjD,uEAA0C;AAC1C,4EAA+C;AAC/C,+EAAkD;AAClD,uEAA0C;AAC1C,6EAAgD;AAChD,sEAAyC;AACzC,2EAA8C","sourcesContent":["export * from '../../blocks/Banner/schema';\nexport * from '../../blocks/Companies/schema';\nexport * from '../../blocks/ExtendedFeatures/schema';\nexport * from '../../blocks/PromoFeaturesBlock/schema';\nexport * from '../../blocks/Header/schema';\nexport * from '../../blocks/Info/schema';\nexport * from '../../blocks/Media/schema';\nexport * from '../../blocks/Map/schema';\nexport * from '../../blocks/Questions/schema';\nexport * from '../../blocks/FoldableList/schema';\nexport * from '../../blocks/Slider/schema';\nexport * from '../../blocks/Table/schema';\nexport * from '../../blocks/Tabs/schema';\nexport * from '../../blocks/HeaderSlider/schema';\nexport * from '../../blocks/Icons/schema';\nexport * from '../../blocks/CardLayout/schema';\nexport * from '../../blocks/ContentLayout/schema';\nexport * from '../../blocks/Share/schema';\nexport * from '../../blocks/FilterBlock/schema';\nexport * from '../../blocks/Form/schema';\nexport * from '../../blocks/SliderNew/schema';\n"]}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { HubspotFormProps } from "../../models/index.js";
3
- type HubspotFormContainerPropsKeys = 'className' | 'formId' | 'formInstanceId' | 'portalId' | 'region' | 'formClassName' | 'createDOMElement';
3
+ type HubspotFormContainerPropsKeys = 'className' | 'formId' | 'formInstanceId' | 'portalId' | 'region' | 'formClassName' | 'createDOMElement' | 'defaultValues';
4
4
  type HubspotFormContainerProps = Pick<HubspotFormProps, HubspotFormContainerPropsKeys>;
5
5
  declare const HubspotFormContainer: React.ForwardRefExoticComponent<HubspotFormContainerProps & React.RefAttributes<HTMLDivElement>>;
6
6
  export default HubspotFormContainer;
@@ -5,8 +5,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const hooks_1 = require("../../hooks/index.js");
7
7
  const loadHubspotScript_1 = tslib_1.__importDefault(require("./loadHubspotScript.js"));
8
+ const setHubspotDefaultValues_1 = require("./setHubspotDefaultValues.js");
8
9
  const HubspotFormContainer = React.forwardRef((props, ref) => {
9
- const { className, formId, formInstanceId, portalId, region, formClassName, createDOMElement, } = props;
10
+ const { className, formId, formInstanceId, portalId, region, formClassName, createDOMElement, defaultValues, } = props;
10
11
  const containerRef = React.useRef(null);
11
12
  const hsContainerRef = React.useRef();
12
13
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -30,6 +31,9 @@ const HubspotFormContainer = React.forwardRef((props, ref) => {
30
31
  target: `#${containerId}`,
31
32
  cssClass: formClassName,
32
33
  formInstanceId,
34
+ onFormReady: defaultValues
35
+ ? (form) => (0, setHubspotDefaultValues_1.setHubspotDefaultValues)(form, defaultValues)
36
+ : undefined,
33
37
  });
34
38
  }
35
39
  }