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

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 (262) hide show
  1. package/build/cjs/blocks/CardLayout/index.d.ts +1 -1
  2. package/build/cjs/blocks/CardLayout/index.js.map +1 -1
  3. package/build/cjs/blocks/Header/dynamic-form.d.ts +1 -1
  4. package/build/cjs/blocks/Header/dynamic-form.js.map +1 -1
  5. package/build/cjs/blocks/Slider/dynamic-form.d.ts +1 -1
  6. package/build/cjs/blocks/Slider/dynamic-form.js.map +1 -1
  7. package/build/cjs/blocks/TestEditorBlock/form.d.ts +1 -1
  8. package/build/cjs/blocks/TestEditorBlock/form.js.map +1 -1
  9. package/build/cjs/common/postMessage.d.ts +4 -0
  10. package/build/cjs/common/postMessage.js +31 -0
  11. package/build/cjs/common/postMessage.js.map +1 -0
  12. package/build/cjs/common/store.d.ts +40 -0
  13. package/build/cjs/common/store.js +20 -0
  14. package/build/cjs/common/store.js.map +1 -0
  15. package/build/cjs/common/types/actions.d.ts +36 -0
  16. package/build/cjs/common/types/actions.js +3 -0
  17. package/build/cjs/common/types/actions.js.map +1 -0
  18. package/build/cjs/common/types/common.d.ts +5 -0
  19. package/build/cjs/common/types/common.js +3 -0
  20. package/build/cjs/common/types/common.js.map +1 -0
  21. package/build/cjs/common/types/forms.d.ts +97 -0
  22. package/build/cjs/common/types/forms.js +3 -0
  23. package/build/cjs/common/types/forms.js.map +1 -0
  24. package/build/cjs/common/types/index.d.ts +4 -0
  25. package/build/cjs/common/types/index.js +8 -0
  26. package/build/cjs/common/types/index.js.map +1 -0
  27. package/build/cjs/common/types/messages.d.ts +9 -0
  28. package/build/cjs/common/types/messages.js +3 -0
  29. package/build/cjs/common/types/messages.js.map +1 -0
  30. package/build/cjs/common/utils.d.ts +25 -0
  31. package/build/cjs/common/utils.js +22 -0
  32. package/build/cjs/common/utils.js.map +1 -0
  33. package/build/cjs/components/Image/dynamic-form.d.ts +1 -1
  34. package/build/cjs/components/Image/dynamic-form.js.map +1 -1
  35. package/build/cjs/constructor-items.d.ts +1 -1
  36. package/build/cjs/constructor-items.js.map +1 -1
  37. package/build/cjs/context/editorStoreContext/PCEditorStoreContext.d.ts +1 -1
  38. package/build/cjs/context/editorStoreContext/PCEditorStoreContext.js +1 -1
  39. package/build/cjs/context/editorStoreContext/PCEditorStoreContext.js.map +1 -1
  40. package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.js +1 -1
  41. package/build/cjs/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -1
  42. package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.d.ts +1 -1
  43. package/build/cjs/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  44. package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.css +8 -19
  45. package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.js +7 -3
  46. package/build/cjs/editor-v2/components/DynamicForm/FieldBase/FieldBase.js.map +1 -1
  47. package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/Array.d.ts +1 -1
  48. package/build/cjs/editor-v2/components/DynamicForm/Fields/Array/Array.js.map +1 -1
  49. package/build/cjs/editor-v2/components/DynamicForm/Fields/Object/Object.d.ts +1 -1
  50. package/build/cjs/editor-v2/components/DynamicForm/Fields/Object/Object.js.map +1 -1
  51. package/build/cjs/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.d.ts +1 -1
  52. package/build/cjs/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.js.map +1 -1
  53. package/build/cjs/editor-v2/components/DynamicForm/Fields/Select/Select.d.ts +1 -1
  54. package/build/cjs/editor-v2/components/DynamicForm/Fields/Select/Select.js.map +1 -1
  55. package/build/cjs/editor-v2/components/DynamicForm/utils.d.ts +1 -1
  56. package/build/cjs/editor-v2/components/DynamicForm/utils.js.map +1 -1
  57. package/build/cjs/editor-v2/components/Panels/Panels.css +0 -13
  58. package/build/cjs/editor-v2/components/Sidebar/Sidebar.css +3 -13
  59. package/build/cjs/editor-v2/components/Tabs/Tabs.css +7 -2
  60. package/build/cjs/editor-v2/containers/BigOverlay/BigOverlay.css +0 -13
  61. package/build/cjs/editor-v2/containers/BigOverlay/BigOverlay.js +1 -1
  62. package/build/cjs/editor-v2/containers/BigOverlay/BigOverlay.js.map +1 -1
  63. package/build/cjs/editor-v2/containers/BlockConfigForm/BlockConfigForm.css +20 -0
  64. package/build/cjs/editor-v2/containers/BlockConfigForm/BlockConfigForm.d.ts +5 -0
  65. package/build/cjs/editor-v2/containers/{BlockConfig/BlockConfig.js → BlockConfigForm/BlockConfigForm.js} +4 -4
  66. package/build/cjs/editor-v2/containers/BlockConfigForm/BlockConfigForm.js.map +1 -0
  67. package/build/cjs/editor-v2/containers/BlocksList/BlocksList.css +3 -16
  68. package/build/cjs/editor-v2/containers/BlocksList/BlocksList.js.map +1 -1
  69. package/build/cjs/editor-v2/containers/Editor/Editor.css +0 -13
  70. package/build/cjs/editor-v2/containers/Editor/Editor.d.ts +1 -0
  71. package/build/cjs/editor-v2/containers/Editor/Editor.js +5 -4
  72. package/build/cjs/editor-v2/containers/Editor/Editor.js.map +1 -1
  73. package/build/cjs/editor-v2/containers/GlobalConfig/GlobalConfig.css +2 -17
  74. package/build/cjs/editor-v2/containers/GlobalConfig/GlobalConfig.js.map +1 -1
  75. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.css +11 -15
  76. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js +5 -4
  77. package/build/cjs/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  78. package/build/cjs/editor-v2/containers/Overlay/Overlay.css +29 -22
  79. package/build/cjs/editor-v2/containers/Overlay/Overlay.js +2 -2
  80. package/build/cjs/editor-v2/containers/Overlay/Overlay.js.map +1 -1
  81. package/build/cjs/editor-v2/containers/Source/Source.css +0 -13
  82. package/build/cjs/editor-v2/containers/SourceCode/SourceCode.css +1 -14
  83. package/build/cjs/editor-v2/containers/Tree/DragContext.css +2 -15
  84. package/build/cjs/editor-v2/containers/Tree/Tree.css +0 -13
  85. package/build/cjs/editor-v2/containers/Tree/TreeContent.css +0 -16
  86. package/build/cjs/editor-v2/containers/Tree/TreeItem.css +1 -17
  87. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.css +3 -13
  88. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js +1 -1
  89. package/build/cjs/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  90. package/build/cjs/editor-v2/containers/index.d.ts +7 -0
  91. package/build/cjs/editor-v2/containers/index.js +19 -0
  92. package/build/cjs/editor-v2/containers/index.js.map +1 -0
  93. package/build/cjs/editor-v2/context/editorStore/MainEditorStoreProvider.js +1 -1
  94. package/build/cjs/editor-v2/context/editorStore/MainEditorStoreProvider.js.map +1 -1
  95. package/build/cjs/editor-v2/hooks/index.d.ts +2 -0
  96. package/build/cjs/editor-v2/hooks/index.js +8 -0
  97. package/build/cjs/editor-v2/hooks/index.js.map +1 -0
  98. package/build/cjs/editor-v2/hooks/useEditorTabs.js +2 -2
  99. package/build/cjs/editor-v2/hooks/useEditorTabs.js.map +1 -1
  100. package/build/cjs/editor-v2/hooks/useMainEditorInitialize.d.ts +2 -1
  101. package/build/cjs/editor-v2/hooks/useMainEditorInitialize.js +13 -3
  102. package/build/cjs/editor-v2/hooks/useMainEditorInitialize.js.map +1 -1
  103. package/build/cjs/editor-v2/hooks/usePostMessageEvents.d.ts +1 -1
  104. package/build/cjs/editor-v2/hooks/usePostMessageEvents.js +1 -1
  105. package/build/cjs/editor-v2/hooks/usePostMessageEvents.js.map +1 -1
  106. package/build/cjs/editor-v2/index.d.ts +5 -2
  107. package/build/cjs/editor-v2/index.js +5 -4
  108. package/build/cjs/editor-v2/index.js.map +1 -1
  109. package/build/cjs/editor-v2/store.d.ts +2 -2
  110. package/build/cjs/editor-v2/store.js +2 -2
  111. package/build/cjs/editor-v2/store.js.map +1 -1
  112. package/build/cjs/editor-v2/styles/root.css +3 -6
  113. package/build/cjs/editor-v2/utils/index.d.ts +2 -0
  114. package/build/cjs/editor-v2/utils/index.js +2 -0
  115. package/build/cjs/editor-v2/utils/index.js.map +1 -1
  116. package/build/cjs/hooks/usePCEditorInitializeEvents.js.map +1 -1
  117. package/build/cjs/hooks/usePCEditorStore.d.ts +1 -1
  118. package/build/cjs/hooks/usePostMessageAPI.d.ts +1 -1
  119. package/build/cjs/hooks/usePostMessageAPI.js.map +1 -1
  120. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.d.ts +1 -1
  121. package/build/cjs/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -1
  122. package/build/cjs/utils/form-generator.d.ts +1 -1
  123. package/build/cjs/utils/form-generator.js.map +1 -1
  124. package/build/esm/blocks/CardLayout/index.d.ts +1 -1
  125. package/build/esm/blocks/CardLayout/index.js.map +1 -1
  126. package/build/esm/blocks/Header/dynamic-form.d.ts +1 -1
  127. package/build/esm/blocks/Header/dynamic-form.js.map +1 -1
  128. package/build/esm/blocks/Slider/dynamic-form.d.ts +1 -1
  129. package/build/esm/blocks/Slider/dynamic-form.js.map +1 -1
  130. package/build/esm/blocks/TestEditorBlock/form.d.ts +1 -1
  131. package/build/esm/blocks/TestEditorBlock/form.js.map +1 -1
  132. package/build/esm/common/postMessage.d.ts +4 -0
  133. package/build/esm/common/postMessage.js +25 -0
  134. package/build/esm/common/postMessage.js.map +1 -0
  135. package/build/esm/common/store.d.ts +40 -0
  136. package/build/esm/common/store.js +17 -0
  137. package/build/esm/common/store.js.map +1 -0
  138. package/build/esm/common/types/actions.d.ts +36 -0
  139. package/build/esm/common/types/actions.js +2 -0
  140. package/build/esm/common/types/actions.js.map +1 -0
  141. package/build/esm/common/types/common.d.ts +5 -0
  142. package/build/esm/common/types/common.js +2 -0
  143. package/build/esm/common/types/common.js.map +1 -0
  144. package/build/esm/common/types/forms.d.ts +97 -0
  145. package/build/esm/common/types/forms.js +2 -0
  146. package/build/esm/common/types/forms.js.map +1 -0
  147. package/build/esm/common/types/index.d.ts +4 -0
  148. package/build/esm/common/types/index.js +5 -0
  149. package/build/esm/common/types/index.js.map +1 -0
  150. package/build/esm/common/types/messages.d.ts +9 -0
  151. package/build/esm/common/types/messages.js +2 -0
  152. package/build/esm/common/types/messages.js.map +1 -0
  153. package/build/esm/common/utils.d.ts +25 -0
  154. package/build/esm/common/utils.js +17 -0
  155. package/build/esm/common/utils.js.map +1 -0
  156. package/build/esm/components/Image/dynamic-form.d.ts +1 -1
  157. package/build/esm/components/Image/dynamic-form.js.map +1 -1
  158. package/build/esm/constructor-items.d.ts +1 -1
  159. package/build/esm/constructor-items.js.map +1 -1
  160. package/build/esm/context/editorStoreContext/PCEditorStoreContext.d.ts +1 -1
  161. package/build/esm/context/editorStoreContext/PCEditorStoreContext.js +1 -1
  162. package/build/esm/context/editorStoreContext/PCEditorStoreContext.js.map +1 -1
  163. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js +1 -1
  164. package/build/esm/context/editorStoreContext/PCEditorStoreProvider.js.map +1 -1
  165. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.d.ts +1 -1
  166. package/build/esm/editor-v2/components/DynamicForm/DynamicForm.js.map +1 -1
  167. package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.css +8 -19
  168. package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.js +8 -4
  169. package/build/esm/editor-v2/components/DynamicForm/FieldBase/FieldBase.js.map +1 -1
  170. package/build/esm/editor-v2/components/DynamicForm/Fields/Array/Array.d.ts +1 -1
  171. package/build/esm/editor-v2/components/DynamicForm/Fields/Array/Array.js.map +1 -1
  172. package/build/esm/editor-v2/components/DynamicForm/Fields/Object/Object.d.ts +1 -1
  173. package/build/esm/editor-v2/components/DynamicForm/Fields/Object/Object.js.map +1 -1
  174. package/build/esm/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.d.ts +1 -1
  175. package/build/esm/editor-v2/components/DynamicForm/Fields/OneOf/OneOf.js.map +1 -1
  176. package/build/esm/editor-v2/components/DynamicForm/Fields/Select/Select.d.ts +1 -1
  177. package/build/esm/editor-v2/components/DynamicForm/Fields/Select/Select.js.map +1 -1
  178. package/build/esm/editor-v2/components/DynamicForm/utils.d.ts +1 -1
  179. package/build/esm/editor-v2/components/DynamicForm/utils.js.map +1 -1
  180. package/build/esm/editor-v2/components/Panels/Panels.css +0 -13
  181. package/build/esm/editor-v2/components/Sidebar/Sidebar.css +3 -13
  182. package/build/esm/editor-v2/components/Tabs/Tabs.css +7 -2
  183. package/build/esm/editor-v2/containers/BigOverlay/BigOverlay.css +0 -13
  184. package/build/esm/editor-v2/containers/BigOverlay/BigOverlay.js +1 -1
  185. package/build/esm/editor-v2/containers/BigOverlay/BigOverlay.js.map +1 -1
  186. package/build/esm/editor-v2/containers/BlockConfigForm/BlockConfigForm.css +20 -0
  187. package/build/esm/editor-v2/containers/BlockConfigForm/BlockConfigForm.d.ts +6 -0
  188. package/build/esm/editor-v2/containers/{BlockConfig/BlockConfig.js → BlockConfigForm/BlockConfigForm.js} +5 -5
  189. package/build/esm/editor-v2/containers/BlockConfigForm/BlockConfigForm.js.map +1 -0
  190. package/build/esm/editor-v2/containers/BlocksList/BlocksList.css +3 -16
  191. package/build/esm/editor-v2/containers/BlocksList/BlocksList.js.map +1 -1
  192. package/build/esm/editor-v2/containers/Editor/Editor.css +0 -13
  193. package/build/esm/editor-v2/containers/Editor/Editor.d.ts +1 -0
  194. package/build/esm/editor-v2/containers/Editor/Editor.js +5 -4
  195. package/build/esm/editor-v2/containers/Editor/Editor.js.map +1 -1
  196. package/build/esm/editor-v2/containers/GlobalConfig/GlobalConfig.css +2 -17
  197. package/build/esm/editor-v2/containers/GlobalConfig/GlobalConfig.js.map +1 -1
  198. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.css +11 -15
  199. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js +5 -4
  200. package/build/esm/editor-v2/containers/MiddleScreen/MiddleScreen.js.map +1 -1
  201. package/build/esm/editor-v2/containers/Overlay/Overlay.css +29 -22
  202. package/build/esm/editor-v2/containers/Overlay/Overlay.js +2 -2
  203. package/build/esm/editor-v2/containers/Overlay/Overlay.js.map +1 -1
  204. package/build/esm/editor-v2/containers/Source/Source.css +0 -13
  205. package/build/esm/editor-v2/containers/SourceCode/SourceCode.css +1 -14
  206. package/build/esm/editor-v2/containers/Tree/DragContext.css +2 -15
  207. package/build/esm/editor-v2/containers/Tree/Tree.css +0 -13
  208. package/build/esm/editor-v2/containers/Tree/TreeContent.css +0 -16
  209. package/build/esm/editor-v2/containers/Tree/TreeItem.css +1 -17
  210. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.css +3 -13
  211. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js +1 -1
  212. package/build/esm/editor-v2/containers/ViewSwitches/ViewSwitches.js.map +1 -1
  213. package/build/esm/editor-v2/containers/index.d.ts +7 -0
  214. package/build/esm/editor-v2/containers/index.js +8 -0
  215. package/build/esm/editor-v2/containers/index.js.map +1 -0
  216. package/build/esm/editor-v2/context/editorStore/MainEditorStoreProvider.js +1 -1
  217. package/build/esm/editor-v2/context/editorStore/MainEditorStoreProvider.js.map +1 -1
  218. package/build/esm/editor-v2/hooks/index.d.ts +2 -0
  219. package/build/esm/editor-v2/hooks/index.js +3 -0
  220. package/build/esm/editor-v2/hooks/index.js.map +1 -0
  221. package/build/esm/editor-v2/hooks/useEditorTabs.js +2 -2
  222. package/build/esm/editor-v2/hooks/useEditorTabs.js.map +1 -1
  223. package/build/esm/editor-v2/hooks/useMainEditorInitialize.d.ts +2 -1
  224. package/build/esm/editor-v2/hooks/useMainEditorInitialize.js +12 -3
  225. package/build/esm/editor-v2/hooks/useMainEditorInitialize.js.map +1 -1
  226. package/build/esm/editor-v2/hooks/usePostMessageEvents.d.ts +1 -1
  227. package/build/esm/editor-v2/hooks/usePostMessageEvents.js +1 -1
  228. package/build/esm/editor-v2/hooks/usePostMessageEvents.js.map +1 -1
  229. package/build/esm/editor-v2/index.d.ts +5 -2
  230. package/build/esm/editor-v2/index.js +5 -2
  231. package/build/esm/editor-v2/index.js.map +1 -1
  232. package/build/esm/editor-v2/store.d.ts +2 -2
  233. package/build/esm/editor-v2/store.js +2 -2
  234. package/build/esm/editor-v2/store.js.map +1 -1
  235. package/build/esm/editor-v2/styles/root.css +3 -6
  236. package/build/esm/editor-v2/utils/index.d.ts +2 -0
  237. package/build/esm/editor-v2/utils/index.js +2 -0
  238. package/build/esm/editor-v2/utils/index.js.map +1 -1
  239. package/build/esm/hooks/usePCEditorInitializeEvents.js.map +1 -1
  240. package/build/esm/hooks/usePCEditorStore.d.ts +1 -1
  241. package/build/esm/hooks/usePostMessageAPI.d.ts +1 -1
  242. package/build/esm/hooks/usePostMessageAPI.js.map +1 -1
  243. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.d.ts +1 -1
  244. package/build/esm/sub-blocks/BackgroundCard/dynamic-form.js.map +1 -1
  245. package/build/esm/utils/form-generator.d.ts +1 -1
  246. package/build/esm/utils/form-generator.js.map +1 -1
  247. package/package.json +1 -2
  248. package/widget/index.js +1 -1
  249. package/build/cjs/editor-v2/components/StoreViewer/StoreViewer.css +0 -29
  250. package/build/cjs/editor-v2/components/StoreViewer/StoreViewer.d.ts +0 -6
  251. package/build/cjs/editor-v2/components/StoreViewer/StoreViewer.js +0 -17
  252. package/build/cjs/editor-v2/components/StoreViewer/StoreViewer.js.map +0 -1
  253. package/build/cjs/editor-v2/containers/BlockConfig/BlockConfig.css +0 -33
  254. package/build/cjs/editor-v2/containers/BlockConfig/BlockConfig.d.ts +0 -5
  255. package/build/cjs/editor-v2/containers/BlockConfig/BlockConfig.js.map +0 -1
  256. package/build/esm/editor-v2/components/StoreViewer/StoreViewer.css +0 -29
  257. package/build/esm/editor-v2/components/StoreViewer/StoreViewer.d.ts +0 -7
  258. package/build/esm/editor-v2/components/StoreViewer/StoreViewer.js +0 -15
  259. package/build/esm/editor-v2/components/StoreViewer/StoreViewer.js.map +0 -1
  260. package/build/esm/editor-v2/containers/BlockConfig/BlockConfig.css +0 -33
  261. package/build/esm/editor-v2/containers/BlockConfig/BlockConfig.d.ts +0 -6
  262. package/build/esm/editor-v2/containers/BlockConfig/BlockConfig.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/Overlay/Overlay.tsx"],"names":[],"mappings":"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","sourcesContent":["import {ChevronDown, ChevronUp, Copy, TrashBin} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport {usePostMessageAPIListener} from '../../../../common/postMessage';\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\n\nimport './Overlay.scss';\n\nconst b = editorCn('overlay');\n\ninterface OverlayProps {\n className?: string;\n canvasElement?: HTMLDivElement | null;\n}\ninterface InsertLineProps {\n top: number;\n left: number;\n height: number;\n width: number;\n position: string;\n}\n\nconst Overlay = ({className, canvasElement}: OverlayProps) => {\n const {\n height,\n selectedBlock,\n setSelectedBlock,\n deleteBlock,\n duplicateBlock,\n manipulateOverlayMode,\n reorderBlock,\n } = useMainEditorStore();\n const [insertLineBox, setInsertLineBox] = React.useState<InsertLineProps | undefined>(\n undefined,\n );\n const [hoverBorders, setHoverBorders] = React.useState<DOMRect | null>(null);\n const [blockBorders, setBlockBorders] = React.useState<DOMRect | null>(null);\n\n // Listen for updates to the selected block's position\n usePostMessageAPIListener('ON_UPDATE_BLOCK_SELECTION', ({rect}) => {\n setBlockBorders(rect || null);\n });\n\n // Update blockBorders when selectedBlock changes\n React.useEffect(() => {\n if (!selectedBlock) {\n setBlockBorders(null);\n }\n }, [selectedBlock]);\n\n // Auto scroll to the selected block when blockBorders changes\n React.useEffect(() => {\n if (blockBorders && canvasElement) {\n // Calculate the scroll position to center the block in the viewport\n const canvasHeight = canvasElement.clientHeight;\n const scrollPosition = blockBorders.top - canvasHeight / 2 + blockBorders.height / 2;\n\n // Scroll the canvas element to the calculated position with smooth behavior\n canvasElement.scrollTo({\n top: Math.max(0, scrollPosition),\n behavior: 'smooth',\n });\n }\n }, [blockBorders, canvasElement]);\n\n const margin = 0;\n\n usePostMessageAPIListener('ON_HOVER_BLOCK', ({rect, position}) => {\n setHoverBorders(rect || null);\n if (rect && position) {\n setInsertLineBox({\n left: rect.x,\n top: rect.y,\n height: rect.height,\n width: rect.width,\n position: position,\n });\n }\n });\n\n usePostMessageAPIListener('ON_CLICK_BLOCK', ({path}) => {\n setSelectedBlock(path);\n });\n\n const handleMoveUp = () => {\n if (!selectedBlock) return;\n const destination = [...selectedBlock];\n destination[destination.length - 1] = destination[destination.length - 1] - 1;\n reorderBlock(selectedBlock, destination, 'prepend');\n };\n\n const handleMoveDown = () => {\n if (!selectedBlock) return;\n const destination = [...selectedBlock];\n destination[destination.length - 1] = destination[destination.length - 1] + 1;\n reorderBlock(selectedBlock, destination, 'append');\n };\n\n return (\n <div className={b(null, className)} style={{height: `${height}px`}}>\n {blockBorders ? (\n <div\n className={b('border')}\n style={{\n top: blockBorders.top - margin,\n left: blockBorders.left - margin,\n width: blockBorders.width + margin * 2,\n height: blockBorders.height + margin * 2,\n }}\n >\n <div className={b('actions')}>\n <Button view=\"flat\" size={'m'} onClick={handleMoveUp}>\n <Icon data={ChevronUp} size={18} />\n </Button>\n <Button\n pin={'round-clear'}\n className={b('action-button')}\n size={'m'}\n view={'action'}\n onClick={() => selectedBlock && duplicateBlock(selectedBlock)}\n >\n <Icon data={Copy} size={18} />\n </Button>\n <Button\n pin={'clear-round'}\n className={b('action-button')}\n size={'m'}\n view={'action'}\n onClick={() => selectedBlock && deleteBlock(selectedBlock)}\n >\n <Icon data={TrashBin} size={18} />\n </Button>\n <Button view=\"flat\" size={'m'} onClick={handleMoveDown}>\n <Icon data={ChevronDown} size={18} />\n </Button>\n </div>\n </div>\n ) : null}\n {hoverBorders ? (\n <div\n className={b('border', {hover: true})}\n style={{\n top: hoverBorders.top - margin,\n left: hoverBorders.left - margin,\n width: hoverBorders.width + margin * 2,\n height: hoverBorders.height + margin * 2,\n }}\n ></div>\n ) : null}\n {manipulateOverlayMode && hoverBorders && insertLineBox ? (\n <div\n className={b('line', {\n position: insertLineBox.position,\n })}\n style={{\n top: hoverBorders.top,\n left: hoverBorders.left,\n width: hoverBorders.width,\n height: hoverBorders.height,\n }}\n />\n ) : null}\n </div>\n );\n};\n\nexport default Overlay;\n"]}
1
+ {"version":3,"file":"Overlay.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/Overlay/Overlay.tsx"],"names":[],"mappings":"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","sourcesContent":["import {ChevronDown, ChevronUp, Copy, TrashBin} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport * as React from 'react';\n\nimport {usePostMessageAPIListener} from '../../../common/postMessage';\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\n\nimport './Overlay.scss';\n\nconst b = editorCn('overlay');\n\ninterface OverlayProps {\n className?: string;\n canvasElement?: HTMLDivElement | null;\n}\ninterface InsertLineProps {\n top: number;\n left: number;\n height: number;\n width: number;\n position: string;\n}\n\nconst Overlay = ({className, canvasElement}: OverlayProps) => {\n const {\n height,\n selectedBlock,\n setSelectedBlock,\n deleteBlock,\n duplicateBlock,\n manipulateOverlayMode,\n reorderBlock,\n } = useMainEditorStore();\n const [insertLineBox, setInsertLineBox] = React.useState<InsertLineProps | undefined>(\n undefined,\n );\n const [hoverBorders, setHoverBorders] = React.useState<DOMRect | null>(null);\n const [blockBorders, setBlockBorders] = React.useState<DOMRect | null>(null);\n\n // Listen for updates to the selected block's position\n usePostMessageAPIListener('ON_UPDATE_BLOCK_SELECTION', ({rect}) => {\n setBlockBorders(rect || null);\n });\n\n // Update blockBorders when selectedBlock changes\n React.useEffect(() => {\n if (!selectedBlock) {\n setBlockBorders(null);\n }\n }, [selectedBlock]);\n\n // Auto scroll to the selected block when blockBorders changes\n React.useEffect(() => {\n if (blockBorders && canvasElement) {\n // Calculate the scroll position to center the block in the viewport\n const canvasHeight = canvasElement.clientHeight;\n const scrollPosition = blockBorders.top - canvasHeight / 2 + blockBorders.height / 2;\n\n // Scroll the canvas element to the calculated position with smooth behavior\n canvasElement.scrollTo({\n top: Math.max(0, scrollPosition),\n behavior: 'smooth',\n });\n }\n }, [blockBorders, canvasElement]);\n\n const margin = 0;\n\n usePostMessageAPIListener('ON_HOVER_BLOCK', ({rect, position}) => {\n setHoverBorders(rect || null);\n if (rect && position) {\n setInsertLineBox({\n left: rect.x,\n top: rect.y,\n height: rect.height,\n width: rect.width,\n position: position,\n });\n }\n });\n\n usePostMessageAPIListener('ON_CLICK_BLOCK', ({path}) => {\n setSelectedBlock(path);\n });\n\n const handleMoveUp = () => {\n if (!selectedBlock) return;\n const destination = [...selectedBlock];\n destination[destination.length - 1] = destination[destination.length - 1] - 1;\n reorderBlock(selectedBlock, destination, 'prepend');\n };\n\n const handleMoveDown = () => {\n if (!selectedBlock) return;\n const destination = [...selectedBlock];\n destination[destination.length - 1] = destination[destination.length - 1] + 1;\n reorderBlock(selectedBlock, destination, 'append');\n };\n\n return (\n <div className={b(null, className)} style={{height: `${height}px`}}>\n {blockBorders ? (\n <div\n className={b('border')}\n style={{\n top: blockBorders.top - margin,\n left: blockBorders.left - margin,\n width: blockBorders.width + margin * 2,\n height: blockBorders.height + margin * 2,\n }}\n >\n <div className={b('actions')}>\n <div className={b('actions-box', {reorder: true})}>\n <Button view=\"flat\" size={'m'} onClick={handleMoveUp}>\n <Icon className={b('reorder-icon')} data={ChevronUp} size={18} />\n </Button>\n </div>\n <div className={b('actions-box', {main: true})}>\n <Button\n className={b('action-button')}\n size={'m'}\n view={'action'}\n onClick={() => selectedBlock && duplicateBlock(selectedBlock)}\n >\n <Icon data={Copy} size={18} />\n </Button>\n <Button\n className={b('action-button')}\n size={'m'}\n view={'action'}\n onClick={() => selectedBlock && deleteBlock(selectedBlock)}\n >\n <Icon data={TrashBin} size={18} />\n </Button>\n </div>\n <div className={b('actions-box', {reorder: true})}>\n <Button view=\"flat\" size={'m'} onClick={handleMoveDown}>\n <Icon className={b('reorder-icon')} data={ChevronDown} size={18} />\n </Button>\n </div>\n </div>\n </div>\n ) : null}\n {hoverBorders ? (\n <div\n className={b('border', {hover: true})}\n style={{\n top: hoverBorders.top - margin,\n left: hoverBorders.left - margin,\n width: hoverBorders.width + margin * 2,\n height: hoverBorders.height + margin * 2,\n }}\n ></div>\n ) : null}\n {manipulateOverlayMode && hoverBorders && insertLineBox ? (\n <div\n className={b('line', {\n position: insertLineBox.position,\n })}\n style={{\n top: hoverBorders.top,\n left: hoverBorders.left,\n width: hoverBorders.width,\n height: hoverBorders.height,\n }}\n />\n ) : null}\n </div>\n );\n};\n\nexport default Overlay;\n"]}
@@ -1,16 +1,3 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-source {
15
2
  width: 100%;
16
3
  display: inline-flex;
@@ -1,16 +1,3 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-source-code {
15
2
  height: 100%;
16
3
  padding: 16px 12px;
@@ -23,7 +10,7 @@
23
10
  font-weight: 500;
24
11
  font-size: 13px;
25
12
  line-height: 18px;
26
- color: var(--g-color-private-black-300);
13
+ color: var(--g-color-text-secondary);
27
14
  }
28
15
  .pceditor-source-code__code {
29
16
  white-space: pre;
@@ -1,21 +1,8 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-preview {
15
2
  position: absolute;
16
3
  height: auto;
17
- background-color: var(--g-color-base-brand-light);
18
- border: 1px dashed var(--g-color-line-brand);
4
+ background-color: var(--g-color-text-hint);
5
+ border: 1px dashed var(--g-color-text-primary);
19
6
  border-radius: 4px;
20
7
  padding: 8px;
21
8
  z-index: 1000;
@@ -1,16 +1,3 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-tree {
15
2
  padding: 12px;
16
3
  position: relative;
@@ -1,16 +1,3 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-tree-content {
15
2
  position: relative;
16
3
  }
@@ -20,9 +7,6 @@
20
7
  border-radius: 4px;
21
8
  transition: background-color 0.2s;
22
9
  }
23
- .pceditor-tree-content__drop-zone:hover {
24
- background-color: var(--g-color-text-light-secondary);
25
- }
26
10
  .pceditor-tree-content__children {
27
11
  margin-top: 8px;
28
12
  }
@@ -1,16 +1,3 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-tree-item {
15
2
  padding: 8px;
16
3
  margin-bottom: 8px;
@@ -47,7 +34,7 @@
47
34
  display: none;
48
35
  }
49
36
  .pceditor-tree-item__type {
50
- color: var(--g-color-text-dark-secondary);
37
+ color: var(--g-color-text-secondary);
51
38
  }
52
39
  .pceditor-tree-item__title {
53
40
  white-space: nowrap;
@@ -60,7 +47,4 @@
60
47
  margin-bottom: 0;
61
48
  border-radius: 4px;
62
49
  transition: background-color 0.2s;
63
- }
64
- .pceditor-tree-item__children-drop-zone:hover {
65
- background-color: var(--g-color-text-light-secondary);
66
50
  }
@@ -1,16 +1,3 @@
1
- .g-root {
2
- --g-color-base-brand: var(--g-color-private-black-550-solid);
3
- --g-color-base-brand-hover: var(--g-color-private-black-600-solid);
4
- --g-color-base-selection: var(--g-color-private-black-200);
5
- --g-color-base-selection-hover: var(--g-color-private-black-300);
6
- --g-color-base-brand: var(--g-color-text-primary);
7
- --g-color-base-brand-hover: var(--g-color-text-complementary);
8
- --g-color-text-brand-contrast: var(--g-color-text-light-primary);
9
- --g-color-line-brand: var(--g-color-text-primary);
10
- --g-color-text-brand: var(--g-color-private-brand-700-solid);
11
- --g-color-text-brand-heavy: var(--g-color-private-black-700-solid);
12
- }
13
-
14
1
  .pceditor-view-switches {
15
2
  padding: 12px;
16
3
  display: inline-flex;
@@ -20,4 +7,7 @@
20
7
  .pceditor-view-switches__zoom {
21
8
  display: flex;
22
9
  gap: 4px;
10
+ }
11
+ .pceditor-view-switches__zoom-select {
12
+ min-width: 80px;
23
13
  }
@@ -48,7 +48,7 @@ const ViewSwitches = () => {
48
48
  setZoom(newZoom);
49
49
  }
50
50
  }, [setZoom]);
51
- return ((0, jsx_runtime_1.jsxs)("div", { className: b(), role: "toolbar", "aria-label": "View controls", children: [(0, jsx_runtime_1.jsx)(uikit_1.SegmentedRadioGroup, { value: deviceWidth, onUpdate: setDeviceWidth, "aria-label": "Device viewport selector", children: DEVICE_OPTIONS.map(({ value, label, ariaLabel }) => ((0, jsx_runtime_1.jsx)(uikit_1.SegmentedRadioGroup.Option, { value: value, "aria-label": ariaLabel, children: label }, value))) }), (0, jsx_runtime_1.jsxs)("div", { className: b('zoom'), role: "group", "aria-label": "Zoom controls", children: [(0, jsx_runtime_1.jsx)(uikit_1.Button, { view: "flat", onClick: decreaseZoom, "aria-label": "Decrease zoom", disabled: zoom <= Math.min(...constants_1.ZOOM_STEPS), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Minus }) }), (0, jsx_runtime_1.jsx)(uikit_1.Select, { multiple: false, value: currentZoomValue, options: zoomOptions, onUpdate: handleZoomUpdate, "aria-label": "Select zoom level", width: "max" }), (0, jsx_runtime_1.jsx)(uikit_1.Button, { view: "flat", onClick: increaseZoom, "aria-label": "Increase zoom", disabled: zoom >= Math.max(...constants_1.ZOOM_STEPS), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Plus }) })] })] }));
51
+ return ((0, jsx_runtime_1.jsxs)("div", { className: b(), role: "toolbar", "aria-label": "View controls", children: [(0, jsx_runtime_1.jsx)(uikit_1.SegmentedRadioGroup, { value: deviceWidth, onUpdate: setDeviceWidth, "aria-label": "Device viewport selector", children: DEVICE_OPTIONS.map(({ value, label, ariaLabel }) => ((0, jsx_runtime_1.jsx)(uikit_1.SegmentedRadioGroup.Option, { value: value, "aria-label": ariaLabel, children: label }, value))) }), (0, jsx_runtime_1.jsxs)("div", { className: b('zoom'), role: "group", "aria-label": "Zoom controls", children: [(0, jsx_runtime_1.jsx)(uikit_1.Button, { view: "flat", onClick: decreaseZoom, "aria-label": "Decrease zoom", disabled: zoom <= Math.min(...constants_1.ZOOM_STEPS), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Minus }) }), (0, jsx_runtime_1.jsx)(uikit_1.Select, { className: b('zoom-select'), multiple: false, value: currentZoomValue, options: zoomOptions, onUpdate: handleZoomUpdate, "aria-label": "Select zoom level", width: "max" }), (0, jsx_runtime_1.jsx)(uikit_1.Button, { view: "flat", onClick: increaseZoom, "aria-label": "Increase zoom", disabled: zoom >= Math.max(...constants_1.ZOOM_STEPS), children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Plus }) })] })] }));
52
52
  };
53
53
  exports.default = React.memo(ViewSwitches);
54
54
  //# sourceMappingURL=ViewSwitches.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSwitches.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/ViewSwitches/ViewSwitches.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {Display, Minus, Plus, Smartphone} from '@gravity-ui/icons';\nimport {Button, Icon, SegmentedRadioGroup, Select} from '@gravity-ui/uikit';\n\nimport {ZOOM_STEPS} from '../../constants';\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\n\nimport './ViewSwitches.scss';\n\nconst b = editorCn('view-switches');\n\n/**\n * Device option type definition\n */\ninterface DeviceOption {\n /** React node to display as the option label */\n label: React.ReactNode;\n /** Device width value (e.g., '100%', '768px') */\n value: string;\n /** Descriptive name for accessibility */\n ariaLabel: string;\n}\n\n/**\n * Available device viewport options\n * - Desktop: 100% width\n * - Tablet: 768px width\n * - Mobile: 576px width\n */\nconst DEVICE_OPTIONS: DeviceOption[] = [\n {\n label: <Icon data={Display} />,\n value: '100%',\n ariaLabel: 'Desktop view',\n },\n {\n label: <Icon data={Smartphone} />,\n value: '768px',\n ariaLabel: 'Tablet view',\n },\n {\n label: <Icon width={14} data={Smartphone} />,\n value: '576px',\n ariaLabel: 'Mobile view',\n },\n];\n\nconst ViewSwitches: React.FC = () => {\n const {zoom, setZoom, decreaseZoom, increaseZoom, deviceWidth, setDeviceWidth} =\n useMainEditorStore();\n\n // Memoize zoom options to prevent unnecessary recalculations\n const zoomOptions = React.useMemo(\n () =>\n ZOOM_STEPS.map((step) => ({\n value: String(step),\n content: `${step}%`,\n })),\n [],\n );\n\n // Memoize current zoom value for Select component\n const currentZoomValue = React.useMemo(() => [String(zoom)], [zoom]);\n\n // Create stable callback for zoom updates\n const handleZoomUpdate = React.useCallback(\n (value: string | string[]) => {\n const newZoom = Number(Array.isArray(value) ? value[0] : value);\n if (!isNaN(newZoom) && ZOOM_STEPS.includes(newZoom)) {\n setZoom(newZoom);\n }\n },\n [setZoom],\n );\n\n return (\n <div className={b()} role=\"toolbar\" aria-label=\"View controls\">\n <SegmentedRadioGroup\n value={deviceWidth}\n onUpdate={setDeviceWidth}\n aria-label=\"Device viewport selector\"\n >\n {DEVICE_OPTIONS.map(({value, label, ariaLabel}) => (\n <SegmentedRadioGroup.Option key={value} value={value} aria-label={ariaLabel}>\n {label}\n </SegmentedRadioGroup.Option>\n ))}\n </SegmentedRadioGroup>\n\n <div className={b('zoom')} role=\"group\" aria-label=\"Zoom controls\">\n <Button\n view=\"flat\"\n onClick={decreaseZoom}\n aria-label=\"Decrease zoom\"\n disabled={zoom <= Math.min(...ZOOM_STEPS)}\n >\n <Icon data={Minus} />\n </Button>\n\n <Select\n multiple={false}\n value={currentZoomValue}\n options={zoomOptions}\n onUpdate={handleZoomUpdate}\n aria-label=\"Select zoom level\"\n width=\"max\"\n />\n\n <Button\n view=\"flat\"\n onClick={increaseZoom}\n aria-label=\"Increase zoom\"\n disabled={zoom >= Math.max(...ZOOM_STEPS)}\n >\n <Icon data={Plus} />\n </Button>\n </div>\n </div>\n );\n};\n\nexport default React.memo(ViewSwitches);\n"]}
1
+ {"version":3,"file":"ViewSwitches.js","sourceRoot":"../../../../../src","sources":["editor-v2/containers/ViewSwitches/ViewSwitches.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {Display, Minus, Plus, Smartphone} from '@gravity-ui/icons';\nimport {Button, Icon, SegmentedRadioGroup, Select} from '@gravity-ui/uikit';\n\nimport {ZOOM_STEPS} from '../../constants';\nimport {useMainEditorStore} from '../../hooks/useMainEditorStore';\nimport {editorCn} from '../../utils/cn';\n\nimport './ViewSwitches.scss';\n\nconst b = editorCn('view-switches');\n\n/**\n * Device option type definition\n */\ninterface DeviceOption {\n /** React node to display as the option label */\n label: React.ReactNode;\n /** Device width value (e.g., '100%', '768px') */\n value: string;\n /** Descriptive name for accessibility */\n ariaLabel: string;\n}\n\n/**\n * Available device viewport options\n * - Desktop: 100% width\n * - Tablet: 768px width\n * - Mobile: 576px width\n */\nconst DEVICE_OPTIONS: DeviceOption[] = [\n {\n label: <Icon data={Display} />,\n value: '100%',\n ariaLabel: 'Desktop view',\n },\n {\n label: <Icon data={Smartphone} />,\n value: '768px',\n ariaLabel: 'Tablet view',\n },\n {\n label: <Icon width={14} data={Smartphone} />,\n value: '576px',\n ariaLabel: 'Mobile view',\n },\n];\n\nconst ViewSwitches: React.FC = () => {\n const {zoom, setZoom, decreaseZoom, increaseZoom, deviceWidth, setDeviceWidth} =\n useMainEditorStore();\n\n // Memoize zoom options to prevent unnecessary recalculations\n const zoomOptions = React.useMemo(\n () =>\n ZOOM_STEPS.map((step) => ({\n value: String(step),\n content: `${step}%`,\n })),\n [],\n );\n\n // Memoize current zoom value for Select component\n const currentZoomValue = React.useMemo(() => [String(zoom)], [zoom]);\n\n // Create stable callback for zoom updates\n const handleZoomUpdate = React.useCallback(\n (value: string | string[]) => {\n const newZoom = Number(Array.isArray(value) ? value[0] : value);\n if (!isNaN(newZoom) && ZOOM_STEPS.includes(newZoom)) {\n setZoom(newZoom);\n }\n },\n [setZoom],\n );\n\n return (\n <div className={b()} role=\"toolbar\" aria-label=\"View controls\">\n <SegmentedRadioGroup\n value={deviceWidth}\n onUpdate={setDeviceWidth}\n aria-label=\"Device viewport selector\"\n >\n {DEVICE_OPTIONS.map(({value, label, ariaLabel}) => (\n <SegmentedRadioGroup.Option key={value} value={value} aria-label={ariaLabel}>\n {label}\n </SegmentedRadioGroup.Option>\n ))}\n </SegmentedRadioGroup>\n\n <div className={b('zoom')} role=\"group\" aria-label=\"Zoom controls\">\n <Button\n view=\"flat\"\n onClick={decreaseZoom}\n aria-label=\"Decrease zoom\"\n disabled={zoom <= Math.min(...ZOOM_STEPS)}\n >\n <Icon data={Minus} />\n </Button>\n\n <Select\n className={b('zoom-select')}\n multiple={false}\n value={currentZoomValue}\n options={zoomOptions}\n onUpdate={handleZoomUpdate}\n aria-label=\"Select zoom level\"\n width=\"max\"\n />\n\n <Button\n view=\"flat\"\n onClick={increaseZoom}\n aria-label=\"Increase zoom\"\n disabled={zoom >= Math.max(...ZOOM_STEPS)}\n >\n <Icon data={Plus} />\n </Button>\n </div>\n </div>\n );\n};\n\nexport default React.memo(ViewSwitches);\n"]}
@@ -0,0 +1,7 @@
1
+ export { Editor } from "./Editor/Editor.js";
2
+ export { default as BlockConfigForm } from "./BlockConfigForm/BlockConfigForm.js";
3
+ export { default as BlocksList } from "./BlocksList/BlocksList.js";
4
+ export { default as Source } from "./Source/Source.js";
5
+ export { default as SourceCode } from "./SourceCode/SourceCode.js";
6
+ export { default as Tree } from "./Tree/Tree.js";
7
+ export { default as ViewSwitches } from "./ViewSwitches/ViewSwitches.js";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViewSwitches = exports.Tree = exports.SourceCode = exports.Source = exports.BlocksList = exports.BlockConfigForm = exports.Editor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var Editor_1 = require("./Editor/Editor.js");
6
+ Object.defineProperty(exports, "Editor", { enumerable: true, get: function () { return Editor_1.Editor; } });
7
+ var BlockConfigForm_1 = require("./BlockConfigForm/BlockConfigForm.js");
8
+ Object.defineProperty(exports, "BlockConfigForm", { enumerable: true, get: function () { return tslib_1.__importDefault(BlockConfigForm_1).default; } });
9
+ var BlocksList_1 = require("./BlocksList/BlocksList.js");
10
+ Object.defineProperty(exports, "BlocksList", { enumerable: true, get: function () { return tslib_1.__importDefault(BlocksList_1).default; } });
11
+ var Source_1 = require("./Source/Source.js");
12
+ Object.defineProperty(exports, "Source", { enumerable: true, get: function () { return tslib_1.__importDefault(Source_1).default; } });
13
+ var SourceCode_1 = require("./SourceCode/SourceCode.js");
14
+ Object.defineProperty(exports, "SourceCode", { enumerable: true, get: function () { return tslib_1.__importDefault(SourceCode_1).default; } });
15
+ var Tree_1 = require("./Tree/Tree.js");
16
+ Object.defineProperty(exports, "Tree", { enumerable: true, get: function () { return tslib_1.__importDefault(Tree_1).default; } });
17
+ var ViewSwitches_1 = require("./ViewSwitches/ViewSwitches.js");
18
+ Object.defineProperty(exports, "ViewSwitches", { enumerable: true, get: function () { return tslib_1.__importDefault(ViewSwitches_1).default; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["editor-v2/containers/index.ts"],"names":[],"mappings":";;;;AAAA,6CAAuC;AAA/B,gGAAA,MAAM,OAAA;AACd,wEAA6E;AAArE,2IAAA,OAAO,OAAmB;AAClC,yDAA8D;AAAtD,iIAAA,OAAO,OAAc;AAC7B,6CAAkD;AAA1C,yHAAA,OAAO,OAAU;AACzB,yDAA8D;AAAtD,iIAAA,OAAO,OAAc;AAC7B,uCAA4C;AAApC,qHAAA,OAAO,OAAQ;AACvB,+DAAoE;AAA5D,qIAAA,OAAO,OAAgB","sourcesContent":["export {Editor} from './Editor/Editor';\nexport {default as BlockConfigForm} from './BlockConfigForm/BlockConfigForm';\nexport {default as BlocksList} from './BlocksList/BlocksList';\nexport {default as Source} from './Source/Source';\nexport {default as SourceCode} from './SourceCode/SourceCode';\nexport {default as Tree} from './Tree/Tree';\nexport {default as ViewSwitches} from './ViewSwitches/ViewSwitches';\n"]}
@@ -4,7 +4,7 @@ exports.MainEditorStoreProvider = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
- const utils_1 = require("../../../../common/utils.js");
7
+ const utils_1 = require("../../../common/utils.js");
8
8
  const store_1 = require("../../store.js");
9
9
  const iframeContext_1 = require("../iframeContext/index.js");
10
10
  const MainEditorStoreContext_1 = require("./MainEditorStoreContext.js");
@@ -1 +1 @@
1
- {"version":3,"file":"MainEditorStoreProvider.js","sourceRoot":"../../../../../src","sources":["editor-v2/context/editorStore/MainEditorStoreProvider.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAK/B,uDAAkD;AAClD,0CAA2D;AAC3D,6DAA+C;AAE/C,wEAAgE;AAIzD,MAAM,uBAAuB,GAAG,CAAC,EAAC,QAAQ,EAA0B,EAAE,EAAE;IAC3E,MAAM,EAAC,aAAa,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAyB,CAAC;IAEvD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,IAAiB,EAAE,EAAE;QAClB,MAAM,OAAO,GAAqB;YAC9B,KAAK,EAAE,IAAI;SACd,CAAC;QAEF,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YAC/C,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,EACD,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,OAAO,GAAG,IAAA,yBAAiB,GAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,eAAe,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CACH,uBAAC,+CAAsB,CAAC,QAAQ,IAC5B,KAAK,EAAE;YACH,KAAK,EAAE,QAAQ,CAAC,OAAO;SAC1B,YAEA,QAAQ,GACqB,CACrC,CAAC;AACN,CAAC,CAAC;AApCW,QAAA,uBAAuB,2BAoClC","sourcesContent":["import * as React from 'react';\nimport {StoreApi} from 'zustand';\n\nimport {EditorState} from '../../../../common/store';\nimport {StoreSyncMessage} from '../../../../common/types';\nimport {removeFn} from '../../../../common/utils';\nimport {EditorStore, createEditorStore} from '../../store';\nimport {IframeContext} from '../iframeContext';\n\nimport {MainEditorStoreContext} from './MainEditorStoreContext';\n\ninterface MainEditorProviderProps extends React.PropsWithChildren {}\n\nexport const MainEditorStoreProvider = ({children}: MainEditorProviderProps) => {\n const {iframeElement} = React.useContext(IframeContext);\n const storeRef = React.useRef<StoreApi<EditorStore>>();\n\n const sendPostMessage = React.useCallback(\n (data: EditorState) => {\n const message: StoreSyncMessage = {\n state: data,\n };\n\n if (iframeElement && iframeElement.contentWindow) {\n iframeElement.contentWindow.postMessage(message, '*');\n }\n },\n [iframeElement],\n );\n\n if (!storeRef.current) {\n storeRef.current = createEditorStore();\n }\n\n React.useEffect(() => {\n storeRef.current?.subscribe((state) => {\n sendPostMessage(removeFn(state));\n });\n }, [sendPostMessage]);\n\n return (\n <MainEditorStoreContext.Provider\n value={{\n state: storeRef.current,\n }}\n >\n {children}\n </MainEditorStoreContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"MainEditorStoreProvider.js","sourceRoot":"../../../../../src","sources":["editor-v2/context/editorStore/MainEditorStoreProvider.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAK/B,oDAA+C;AAC/C,0CAA2D;AAC3D,6DAA+C;AAE/C,wEAAgE;AAIzD,MAAM,uBAAuB,GAAG,CAAC,EAAC,QAAQ,EAA0B,EAAE,EAAE;IAC3E,MAAM,EAAC,aAAa,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAyB,CAAC;IAEvD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,IAAiB,EAAE,EAAE;QAClB,MAAM,OAAO,GAAqB;YAC9B,KAAK,EAAE,IAAI;SACd,CAAC;QAEF,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YAC/C,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,EACD,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,OAAO,GAAG,IAAA,yBAAiB,GAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,eAAe,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CACH,uBAAC,+CAAsB,CAAC,QAAQ,IAC5B,KAAK,EAAE;YACH,KAAK,EAAE,QAAQ,CAAC,OAAO;SAC1B,YAEA,QAAQ,GACqB,CACrC,CAAC;AACN,CAAC,CAAC;AApCW,QAAA,uBAAuB,2BAoClC","sourcesContent":["import * as React from 'react';\nimport {StoreApi} from 'zustand';\n\nimport {EditorState} from '../../../common/store';\nimport {StoreSyncMessage} from '../../../common/types';\nimport {removeFn} from '../../../common/utils';\nimport {EditorStore, createEditorStore} from '../../store';\nimport {IframeContext} from '../iframeContext';\n\nimport {MainEditorStoreContext} from './MainEditorStoreContext';\n\ninterface MainEditorProviderProps extends React.PropsWithChildren {}\n\nexport const MainEditorStoreProvider = ({children}: MainEditorProviderProps) => {\n const {iframeElement} = React.useContext(IframeContext);\n const storeRef = React.useRef<StoreApi<EditorStore>>();\n\n const sendPostMessage = React.useCallback(\n (data: EditorState) => {\n const message: StoreSyncMessage = {\n state: data,\n };\n\n if (iframeElement && iframeElement.contentWindow) {\n iframeElement.contentWindow.postMessage(message, '*');\n }\n },\n [iframeElement],\n );\n\n if (!storeRef.current) {\n storeRef.current = createEditorStore();\n }\n\n React.useEffect(() => {\n storeRef.current?.subscribe((state) => {\n sendPostMessage(removeFn(state));\n });\n }, [sendPostMessage]);\n\n return (\n <MainEditorStoreContext.Provider\n value={{\n state: storeRef.current,\n }}\n >\n {children}\n </MainEditorStoreContext.Provider>\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export { usePostMessageEvents } from "./usePostMessageEvents.js";
2
+ export { useMainEditorStore } from "./useMainEditorStore.js";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMainEditorStore = exports.usePostMessageEvents = void 0;
4
+ var usePostMessageEvents_1 = require("./usePostMessageEvents.js");
5
+ Object.defineProperty(exports, "usePostMessageEvents", { enumerable: true, get: function () { return usePostMessageEvents_1.usePostMessageEvents; } });
6
+ var useMainEditorStore_1 = require("./useMainEditorStore.js");
7
+ Object.defineProperty(exports, "useMainEditorStore", { enumerable: true, get: function () { return useMainEditorStore_1.useMainEditorStore; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/index.ts"],"names":[],"mappings":";;;AAAA,kEAA4D;AAApD,4HAAA,oBAAoB,OAAA;AAC5B,8DAAwD;AAAhD,wHAAA,kBAAkB,OAAA","sourcesContent":["export {usePostMessageEvents} from './usePostMessageEvents';\nexport {useMainEditorStore} from './useMainEditorStore';\n"]}
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const Tabs_1 = tslib_1.__importDefault(require("../components/Tabs/Tabs.js"));
8
- const BlockConfig_1 = tslib_1.__importDefault(require("../containers/BlockConfig/BlockConfig.js"));
8
+ const BlockConfigForm_1 = tslib_1.__importDefault(require("../containers/BlockConfigForm/BlockConfigForm.js"));
9
9
  const BlocksList_1 = tslib_1.__importDefault(require("../containers/BlocksList/BlocksList.js"));
10
10
  const GlobalConfig_1 = tslib_1.__importDefault(require("../containers/GlobalConfig/GlobalConfig.js"));
11
11
  const SourceCode_1 = tslib_1.__importDefault(require("../containers/SourceCode/SourceCode.js"));
@@ -54,7 +54,7 @@ const useEditorTabs = ({ leftTabs, rightTabs, }) => {
54
54
  {
55
55
  id: 'block-config',
56
56
  title: 'INPUTS',
57
- component: BlockConfig_1.default,
57
+ component: BlockConfigForm_1.default,
58
58
  },
59
59
  {
60
60
  id: 'source-code-yaml',
@@ -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,mGAAgE;AAChE,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,qBAAW;yBACzB;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 BlockConfig from '../containers/BlockConfig/BlockConfig';\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: BlockConfig,\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,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,2 +1,3 @@
1
- declare const useMainEditorInitialize: () => void;
1
+ import { PageContentWithNavigation } from "../../models/index.js";
2
+ declare const useMainEditorInitialize: (initialContent?: PageContentWithNavigation) => void;
2
3
  export default useMainEditorInitialize;
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const postMessage_1 = require("../../../common/postMessage.js");
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const postMessage_1 = require("../../common/postMessage.js");
4
6
  const useMainEditorStore_1 = require("./useMainEditorStore.js");
5
7
  const usePostMessageEvents_1 = require("./usePostMessageEvents.js");
6
- const useMainEditorInitialize = () => {
8
+ const useMainEditorInitialize = (initialContent) => {
7
9
  const { requestPostMessage } = (0, usePostMessageEvents_1.usePostMessageEvents)();
8
10
  const { initialize, setConfig, setContent, manipulateOverlayMode, disableMode, insertBlock, reorderBlock, preInsertBlockType, preReorderBlockPath, } = (0, useMainEditorStore_1.useMainEditorStore)();
9
11
  (0, postMessage_1.usePostMessageAPIListener)('ON_INIT', () => {
10
12
  initialize();
11
13
  requestPostMessage('GET_SUPPORTED_BLOCKS', {});
12
- requestPostMessage('GET_INITIAL_CONTENT', {});
14
+ if (!initialContent) {
15
+ requestPostMessage('GET_INITIAL_CONTENT', {});
16
+ }
13
17
  }, [requestPostMessage]);
18
+ React.useEffect(() => {
19
+ if (initialContent) {
20
+ setContent(initialContent);
21
+ }
22
+ // eslint-disable-next-line react-hooks/exhaustive-deps
23
+ }, [initialContent]);
14
24
  (0, postMessage_1.usePostMessageAPIListener)('ON_INITIAL_CONTENT', (data) => {
15
25
  setContent(data);
16
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useMainEditorInitialize.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/useMainEditorInitialize.ts"],"names":[],"mappings":";;AAAA,gEAAsE;AAEtE,gEAAwD;AACxD,oEAA4D;AAE5D,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACjC,MAAM,EAAC,kBAAkB,EAAC,GAAG,IAAA,2CAAoB,GAAE,CAAC;IACpD,MAAM,EACF,UAAU,EACV,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACtB,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAEzB,IAAA,uCAAyB,EACrB,SAAS,EACT,GAAG,EAAE;QACD,UAAU,EAAE,CAAC;QACb,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC/C,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,IAAA,uCAAyB,EAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QACrD,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAyB,EAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAyB,EACrB,aAAa,EACb,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,EAAE;QACjB,IAAI,qBAAqB,KAAK,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC/E,WAAW,CACP,IAAI,EACJ,kBAAkB,EAClB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAC5D,CAAC;QACN,CAAC;QACD,IAAI,qBAAqB,KAAK,SAAS,IAAI,IAAI,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YACjF,YAAY,CACR,mBAAmB,EACnB,IAAI,EACJ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAC5D,CAAC;QACN,CAAC;QACD,WAAW,EAAE,CAAC;IAClB,CAAC,EACD,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAC5C,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC","sourcesContent":["import {usePostMessageAPIListener} from '../../../common/postMessage';\n\nimport {useMainEditorStore} from './useMainEditorStore';\nimport {usePostMessageEvents} from './usePostMessageEvents';\n\nconst useMainEditorInitialize = () => {\n const {requestPostMessage} = usePostMessageEvents();\n const {\n initialize,\n setConfig,\n setContent,\n manipulateOverlayMode,\n disableMode,\n insertBlock,\n reorderBlock,\n preInsertBlockType,\n preReorderBlockPath,\n } = useMainEditorStore();\n\n usePostMessageAPIListener(\n 'ON_INIT',\n () => {\n initialize();\n requestPostMessage('GET_SUPPORTED_BLOCKS', {});\n requestPostMessage('GET_INITIAL_CONTENT', {});\n },\n [requestPostMessage],\n );\n\n usePostMessageAPIListener('ON_INITIAL_CONTENT', (data) => {\n setContent(data);\n });\n\n usePostMessageAPIListener('ON_SUPPORTED_BLOCKS', (data) => {\n setConfig(data);\n });\n\n usePostMessageAPIListener(\n 'ON_MOUSE_UP',\n ({path, position}) => {\n if (manipulateOverlayMode === 'insert' && path && position && preInsertBlockType) {\n insertBlock(\n path,\n preInsertBlockType,\n ['left', 'top'].includes(position) ? 'prepend' : 'append',\n );\n }\n if (manipulateOverlayMode === 'reorder' && path && position && preReorderBlockPath) {\n reorderBlock(\n preReorderBlockPath,\n path,\n ['left', 'top'].includes(position) ? 'prepend' : 'append',\n );\n }\n disableMode();\n },\n [preInsertBlockType, preReorderBlockPath],\n );\n};\n\nexport default useMainEditorInitialize;\n"]}
1
+ {"version":3,"file":"useMainEditorInitialize.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/useMainEditorInitialize.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAC/B,6DAAmE;AAGnE,gEAAwD;AACxD,oEAA4D;AAE5D,MAAM,uBAAuB,GAAG,CAAC,cAA0C,EAAE,EAAE;IAC3E,MAAM,EAAC,kBAAkB,EAAC,GAAG,IAAA,2CAAoB,GAAE,CAAC;IACpD,MAAM,EACF,UAAU,EACV,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACtB,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAEzB,IAAA,uCAAyB,EACrB,SAAS,EACT,GAAG,EAAE;QACD,UAAU,EAAE,CAAC;QACb,kBAAkB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;IACL,CAAC,EACD,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,cAAc,EAAE,CAAC;YACjB,UAAU,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QACD,uDAAuD;IAC3D,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAA,uCAAyB,EAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QACrD,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAyB,EAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAA,uCAAyB,EACrB,aAAa,EACb,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,EAAE;QACjB,IAAI,qBAAqB,KAAK,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC/E,WAAW,CACP,IAAI,EACJ,kBAAkB,EAClB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAC5D,CAAC;QACN,CAAC;QACD,IAAI,qBAAqB,KAAK,SAAS,IAAI,IAAI,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YACjF,YAAY,CACR,mBAAmB,EACnB,IAAI,EACJ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAC5D,CAAC;QACN,CAAC;QACD,WAAW,EAAE,CAAC;IAClB,CAAC,EACD,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAC5C,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,uBAAuB,CAAC","sourcesContent":["import * as React from 'react';\nimport {usePostMessageAPIListener} from '../../common/postMessage';\nimport {PageContentWithNavigation} from '../../models';\n\nimport {useMainEditorStore} from './useMainEditorStore';\nimport {usePostMessageEvents} from './usePostMessageEvents';\n\nconst useMainEditorInitialize = (initialContent?: PageContentWithNavigation) => {\n const {requestPostMessage} = usePostMessageEvents();\n const {\n initialize,\n setConfig,\n setContent,\n manipulateOverlayMode,\n disableMode,\n insertBlock,\n reorderBlock,\n preInsertBlockType,\n preReorderBlockPath,\n } = useMainEditorStore();\n\n usePostMessageAPIListener(\n 'ON_INIT',\n () => {\n initialize();\n requestPostMessage('GET_SUPPORTED_BLOCKS', {});\n\n if (!initialContent) {\n requestPostMessage('GET_INITIAL_CONTENT', {});\n }\n },\n [requestPostMessage],\n );\n\n React.useEffect(() => {\n if (initialContent) {\n setContent(initialContent);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialContent]);\n\n usePostMessageAPIListener('ON_INITIAL_CONTENT', (data) => {\n setContent(data);\n });\n\n usePostMessageAPIListener('ON_SUPPORTED_BLOCKS', (data) => {\n setConfig(data);\n });\n\n usePostMessageAPIListener(\n 'ON_MOUSE_UP',\n ({path, position}) => {\n if (manipulateOverlayMode === 'insert' && path && position && preInsertBlockType) {\n insertBlock(\n path,\n preInsertBlockType,\n ['left', 'top'].includes(position) ? 'prepend' : 'append',\n );\n }\n if (manipulateOverlayMode === 'reorder' && path && position && preReorderBlockPath) {\n reorderBlock(\n preReorderBlockPath,\n path,\n ['left', 'top'].includes(position) ? 'prepend' : 'append',\n );\n }\n disableMode();\n },\n [preInsertBlockType, preReorderBlockPath],\n );\n};\n\nexport default useMainEditorInitialize;\n"]}
@@ -1,4 +1,4 @@
1
- import { ActionMessageTypes } from "../../../common/types/index.js";
1
+ import { ActionMessageTypes } from "../../common/types/index.js";
2
2
  interface UsePostMessageRequestReturn {
3
3
  requestPostMessage: <K extends keyof ActionMessageTypes>(action: K, data: ActionMessageTypes[K]) => void;
4
4
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.usePostMessageEvents = usePostMessageEvents;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const postMessage_1 = require("../../../common/postMessage.js");
6
+ const postMessage_1 = require("../../common/postMessage.js");
7
7
  const iframeContext_1 = require("../context/iframeContext/index.js");
8
8
  function usePostMessageEvents() {
9
9
  const { iframeElement } = React.useContext(iframeContext_1.IframeContext);
@@ -1 +1 @@
1
- {"version":3,"file":"usePostMessageEvents.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/usePostMessageEvents.ts"],"names":[],"mappings":";;AAaA,oDAYC;;AAzBD,qDAA+B;AAE/B,gEAAqE;AAErE,qEAAuD;AASvD,SAAgB,oBAAoB;IAChC,MAAM,EAAC,aAAa,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IAExD,OAAO;QACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;gBAC/C,OAAO,IAAA,sCAAwB,EAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;YAC/E,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;KACJ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {requestActionPostMessage} from '../../../common/postMessage';\nimport {ActionMessageTypes} from '../../../common/types';\nimport {IframeContext} from '../context/iframeContext';\n\ninterface UsePostMessageRequestReturn {\n requestPostMessage: <K extends keyof ActionMessageTypes>(\n action: K,\n data: ActionMessageTypes[K],\n ) => void;\n}\n\nexport function usePostMessageEvents(): UsePostMessageRequestReturn {\n const {iframeElement} = React.useContext(IframeContext);\n\n return {\n requestPostMessage: (action, data) => {\n if (iframeElement && iframeElement.contentWindow) {\n return requestActionPostMessage(action, data, iframeElement.contentWindow);\n }\n\n return undefined;\n },\n };\n}\n"]}
1
+ {"version":3,"file":"usePostMessageEvents.js","sourceRoot":"../../../../src","sources":["editor-v2/hooks/usePostMessageEvents.ts"],"names":[],"mappings":";;AAaA,oDAYC;;AAzBD,qDAA+B;AAE/B,6DAAkE;AAElE,qEAAuD;AASvD,SAAgB,oBAAoB;IAChC,MAAM,EAAC,aAAa,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,CAAC,CAAC;IAExD,OAAO;QACH,kBAAkB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACjC,IAAI,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;gBAC/C,OAAO,IAAA,sCAAwB,EAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;YAC/E,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;KACJ,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {requestActionPostMessage} from '../../common/postMessage';\nimport {ActionMessageTypes} from '../../common/types';\nimport {IframeContext} from '../context/iframeContext';\n\ninterface UsePostMessageRequestReturn {\n requestPostMessage: <K extends keyof ActionMessageTypes>(\n action: K,\n data: ActionMessageTypes[K],\n ) => void;\n}\n\nexport function usePostMessageEvents(): UsePostMessageRequestReturn {\n const {iframeElement} = React.useContext(IframeContext);\n\n return {\n requestPostMessage: (action, data) => {\n if (iframeElement && iframeElement.contentWindow) {\n return requestActionPostMessage(action, data, iframeElement.contentWindow);\n }\n\n return undefined;\n },\n };\n}\n"]}
@@ -1,2 +1,5 @@
1
- export { Editor } from "./containers/Editor/Editor.js";
2
- export * from "../../common/types/index.js";
1
+ export * from "../common/types/index.js";
2
+ export * from "./containers/index.js";
3
+ export * from "./hooks/index.js";
4
+ export * from "./utils/index.js";
5
+ export * from "./constants.js";
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Editor = void 0;
4
3
  const tslib_1 = require("tslib");
5
- var Editor_1 = require("./containers/Editor/Editor.js");
6
- Object.defineProperty(exports, "Editor", { enumerable: true, get: function () { return Editor_1.Editor; } });
7
- tslib_1.__exportStar(require("../../common/types/index.js"), exports);
4
+ tslib_1.__exportStar(require("../common/types/index.js"), exports);
5
+ tslib_1.__exportStar(require("./containers/index.js"), exports);
6
+ tslib_1.__exportStar(require("./hooks/index.js"), exports);
7
+ tslib_1.__exportStar(require("./utils/index.js"), exports);
8
+ tslib_1.__exportStar(require("./constants.js"), exports);
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["editor-v2/index.ts"],"names":[],"mappings":";;;;AAAA,wDAAkD;AAA1C,gGAAA,MAAM,OAAA;AACd,sEAAmC","sourcesContent":["export {Editor} from './containers/Editor/Editor';\nexport * from '../../common/types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["editor-v2/index.ts"],"names":[],"mappings":";;;AAAA,mEAAgC;AAChC,gEAA6B;AAC7B,2DAAwB;AACxB,2DAAwB;AACxB,yDAA4B","sourcesContent":["export * from '../common/types';\nexport * from './containers';\nexport * from './hooks';\nexport * from './utils';\nexport * from './constants';\n"]}
@@ -1,5 +1,5 @@
1
- import { EditorState } from "../../common/store.js";
2
- import { DynamicFormValue } from "../../common/types/index.js";
1
+ import { EditorState } from "../common/store.js";
2
+ import { DynamicFormValue } from "../common/types/index.js";
3
3
  import { PageContentWithNavigation } from "../models/index.js";
4
4
  export interface EditorMethods {
5
5
  initialize(): void;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createEditorStore = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const lodash_1 = tslib_1.__importDefault(require("lodash"));
6
- const store_1 = require("../../common/store.js");
7
- const utils_1 = require("../../common/utils.js");
6
+ const store_1 = require("../common/store.js");
7
+ const utils_1 = require("../common/utils.js");
8
8
  const constants_1 = require("./constants.js");
9
9
  const utils_2 = require("./utils/index.js");
10
10
  exports.createEditorStore = (0, utils_1.initializeStore)(store_1.initialStore, (set, get) => ({