@webiny/app-website-builder 6.0.0 → 6.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/BaseEditor/commandHandlers/CreateElement.js +8 -1
  2. package/BaseEditor/commandHandlers/CreateElement.js.map +1 -1
  3. package/BaseEditor/commandHandlers/DeleteElement.js +8 -3
  4. package/BaseEditor/commandHandlers/DeleteElement.js.map +1 -1
  5. package/BaseEditor/commandHandlers/MoveElement.js +12 -1
  6. package/BaseEditor/commandHandlers/MoveElement.js.map +1 -1
  7. package/BaseEditor/commands.d.ts +4 -0
  8. package/BaseEditor/commands.js +2 -0
  9. package/BaseEditor/commands.js.map +1 -1
  10. package/BaseEditor/config/EditorConfig.d.ts +494 -2
  11. package/BaseEditor/config/EditorConfig.js +20 -5
  12. package/BaseEditor/config/EditorConfig.js.map +1 -1
  13. package/BaseEditor/config/Element.d.ts +2 -2
  14. package/BaseEditor/config/Element.js.map +1 -1
  15. package/BaseEditor/config/ElementOverlay.d.ts +18 -0
  16. package/BaseEditor/config/ElementOverlay.js +49 -0
  17. package/BaseEditor/config/ElementOverlay.js.map +1 -0
  18. package/BaseEditor/config/IconButton.d.ts +1 -1
  19. package/BaseEditor/config/IconButton.js.map +1 -1
  20. package/BaseEditor/config/IsNotReadOnly.d.ts +5 -0
  21. package/BaseEditor/config/IsNotReadOnly.js +13 -0
  22. package/BaseEditor/config/IsNotReadOnly.js.map +1 -0
  23. package/BaseEditor/config/IsReadOnly.d.ts +5 -0
  24. package/BaseEditor/config/IsReadOnly.js +13 -0
  25. package/BaseEditor/config/IsReadOnly.js.map +1 -0
  26. package/BaseEditor/config/Layout.js +13 -4
  27. package/BaseEditor/config/Layout.js.map +1 -1
  28. package/BaseEditor/config/Sidebar/Layout.js +2 -0
  29. package/BaseEditor/config/Sidebar/Layout.js.map +1 -1
  30. package/BaseEditor/config/Sidebar/Tab.d.ts +1 -1
  31. package/BaseEditor/config/Sidebar/Tab.js +1 -1
  32. package/BaseEditor/config/Sidebar/Tab.js.map +1 -1
  33. package/BaseEditor/config/Toolbar/Layout.js +1 -1
  34. package/BaseEditor/config/Toolbar/Layout.js.map +1 -1
  35. package/BaseEditor/config/Toolbar/Toolbar.js +2 -1
  36. package/BaseEditor/config/Toolbar/Toolbar.js.map +1 -1
  37. package/BaseEditor/config/TopBar/Layout.js +1 -0
  38. package/BaseEditor/config/TopBar/Layout.js.map +1 -1
  39. package/BaseEditor/config/TopBar/MenuItem.d.ts +1 -1
  40. package/BaseEditor/config/TopBar/MenuItem.js.map +1 -1
  41. package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/AddressBar.js +7 -6
  42. package/BaseEditor/defaultConfig/Content/AddressBar/AddressBar.js.map +1 -0
  43. package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.js +2 -2
  44. package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.js +2 -2
  45. package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.js +2 -2
  46. package/BaseEditor/defaultConfig/Content/Breadcrumbs/Breadcrumbs.js +2 -1
  47. package/BaseEditor/defaultConfig/Content/Breadcrumbs/Breadcrumbs.js.map +1 -1
  48. package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js +9 -67
  49. package/BaseEditor/defaultConfig/Content/Breadcrumbs/styles.js.map +1 -1
  50. package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.d.ts +2 -0
  51. package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js +22 -0
  52. package/BaseEditor/defaultConfig/Content/ContentPreviewConfig.js.map +1 -0
  53. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.d.ts +1 -0
  54. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js +54 -11
  55. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
  56. package/BaseEditor/defaultConfig/Content/Preview/Iframe.js +27 -13
  57. package/BaseEditor/defaultConfig/Content/Preview/Iframe.js.map +1 -1
  58. package/BaseEditor/defaultConfig/Content/Preview/KeyboardShortcuts.js +4 -11
  59. package/BaseEditor/defaultConfig/Content/Preview/KeyboardShortcuts.js.map +1 -1
  60. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.d.ts +1 -1
  61. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.js +44 -4
  62. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementDropLines.js.map +1 -1
  63. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.d.ts +1 -10
  64. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js +13 -8
  65. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlay.js.map +1 -1
  66. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.d.ts +16 -0
  67. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.js +19 -0
  68. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlayProvider.js.map +1 -0
  69. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.js +9 -10
  70. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.js.map +1 -1
  71. package/BaseEditor/defaultConfig/Content/Preview/Preview.js +2 -3
  72. package/BaseEditor/defaultConfig/Content/Preview/Preview.js.map +1 -1
  73. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.d.ts +6 -0
  74. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js +16 -0
  75. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js.map +1 -0
  76. package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js +36 -1
  77. package/BaseEditor/defaultConfig/Content/Preview/PreviewEvents.js.map +1 -1
  78. package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.d.ts +1 -1
  79. package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js +6 -5
  80. package/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js.map +1 -1
  81. package/BaseEditor/defaultConfig/Content/Preview/useIframeUrl.js +1 -1
  82. package/BaseEditor/defaultConfig/Content/Preview/useIframeUrl.js.map +1 -1
  83. package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.d.ts +2 -1
  84. package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.js +4 -2
  85. package/BaseEditor/defaultConfig/Content/Preview/useProximityDropzone.js.map +1 -1
  86. package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.d.ts +3 -3
  87. package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js +18 -13
  88. package/BaseEditor/defaultConfig/Content/Preview/useResponsiveContainer.js.map +1 -1
  89. package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.js → usePreviewDomain.js} +1 -1
  90. package/BaseEditor/defaultConfig/DefaultEditorConfig.js +2 -9
  91. package/BaseEditor/defaultConfig/DefaultEditorConfig.js.map +1 -1
  92. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.d.ts +19 -1
  93. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js +3 -2
  94. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js.map +1 -1
  95. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useBindingsForElement.d.ts +11 -11
  96. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js +15 -4
  97. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js.map +1 -1
  98. package/BaseEditor/defaultConfig/Toolbar/InsertElements/useComponentGroups.js +3 -2
  99. package/BaseEditor/defaultConfig/Toolbar/InsertElements/useComponentGroups.js.map +1 -1
  100. package/BaseEditor/hooks/useCreateElement.d.ts +5 -0
  101. package/BaseEditor/hooks/useCreateElement.js +14 -0
  102. package/BaseEditor/hooks/useCreateElement.js.map +1 -0
  103. package/BaseEditor/hooks/useDeleteElement.d.ts +3 -0
  104. package/BaseEditor/hooks/useDeleteElement.js +16 -0
  105. package/BaseEditor/hooks/useDeleteElement.js.map +1 -0
  106. package/BaseEditor/hooks/useElementInputs.d.ts +10 -0
  107. package/BaseEditor/hooks/useElementInputs.js +33 -0
  108. package/BaseEditor/hooks/useElementInputs.js.map +1 -0
  109. package/BaseEditor/hooks/useElementOverlay.d.ts +1 -0
  110. package/BaseEditor/hooks/useElementOverlay.js +3 -0
  111. package/BaseEditor/hooks/useElementOverlay.js.map +1 -0
  112. package/BaseEditor/hooks/useHighlightedElement.d.ts +2 -0
  113. package/BaseEditor/hooks/useHighlightedElement.js +26 -0
  114. package/BaseEditor/hooks/useHighlightedElement.js.map +1 -0
  115. package/BaseEditor/hooks/useReservedUISpace.d.ts +10 -0
  116. package/BaseEditor/hooks/useReservedUISpace.js +48 -0
  117. package/BaseEditor/hooks/useReservedUISpace.js.map +1 -0
  118. package/BaseEditor/hooks/useUpdateElement.d.ts +3 -0
  119. package/BaseEditor/hooks/useUpdateElement.js +14 -0
  120. package/BaseEditor/hooks/useUpdateElement.js.map +1 -0
  121. package/DocumentEditor/StateInspector.js +16 -43
  122. package/DocumentEditor/StateInspector.js.map +1 -1
  123. package/Extension.js +1 -8
  124. package/Extension.js.map +1 -1
  125. package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.d.ts +16 -0
  126. package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js +30 -0
  127. package/components/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js.map +1 -0
  128. package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.d.ts +11 -0
  129. package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.js +30 -0
  130. package/components/TrashBin/adapters/TrashBinDeletePageGraphQLGateway.js.map +1 -0
  131. package/components/TrashBin/adapters/TrashBinItemMapper.d.ts +5 -0
  132. package/components/TrashBin/adapters/TrashBinItemMapper.js +18 -0
  133. package/components/TrashBin/adapters/TrashBinItemMapper.js.map +1 -0
  134. package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.d.ts +16 -0
  135. package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.js +32 -0
  136. package/components/TrashBin/adapters/TrashBinListPagesGraphQLGateway.js.map +1 -0
  137. package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.d.ts +14 -0
  138. package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.js +30 -0
  139. package/components/TrashBin/adapters/TrashBinRestorePageGraphQLGateway.js.map +1 -0
  140. package/components/TrashBin/adapters/graphql/bulkActionsMutation.d.ts +15 -0
  141. package/components/TrashBin/adapters/graphql/bulkActionsMutation.js +20 -0
  142. package/components/TrashBin/adapters/graphql/bulkActionsMutation.js.map +1 -0
  143. package/components/TrashBin/adapters/graphql/listQuery.d.ts +21 -0
  144. package/components/TrashBin/adapters/graphql/listQuery.js +20 -0
  145. package/components/TrashBin/adapters/graphql/listQuery.js.map +1 -0
  146. package/components/TrashBin/adapters/graphql/permanentDeleteMutation.d.ts +15 -0
  147. package/components/TrashBin/adapters/graphql/permanentDeleteMutation.js +18 -0
  148. package/components/TrashBin/adapters/graphql/permanentDeleteMutation.js.map +1 -0
  149. package/components/TrashBin/adapters/graphql/restoreMutation.d.ts +14 -0
  150. package/components/TrashBin/adapters/graphql/restoreMutation.js +20 -0
  151. package/components/TrashBin/adapters/graphql/restoreMutation.js.map +1 -0
  152. package/components/TrashBin/adapters/index.d.ts +6 -0
  153. package/components/TrashBin/adapters/index.js +8 -0
  154. package/components/TrashBin/adapters/index.js.map +1 -0
  155. package/components/TrashBin/adapters/usePageFields.d.ts +1 -0
  156. package/components/TrashBin/adapters/usePageFields.js +14 -0
  157. package/components/TrashBin/adapters/usePageFields.js.map +1 -0
  158. package/components/TrashBin/components/TrashBin.d.ts +2 -0
  159. package/components/TrashBin/components/TrashBin.js +70 -0
  160. package/components/TrashBin/components/TrashBin.js.map +1 -0
  161. package/components/TrashBin/components/TrashBin.styled.d.ts +13 -0
  162. package/components/TrashBin/components/TrashBin.styled.js +44 -0
  163. package/components/TrashBin/components/TrashBin.styled.js.map +1 -0
  164. package/components/TrashBin/components/TrashBinButton.d.ts +5 -0
  165. package/components/TrashBin/components/TrashBinButton.js +17 -0
  166. package/components/TrashBin/components/TrashBinButton.js.map +1 -0
  167. package/components/TrashBin/components/index.d.ts +1 -0
  168. package/components/TrashBin/components/index.js +3 -0
  169. package/components/TrashBin/components/index.js.map +1 -0
  170. package/components/TrashBin/index.d.ts +1 -0
  171. package/components/TrashBin/index.js +3 -0
  172. package/components/TrashBin/index.js.map +1 -0
  173. package/editorSdk/Editor.d.ts +6 -0
  174. package/editorSdk/Editor.js +8 -1
  175. package/editorSdk/Editor.js.map +1 -1
  176. package/editorSdk/utils/$createElement.d.ts +2 -1
  177. package/editorSdk/utils/$createElement.js +40 -1
  178. package/editorSdk/utils/$createElement.js.map +1 -1
  179. package/editorSdk/utils/$deleteElement.d.ts +2 -2
  180. package/editorSdk/utils/$deleteElement.js +58 -14
  181. package/editorSdk/utils/$deleteElement.js.map +1 -1
  182. package/editorSdk/utils/$getElementInputValues.d.ts +5 -0
  183. package/editorSdk/utils/$getElementInputValues.js +76 -0
  184. package/editorSdk/utils/$getElementInputValues.js.map +1 -0
  185. package/editorSdk/utils/$getElementsOfType.d.ts +2 -0
  186. package/editorSdk/utils/$getElementsOfType.js +5 -0
  187. package/editorSdk/utils/$getElementsOfType.js.map +1 -0
  188. package/editorSdk/utils/$getFirstElementOfType.d.ts +2 -0
  189. package/editorSdk/utils/$getFirstElementOfType.js +5 -0
  190. package/editorSdk/utils/$getFirstElementOfType.js.map +1 -0
  191. package/editorSdk/utils/$moveElement.d.ts +3 -2
  192. package/editorSdk/utils/$moveElement.js +14 -1
  193. package/editorSdk/utils/$moveElement.js.map +1 -1
  194. package/editorSdk/utils/$previewElementInputs.d.ts +6 -0
  195. package/editorSdk/utils/$previewElementInputs.js +39 -0
  196. package/editorSdk/utils/$previewElementInputs.js.map +1 -0
  197. package/editorSdk/utils/$updateElementInputs.d.ts +7 -0
  198. package/editorSdk/utils/$updateElementInputs.js +50 -0
  199. package/editorSdk/utils/$updateElementInputs.js.map +1 -0
  200. package/editorSdk/utils/executeOnChange.d.ts +33 -0
  201. package/editorSdk/utils/executeOnChange.js +246 -0
  202. package/editorSdk/utils/executeOnChange.js.map +1 -0
  203. package/editorSdk/utils/index.d.ts +6 -0
  204. package/editorSdk/utils/index.js +6 -0
  205. package/editorSdk/utils/index.js.map +1 -1
  206. package/exports/admin/website-builder/page/editor.d.ts +34 -2
  207. package/exports/admin/website-builder/page/editor.js +34 -2
  208. package/exports/admin/website-builder/page/editor.js.map +1 -1
  209. package/exports/admin/website-builder.d.ts +1 -0
  210. package/exports/admin/website-builder.js +1 -0
  211. package/exports/admin/website-builder.js.map +1 -1
  212. package/features/pages/deletePage/DeletePage.test.js +2 -1
  213. package/features/pages/deletePage/DeletePage.test.js.map +1 -1
  214. package/features/pages/deletePage/DeletePageGqlGateway.d.ts +2 -1
  215. package/features/pages/deletePage/DeletePageGqlGateway.js +3 -2
  216. package/features/pages/deletePage/DeletePageGqlGateway.js.map +1 -1
  217. package/features/pages/deletePage/DeletePageRepository.d.ts +1 -1
  218. package/features/pages/deletePage/DeletePageRepository.js +2 -2
  219. package/features/pages/deletePage/DeletePageRepository.js.map +1 -1
  220. package/features/pages/deletePage/DeletePageUseCase.js +1 -1
  221. package/features/pages/deletePage/DeletePageUseCase.js.map +1 -1
  222. package/features/pages/deletePage/IDeletePageGateway.d.ts +1 -1
  223. package/features/pages/deletePage/IDeletePageGateway.js.map +1 -1
  224. package/features/pages/deletePage/IDeletePageRepository.d.ts +1 -1
  225. package/features/pages/deletePage/IDeletePageRepository.js.map +1 -1
  226. package/features/pages/deletePage/IDeletePageUseCase.d.ts +1 -0
  227. package/features/pages/deletePage/IDeletePageUseCase.js.map +1 -1
  228. package/index.d.ts +1 -1
  229. package/index.js +1 -1
  230. package/index.js.map +1 -1
  231. package/modules/pages/PageEditor/DefaultPageEditorConfig.js +6 -5
  232. package/modules/pages/PageEditor/DefaultPageEditorConfig.js.map +1 -1
  233. package/modules/pages/PageEditor/PageAutoSave.js +5 -5
  234. package/modules/pages/PageEditor/PageAutoSave.js.map +1 -1
  235. package/modules/pages/PageEditor/PageEditorConfig.d.ts +569 -88
  236. package/modules/pages/PageEditor/PageEditorConfig.js +23 -3
  237. package/modules/pages/PageEditor/PageEditorConfig.js.map +1 -1
  238. package/modules/pages/PageEditor/PageSettings/PageSettings.d.ts +30 -0
  239. package/modules/pages/PageEditor/PageSettings/PageSettings.js +84 -0
  240. package/modules/pages/PageEditor/PageSettings/PageSettings.js.map +1 -0
  241. package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.d.ts +2 -0
  242. package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js +98 -0
  243. package/modules/pages/PageEditor/PageSettings/PageSettingsConfig.js.map +1 -0
  244. package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.d.ts +2 -0
  245. package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js +31 -0
  246. package/modules/pages/PageEditor/PageSettings/elements/GeneralImage.js.map +1 -0
  247. package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.d.ts +2 -0
  248. package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js +16 -0
  249. package/modules/pages/PageEditor/PageSettings/elements/GeneralPath.js.map +1 -0
  250. package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.d.ts +2 -0
  251. package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js +14 -0
  252. package/modules/pages/PageEditor/PageSettings/elements/GeneralSnippet.js.map +1 -0
  253. package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.d.ts +2 -0
  254. package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js +14 -0
  255. package/modules/pages/PageEditor/PageSettings/elements/GeneralTags.js.map +1 -0
  256. package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.d.ts +2 -0
  257. package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js +16 -0
  258. package/modules/pages/PageEditor/PageSettings/elements/GeneralTitle.js.map +1 -0
  259. package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.d.ts +2 -0
  260. package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js +31 -0
  261. package/modules/pages/PageEditor/PageSettings/elements/SchemaEditor.js.map +1 -0
  262. package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.d.ts +2 -0
  263. package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js +26 -0
  264. package/modules/pages/PageEditor/PageSettings/elements/SeoCanonicalUrl.js.map +1 -0
  265. package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.d.ts +2 -0
  266. package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js +15 -0
  267. package/modules/pages/PageEditor/PageSettings/elements/SeoDescription.js.map +1 -0
  268. package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.d.ts +2 -0
  269. package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js +18 -0
  270. package/modules/pages/PageEditor/PageSettings/elements/SeoMetaTags.js.map +1 -0
  271. package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.d.ts +2 -0
  272. package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js +16 -0
  273. package/modules/pages/PageEditor/PageSettings/elements/SeoNoFollow.js.map +1 -0
  274. package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.d.ts +2 -0
  275. package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js +16 -0
  276. package/modules/pages/PageEditor/PageSettings/elements/SeoNoIndex.js.map +1 -0
  277. package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.d.ts +2 -0
  278. package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js +15 -0
  279. package/modules/pages/PageEditor/PageSettings/elements/SeoTitle.js.map +1 -0
  280. package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.d.ts +2 -0
  281. package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js +15 -0
  282. package/modules/pages/PageEditor/PageSettings/elements/SocialDescription.js.map +1 -0
  283. package/modules/pages/PageEditor/PageSettings/elements/SocialImage.d.ts +2 -0
  284. package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js +31 -0
  285. package/modules/pages/PageEditor/PageSettings/elements/SocialImage.js.map +1 -0
  286. package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.d.ts +2 -0
  287. package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js +18 -0
  288. package/modules/pages/PageEditor/PageSettings/elements/SocialMetaTags.js.map +1 -0
  289. package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.d.ts +2 -0
  290. package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js +15 -0
  291. package/modules/pages/PageEditor/PageSettings/elements/SocialTitle.js.map +1 -0
  292. package/modules/pages/PageEditor/TopBar/RevisionsMenu.js.map +1 -1
  293. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.d.ts +2 -0
  294. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js +37 -0
  295. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDialog.js.map +1 -0
  296. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.d.ts +3 -0
  297. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js +73 -0
  298. package/modules/pages/PageEditor/TopBar/Settings/PageSettingsDrawer.js.map +1 -0
  299. package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.d.ts +5 -1
  300. package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js +15 -229
  301. package/modules/pages/PageEditor/TopBar/Settings/SettingsDialogBody.js.map +1 -1
  302. package/modules/pages/PageEditor/TopBar/SettingsButton.d.ts +6 -0
  303. package/modules/pages/PageEditor/TopBar/SettingsButton.js +45 -27
  304. package/modules/pages/PageEditor/TopBar/SettingsButton.js.map +1 -1
  305. package/modules/pages/PageEditor/TopBar/Title.js +10 -0
  306. package/modules/pages/PageEditor/TopBar/Title.js.map +1 -1
  307. package/modules/pages/PageEditor/usePageEditorConfig.d.ts +20 -0
  308. package/modules/pages/PageEditor/usePageEditorConfig.js +13 -0
  309. package/modules/pages/PageEditor/usePageEditorConfig.js.map +1 -0
  310. package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js +2 -1
  311. package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js.map +1 -1
  312. package/modules/pages/PagesList/components/Main/CreatePage/CreatePage.js +9 -1
  313. package/modules/pages/PagesList/components/Main/CreatePage/CreatePage.js.map +1 -1
  314. package/modules/pages/PagesList/components/Table/Actions/Delete.js +1 -1
  315. package/modules/pages/PagesList/components/Table/Actions/Delete.js.map +1 -1
  316. package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js +4 -3
  317. package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js.map +1 -1
  318. package/modules/pages/PagesList/hooks/usePagePreviewLink.js +1 -1
  319. package/modules/pages/PagesList/hooks/usePagePreviewLink.js.map +1 -1
  320. package/modules/pages/PagesListConfig.js +4 -0
  321. package/modules/pages/PagesListConfig.js.map +1 -1
  322. package/modules/pages/configs/list/Browser/PageAction.d.ts +1 -0
  323. package/modules/pages/configs/list/Browser/PageAction.js +3 -1
  324. package/modules/pages/configs/list/Browser/PageAction.js.map +1 -1
  325. package/modules/pages/configs/list/Browser/index.d.ts +1 -0
  326. package/modules/pages/configs/list/PageListConfig.d.ts +2 -0
  327. package/modules/redirects/configs/list/Browser/RedirectAction.d.ts +1 -0
  328. package/modules/redirects/configs/list/Browser/RedirectAction.js +3 -1
  329. package/modules/redirects/configs/list/Browser/RedirectAction.js.map +1 -1
  330. package/modules/redirects/configs/list/Browser/index.d.ts +1 -0
  331. package/modules/redirects/configs/list/RedirectListConfig.d.ts +1 -0
  332. package/package.json +35 -42
  333. package/presentation/navigation/NextjsConfig/markdownComponents.js +3 -1
  334. package/presentation/navigation/NextjsConfig/markdownComponents.js.map +1 -1
  335. package/types.d.ts +1 -0
  336. package/types.js.map +1 -1
  337. package/BaseEditor/defaultConfig/Content/Preview/AddressBar.js.map +0 -1
  338. /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/AddressBar.d.ts +0 -0
  339. /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.d.ts +0 -0
  340. /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.js +0 -0
  341. /package/BaseEditor/defaultConfig/Content/{Preview → AddressBar}/BreakpointSelector.js.map +0 -0
  342. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.d.ts +0 -0
  343. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.js +0 -0
  344. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/OpenInNewTab.js.map +0 -0
  345. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.d.ts +0 -0
  346. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewDomain.js.map +0 -0
  347. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.d.ts +0 -0
  348. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.js +0 -0
  349. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/PreviewInNewTab.js.map +0 -0
  350. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.d.ts +0 -0
  351. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/RefreshPreview.js.map +0 -0
  352. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.d.ts +0 -0
  353. /package/BaseEditor/defaultConfig/Content/{Preview/AddressBar → AddressBar}/usePreviewLink.js.map +0 -0
  354. /package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.d.ts → usePreviewDomain.d.ts} +0 -0
  355. /package/BaseEditor/defaultConfig/Content/{Preview/usePreviewDomain.js.map → usePreviewDomain.js.map} +0 -0
  356. /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.d.ts → useSubscribeToLocalStorage.d.ts} +0 -0
  357. /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.js → useSubscribeToLocalStorage.js} +0 -0
  358. /package/BaseEditor/defaultConfig/Content/{Preview/useSubscribeToLocalStorage.js.map → useSubscribeToLocalStorage.js.map} +0 -0
@@ -0,0 +1,246 @@
1
+ import { toJS } from "mobx";
2
+ import { buildAncestors, ComponentManifestToAstConverter, createElement, InputsBindingsProcessor } from "@webiny/website-builder-sdk";
3
+ const STOP_SYMBOL = Symbol.for("wb.handler.stop");
4
+ const CONTINUE_SYMBOL = Symbol.for("wb.handler.continue");
5
+ const stop = () => STOP_SYMBOL;
6
+ const cont = () => CONTINUE_SYMBOL;
7
+ function runHandlers(handlers, ctx) {
8
+ if (Array.isArray(handlers)) {
9
+ for (const handler of handlers) {
10
+ if (handler(ctx) === STOP_SYMBOL) {
11
+ return;
12
+ }
13
+ }
14
+ } else {
15
+ handlers(ctx);
16
+ }
17
+ }
18
+ /**
19
+ * Runs manifest.onChange on the element, then walks up the ancestor chain
20
+ * firing onDescendantChange on each ancestor that defines it.
21
+ *
22
+ * Returns an array of ancestor updates that must be flushed inside
23
+ * editor.updateDocument().
24
+ */
25
+ export function executeOnChange(params) {
26
+ const {
27
+ editor,
28
+ elementId,
29
+ action,
30
+ breakpointNames,
31
+ baseBreakpoint,
32
+ elementFactory,
33
+ deepStyles
34
+ } = params;
35
+ const ancestorUpdates = [];
36
+ const document = editor.getDocumentState().read();
37
+ const components = editor.getEditorState().read().components;
38
+ const element = document.elements[elementId];
39
+ if (!element) {
40
+ return ancestorUpdates;
41
+ }
42
+ const manifest = components[element.component.name];
43
+
44
+ // Resolve deep inputs from the document when not explicitly provided.
45
+ const deepInputs = params.deepInputs ?? (manifest ? getDeepInputsForElement(elementId, manifest, document, breakpointNames, elementFactory) : {});
46
+
47
+ // --- manifest.onChange on the element itself ---
48
+ if (manifest?.onChange) {
49
+ const ancestors = buildAncestors(element, components, document);
50
+ const getElement = createGetElement(document, components, breakpointNames, elementFactory);
51
+ runHandlers(manifest.onChange, {
52
+ action,
53
+ id: elementId,
54
+ component: manifest,
55
+ inputs: deepInputs,
56
+ styles: deepStyles ?? {},
57
+ getAncestor: componentName => {
58
+ const found = ancestors.find(a => a.manifest.name === componentName);
59
+ if (!found) {
60
+ return undefined;
61
+ }
62
+ return buildAncestorContext(found.element.id, found.manifest, document, breakpointNames, elementFactory, ancestorUpdates, getElement);
63
+ },
64
+ getElement,
65
+ createElement: p => createElement(p),
66
+ executeCommand: (command, payload) => {
67
+ editor.executeCommand({
68
+ type: command
69
+ }, payload);
70
+ },
71
+ breakpoint: baseBreakpoint,
72
+ log: (...args) => console.log(...args),
73
+ stop,
74
+ continue: cont
75
+ });
76
+ }
77
+
78
+ // --- onDescendantChange on each ancestor ---
79
+ fireDescendantChange({
80
+ editor,
81
+ element,
82
+ elementId,
83
+ deepInputs,
84
+ action,
85
+ document,
86
+ components,
87
+ breakpointNames,
88
+ baseBreakpoint,
89
+ elementFactory,
90
+ ancestorUpdates
91
+ });
92
+ return ancestorUpdates;
93
+ }
94
+ function fireDescendantChange(params) {
95
+ const {
96
+ editor,
97
+ element,
98
+ elementId,
99
+ deepInputs,
100
+ action,
101
+ document,
102
+ components,
103
+ breakpointNames,
104
+ baseBreakpoint,
105
+ elementFactory,
106
+ ancestorUpdates
107
+ } = params;
108
+ let currentParentId = element.parent?.id;
109
+ while (currentParentId) {
110
+ const parentEl = document.elements[currentParentId];
111
+ if (!parentEl) {
112
+ break;
113
+ }
114
+ const parentManifest = components[parentEl.component.name];
115
+ if (parentManifest?.onDescendantChange) {
116
+ const parentDeep = getDeepInputsForElement(parentEl.id, parentManifest, document, breakpointNames, elementFactory);
117
+ const getElement = createGetElement(document, components, breakpointNames, elementFactory);
118
+ runHandlers(parentManifest.onDescendantChange, {
119
+ action,
120
+ descendant: {
121
+ component: components[element.component.name],
122
+ id: elementId,
123
+ inputs: structuredClone(deepInputs),
124
+ updateInputs: cb => {
125
+ cb(deepInputs);
126
+ ancestorUpdates.push({
127
+ elementId,
128
+ manifest: components[element.component.name],
129
+ inputs: deepInputs
130
+ });
131
+ }
132
+ },
133
+ inputs: parentDeep,
134
+ updateInputs: cb => {
135
+ cb(parentDeep);
136
+ ancestorUpdates.push({
137
+ elementId: parentEl.id,
138
+ manifest: parentManifest,
139
+ inputs: parentDeep
140
+ });
141
+ },
142
+ getElement,
143
+ executeCommand: (command, payload) => editor.executeCommand({
144
+ type: command
145
+ }, payload),
146
+ breakpoint: baseBreakpoint,
147
+ log: (...args) => console.log(...args),
148
+ stop,
149
+ continue: cont
150
+ });
151
+ }
152
+ currentParentId = parentEl.parent?.id;
153
+ }
154
+ }
155
+ function buildAncestorContext(ancestorElementId, ancestorManifest, document, breakpointNames, elementFactory, ancestorUpdates, getElement) {
156
+ const deepInputs = getDeepInputsForElement(ancestorElementId, ancestorManifest, document, breakpointNames, elementFactory);
157
+ return {
158
+ id: ancestorElementId,
159
+ component: ancestorManifest,
160
+ inputs: deepInputs,
161
+ updateInputs: cb => {
162
+ cb(deepInputs);
163
+ ancestorUpdates.push({
164
+ elementId: ancestorElementId,
165
+ manifest: ancestorManifest,
166
+ inputs: deepInputs
167
+ });
168
+ },
169
+ getElement
170
+ };
171
+ }
172
+ function createGetElement(document, components, breakpointNames, elementFactory) {
173
+ return id => {
174
+ const el = document.elements[id];
175
+ if (!el) {
176
+ return undefined;
177
+ }
178
+ const manifest = components[el.component.name];
179
+ if (!manifest) {
180
+ return undefined;
181
+ }
182
+ const inputs = getDeepInputsForElement(id, manifest, document, breakpointNames, elementFactory);
183
+ return {
184
+ id,
185
+ component: manifest,
186
+ inputs
187
+ };
188
+ };
189
+ }
190
+ function getDeepInputsForElement(elId, manifest, document, breakpointNames, elementFactory) {
191
+ const rawBindings = toJS(document.bindings[elId]) ?? {};
192
+ const ast = ComponentManifestToAstConverter.convert(manifest.inputs);
193
+ const processor = new InputsBindingsProcessor(elId, ast, breakpointNames, rawBindings, elementFactory);
194
+ return structuredClone(processor.toDeepInputs(rawBindings.inputs ?? {}));
195
+ }
196
+
197
+ /**
198
+ * Apply collected ancestor updates inside editor.updateDocument().
199
+ */
200
+ export function applyAncestorUpdates(doc, updates, breakpointNames, baseBreakpoint, elementFactory) {
201
+ for (const update of updates) {
202
+ const rawBindings = doc.bindings[update.elementId] ?? {
203
+ inputs: {}
204
+ };
205
+ const ast = ComponentManifestToAstConverter.convert(update.manifest.inputs);
206
+
207
+ // Refresh slot values from the current document state so that
208
+ // ancestor updates don't overwrite slot changes made by the
209
+ // caller (e.g. element deletion removing an ID from a slot).
210
+ refreshSlotValues(ast, rawBindings.inputs ?? {}, update.inputs);
211
+ const processor = new InputsBindingsProcessor(update.elementId, ast, breakpointNames, rawBindings, elementFactory);
212
+ const inputsUpdate = processor.createUpdate(update.inputs, baseBreakpoint);
213
+ inputsUpdate.applyToDocument(doc);
214
+ }
215
+ }
216
+
217
+ /**
218
+ * Walk the AST and overwrite slot values in `deepInputs` with the
219
+ * current flat binding values from `currentFlat`. This prevents stale
220
+ * slot snapshots (captured before element removal) from restoring
221
+ * deleted element references.
222
+ */
223
+ function refreshSlotValues(ast, currentFlat, deepInputs) {
224
+ const walk = (nodes, target, prefix) => {
225
+ for (const node of nodes) {
226
+ const pathParts = [...prefix, node.name];
227
+ const flatKey = pathParts.join("/");
228
+ if (node.children.length > 0) {
229
+ // Recurse into object children (skip list objects — their
230
+ // slots are nested under indexed paths we can't enumerate here).
231
+ if (!node.list && target[node.name] && typeof target[node.name] === "object") {
232
+ walk(node.children, target[node.name], pathParts);
233
+ }
234
+ } else if (node.type === "slot") {
235
+ // Overwrite with current document value
236
+ const current = currentFlat[flatKey];
237
+ if (current) {
238
+ target[node.name] = current.static;
239
+ }
240
+ }
241
+ }
242
+ };
243
+ walk(ast, deepInputs, []);
244
+ }
245
+
246
+ //# sourceMappingURL=executeOnChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toJS","buildAncestors","ComponentManifestToAstConverter","createElement","InputsBindingsProcessor","STOP_SYMBOL","Symbol","for","CONTINUE_SYMBOL","stop","cont","runHandlers","handlers","ctx","Array","isArray","handler","executeOnChange","params","editor","elementId","action","breakpointNames","baseBreakpoint","elementFactory","deepStyles","ancestorUpdates","document","getDocumentState","read","components","getEditorState","element","elements","manifest","component","name","deepInputs","getDeepInputsForElement","onChange","ancestors","getElement","createGetElement","id","inputs","styles","getAncestor","componentName","found","find","a","undefined","buildAncestorContext","p","executeCommand","command","payload","type","breakpoint","log","args","console","continue","fireDescendantChange","currentParentId","parent","parentEl","parentManifest","onDescendantChange","parentDeep","descendant","structuredClone","updateInputs","cb","push","ancestorElementId","ancestorManifest","el","elId","rawBindings","bindings","ast","convert","processor","toDeepInputs","applyAncestorUpdates","doc","updates","update","refreshSlotValues","inputsUpdate","createUpdate","applyToDocument","currentFlat","walk","nodes","target","prefix","node","pathParts","flatKey","join","children","length","list","current","static"],"sources":["executeOnChange.ts"],"sourcesContent":["import { toJS } from \"mobx\";\nimport type { Editor } from \"../Editor.js\";\nimport type {\n OnChangeAction,\n ComponentManifest,\n Document,\n OnChangeElementContext,\n Stop,\n Continue\n} from \"@webiny/website-builder-sdk\";\nimport {\n buildAncestors,\n ComponentManifestToAstConverter,\n createElement,\n ElementFactory,\n InputsBindingsProcessor\n} from \"@webiny/website-builder-sdk\";\n\nconst STOP_SYMBOL: Stop = Symbol.for(\"wb.handler.stop\") as unknown as Stop;\nconst CONTINUE_SYMBOL: Continue = Symbol.for(\"wb.handler.continue\") as unknown as Continue;\nconst stop = (): Stop => STOP_SYMBOL;\nconst cont = (): Continue => CONTINUE_SYMBOL;\n\nfunction runHandlers<TCtx>(\n handlers: ((ctx: TCtx) => any) | ((ctx: TCtx) => any)[],\n ctx: TCtx\n): void {\n if (Array.isArray(handlers)) {\n for (const handler of handlers) {\n if (handler(ctx) === STOP_SYMBOL) {\n return;\n }\n }\n } else {\n handlers(ctx);\n }\n}\n\nexport interface AncestorUpdate {\n elementId: string;\n manifest: ComponentManifest;\n inputs: Record<string, any>;\n}\n\ninterface ExecuteOnChangeParams {\n editor: Editor;\n elementId: string;\n /** When provided, used as-is. When omitted, resolved from the document. */\n deepInputs?: Record<string, any>;\n action: OnChangeAction;\n breakpointNames: string[];\n baseBreakpoint: string;\n elementFactory: ElementFactory;\n /** Optional deep styles — only available from the sidebar UI path. */\n deepStyles?: Record<string, any>;\n}\n\n/**\n * Runs manifest.onChange on the element, then walks up the ancestor chain\n * firing onDescendantChange on each ancestor that defines it.\n *\n * Returns an array of ancestor updates that must be flushed inside\n * editor.updateDocument().\n */\nexport function executeOnChange(params: ExecuteOnChangeParams): AncestorUpdate[] {\n const {\n editor,\n elementId,\n action,\n breakpointNames,\n baseBreakpoint,\n elementFactory,\n deepStyles\n } = params;\n\n const ancestorUpdates: AncestorUpdate[] = [];\n\n const document = editor.getDocumentState().read();\n const components = editor.getEditorState().read().components;\n const element = document.elements[elementId];\n if (!element) {\n return ancestorUpdates;\n }\n\n const manifest = components[element.component.name];\n\n // Resolve deep inputs from the document when not explicitly provided.\n const deepInputs =\n params.deepInputs ??\n (manifest\n ? getDeepInputsForElement(\n elementId,\n manifest,\n document,\n breakpointNames,\n elementFactory\n )\n : {});\n\n // --- manifest.onChange on the element itself ---\n if (manifest?.onChange) {\n const ancestors = buildAncestors(element, components, document);\n const getElement = createGetElement(document, components, breakpointNames, elementFactory);\n runHandlers(manifest.onChange, {\n action,\n id: elementId,\n component: manifest,\n inputs: deepInputs,\n styles: deepStyles ?? {},\n getAncestor: componentName => {\n const found = ancestors.find(a => a.manifest.name === componentName);\n if (!found) {\n return undefined;\n }\n return buildAncestorContext(\n found.element.id,\n found.manifest,\n document,\n breakpointNames,\n elementFactory,\n ancestorUpdates,\n getElement\n );\n },\n getElement,\n createElement: p => createElement(p),\n executeCommand: <T = unknown>(command: string, payload?: T) => {\n editor.executeCommand({ type: command }, payload);\n },\n breakpoint: baseBreakpoint,\n log: (...args: any[]) => console.log(...args),\n stop,\n continue: cont\n });\n }\n\n // --- onDescendantChange on each ancestor ---\n fireDescendantChange({\n editor,\n element,\n elementId,\n deepInputs,\n action,\n document,\n components,\n breakpointNames,\n baseBreakpoint,\n elementFactory,\n ancestorUpdates\n });\n\n return ancestorUpdates;\n}\n\nfunction fireDescendantChange(params: {\n editor: Editor;\n element: { parent?: { id: string; slot: string }; component: { name: string } };\n elementId: string;\n deepInputs: Record<string, any>;\n action: OnChangeAction;\n document: Document;\n components: Record<string, ComponentManifest>;\n breakpointNames: string[];\n baseBreakpoint: string;\n elementFactory: ElementFactory;\n ancestorUpdates: AncestorUpdate[];\n}) {\n const {\n editor,\n element,\n elementId,\n deepInputs,\n action,\n document,\n components,\n breakpointNames,\n baseBreakpoint,\n elementFactory,\n ancestorUpdates\n } = params;\n\n let currentParentId = element.parent?.id;\n\n while (currentParentId) {\n const parentEl = document.elements[currentParentId];\n if (!parentEl) {\n break;\n }\n\n const parentManifest = components[parentEl.component.name];\n if (parentManifest?.onDescendantChange) {\n const parentDeep = getDeepInputsForElement(\n parentEl.id,\n parentManifest,\n document,\n breakpointNames,\n elementFactory\n );\n\n const getElement = createGetElement(\n document,\n components,\n breakpointNames,\n elementFactory\n );\n runHandlers(parentManifest.onDescendantChange, {\n action,\n descendant: {\n component: components[element.component.name],\n id: elementId,\n inputs: structuredClone(deepInputs),\n updateInputs: (cb: (inputs: Record<string, any>) => void) => {\n cb(deepInputs);\n ancestorUpdates.push({\n elementId,\n manifest: components[element.component.name],\n inputs: deepInputs\n });\n }\n },\n inputs: parentDeep,\n updateInputs: (cb: (inputs: Record<string, any>) => void) => {\n cb(parentDeep);\n ancestorUpdates.push({\n elementId: parentEl.id,\n manifest: parentManifest,\n inputs: parentDeep\n });\n },\n getElement,\n executeCommand: <T = unknown>(command: string, payload?: T) =>\n editor.executeCommand({ type: command }, payload as Record<string, any>),\n breakpoint: baseBreakpoint,\n log: (...args: any[]) => console.log(...args),\n stop,\n continue: cont\n });\n }\n\n currentParentId = parentEl.parent?.id;\n }\n}\n\nfunction buildAncestorContext(\n ancestorElementId: string,\n ancestorManifest: ComponentManifest,\n document: Document,\n breakpointNames: string[],\n elementFactory: ElementFactory,\n ancestorUpdates: AncestorUpdate[],\n getElement: (id: string) => OnChangeElementContext | undefined\n) {\n const deepInputs = getDeepInputsForElement(\n ancestorElementId,\n ancestorManifest,\n document,\n breakpointNames,\n elementFactory\n );\n\n return {\n id: ancestorElementId,\n component: ancestorManifest,\n inputs: deepInputs,\n updateInputs: (cb: (inputs: Record<string, any>) => void) => {\n cb(deepInputs);\n ancestorUpdates.push({\n elementId: ancestorElementId,\n manifest: ancestorManifest,\n inputs: deepInputs\n });\n },\n getElement\n };\n}\n\nfunction createGetElement(\n document: Document,\n components: Record<string, ComponentManifest>,\n breakpointNames: string[],\n elementFactory: ElementFactory\n): (id: string) => OnChangeElementContext | undefined {\n return (id: string) => {\n const el = document.elements[id];\n if (!el) {\n return undefined;\n }\n const manifest = components[el.component.name];\n if (!manifest) {\n return undefined;\n }\n const inputs = getDeepInputsForElement(\n id,\n manifest,\n document,\n breakpointNames,\n elementFactory\n );\n return { id, component: manifest, inputs };\n };\n}\n\nfunction getDeepInputsForElement(\n elId: string,\n manifest: ComponentManifest,\n document: Document,\n breakpointNames: string[],\n elementFactory: ElementFactory\n): Record<string, any> {\n const rawBindings = toJS(document.bindings[elId]) ?? {};\n const ast = ComponentManifestToAstConverter.convert(manifest.inputs);\n const processor = new InputsBindingsProcessor(\n elId,\n ast,\n breakpointNames,\n rawBindings,\n elementFactory\n );\n return structuredClone(processor.toDeepInputs(rawBindings.inputs ?? {}));\n}\n\n/**\n * Apply collected ancestor updates inside editor.updateDocument().\n */\nexport function applyAncestorUpdates(\n doc: Document,\n updates: AncestorUpdate[],\n breakpointNames: string[],\n baseBreakpoint: string,\n elementFactory: ElementFactory\n): void {\n for (const update of updates) {\n const rawBindings = doc.bindings[update.elementId] ?? { inputs: {} };\n const ast = ComponentManifestToAstConverter.convert(update.manifest.inputs);\n\n // Refresh slot values from the current document state so that\n // ancestor updates don't overwrite slot changes made by the\n // caller (e.g. element deletion removing an ID from a slot).\n refreshSlotValues(ast, rawBindings.inputs ?? {}, update.inputs);\n\n const processor = new InputsBindingsProcessor(\n update.elementId,\n ast,\n breakpointNames,\n rawBindings,\n elementFactory\n );\n const inputsUpdate = processor.createUpdate(update.inputs, baseBreakpoint);\n inputsUpdate.applyToDocument(doc);\n }\n}\n\n/**\n * Walk the AST and overwrite slot values in `deepInputs` with the\n * current flat binding values from `currentFlat`. This prevents stale\n * slot snapshots (captured before element removal) from restoring\n * deleted element references.\n */\nfunction refreshSlotValues(\n ast: ReturnType<typeof ComponentManifestToAstConverter.convert>,\n currentFlat: Record<string, any>,\n deepInputs: Record<string, any>\n) {\n const walk = (nodes: typeof ast, target: Record<string, any>, prefix: string[]) => {\n for (const node of nodes) {\n const pathParts = [...prefix, node.name];\n const flatKey = pathParts.join(\"/\");\n\n if (node.children.length > 0) {\n // Recurse into object children (skip list objects — their\n // slots are nested under indexed paths we can't enumerate here).\n if (!node.list && target[node.name] && typeof target[node.name] === \"object\") {\n walk(node.children, target[node.name], pathParts);\n }\n } else if (node.type === \"slot\") {\n // Overwrite with current document value\n const current = currentFlat[flatKey];\n if (current) {\n target[node.name] = current.static;\n }\n }\n }\n };\n\n walk(ast, deepInputs, []);\n}\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,MAAM;AAU3B,SACIC,cAAc,EACdC,+BAA+B,EAC/BC,aAAa,EAEbC,uBAAuB,QACpB,6BAA6B;AAEpC,MAAMC,WAAiB,GAAGC,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAoB;AAC1E,MAAMC,eAAyB,GAAGF,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAwB;AAC1F,MAAME,IAAI,GAAGA,CAAA,KAAYJ,WAAW;AACpC,MAAMK,IAAI,GAAGA,CAAA,KAAgBF,eAAe;AAE5C,SAASG,WAAWA,CAChBC,QAAuD,EACvDC,GAAS,EACL;EACJ,IAAIC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;IACzB,KAAK,MAAMI,OAAO,IAAIJ,QAAQ,EAAE;MAC5B,IAAII,OAAO,CAACH,GAAG,CAAC,KAAKR,WAAW,EAAE;QAC9B;MACJ;IACJ;EACJ,CAAC,MAAM;IACHO,QAAQ,CAACC,GAAG,CAAC;EACjB;AACJ;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,eAAeA,CAACC,MAA6B,EAAoB;EAC7E,MAAM;IACFC,MAAM;IACNC,SAAS;IACTC,MAAM;IACNC,eAAe;IACfC,cAAc;IACdC,cAAc;IACdC;EACJ,CAAC,GAAGP,MAAM;EAEV,MAAMQ,eAAiC,GAAG,EAAE;EAE5C,MAAMC,QAAQ,GAAGR,MAAM,CAACS,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;EACjD,MAAMC,UAAU,GAAGX,MAAM,CAACY,cAAc,CAAC,CAAC,CAACF,IAAI,CAAC,CAAC,CAACC,UAAU;EAC5D,MAAME,OAAO,GAAGL,QAAQ,CAACM,QAAQ,CAACb,SAAS,CAAC;EAC5C,IAAI,CAACY,OAAO,EAAE;IACV,OAAON,eAAe;EAC1B;EAEA,MAAMQ,QAAQ,GAAGJ,UAAU,CAACE,OAAO,CAACG,SAAS,CAACC,IAAI,CAAC;;EAEnD;EACA,MAAMC,UAAU,GACZnB,MAAM,CAACmB,UAAU,KAChBH,QAAQ,GACHI,uBAAuB,CACnBlB,SAAS,EACTc,QAAQ,EACRP,QAAQ,EACRL,eAAe,EACfE,cACJ,CAAC,GACD,CAAC,CAAC,CAAC;;EAEb;EACA,IAAIU,QAAQ,EAAEK,QAAQ,EAAE;IACpB,MAAMC,SAAS,GAAGvC,cAAc,CAAC+B,OAAO,EAAEF,UAAU,EAAEH,QAAQ,CAAC;IAC/D,MAAMc,UAAU,GAAGC,gBAAgB,CAACf,QAAQ,EAAEG,UAAU,EAAER,eAAe,EAAEE,cAAc,CAAC;IAC1Fb,WAAW,CAACuB,QAAQ,CAACK,QAAQ,EAAE;MAC3BlB,MAAM;MACNsB,EAAE,EAAEvB,SAAS;MACbe,SAAS,EAAED,QAAQ;MACnBU,MAAM,EAAEP,UAAU;MAClBQ,MAAM,EAAEpB,UAAU,IAAI,CAAC,CAAC;MACxBqB,WAAW,EAAEC,aAAa,IAAI;QAC1B,MAAMC,KAAK,GAAGR,SAAS,CAACS,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAChB,QAAQ,CAACE,IAAI,KAAKW,aAAa,CAAC;QACpE,IAAI,CAACC,KAAK,EAAE;UACR,OAAOG,SAAS;QACpB;QACA,OAAOC,oBAAoB,CACvBJ,KAAK,CAAChB,OAAO,CAACW,EAAE,EAChBK,KAAK,CAACd,QAAQ,EACdP,QAAQ,EACRL,eAAe,EACfE,cAAc,EACdE,eAAe,EACfe,UACJ,CAAC;MACL,CAAC;MACDA,UAAU;MACVtC,aAAa,EAAEkD,CAAC,IAAIlD,aAAa,CAACkD,CAAC,CAAC;MACpCC,cAAc,EAAEA,CAAcC,OAAe,EAAEC,OAAW,KAAK;QAC3DrC,MAAM,CAACmC,cAAc,CAAC;UAAEG,IAAI,EAAEF;QAAQ,CAAC,EAAEC,OAAO,CAAC;MACrD,CAAC;MACDE,UAAU,EAAEnC,cAAc;MAC1BoC,GAAG,EAAEA,CAAC,GAAGC,IAAW,KAAKC,OAAO,CAACF,GAAG,CAAC,GAAGC,IAAI,CAAC;MAC7CnD,IAAI;MACJqD,QAAQ,EAAEpD;IACd,CAAC,CAAC;EACN;;EAEA;EACAqD,oBAAoB,CAAC;IACjB5C,MAAM;IACNa,OAAO;IACPZ,SAAS;IACTiB,UAAU;IACVhB,MAAM;IACNM,QAAQ;IACRG,UAAU;IACVR,eAAe;IACfC,cAAc;IACdC,cAAc;IACdE;EACJ,CAAC,CAAC;EAEF,OAAOA,eAAe;AAC1B;AAEA,SAASqC,oBAAoBA,CAAC7C,MAY7B,EAAE;EACC,MAAM;IACFC,MAAM;IACNa,OAAO;IACPZ,SAAS;IACTiB,UAAU;IACVhB,MAAM;IACNM,QAAQ;IACRG,UAAU;IACVR,eAAe;IACfC,cAAc;IACdC,cAAc;IACdE;EACJ,CAAC,GAAGR,MAAM;EAEV,IAAI8C,eAAe,GAAGhC,OAAO,CAACiC,MAAM,EAAEtB,EAAE;EAExC,OAAOqB,eAAe,EAAE;IACpB,MAAME,QAAQ,GAAGvC,QAAQ,CAACM,QAAQ,CAAC+B,eAAe,CAAC;IACnD,IAAI,CAACE,QAAQ,EAAE;MACX;IACJ;IAEA,MAAMC,cAAc,GAAGrC,UAAU,CAACoC,QAAQ,CAAC/B,SAAS,CAACC,IAAI,CAAC;IAC1D,IAAI+B,cAAc,EAAEC,kBAAkB,EAAE;MACpC,MAAMC,UAAU,GAAG/B,uBAAuB,CACtC4B,QAAQ,CAACvB,EAAE,EACXwB,cAAc,EACdxC,QAAQ,EACRL,eAAe,EACfE,cACJ,CAAC;MAED,MAAMiB,UAAU,GAAGC,gBAAgB,CAC/Bf,QAAQ,EACRG,UAAU,EACVR,eAAe,EACfE,cACJ,CAAC;MACDb,WAAW,CAACwD,cAAc,CAACC,kBAAkB,EAAE;QAC3C/C,MAAM;QACNiD,UAAU,EAAE;UACRnC,SAAS,EAAEL,UAAU,CAACE,OAAO,CAACG,SAAS,CAACC,IAAI,CAAC;UAC7CO,EAAE,EAAEvB,SAAS;UACbwB,MAAM,EAAE2B,eAAe,CAAClC,UAAU,CAAC;UACnCmC,YAAY,EAAGC,EAAyC,IAAK;YACzDA,EAAE,CAACpC,UAAU,CAAC;YACdX,eAAe,CAACgD,IAAI,CAAC;cACjBtD,SAAS;cACTc,QAAQ,EAAEJ,UAAU,CAACE,OAAO,CAACG,SAAS,CAACC,IAAI,CAAC;cAC5CQ,MAAM,EAAEP;YACZ,CAAC,CAAC;UACN;QACJ,CAAC;QACDO,MAAM,EAAEyB,UAAU;QAClBG,YAAY,EAAGC,EAAyC,IAAK;UACzDA,EAAE,CAACJ,UAAU,CAAC;UACd3C,eAAe,CAACgD,IAAI,CAAC;YACjBtD,SAAS,EAAE8C,QAAQ,CAACvB,EAAE;YACtBT,QAAQ,EAAEiC,cAAc;YACxBvB,MAAM,EAAEyB;UACZ,CAAC,CAAC;QACN,CAAC;QACD5B,UAAU;QACVa,cAAc,EAAEA,CAAcC,OAAe,EAAEC,OAAW,KACtDrC,MAAM,CAACmC,cAAc,CAAC;UAAEG,IAAI,EAAEF;QAAQ,CAAC,EAAEC,OAA8B,CAAC;QAC5EE,UAAU,EAAEnC,cAAc;QAC1BoC,GAAG,EAAEA,CAAC,GAAGC,IAAW,KAAKC,OAAO,CAACF,GAAG,CAAC,GAAGC,IAAI,CAAC;QAC7CnD,IAAI;QACJqD,QAAQ,EAAEpD;MACd,CAAC,CAAC;IACN;IAEAsD,eAAe,GAAGE,QAAQ,CAACD,MAAM,EAAEtB,EAAE;EACzC;AACJ;AAEA,SAASS,oBAAoBA,CACzBuB,iBAAyB,EACzBC,gBAAmC,EACnCjD,QAAkB,EAClBL,eAAyB,EACzBE,cAA8B,EAC9BE,eAAiC,EACjCe,UAA8D,EAChE;EACE,MAAMJ,UAAU,GAAGC,uBAAuB,CACtCqC,iBAAiB,EACjBC,gBAAgB,EAChBjD,QAAQ,EACRL,eAAe,EACfE,cACJ,CAAC;EAED,OAAO;IACHmB,EAAE,EAAEgC,iBAAiB;IACrBxC,SAAS,EAAEyC,gBAAgB;IAC3BhC,MAAM,EAAEP,UAAU;IAClBmC,YAAY,EAAGC,EAAyC,IAAK;MACzDA,EAAE,CAACpC,UAAU,CAAC;MACdX,eAAe,CAACgD,IAAI,CAAC;QACjBtD,SAAS,EAAEuD,iBAAiB;QAC5BzC,QAAQ,EAAE0C,gBAAgB;QAC1BhC,MAAM,EAAEP;MACZ,CAAC,CAAC;IACN,CAAC;IACDI;EACJ,CAAC;AACL;AAEA,SAASC,gBAAgBA,CACrBf,QAAkB,EAClBG,UAA6C,EAC7CR,eAAyB,EACzBE,cAA8B,EACoB;EAClD,OAAQmB,EAAU,IAAK;IACnB,MAAMkC,EAAE,GAAGlD,QAAQ,CAACM,QAAQ,CAACU,EAAE,CAAC;IAChC,IAAI,CAACkC,EAAE,EAAE;MACL,OAAO1B,SAAS;IACpB;IACA,MAAMjB,QAAQ,GAAGJ,UAAU,CAAC+C,EAAE,CAAC1C,SAAS,CAACC,IAAI,CAAC;IAC9C,IAAI,CAACF,QAAQ,EAAE;MACX,OAAOiB,SAAS;IACpB;IACA,MAAMP,MAAM,GAAGN,uBAAuB,CAClCK,EAAE,EACFT,QAAQ,EACRP,QAAQ,EACRL,eAAe,EACfE,cACJ,CAAC;IACD,OAAO;MAAEmB,EAAE;MAAER,SAAS,EAAED,QAAQ;MAAEU;IAAO,CAAC;EAC9C,CAAC;AACL;AAEA,SAASN,uBAAuBA,CAC5BwC,IAAY,EACZ5C,QAA2B,EAC3BP,QAAkB,EAClBL,eAAyB,EACzBE,cAA8B,EACX;EACnB,MAAMuD,WAAW,GAAG/E,IAAI,CAAC2B,QAAQ,CAACqD,QAAQ,CAACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;EACvD,MAAMG,GAAG,GAAG/E,+BAA+B,CAACgF,OAAO,CAAChD,QAAQ,CAACU,MAAM,CAAC;EACpE,MAAMuC,SAAS,GAAG,IAAI/E,uBAAuB,CACzC0E,IAAI,EACJG,GAAG,EACH3D,eAAe,EACfyD,WAAW,EACXvD,cACJ,CAAC;EACD,OAAO+C,eAAe,CAACY,SAAS,CAACC,YAAY,CAACL,WAAW,CAACnC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E;;AAEA;AACA;AACA;AACA,OAAO,SAASyC,oBAAoBA,CAChCC,GAAa,EACbC,OAAyB,EACzBjE,eAAyB,EACzBC,cAAsB,EACtBC,cAA8B,EAC1B;EACJ,KAAK,MAAMgE,MAAM,IAAID,OAAO,EAAE;IAC1B,MAAMR,WAAW,GAAGO,GAAG,CAACN,QAAQ,CAACQ,MAAM,CAACpE,SAAS,CAAC,IAAI;MAAEwB,MAAM,EAAE,CAAC;IAAE,CAAC;IACpE,MAAMqC,GAAG,GAAG/E,+BAA+B,CAACgF,OAAO,CAACM,MAAM,CAACtD,QAAQ,CAACU,MAAM,CAAC;;IAE3E;IACA;IACA;IACA6C,iBAAiB,CAACR,GAAG,EAAEF,WAAW,CAACnC,MAAM,IAAI,CAAC,CAAC,EAAE4C,MAAM,CAAC5C,MAAM,CAAC;IAE/D,MAAMuC,SAAS,GAAG,IAAI/E,uBAAuB,CACzCoF,MAAM,CAACpE,SAAS,EAChB6D,GAAG,EACH3D,eAAe,EACfyD,WAAW,EACXvD,cACJ,CAAC;IACD,MAAMkE,YAAY,GAAGP,SAAS,CAACQ,YAAY,CAACH,MAAM,CAAC5C,MAAM,EAAErB,cAAc,CAAC;IAC1EmE,YAAY,CAACE,eAAe,CAACN,GAAG,CAAC;EACrC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,iBAAiBA,CACtBR,GAA+D,EAC/DY,WAAgC,EAChCxD,UAA+B,EACjC;EACE,MAAMyD,IAAI,GAAGA,CAACC,KAAiB,EAAEC,MAA2B,EAAEC,MAAgB,KAAK;IAC/E,KAAK,MAAMC,IAAI,IAAIH,KAAK,EAAE;MACtB,MAAMI,SAAS,GAAG,CAAC,GAAGF,MAAM,EAAEC,IAAI,CAAC9D,IAAI,CAAC;MACxC,MAAMgE,OAAO,GAAGD,SAAS,CAACE,IAAI,CAAC,GAAG,CAAC;MAEnC,IAAIH,IAAI,CAACI,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;QAC1B;QACA;QACA,IAAI,CAACL,IAAI,CAACM,IAAI,IAAIR,MAAM,CAACE,IAAI,CAAC9D,IAAI,CAAC,IAAI,OAAO4D,MAAM,CAACE,IAAI,CAAC9D,IAAI,CAAC,KAAK,QAAQ,EAAE;UAC1E0D,IAAI,CAACI,IAAI,CAACI,QAAQ,EAAEN,MAAM,CAACE,IAAI,CAAC9D,IAAI,CAAC,EAAE+D,SAAS,CAAC;QACrD;MACJ,CAAC,MAAM,IAAID,IAAI,CAACzC,IAAI,KAAK,MAAM,EAAE;QAC7B;QACA,MAAMgD,OAAO,GAAGZ,WAAW,CAACO,OAAO,CAAC;QACpC,IAAIK,OAAO,EAAE;UACTT,MAAM,CAACE,IAAI,CAAC9D,IAAI,CAAC,GAAGqE,OAAO,CAACC,MAAM;QACtC;MACJ;IACJ;EACJ,CAAC;EAEDZ,IAAI,CAACb,GAAG,EAAE5C,UAAU,EAAE,EAAE,CAAC;AAC7B","ignoreList":[]}
@@ -9,3 +9,9 @@ export * from "./$createElement.js";
9
9
  export * from "./$moveElement.js";
10
10
  export * from "./$removeElementReferenceFromParent.js";
11
11
  export * from "./$addElementReferenceToParent.js";
12
+ export * from "./$getElementsOfType.js";
13
+ export * from "./$getFirstElementOfType.js";
14
+ export * from "./$getElementInputValues.js";
15
+ export * from "./$updateElementInputs.js";
16
+ export * from "./$previewElementInputs.js";
17
+ export * from "./executeOnChange.js";
@@ -9,5 +9,11 @@ export * from "./$createElement.js";
9
9
  export * from "./$moveElement.js";
10
10
  export * from "./$removeElementReferenceFromParent.js";
11
11
  export * from "./$addElementReferenceToParent.js";
12
+ export * from "./$getElementsOfType.js";
13
+ export * from "./$getFirstElementOfType.js";
14
+ export * from "./$getElementInputValues.js";
15
+ export * from "./$updateElementInputs.js";
16
+ export * from "./$previewElementInputs.js";
17
+ export * from "./executeOnChange.js";
12
18
 
13
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./$selectElement.js\";\nexport * from \"./$deselectElement.js\";\nexport * from \"./$highlightElement.js\";\nexport * from \"./$getElementById.js\";\nexport * from \"./$getActiveElementId.js\";\nexport * from \"./$getComponentManifestByElementId.js\";\nexport * from \"./$deleteElement.js\";\nexport * from \"./$createElement.js\";\nexport * from \"./$moveElement.js\";\nexport * from \"./$removeElementReferenceFromParent.js\";\nexport * from \"./$addElementReferenceToParent.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./$selectElement.js\";\nexport * from \"./$deselectElement.js\";\nexport * from \"./$highlightElement.js\";\nexport * from \"./$getElementById.js\";\nexport * from \"./$getActiveElementId.js\";\nexport * from \"./$getComponentManifestByElementId.js\";\nexport * from \"./$deleteElement.js\";\nexport * from \"./$createElement.js\";\nexport * from \"./$moveElement.js\";\nexport * from \"./$removeElementReferenceFromParent.js\";\nexport * from \"./$addElementReferenceToParent.js\";\nexport * from \"./$getElementsOfType.js\";\nexport * from \"./$getFirstElementOfType.js\";\nexport * from \"./$getElementInputValues.js\";\nexport * from \"./$updateElementInputs.js\";\nexport * from \"./$previewElementInputs.js\";\nexport * from \"./executeOnChange.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -1,2 +1,34 @@
1
- export { Editor } from "../../../../index.js";
2
- export { PageEditorConfig } from "../../../../index.js";
1
+ export { usePageEditorConfig } from "../../../../modules/pages/PageEditor/usePageEditorConfig.js";
2
+ export { PageEditorConfig } from "../../../../modules/pages/PageEditor/PageEditorConfig.js";
3
+ export { createCommand } from "../../../../editorSdk/createCommand.js";
4
+ export { Commands } from "../../../../BaseEditor/index.js";
5
+ export { useSelectFromEditor } from "../../../../BaseEditor/hooks/useSelectFromEditor.js";
6
+ export { useSelectFromDocument } from "../../../../BaseEditor/hooks/useSelectFromDocument.js";
7
+ export { useDocumentEditor } from "../../../../DocumentEditor/index.js";
8
+ export { useActiveElement } from "../../../../BaseEditor/hooks/useActiveElement.js";
9
+ export { useHighlightedElement } from "../../../../BaseEditor/hooks/useHighlightedElement.js";
10
+ export { useComponent } from "../../../../BaseEditor/hooks/useComponent.js";
11
+ export { useElementInputs } from "../../../../BaseEditor/hooks/useElementInputs.js";
12
+ export { useCreateElement } from "../../../../BaseEditor/hooks/useCreateElement.js";
13
+ export { useDeleteElement } from "../../../../BaseEditor/hooks/useDeleteElement.js";
14
+ export { useUpdateElement } from "../../../../BaseEditor/hooks/useUpdateElement.js";
15
+ export { useElementOverlay } from "../../../../BaseEditor/hooks/useElementOverlay.js";
16
+ export { useElementComponentManifest } from "../../../../BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js";
17
+ export { ElementInputs } from "../../../../BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js";
18
+ export { $selectElement } from "../../../../editorSdk/utils/index.js";
19
+ export { $deselectElement } from "../../../../editorSdk/utils/index.js";
20
+ export { $highlightElement } from "../../../../editorSdk/utils/index.js";
21
+ export { $getElementById } from "../../../../editorSdk/utils/index.js";
22
+ export { $getActiveElementId } from "../../../../editorSdk/utils/index.js";
23
+ export { $getComponentManifestByElementId } from "../../../../editorSdk/utils/index.js";
24
+ export { $deleteElement } from "../../../../editorSdk/utils/index.js";
25
+ export { $createElement } from "../../../../editorSdk/utils/index.js";
26
+ export { $moveElement } from "../../../../editorSdk/utils/index.js";
27
+ export { $removeElementReferenceFromParent } from "../../../../editorSdk/utils/index.js";
28
+ export { $addElementReferenceToParent } from "../../../../editorSdk/utils/index.js";
29
+ export { $getElementsOfType } from "../../../../editorSdk/utils/index.js";
30
+ export { $getFirstElementOfType } from "../../../../editorSdk/utils/index.js";
31
+ export { $getElementInputValues } from "../../../../editorSdk/utils/index.js";
32
+ export { $updateElementInputs } from "../../../../editorSdk/utils/index.js";
33
+ export { $previewElementInputs } from "../../../../editorSdk/utils/index.js";
34
+ export { createElement } from "@webiny/website-builder-sdk";
@@ -1,4 +1,36 @@
1
- export { Editor } from "../../../../index.js";
2
- export { PageEditorConfig } from "../../../../index.js";
1
+ export { usePageEditorConfig } from "../../../../modules/pages/PageEditor/usePageEditorConfig.js";
2
+ export { PageEditorConfig } from "../../../../modules/pages/PageEditor/PageEditorConfig.js";
3
+ export { createCommand } from "../../../../editorSdk/createCommand.js";
4
+ export { Commands } from "../../../../BaseEditor/index.js";
5
+ export { useSelectFromEditor } from "../../../../BaseEditor/hooks/useSelectFromEditor.js";
6
+ export { useSelectFromDocument } from "../../../../BaseEditor/hooks/useSelectFromDocument.js";
7
+ export { useDocumentEditor } from "../../../../DocumentEditor/index.js";
8
+ export { useActiveElement } from "../../../../BaseEditor/hooks/useActiveElement.js";
9
+ export { useHighlightedElement } from "../../../../BaseEditor/hooks/useHighlightedElement.js";
10
+ export { useComponent } from "../../../../BaseEditor/hooks/useComponent.js";
11
+ export { useElementInputs } from "../../../../BaseEditor/hooks/useElementInputs.js";
12
+ export { useCreateElement } from "../../../../BaseEditor/hooks/useCreateElement.js";
13
+ export { useDeleteElement } from "../../../../BaseEditor/hooks/useDeleteElement.js";
14
+ export { useUpdateElement } from "../../../../BaseEditor/hooks/useUpdateElement.js";
15
+ export { useElementOverlay } from "../../../../BaseEditor/hooks/useElementOverlay.js";
16
+ export { useElementComponentManifest } from "../../../../BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js";
17
+ export { ElementInputs } from "../../../../BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js";
18
+ export { $selectElement } from "../../../../editorSdk/utils/index.js";
19
+ export { $deselectElement } from "../../../../editorSdk/utils/index.js";
20
+ export { $highlightElement } from "../../../../editorSdk/utils/index.js";
21
+ export { $getElementById } from "../../../../editorSdk/utils/index.js";
22
+ export { $getActiveElementId } from "../../../../editorSdk/utils/index.js";
23
+ export { $getComponentManifestByElementId } from "../../../../editorSdk/utils/index.js";
24
+ export { $deleteElement } from "../../../../editorSdk/utils/index.js";
25
+ export { $createElement } from "../../../../editorSdk/utils/index.js";
26
+ export { $moveElement } from "../../../../editorSdk/utils/index.js";
27
+ export { $removeElementReferenceFromParent } from "../../../../editorSdk/utils/index.js";
28
+ export { $addElementReferenceToParent } from "../../../../editorSdk/utils/index.js";
29
+ export { $getElementsOfType } from "../../../../editorSdk/utils/index.js";
30
+ export { $getFirstElementOfType } from "../../../../editorSdk/utils/index.js";
31
+ export { $getElementInputValues } from "../../../../editorSdk/utils/index.js";
32
+ export { $updateElementInputs } from "../../../../editorSdk/utils/index.js";
33
+ export { $previewElementInputs } from "../../../../editorSdk/utils/index.js";
34
+ export { createElement } from "@webiny/website-builder-sdk";
3
35
 
4
36
  //# sourceMappingURL=editor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Editor","PageEditorConfig"],"sources":["editor.ts"],"sourcesContent":["export { Editor } from \"~/index.js\";\nexport { PageEditorConfig } from \"~/index.js\";\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["usePageEditorConfig","PageEditorConfig","createCommand","Commands","useSelectFromEditor","useSelectFromDocument","useDocumentEditor","useActiveElement","useHighlightedElement","useComponent","useElementInputs","useCreateElement","useDeleteElement","useUpdateElement","useElementOverlay","useElementComponentManifest","ElementInputs","$selectElement","$deselectElement","$highlightElement","$getElementById","$getActiveElementId","$getComponentManifestByElementId","$deleteElement","$createElement","$moveElement","$removeElementReferenceFromParent","$addElementReferenceToParent","$getElementsOfType","$getFirstElementOfType","$getElementInputValues","$updateElementInputs","$previewElementInputs","createElement"],"sources":["editor.ts"],"sourcesContent":["export { usePageEditorConfig } from \"~/modules/pages/PageEditor/usePageEditorConfig.js\";\nexport { PageEditorConfig } from \"~/modules/pages/PageEditor/PageEditorConfig.js\";\nexport { createCommand } from \"~/editorSdk/createCommand.js\";\nexport { Commands } from \"~/BaseEditor/index.js\";\nexport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nexport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nexport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nexport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nexport { useHighlightedElement } from \"~/BaseEditor/hooks/useHighlightedElement.js\";\nexport { useComponent } from \"~/BaseEditor/hooks/useComponent.js\";\nexport { useElementInputs } from \"~/BaseEditor/hooks/useElementInputs.js\";\nexport { useCreateElement } from \"~/BaseEditor/hooks/useCreateElement.js\";\nexport { useDeleteElement } from \"~/BaseEditor/hooks/useDeleteElement.js\";\nexport { useUpdateElement } from \"~/BaseEditor/hooks/useUpdateElement.js\";\nexport { useElementOverlay } from \"~/BaseEditor/hooks/useElementOverlay.js\";\nexport { useElementComponentManifest } from \"~/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.js\";\nexport { ElementInputs } from \"~/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js\";\n\nexport { $selectElement } from \"~/editorSdk/utils/index.js\";\nexport { $deselectElement } from \"~/editorSdk/utils/index.js\";\nexport { $highlightElement } from \"~/editorSdk/utils/index.js\";\nexport { $getElementById } from \"~/editorSdk/utils/index.js\";\nexport { $getActiveElementId } from \"~/editorSdk/utils/index.js\";\nexport { $getComponentManifestByElementId } from \"~/editorSdk/utils/index.js\";\nexport { $deleteElement } from \"~/editorSdk/utils/index.js\";\nexport { $createElement } from \"~/editorSdk/utils/index.js\";\nexport { $moveElement } from \"~/editorSdk/utils/index.js\";\nexport { $removeElementReferenceFromParent } from \"~/editorSdk/utils/index.js\";\nexport { $addElementReferenceToParent } from \"~/editorSdk/utils/index.js\";\nexport { $getElementsOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getFirstElementOfType } from \"~/editorSdk/utils/index.js\";\nexport { $getElementInputValues } from \"~/editorSdk/utils/index.js\";\nexport { $updateElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { $previewElementInputs } from \"~/editorSdk/utils/index.js\";\nexport { createElement } from \"@webiny/website-builder-sdk\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAASC,QAAQ;AACjB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;AAC9B,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2B;AACpC,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,eAAe;AACxB,SAASC,mBAAmB;AAC5B,SAASC,gCAAgC;AACzC,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,iCAAiC;AAC1C,SAASC,4BAA4B;AACrC,SAASC,kBAAkB;AAC3B,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,aAAa,QAAQ,6BAA6B","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  export { Routes } from "../../routes.js";
2
2
  export { EcommerceIntegration } from "../../ecommerce/index.js";
3
3
  export { pagePathFromTitle } from "../../index.js";
4
+ export { usePermissions } from "../../presentation/security/usePermissions.js";
@@ -1,5 +1,6 @@
1
1
  export { Routes } from "../../routes.js";
2
2
  export { EcommerceIntegration } from "../../ecommerce/index.js";
3
3
  export { pagePathFromTitle } from "../../index.js";
4
+ export { usePermissions } from "../../presentation/security/usePermissions.js";
4
5
 
5
6
  //# sourceMappingURL=website-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Routes","EcommerceIntegration","pagePathFromTitle"],"sources":["website-builder.ts"],"sourcesContent":["export { Routes } from \"~/routes.js\";\nexport { EcommerceIntegration } from \"~/ecommerce/index.js\";\nexport { pagePathFromTitle } from \"~/index.js\";\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["Routes","EcommerceIntegration","pagePathFromTitle","usePermissions"],"sources":["website-builder.ts"],"sourcesContent":["export { Routes } from \"~/routes.js\";\nexport { EcommerceIntegration } from \"~/ecommerce/index.js\";\nexport { pagePathFromTitle } from \"~/index.js\";\nexport { usePermissions } from \"~/presentation/security/usePermissions.js\";\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAC1B,SAASC,cAAc","ignoreList":[]}
@@ -36,7 +36,8 @@ describe("DeletePage", () => {
36
36
  const item = pagesCache.getItem(page => page.id === "page-1#0001");
37
37
  expect(item?.id).toEqual("page-1#0001");
38
38
  await deletePage.execute({
39
- id: "page-1#0001"
39
+ id: "page-1#0001",
40
+ permanently: true
40
41
  });
41
42
  expect(gateway.execute).toHaveBeenCalledTimes(1);
42
43
  expect(pagesCache.hasItems()).toBeFalse();
@@ -1 +1 @@
1
- {"version":3,"names":["describe","it","expect","beforeEach","vi","DeletePage","WbPageStatus","Page","pageListCache","gateway","execute","fn","mockResolvedValue","pagesCache","clear","addItems","create","id","entryId","status","Draft","location","folderId","properties","title","metadata","elements","element1","bindings","data","deletePage","getInstance","hasItems","toBeTrue","item","getItem","page","toEqual","toHaveBeenCalledTimes","toBeFalse"],"sources":["DeletePage.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { DeletePage } from \"./DeletePage.js\";\nimport { WbPageStatus } from \"~/constants.js\";\nimport { Page, pageListCache } from \"~/domain/Page/index.js\";\n\ndescribe(\"DeletePage\", () => {\n const gateway = {\n execute: vi.fn().mockResolvedValue(true)\n };\n const pagesCache = pageListCache;\n\n beforeEach(() => {\n pagesCache.clear();\n pagesCache.addItems([\n Page.create({\n id: \"page-1#0001\",\n entryId: \"page-1\",\n status: WbPageStatus.Draft,\n location: {\n folderId: \"folder-1\"\n },\n properties: {\n title: \"Page 1\"\n },\n metadata: {\n title: \"Page 1\"\n },\n elements: {\n element1: \"element\"\n },\n bindings: {\n data: \"any-data\"\n }\n })\n ]);\n });\n\n it(\"should be able to delete a page\", async () => {\n const deletePage = DeletePage.getInstance(gateway);\n\n expect(pagesCache.hasItems()).toBeTrue();\n const item = pagesCache.getItem(page => page.id === \"page-1#0001\");\n expect(item?.id).toEqual(\"page-1#0001\");\n\n await deletePage.execute({\n id: \"page-1#0001\"\n });\n\n expect(gateway.execute).toHaveBeenCalledTimes(1);\n expect(pagesCache.hasItems()).toBeFalse();\n });\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,UAAU;AACnB,SAASC,YAAY;AACrB,SAASC,IAAI,EAAEC,aAAa;AAE5BR,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzB,MAAMS,OAAO,GAAG;IACZC,OAAO,EAAEN,EAAE,CAACO,EAAE,CAAC,CAAC,CAACC,iBAAiB,CAAC,IAAI;EAC3C,CAAC;EACD,MAAMC,UAAU,GAAGL,aAAa;EAEhCL,UAAU,CAAC,MAAM;IACbU,UAAU,CAACC,KAAK,CAAC,CAAC;IAClBD,UAAU,CAACE,QAAQ,CAAC,CAChBR,IAAI,CAACS,MAAM,CAAC;MACRC,EAAE,EAAE,aAAa;MACjBC,OAAO,EAAE,QAAQ;MACjBC,MAAM,EAAEb,YAAY,CAACc,KAAK;MAC1BC,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,UAAU,EAAE;QACRC,KAAK,EAAE;MACX,CAAC;MACDC,QAAQ,EAAE;QACND,KAAK,EAAE;MACX,CAAC;MACDE,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,QAAQ,EAAE;QACNC,IAAI,EAAE;MACV;IACJ,CAAC,CAAC,CACL,CAAC;EACN,CAAC,CAAC;EAEF5B,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAM6B,UAAU,GAAGzB,UAAU,CAAC0B,WAAW,CAACtB,OAAO,CAAC;IAElDP,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IACxC,MAAMC,IAAI,GAAGrB,UAAU,CAACsB,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACnB,EAAE,KAAK,aAAa,CAAC;IAClEf,MAAM,CAACgC,IAAI,EAAEjB,EAAE,CAAC,CAACoB,OAAO,CAAC,aAAa,CAAC;IAEvC,MAAMP,UAAU,CAACpB,OAAO,CAAC;MACrBO,EAAE,EAAE;IACR,CAAC,CAAC;IAEFf,MAAM,CAACO,OAAO,CAACC,OAAO,CAAC,CAAC4B,qBAAqB,CAAC,CAAC,CAAC;IAChDpC,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACO,SAAS,CAAC,CAAC;EAC7C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["describe","it","expect","beforeEach","vi","DeletePage","WbPageStatus","Page","pageListCache","gateway","execute","fn","mockResolvedValue","pagesCache","clear","addItems","create","id","entryId","status","Draft","location","folderId","properties","title","metadata","elements","element1","bindings","data","deletePage","getInstance","hasItems","toBeTrue","item","getItem","page","toEqual","permanently","toHaveBeenCalledTimes","toBeFalse"],"sources":["DeletePage.test.ts"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { DeletePage } from \"./DeletePage.js\";\nimport { WbPageStatus } from \"~/constants.js\";\nimport { Page, pageListCache } from \"~/domain/Page/index.js\";\n\ndescribe(\"DeletePage\", () => {\n const gateway = {\n execute: vi.fn().mockResolvedValue(true)\n };\n const pagesCache = pageListCache;\n\n beforeEach(() => {\n pagesCache.clear();\n pagesCache.addItems([\n Page.create({\n id: \"page-1#0001\",\n entryId: \"page-1\",\n status: WbPageStatus.Draft,\n location: {\n folderId: \"folder-1\"\n },\n properties: {\n title: \"Page 1\"\n },\n metadata: {\n title: \"Page 1\"\n },\n elements: {\n element1: \"element\"\n },\n bindings: {\n data: \"any-data\"\n }\n })\n ]);\n });\n\n it(\"should be able to delete a page\", async () => {\n const deletePage = DeletePage.getInstance(gateway);\n\n expect(pagesCache.hasItems()).toBeTrue();\n const item = pagesCache.getItem(page => page.id === \"page-1#0001\");\n expect(item?.id).toEqual(\"page-1#0001\");\n\n await deletePage.execute({\n id: \"page-1#0001\",\n permanently: true\n });\n\n expect(gateway.execute).toHaveBeenCalledTimes(1);\n expect(pagesCache.hasItems()).toBeFalse();\n });\n});\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,UAAU;AACnB,SAASC,YAAY;AACrB,SAASC,IAAI,EAAEC,aAAa;AAE5BR,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzB,MAAMS,OAAO,GAAG;IACZC,OAAO,EAAEN,EAAE,CAACO,EAAE,CAAC,CAAC,CAACC,iBAAiB,CAAC,IAAI;EAC3C,CAAC;EACD,MAAMC,UAAU,GAAGL,aAAa;EAEhCL,UAAU,CAAC,MAAM;IACbU,UAAU,CAACC,KAAK,CAAC,CAAC;IAClBD,UAAU,CAACE,QAAQ,CAAC,CAChBR,IAAI,CAACS,MAAM,CAAC;MACRC,EAAE,EAAE,aAAa;MACjBC,OAAO,EAAE,QAAQ;MACjBC,MAAM,EAAEb,YAAY,CAACc,KAAK;MAC1BC,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,UAAU,EAAE;QACRC,KAAK,EAAE;MACX,CAAC;MACDC,QAAQ,EAAE;QACND,KAAK,EAAE;MACX,CAAC;MACDE,QAAQ,EAAE;QACNC,QAAQ,EAAE;MACd,CAAC;MACDC,QAAQ,EAAE;QACNC,IAAI,EAAE;MACV;IACJ,CAAC,CAAC,CACL,CAAC;EACN,CAAC,CAAC;EAEF5B,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAC9C,MAAM6B,UAAU,GAAGzB,UAAU,CAAC0B,WAAW,CAACtB,OAAO,CAAC;IAElDP,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;IACxC,MAAMC,IAAI,GAAGrB,UAAU,CAACsB,OAAO,CAACC,IAAI,IAAIA,IAAI,CAACnB,EAAE,KAAK,aAAa,CAAC;IAClEf,MAAM,CAACgC,IAAI,EAAEjB,EAAE,CAAC,CAACoB,OAAO,CAAC,aAAa,CAAC;IAEvC,MAAMP,UAAU,CAACpB,OAAO,CAAC;MACrBO,EAAE,EAAE,aAAa;MACjBqB,WAAW,EAAE;IACjB,CAAC,CAAC;IAEFpC,MAAM,CAACO,OAAO,CAACC,OAAO,CAAC,CAAC6B,qBAAqB,CAAC,CAAC,CAAC;IAChDrC,MAAM,CAACW,UAAU,CAACmB,QAAQ,CAAC,CAAC,CAAC,CAACQ,SAAS,CAAC,CAAC;EAC7C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -3,6 +3,7 @@ import type { IDeletePageGateway } from "./IDeletePageGateway.js";
3
3
  import type { WbError } from "../../../types.js";
4
4
  export interface DeletePageVariables {
5
5
  id: string;
6
+ permanently: boolean;
6
7
  }
7
8
  export interface DeletePageResponse {
8
9
  websiteBuilder: {
@@ -16,5 +17,5 @@ export declare const DELETE_PAGE: import("graphql").DocumentNode;
16
17
  export declare class DeletePageGqlGateway implements IDeletePageGateway {
17
18
  private client;
18
19
  constructor(client: ApolloClient<any>);
19
- execute(id: string): Promise<void>;
20
+ execute(id: string, permanently: boolean): Promise<void>;
20
21
  }
@@ -17,13 +17,14 @@ export class DeletePageGqlGateway {
17
17
  constructor(client) {
18
18
  this.client = client;
19
19
  }
20
- async execute(id) {
20
+ async execute(id, permanently) {
21
21
  const {
22
22
  data: response
23
23
  } = await this.client.mutate({
24
24
  mutation: DELETE_PAGE,
25
25
  variables: {
26
- id
26
+ id,
27
+ permanently
27
28
  }
28
29
  });
29
30
  if (!response) {
@@ -1 +1 @@
1
- {"version":3,"names":["gql","DELETE_PAGE","DeletePageGqlGateway","constructor","client","execute","id","data","response","mutate","mutation","variables","Error","error","websiteBuilder","deletePage","message"],"sources":["DeletePageGqlGateway.ts"],"sourcesContent":["import type ApolloClient from \"apollo-client\";\nimport gql from \"graphql-tag\";\nimport type { IDeletePageGateway } from \"./IDeletePageGateway.js\";\nimport type { WbError } from \"~/types.js\";\n\nexport interface DeletePageVariables {\n id: string;\n}\n\nexport interface DeletePageResponse {\n websiteBuilder: {\n deletePage: {\n data: boolean;\n error: WbError | null;\n };\n };\n}\n\nexport const DELETE_PAGE = gql`\n mutation DeletePage($id: ID!) {\n websiteBuilder {\n deletePage(id: $id) {\n data\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nexport class DeletePageGqlGateway implements IDeletePageGateway {\n private client: ApolloClient<any>;\n\n constructor(client: ApolloClient<any>) {\n this.client = client;\n }\n\n async execute(id: string) {\n const { data: response } = await this.client.mutate<\n DeletePageResponse,\n DeletePageVariables\n >({\n mutation: DELETE_PAGE,\n variables: {\n id\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while deleting page.\");\n }\n\n const { data, error } = response.websiteBuilder.deletePage;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete page.\");\n }\n\n return;\n }\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,aAAa;AAiB7B,OAAO,MAAMC,WAAW,GAAGD,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,oBAAoB,CAA+B;EAG5DC,WAAWA,CAACC,MAAyB,EAAE;IACnC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAE;IACtB,MAAM;MAAEC,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACJ,MAAM,CAACK,MAAM,CAGjD;MACEC,QAAQ,EAAET,WAAW;MACrBU,SAAS,EAAE;QACPL;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACE,QAAQ,EAAE;MACX,MAAM,IAAII,KAAK,CAAC,oCAAoC,CAAC;IACzD;IAEA,MAAM;MAAEL,IAAI;MAAEM;IAAM,CAAC,GAAGL,QAAQ,CAACM,cAAc,CAACC,UAAU;IAE1D,IAAI,CAACR,IAAI,EAAE;MACP,MAAM,IAAIK,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,wBAAwB,CAAC;IAC/D;IAEA;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["gql","DELETE_PAGE","DeletePageGqlGateway","constructor","client","execute","id","permanently","data","response","mutate","mutation","variables","Error","error","websiteBuilder","deletePage","message"],"sources":["DeletePageGqlGateway.ts"],"sourcesContent":["import type ApolloClient from \"apollo-client\";\nimport gql from \"graphql-tag\";\nimport type { IDeletePageGateway } from \"./IDeletePageGateway.js\";\nimport type { WbError } from \"~/types.js\";\n\nexport interface DeletePageVariables {\n id: string;\n permanently: boolean;\n}\n\nexport interface DeletePageResponse {\n websiteBuilder: {\n deletePage: {\n data: boolean;\n error: WbError | null;\n };\n };\n}\n\nexport const DELETE_PAGE = gql`\n mutation DeletePage($id: ID!) {\n websiteBuilder {\n deletePage(id: $id) {\n data\n error {\n code\n data\n message\n }\n }\n }\n }\n`;\n\nexport class DeletePageGqlGateway implements IDeletePageGateway {\n private client: ApolloClient<any>;\n\n constructor(client: ApolloClient<any>) {\n this.client = client;\n }\n\n async execute(id: string, permanently: boolean) {\n const { data: response } = await this.client.mutate<\n DeletePageResponse,\n DeletePageVariables\n >({\n mutation: DELETE_PAGE,\n variables: {\n id,\n permanently\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while deleting page.\");\n }\n\n const { data, error } = response.websiteBuilder.deletePage;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete page.\");\n }\n\n return;\n }\n}\n"],"mappings":"AACA,OAAOA,GAAG,MAAM,aAAa;AAkB7B,OAAO,MAAMC,WAAW,GAAGD,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,oBAAoB,CAA+B;EAG5DC,WAAWA,CAACC,MAAyB,EAAE;IACnC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAEC,WAAoB,EAAE;IAC5C,MAAM;MAAEC,IAAI,EAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,MAAM,CAGjD;MACEC,QAAQ,EAAEV,WAAW;MACrBW,SAAS,EAAE;QACPN,EAAE;QACFC;MACJ;IACJ,CAAC,CAAC;IAEF,IAAI,CAACE,QAAQ,EAAE;MACX,MAAM,IAAII,KAAK,CAAC,oCAAoC,CAAC;IACzD;IAEA,MAAM;MAAEL,IAAI;MAAEM;IAAM,CAAC,GAAGL,QAAQ,CAACM,cAAc,CAACC,UAAU;IAE1D,IAAI,CAACR,IAAI,EAAE;MACP,MAAM,IAAIK,KAAK,CAACC,KAAK,EAAEG,OAAO,IAAI,wBAAwB,CAAC;IAC/D;IAEA;EACJ;AACJ","ignoreList":[]}
@@ -8,5 +8,5 @@ export declare class DeletePageRepository implements IDeletePageRepository {
8
8
  private meta;
9
9
  private gateway;
10
10
  constructor(cache: IListCache<Page>, meta: IMetaRepository, gateway: IDeletePageGateway);
11
- execute(page: Page): Promise<void>;
11
+ execute(page: Page, permanently?: boolean): Promise<void>;
12
12
  }
@@ -4,8 +4,8 @@ export class DeletePageRepository {
4
4
  this.meta = meta;
5
5
  this.gateway = gateway;
6
6
  }
7
- async execute(page) {
8
- await this.gateway.execute(page.id);
7
+ async execute(page, permanently = false) {
8
+ await this.gateway.execute(page.id, permanently);
9
9
  this.cache.removeItems(p => p.id === page.id);
10
10
  await this.meta.decreaseTotalCount();
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DeletePageRepository","constructor","cache","meta","gateway","execute","page","id","removeItems","p","decreaseTotalCount"],"sources":["DeletePageRepository.ts"],"sourcesContent":["import type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport type { IDeletePageGateway } from \"~/features/pages/deletePage/IDeletePageGateway.js\";\nimport type { Page } from \"~/domain/Page/index.js\";\nimport { type IListCache } from \"~/domain/Page/index.js\";\nimport type { IMetaRepository } from \"@webiny/app-utils\";\n\nexport class DeletePageRepository implements IDeletePageRepository {\n private cache: IListCache<Page>;\n private meta: IMetaRepository;\n private gateway: IDeletePageGateway;\n\n constructor(cache: IListCache<Page>, meta: IMetaRepository, gateway: IDeletePageGateway) {\n this.cache = cache;\n this.meta = meta;\n this.gateway = gateway;\n }\n\n async execute(page: Page) {\n await this.gateway.execute(page.id);\n this.cache.removeItems(p => p.id === page.id);\n await this.meta.decreaseTotalCount();\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,oBAAoB,CAAkC;EAK/DC,WAAWA,CAACC,KAAuB,EAAEC,IAAqB,EAAEC,OAA2B,EAAE;IACrF,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,IAAU,EAAE;IACtB,MAAM,IAAI,CAACF,OAAO,CAACC,OAAO,CAACC,IAAI,CAACC,EAAE,CAAC;IACnC,IAAI,CAACL,KAAK,CAACM,WAAW,CAACC,CAAC,IAAIA,CAAC,CAACF,EAAE,KAAKD,IAAI,CAACC,EAAE,CAAC;IAC7C,MAAM,IAAI,CAACJ,IAAI,CAACO,kBAAkB,CAAC,CAAC;EACxC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["DeletePageRepository","constructor","cache","meta","gateway","execute","page","permanently","id","removeItems","p","decreaseTotalCount"],"sources":["DeletePageRepository.ts"],"sourcesContent":["import type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport type { IDeletePageGateway } from \"~/features/pages/deletePage/IDeletePageGateway.js\";\nimport type { Page } from \"~/domain/Page/index.js\";\nimport { type IListCache } from \"~/domain/Page/index.js\";\nimport type { IMetaRepository } from \"@webiny/app-utils\";\n\nexport class DeletePageRepository implements IDeletePageRepository {\n private cache: IListCache<Page>;\n private meta: IMetaRepository;\n private gateway: IDeletePageGateway;\n\n constructor(cache: IListCache<Page>, meta: IMetaRepository, gateway: IDeletePageGateway) {\n this.cache = cache;\n this.meta = meta;\n this.gateway = gateway;\n }\n\n async execute(page: Page, permanently = false) {\n await this.gateway.execute(page.id, permanently);\n this.cache.removeItems(p => p.id === page.id);\n await this.meta.decreaseTotalCount();\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,oBAAoB,CAAkC;EAK/DC,WAAWA,CAACC,KAAuB,EAAEC,IAAqB,EAAEC,OAA2B,EAAE;IACrF,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,IAAU,EAAEC,WAAW,GAAG,KAAK,EAAE;IAC3C,MAAM,IAAI,CAACH,OAAO,CAACC,OAAO,CAACC,IAAI,CAACE,EAAE,EAAED,WAAW,CAAC;IAChD,IAAI,CAACL,KAAK,CAACO,WAAW,CAACC,CAAC,IAAIA,CAAC,CAACF,EAAE,KAAKF,IAAI,CAACE,EAAE,CAAC;IAC7C,MAAM,IAAI,CAACL,IAAI,CAACQ,kBAAkB,CAAC,CAAC;EACxC;AACJ","ignoreList":[]}
@@ -6,7 +6,7 @@ export class DeletePageUseCase {
6
6
  async execute(params) {
7
7
  await this.repository.execute(Page.create({
8
8
  id: params.id
9
- }));
9
+ }), params.permanently);
10
10
  }
11
11
  }
12
12
 
@@ -1 +1 @@
1
- {"version":3,"names":["Page","DeletePageUseCase","constructor","repository","execute","params","create","id"],"sources":["DeletePageUseCase.ts"],"sourcesContent":["import type {\n DeletePageParams,\n IDeletePageUseCase\n} from \"~/features/pages/deletePage/IDeletePageUseCase.js\";\nimport type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport { Page } from \"~/domain/Page/index.js\";\n\nexport class DeletePageUseCase implements IDeletePageUseCase {\n private repository: IDeletePageRepository;\n\n constructor(repository: IDeletePageRepository) {\n this.repository = repository;\n }\n\n async execute(params: DeletePageParams) {\n await this.repository.execute(\n Page.create({\n id: params.id\n })\n );\n }\n}\n"],"mappings":"AAKA,SAASA,IAAI;AAEb,OAAO,MAAMC,iBAAiB,CAA+B;EAGzDC,WAAWA,CAACC,UAAiC,EAAE;IAC3C,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAAwB,EAAE;IACpC,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CACzBJ,IAAI,CAACM,MAAM,CAAC;MACRC,EAAE,EAAEF,MAAM,CAACE;IACf,CAAC,CACL,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["Page","DeletePageUseCase","constructor","repository","execute","params","create","id","permanently"],"sources":["DeletePageUseCase.ts"],"sourcesContent":["import type {\n DeletePageParams,\n IDeletePageUseCase\n} from \"~/features/pages/deletePage/IDeletePageUseCase.js\";\nimport type { IDeletePageRepository } from \"~/features/pages/deletePage/IDeletePageRepository.js\";\nimport { Page } from \"~/domain/Page/index.js\";\n\nexport class DeletePageUseCase implements IDeletePageUseCase {\n private repository: IDeletePageRepository;\n\n constructor(repository: IDeletePageRepository) {\n this.repository = repository;\n }\n\n async execute(params: DeletePageParams) {\n await this.repository.execute(\n Page.create({\n id: params.id\n }),\n params.permanently\n );\n }\n}\n"],"mappings":"AAKA,SAASA,IAAI;AAEb,OAAO,MAAMC,iBAAiB,CAA+B;EAGzDC,WAAWA,CAACC,UAAiC,EAAE;IAC3C,IAAI,CAACA,UAAU,GAAGA,UAAU;EAChC;EAEA,MAAMC,OAAOA,CAACC,MAAwB,EAAE;IACpC,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CACzBJ,IAAI,CAACM,MAAM,CAAC;MACRC,EAAE,EAAEF,MAAM,CAACE;IACf,CAAC,CAAC,EACFF,MAAM,CAACG,WACX,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  export interface IDeletePageGateway {
2
- execute: (id: string) => Promise<void>;
2
+ execute: (id: string, permanently: boolean) => Promise<void>;
3
3
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["IDeletePageGateway.ts"],"sourcesContent":["export interface IDeletePageGateway {\n execute: (id: string) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["IDeletePageGateway.ts"],"sourcesContent":["export interface IDeletePageGateway {\n execute: (id: string, permanently: boolean) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import type { Page } from "../../../domain/Page/index.js";
2
2
  export interface IDeletePageRepository {
3
- execute: (page: Page) => Promise<void>;
3
+ execute: (page: Page, permanently: boolean) => Promise<void>;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["IDeletePageRepository.ts"],"sourcesContent":["import type { Page } from \"~/domain/Page/index.js\";\n\nexport interface IDeletePageRepository {\n execute: (page: Page) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["IDeletePageRepository.ts"],"sourcesContent":["import type { Page } from \"~/domain/Page/index.js\";\n\nexport interface IDeletePageRepository {\n execute: (page: Page, permanently: boolean) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export interface DeletePageParams {
2
2
  id: string;
3
+ permanently: boolean;
3
4
  }
4
5
  export interface IDeletePageUseCase {
5
6
  execute: (params: DeletePageParams) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["IDeletePageUseCase.ts"],"sourcesContent":["export interface DeletePageParams {\n id: string;\n}\n\nexport interface IDeletePageUseCase {\n execute: (params: DeletePageParams) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["IDeletePageUseCase.ts"],"sourcesContent":["export interface DeletePageParams {\n id: string;\n permanently: boolean;\n}\n\nexport interface IDeletePageUseCase {\n execute: (params: DeletePageParams) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
package/index.d.ts CHANGED
@@ -2,4 +2,4 @@ export * as Editor from "./BaseEditor/index.js";
2
2
  export * from "./shared/pagePathFromTitle.js";
3
3
  export { PageListConfig } from "./modules/pages/configs/index.js";
4
4
  export { RedirectListConfig } from "./modules/redirects/configs/index.js";
5
- export * from "./modules/pages/PageEditor/PageEditorConfig.js";
5
+ export { PageEditorConfig } from "./modules/pages/PageEditor/PageEditorConfig.js";