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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -2,7 +2,8 @@ import { useEffect, useState } from "react";
2
2
  import { useDropZoneManager } from "./DropZoneManagerProvider.js";
3
3
  export function useProximityDropzone({
4
4
  id,
5
- box
5
+ box,
6
+ canAccept
6
7
  }) {
7
8
  const dropzoneManager = useDropZoneManager();
8
9
  const [proximity, setProximity] = useState(null);
@@ -10,6 +11,7 @@ export function useProximityDropzone({
10
11
  dropzoneManager.register({
11
12
  id,
12
13
  box,
14
+ canAccept,
13
15
  onProximityChange: proximity => {
14
16
  setProximity(proximity);
15
17
  }
@@ -17,7 +19,7 @@ export function useProximityDropzone({
17
19
  return () => {
18
20
  dropzoneManager.unregister(id);
19
21
  };
20
- }, [id, box]);
22
+ }, [id, box, canAccept]);
21
23
  return {
22
24
  proximity
23
25
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useDropZoneManager","useProximityDropzone","id","box","dropzoneManager","proximity","setProximity","register","onProximityChange","unregister"],"sources":["useProximityDropzone.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useDropZoneManager } from \"./DropZoneManagerProvider.js\";\nimport type { Box } from \"./Box.js\";\nimport type { DropZoneProximity } from \"~/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js\";\n\nexport interface DropEvent {\n item: { id?: string; componentName: string };\n target: { parentId: string; slot: string; index: number };\n}\n\ninterface UseProximityDropzoneParams {\n id: string;\n box: Box;\n}\n\nexport function useProximityDropzone({ id, box }: UseProximityDropzoneParams) {\n const dropzoneManager = useDropZoneManager();\n const [proximity, setProximity] = useState<DropZoneProximity | null>(null);\n\n useEffect(() => {\n dropzoneManager.register({\n id,\n box,\n onProximityChange: proximity => {\n setProximity(proximity);\n }\n });\n\n return () => {\n dropzoneManager.unregister(id);\n };\n }, [id, box]);\n\n return { proximity };\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,kBAAkB;AAc3B,OAAO,SAASC,oBAAoBA,CAAC;EAAEC,EAAE;EAAEC;AAAgC,CAAC,EAAE;EAC1E,MAAMC,eAAe,GAAGJ,kBAAkB,CAAC,CAAC;EAC5C,MAAM,CAACK,SAAS,EAAEC,YAAY,CAAC,GAAGP,QAAQ,CAA2B,IAAI,CAAC;EAE1ED,SAAS,CAAC,MAAM;IACZM,eAAe,CAACG,QAAQ,CAAC;MACrBL,EAAE;MACFC,GAAG;MACHK,iBAAiB,EAAEH,SAAS,IAAI;QAC5BC,YAAY,CAACD,SAAS,CAAC;MAC3B;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACTD,eAAe,CAACK,UAAU,CAACP,EAAE,CAAC;IAClC,CAAC;EACL,CAAC,EAAE,CAACA,EAAE,EAAEC,GAAG,CAAC,CAAC;EAEb,OAAO;IAAEE;EAAU,CAAC;AACxB","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","useDropZoneManager","useProximityDropzone","id","box","canAccept","dropzoneManager","proximity","setProximity","register","onProximityChange","unregister"],"sources":["useProximityDropzone.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useDropZoneManager } from \"./DropZoneManagerProvider.js\";\nimport type { Box } from \"./Box.js\";\nimport type { DropZoneProximity } from \"~/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js\";\n\nexport interface DropEvent {\n item: { id?: string; componentName: string };\n target: { parentId: string; slot: string; index: number };\n}\n\ninterface UseProximityDropzoneParams {\n id: string;\n box: Box;\n canAccept?: () => boolean;\n}\n\nexport function useProximityDropzone({ id, box, canAccept }: UseProximityDropzoneParams) {\n const dropzoneManager = useDropZoneManager();\n const [proximity, setProximity] = useState<DropZoneProximity | null>(null);\n\n useEffect(() => {\n dropzoneManager.register({\n id,\n box,\n canAccept,\n onProximityChange: proximity => {\n setProximity(proximity);\n }\n });\n\n return () => {\n dropzoneManager.unregister(id);\n };\n }, [id, box, canAccept]);\n\n return { proximity };\n}\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,kBAAkB;AAe3B,OAAO,SAASC,oBAAoBA,CAAC;EAAEC,EAAE;EAAEC,GAAG;EAAEC;AAAsC,CAAC,EAAE;EACrF,MAAMC,eAAe,GAAGL,kBAAkB,CAAC,CAAC;EAC5C,MAAM,CAACM,SAAS,EAAEC,YAAY,CAAC,GAAGR,QAAQ,CAA2B,IAAI,CAAC;EAE1ED,SAAS,CAAC,MAAM;IACZO,eAAe,CAACG,QAAQ,CAAC;MACrBN,EAAE;MACFC,GAAG;MACHC,SAAS;MACTK,iBAAiB,EAAEH,SAAS,IAAI;QAC5BC,YAAY,CAACD,SAAS,CAAC;MAC3B;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACTD,eAAe,CAACK,UAAU,CAACR,EAAE,CAAC;IAClC,CAAC;EACL,CAAC,EAAE,CAACA,EAAE,EAAEC,GAAG,EAAEC,SAAS,CAAC,CAAC;EAExB,OAAO;IAAEE;EAAU,CAAC;AACxB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { ViewportManager } from "@webiny/website-builder-sdk";
2
2
  /**
3
- * Calculate the real width of the preview container, taking into account the current display mode
4
- * and actual container size. If the display mode width is larger than the available space, return the
3
+ * Calculate the real width of the preview container, taking into account reserved UI space, breakpoint,
4
+ * and viewport width. If the display mode width is larger than the available space, return the
5
5
  * width of the available space.
6
6
  */
7
- export declare const useResponsiveContainer: (viewportManager: ViewportManager) => string;
7
+ export declare const useResponsiveContainer: (viewportManager: ViewportManager) => number;
@@ -1,26 +1,31 @@
1
- import { useEffect, useMemo, useState } from "react";
1
+ import { useCallback, useEffect, useState } from "react";
2
2
  import { useBreakpoint } from "../../../hooks/useBreakpoint.js";
3
+ import { useSelectFromEditor } from "../../../hooks/useSelectFromEditor.js";
4
+ import { useDocumentEditor } from "../../../../DocumentEditor/index.js";
5
+
3
6
  /**
4
- * Calculate the real width of the preview container, taking into account the current display mode
5
- * and actual container size. If the display mode width is larger than the available space, return the
7
+ * Calculate the real width of the preview container, taking into account reserved UI space, breakpoint,
8
+ * and viewport width. If the display mode width is larger than the available space, return the
6
9
  * width of the available space.
7
10
  */
8
11
  export const useResponsiveContainer = viewportManager => {
9
12
  const [containerWidth, setContainerWidth] = useState(0);
13
+ const editor = useDocumentEditor();
14
+ const uiWidth = useSelectFromEditor(state => state.uiReservedSpace.width);
15
+ const {
16
+ breakpoint
17
+ } = useBreakpoint();
18
+ const updateContainerWidth = useCallback(() => {
19
+ const uiWidth = editor.getEditorState().read().uiReservedSpace.width;
20
+ setContainerWidth(document.body.clientWidth - uiWidth);
21
+ }, [editor]);
10
22
  useEffect(() => {
11
- const updateContainerWidth = () => {
12
- const width = document.body.clientWidth - 600;
13
- setContainerWidth(width);
14
- };
15
23
  updateContainerWidth();
24
+ }, [breakpoint.name, uiWidth]);
25
+ useEffect(() => {
16
26
  return viewportManager.onViewportChangeEnd(updateContainerWidth);
17
27
  }, []);
18
- const {
19
- breakpoint
20
- } = useBreakpoint();
21
- return useMemo(() => {
22
- return Math.min(containerWidth, breakpoint.maxWidth) + "px";
23
- }, [breakpoint.name, containerWidth]);
28
+ return Math.min(containerWidth, breakpoint.maxWidth);
24
29
  };
25
30
 
26
31
  //# sourceMappingURL=useResponsiveContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useState","useBreakpoint","useResponsiveContainer","viewportManager","containerWidth","setContainerWidth","updateContainerWidth","width","document","body","clientWidth","onViewportChangeEnd","breakpoint","Math","min","maxWidth","name"],"sources":["useResponsiveContainer.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint.js\";\nimport type { ViewportManager } from \"@webiny/website-builder-sdk\";\n\n/**\n * Calculate the real width of the preview container, taking into account the current display mode\n * and actual container size. If the display mode width is larger than the available space, return the\n * width of the available space.\n */\nexport const useResponsiveContainer = (viewportManager: ViewportManager) => {\n const [containerWidth, setContainerWidth] = useState(0);\n\n useEffect(() => {\n const updateContainerWidth = () => {\n const width = document.body.clientWidth - 600;\n setContainerWidth(width);\n };\n\n updateContainerWidth();\n\n return viewportManager.onViewportChangeEnd(updateContainerWidth);\n }, []);\n\n const { breakpoint } = useBreakpoint();\n\n return useMemo(() => {\n return Math.min(containerWidth, breakpoint.maxWidth) + \"px\";\n }, [breakpoint.name, containerWidth]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACpD,SAASC,aAAa;AAGtB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,eAAgC,IAAK;EACxE,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGL,QAAQ,CAAC,CAAC,CAAC;EAEvDF,SAAS,CAAC,MAAM;IACZ,MAAMQ,oBAAoB,GAAGA,CAAA,KAAM;MAC/B,MAAMC,KAAK,GAAGC,QAAQ,CAACC,IAAI,CAACC,WAAW,GAAG,GAAG;MAC7CL,iBAAiB,CAACE,KAAK,CAAC;IAC5B,CAAC;IAEDD,oBAAoB,CAAC,CAAC;IAEtB,OAAOH,eAAe,CAACQ,mBAAmB,CAACL,oBAAoB,CAAC;EACpE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAEM;EAAW,CAAC,GAAGX,aAAa,CAAC,CAAC;EAEtC,OAAOF,OAAO,CAAC,MAAM;IACjB,OAAOc,IAAI,CAACC,GAAG,CAACV,cAAc,EAAEQ,UAAU,CAACG,QAAQ,CAAC,GAAG,IAAI;EAC/D,CAAC,EAAE,CAACH,UAAU,CAACI,IAAI,EAAEZ,cAAc,CAAC,CAAC;AACzC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useBreakpoint","useSelectFromEditor","useDocumentEditor","useResponsiveContainer","viewportManager","containerWidth","setContainerWidth","editor","uiWidth","state","uiReservedSpace","width","breakpoint","updateContainerWidth","getEditorState","read","document","body","clientWidth","name","onViewportChangeEnd","Math","min","maxWidth"],"sources":["useResponsiveContainer.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint.js\";\nimport type { ViewportManager } from \"@webiny/website-builder-sdk\";\nimport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\n\n/**\n * Calculate the real width of the preview container, taking into account reserved UI space, breakpoint,\n * and viewport width. If the display mode width is larger than the available space, return the\n * width of the available space.\n */\nexport const useResponsiveContainer = (viewportManager: ViewportManager) => {\n const [containerWidth, setContainerWidth] = useState(0);\n const editor = useDocumentEditor();\n const uiWidth = useSelectFromEditor(state => state.uiReservedSpace.width);\n const { breakpoint } = useBreakpoint();\n\n const updateContainerWidth = useCallback(() => {\n const uiWidth = editor.getEditorState().read().uiReservedSpace.width;\n setContainerWidth(document.body.clientWidth - uiWidth);\n }, [editor]);\n\n useEffect(() => {\n updateContainerWidth();\n }, [breakpoint.name, uiWidth]);\n\n useEffect(() => {\n return viewportManager.onViewportChangeEnd(updateContainerWidth);\n }, []);\n\n return Math.min(containerWidth, breakpoint.maxWidth);\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SAASC,aAAa;AAEtB,SAASC,mBAAmB;AAC5B,SAASC,iBAAiB;;AAE1B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,eAAgC,IAAK;EACxE,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGP,QAAQ,CAAC,CAAC,CAAC;EACvD,MAAMQ,MAAM,GAAGL,iBAAiB,CAAC,CAAC;EAClC,MAAMM,OAAO,GAAGP,mBAAmB,CAACQ,KAAK,IAAIA,KAAK,CAACC,eAAe,CAACC,KAAK,CAAC;EACzE,MAAM;IAAEC;EAAW,CAAC,GAAGZ,aAAa,CAAC,CAAC;EAEtC,MAAMa,oBAAoB,GAAGhB,WAAW,CAAC,MAAM;IAC3C,MAAMW,OAAO,GAAGD,MAAM,CAACO,cAAc,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACL,eAAe,CAACC,KAAK;IACpEL,iBAAiB,CAACU,QAAQ,CAACC,IAAI,CAACC,WAAW,GAAGV,OAAO,CAAC;EAC1D,CAAC,EAAE,CAACD,MAAM,CAAC,CAAC;EAEZT,SAAS,CAAC,MAAM;IACZe,oBAAoB,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACD,UAAU,CAACO,IAAI,EAAEX,OAAO,CAAC,CAAC;EAE9BV,SAAS,CAAC,MAAM;IACZ,OAAOM,eAAe,CAACgB,mBAAmB,CAACP,oBAAoB,CAAC;EACpE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOQ,IAAI,CAACC,GAAG,CAACjB,cAAc,EAAEO,UAAU,CAACW,QAAQ,CAAC;AACxD,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { useCallback, useEffect, useState } from "react";
2
- import { useGetWebsiteBuilderSettings } from "../../../../features/index.js";
2
+ import { useGetWebsiteBuilderSettings } from "../../../features/index.js";
3
3
  import { useSubscribeToLocalStorage } from "./useSubscribeToLocalStorage.js";
4
4
  const CUSTOM_PREVIEW_DOMAIN = "webiny_wb_custom_preview_domain";
5
5
 
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
2
  import { ReactComponent as TouchIcon } from "@webiny/icons/touch_app.svg";
3
- import { Breadcrumbs } from "./Content/Breadcrumbs/index.js";
4
3
  import { EditorConfig } from "../config/index.js";
5
4
  import { InfoMessage } from "./Sidebar/InfoMessage.js";
6
5
  import { StyleSettingsGroup } from "./Sidebar/StyleSettings/StyleSettingsGroup.js";
@@ -11,7 +10,7 @@ import { NavigatorTab } from "./Toolbar/Navigator/NavigatorTab.js";
11
10
  import { CommandHandlers } from "../commandHandlers/index.js";
12
11
  import { ElementSettings } from "./Sidebar/ElementSettings/ElementSettings.js";
13
12
  import { ElementInputRenderers } from "./ElementInputRenderers.js";
14
- import { DocumentPreview } from "./Content/Preview/DocumentPreview.js";
13
+ import { ContentPreviewConfig } from "./Content/ContentPreviewConfig.js";
15
14
  const {
16
15
  Ui
17
16
  } = EditorConfig;
@@ -22,13 +21,7 @@ const ClickToActivate = () => {
22
21
  }));
23
22
  };
24
23
  export const DefaultEditorConfig = /*#__PURE__*/React.memo(() => {
25
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EditorConfig, null, /*#__PURE__*/React.createElement(CommandHandlers, null), /*#__PURE__*/React.createElement(ElementInputRenderers, null), /*#__PURE__*/React.createElement(Ui.Content.Element, {
26
- name: "breadcrumbs",
27
- element: /*#__PURE__*/React.createElement(Breadcrumbs, null)
28
- }), /*#__PURE__*/React.createElement(Ui.Content.Element, {
29
- name: "preview",
30
- element: /*#__PURE__*/React.createElement(DocumentPreview, null)
31
- }), /*#__PURE__*/React.createElement(Ui.Toolbar.Element, {
24
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CommandHandlers, null), /*#__PURE__*/React.createElement(EditorConfig, null, /*#__PURE__*/React.createElement(ElementInputRenderers, null), /*#__PURE__*/React.createElement(ContentPreviewConfig, null), /*#__PURE__*/React.createElement(Ui.Toolbar.Element, {
32
25
  name: "insertElements",
33
26
  group: "tabs",
34
27
  element: /*#__PURE__*/React.createElement(InsertElementsTab, null)
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactComponent","TouchIcon","Breadcrumbs","EditorConfig","InfoMessage","StyleSettingsGroup","StyleProperties","ElementSettingsGroup","InsertElementsTab","NavigatorTab","CommandHandlers","ElementSettings","ElementInputRenderers","DocumentPreview","Ui","ClickToActivate","createElement","NoActiveElement","icon","message","DefaultEditorConfig","memo","Fragment","Content","Element","name","element","Toolbar","group","Sidebar","Group","OnActiveElement","displayName"],"sources":["DefaultEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as TouchIcon } from \"@webiny/icons/touch_app.svg\";\nimport { Breadcrumbs } from \"./Content/Breadcrumbs/index.js\";\nimport { EditorConfig } from \"~/BaseEditor/config/index.js\";\nimport { InfoMessage } from \"./Sidebar/InfoMessage.js\";\nimport { StyleSettingsGroup } from \"./Sidebar/StyleSettings/StyleSettingsGroup.js\";\nimport { StyleProperties } from \"./Sidebar/StyleSettings/StyleProperties.js\";\nimport { ElementSettingsGroup } from \"./Sidebar/ElementSettings/ElementSettingsGroup.js\";\nimport { InsertElementsTab } from \"./Toolbar/InsertElements/InsertElementsTab.js\";\nimport { NavigatorTab } from \"./Toolbar/Navigator/NavigatorTab.js\";\nimport { CommandHandlers } from \"~/BaseEditor/commandHandlers/index.js\";\nimport { ElementSettings } from \"./Sidebar/ElementSettings/ElementSettings.js\";\nimport { ElementInputRenderers } from \"./ElementInputRenderers.js\";\nimport { DocumentPreview } from \"./Content/Preview/DocumentPreview.js\";\n\nconst { Ui } = EditorConfig;\n\nconst ClickToActivate = () => {\n return (\n <Ui.NoActiveElement>\n <InfoMessage\n icon={<TouchIcon />}\n message={\"Select an element on the canvas to activate this panel.\"}\n />\n </Ui.NoActiveElement>\n );\n};\n\nexport const DefaultEditorConfig = React.memo(() => {\n return (\n <>\n <EditorConfig>\n <CommandHandlers />\n <ElementInputRenderers />\n <Ui.Content.Element name={\"breadcrumbs\"} element={<Breadcrumbs />} />\n <Ui.Content.Element name={\"preview\"} element={<DocumentPreview />} />\n <Ui.Toolbar.Element\n name={\"insertElements\"}\n group={\"tabs\"}\n element={<InsertElementsTab />}\n />\n <Ui.Toolbar.Element name={\"navigator\"} group={\"tabs\"} element={<NavigatorTab />} />\n {/* Sidebar Groups */}\n <Ui.Sidebar.Group name={\"element\"} element={<ElementSettingsGroup />} />\n <Ui.Sidebar.Group name={\"style\"} element={<StyleSettingsGroup />} />\n {/* Style Settings Tab */}\n <Ui.Sidebar.Element\n name={\"styleSettings\"}\n group={\"style\"}\n element={\n <Ui.OnActiveElement>\n <StyleProperties />\n </Ui.OnActiveElement>\n }\n />\n <Ui.Sidebar.Element\n name={\"styleInactive\"}\n group={\"style\"}\n element={<ClickToActivate />}\n />\n {/* Element Settings Tab */}\n <Ui.Sidebar.Element\n name={\"elementInactive\"}\n group={\"element\"}\n element={<ClickToActivate />}\n />\n {/* This element renders element properties. */}\n <Ui.Sidebar.Element\n name={\"elementSettings\"}\n group={\"element\"}\n element={\n <Ui.OnActiveElement>\n <ElementSettings />\n </Ui.OnActiveElement>\n }\n />\n {/*<Ui.Sidebar.Element\n name={\"stateEditor\"}\n group={\"element\"}\n element={<DocumentStateEditor />}\n />*/}\n </EditorConfig>\n </>\n );\n});\n\nDefaultEditorConfig.displayName = \"DefaultEditorConfig\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactComponent","TouchIcon","EditorConfig","InfoMessage","StyleSettingsGroup","StyleProperties","ElementSettingsGroup","InsertElementsTab","NavigatorTab","CommandHandlers","ElementSettings","ElementInputRenderers","ContentPreviewConfig","Ui","ClickToActivate","createElement","NoActiveElement","icon","message","DefaultEditorConfig","memo","Fragment","Toolbar","Element","name","group","element","Sidebar","Group","OnActiveElement","displayName"],"sources":["DefaultEditorConfig.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as TouchIcon } from \"@webiny/icons/touch_app.svg\";\nimport { EditorConfig } from \"~/BaseEditor/config/index.js\";\nimport { InfoMessage } from \"./Sidebar/InfoMessage.js\";\nimport { StyleSettingsGroup } from \"./Sidebar/StyleSettings/StyleSettingsGroup.js\";\nimport { StyleProperties } from \"./Sidebar/StyleSettings/StyleProperties.js\";\nimport { ElementSettingsGroup } from \"./Sidebar/ElementSettings/ElementSettingsGroup.js\";\nimport { InsertElementsTab } from \"./Toolbar/InsertElements/InsertElementsTab.js\";\nimport { NavigatorTab } from \"./Toolbar/Navigator/NavigatorTab.js\";\nimport { CommandHandlers } from \"~/BaseEditor/commandHandlers/index.js\";\nimport { ElementSettings } from \"./Sidebar/ElementSettings/ElementSettings.js\";\nimport { ElementInputRenderers } from \"./ElementInputRenderers.js\";\nimport { ContentPreviewConfig } from \"./Content/ContentPreviewConfig.js\";\n\nconst { Ui } = EditorConfig;\n\nconst ClickToActivate = () => {\n return (\n <Ui.NoActiveElement>\n <InfoMessage\n icon={<TouchIcon />}\n message={\"Select an element on the canvas to activate this panel.\"}\n />\n </Ui.NoActiveElement>\n );\n};\n\nexport const DefaultEditorConfig = React.memo(() => {\n return (\n <>\n <CommandHandlers />\n <EditorConfig>\n <ElementInputRenderers />\n <ContentPreviewConfig />\n <Ui.Toolbar.Element\n name={\"insertElements\"}\n group={\"tabs\"}\n element={<InsertElementsTab />}\n />\n <Ui.Toolbar.Element name={\"navigator\"} group={\"tabs\"} element={<NavigatorTab />} />\n {/* Sidebar Groups */}\n <Ui.Sidebar.Group name={\"element\"} element={<ElementSettingsGroup />} />\n <Ui.Sidebar.Group name={\"style\"} element={<StyleSettingsGroup />} />\n {/* Style Settings Tab */}\n <Ui.Sidebar.Element\n name={\"styleSettings\"}\n group={\"style\"}\n element={\n <Ui.OnActiveElement>\n <StyleProperties />\n </Ui.OnActiveElement>\n }\n />\n <Ui.Sidebar.Element\n name={\"styleInactive\"}\n group={\"style\"}\n element={<ClickToActivate />}\n />\n {/* Element Settings Tab */}\n <Ui.Sidebar.Element\n name={\"elementInactive\"}\n group={\"element\"}\n element={<ClickToActivate />}\n />\n {/* This element renders element properties. */}\n <Ui.Sidebar.Element\n name={\"elementSettings\"}\n group={\"element\"}\n element={\n <Ui.OnActiveElement>\n <ElementSettings />\n </Ui.OnActiveElement>\n }\n />\n {/*<Ui.Sidebar.Element\n name={\"stateEditor\"}\n group={\"element\"}\n element={<DocumentStateEditor />}\n />*/}\n </EditorConfig>\n </>\n );\n});\n\nDefaultEditorConfig.displayName = \"DefaultEditorConfig\";\n"],"mappings":"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","ignoreList":[]}
@@ -3,5 +3,23 @@ import type { DocumentElement } from "@webiny/website-builder-sdk";
3
3
  interface ElementInputsProps {
4
4
  element: DocumentElement;
5
5
  }
6
- export declare const ElementInputs: ({ element }: ElementInputsProps) => React.JSX.Element | null;
6
+ export declare const ElementInputs: (({ element }: ElementInputsProps) => React.JSX.Element | null) & {
7
+ original: ({ element }: ElementInputsProps) => React.JSX.Element | null;
8
+ originalName: string;
9
+ displayName: string;
10
+ } & {
11
+ original: (({ element }: ElementInputsProps) => React.JSX.Element | null) & {
12
+ original: ({ element }: ElementInputsProps) => React.JSX.Element | null;
13
+ originalName: string;
14
+ displayName: string;
15
+ };
16
+ originalName: string;
17
+ displayName: string;
18
+ } & {
19
+ createDecorator: (decorator: import("@webiny/app-admin").ComponentDecorator<(({ element }: ElementInputsProps) => React.JSX.Element | null) & {
20
+ original: ({ element }: ElementInputsProps) => React.JSX.Element | null;
21
+ originalName: string;
22
+ displayName: string;
23
+ }>) => (props: unknown) => React.JSX.Element;
24
+ };
7
25
  export {};
@@ -1,11 +1,12 @@
1
1
  import React, { useMemo } from "react";
2
2
  import { Grid } from "@webiny/admin-ui";
3
+ import { makeDecoratable } from "@webiny/app-admin";
3
4
  import { useComponent } from "../../../hooks/useComponent.js";
4
5
  import { InputRenderer } from "./InputRenderer.js";
5
6
  import { ComponentManifestToAstConverter } from "@webiny/website-builder-sdk";
6
7
  import { useSelectFromDocument } from "../../../hooks/useSelectFromDocument.js";
7
8
  import { InfoMessage } from "../InfoMessage.js";
8
- export const ElementInputs = ({
9
+ export const ElementInputs = makeDecoratable("ElementInputs", ({
9
10
  element
10
11
  }) => {
11
12
  const component = useComponent(element.component.name);
@@ -33,7 +34,7 @@ export const ElementInputs = ({
33
34
  ast: inputsAst,
34
35
  bindings: bindings.inputs
35
36
  }));
36
- };
37
+ });
37
38
 
38
39
  // interface ElementInputProps {
39
40
  // element: DocumentElement;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Grid","useComponent","InputRenderer","ComponentManifestToAstConverter","useSelectFromDocument","InfoMessage","ElementInputs","element","component","name","bindings","document","id","inputs","inputsAst","convert","hasEditableInputs","filter","input","type","length","createElement","message","key","ast"],"sources":["ElementInputs.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Grid } from \"@webiny/admin-ui\";\nimport type { DocumentElement } from \"@webiny/website-builder-sdk\";\nimport { useComponent } from \"~/BaseEditor/hooks/useComponent.js\";\nimport { InputRenderer } from \"./InputRenderer.js\";\nimport { ComponentManifestToAstConverter } from \"@webiny/website-builder-sdk\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nimport { InfoMessage } from \"~/BaseEditor/defaultConfig/Sidebar/InfoMessage.js\";\n\ninterface ElementInputsProps {\n element: DocumentElement;\n}\n\nexport const ElementInputs = ({ element }: ElementInputsProps) => {\n const component = useComponent(element.component.name);\n\n const bindings = useSelectFromDocument(\n document => {\n return document.bindings[element.id] ?? { inputs: {} };\n },\n [element.id]\n );\n\n const inputsAst = useMemo(() => {\n return ComponentManifestToAstConverter.convert(component.inputs ?? []);\n }, [component.name, element.id]);\n\n const hasEditableInputs = useMemo(() => {\n return inputsAst.filter(input => input.type !== \"slot\").length > 0;\n }, [inputsAst]);\n\n if (!element) {\n return null;\n }\n\n if (!hasEditableInputs) {\n return <InfoMessage message={\"This element has no inputs.\"} />;\n }\n\n return (\n <Grid>\n {/*<Grid.Column key={\"repeat\"} span={12}>*/}\n {/* <Select*/}\n {/* label={\"Repeat for each\"}*/}\n {/* placeholder={\"Select binding\"}*/}\n {/* options={arrayOptions}*/}\n {/* value={repeat.value ?? \"\"}*/}\n {/* onChange={value => repeat.onChange(value === \"\" ? undefined : value)}*/}\n {/* />*/}\n {/*</Grid.Column>*/}\n <InputRenderer key={element.id} ast={inputsAst} bindings={bindings.inputs} />\n </Grid>\n );\n};\n\n// interface ElementInputProps {\n// element: DocumentElement;\n// input: ComponentInput;\n// }\n//\n// const ElementInput = ({ element, input }: ElementInputProps) => {\n// const Renderer = useInputRenderer(input.renderer || \"__unknown__\");\n//\n// const { value, onChange, onPreviewChange, setBindingType } = useInputValue(element, input);\n//\n// /* return (\n// <Renderer\n// value={value.static}\n// input={input}\n// onChange={onChange}\n// onPreviewChange={onPreviewChange}\n// />\n// );*/\n// if (value.expression) {\n// return (\n// <WithBindingToggle type={\"expression\"} setBindingType={setBindingType}>\n// <ExpressionRenderer\n// element={element}\n// value={value.expression}\n// onChange={onChange}\n// input={input}\n// />\n// </WithBindingToggle>\n// );\n// }\n//\n// return (\n// <WithBindingToggle type={\"static\"} setBindingType={setBindingType}>\n// <Renderer\n// value={value.static}\n// input={input}\n// onChange={onChange}\n// onPreviewChange={onPreviewChange}\n// />\n// </WithBindingToggle>\n// );\n// };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,SAASC,YAAY;AACrB,SAASC,aAAa;AACtB,SAASC,+BAA+B,QAAQ,6BAA6B;AAC7E,SAASC,qBAAqB;AAC9B,SAASC,WAAW;AAMpB,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC;AAA4B,CAAC,KAAK;EAC9D,MAAMC,SAAS,GAAGP,YAAY,CAACM,OAAO,CAACC,SAAS,CAACC,IAAI,CAAC;EAEtD,MAAMC,QAAQ,GAAGN,qBAAqB,CAClCO,QAAQ,IAAI;IACR,OAAOA,QAAQ,CAACD,QAAQ,CAACH,OAAO,CAACK,EAAE,CAAC,IAAI;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EAC1D,CAAC,EACD,CAACN,OAAO,CAACK,EAAE,CACf,CAAC;EAED,MAAME,SAAS,GAAGf,OAAO,CAAC,MAAM;IAC5B,OAAOI,+BAA+B,CAACY,OAAO,CAACP,SAAS,CAACK,MAAM,IAAI,EAAE,CAAC;EAC1E,CAAC,EAAE,CAACL,SAAS,CAACC,IAAI,EAAEF,OAAO,CAACK,EAAE,CAAC,CAAC;EAEhC,MAAMI,iBAAiB,GAAGjB,OAAO,CAAC,MAAM;IACpC,OAAOe,SAAS,CAACG,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,MAAM,CAAC,CAACC,MAAM,GAAG,CAAC;EACtE,CAAC,EAAE,CAACN,SAAS,CAAC,CAAC;EAEf,IAAI,CAACP,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,IAAI,CAACS,iBAAiB,EAAE;IACpB,oBAAOlB,KAAA,CAAAuB,aAAA,CAAChB,WAAW;MAACiB,OAAO,EAAE;IAA8B,CAAE,CAAC;EAClE;EAEA,oBACIxB,KAAA,CAAAuB,aAAA,CAACrB,IAAI,qBAUDF,KAAA,CAAAuB,aAAA,CAACnB,aAAa;IAACqB,GAAG,EAAEhB,OAAO,CAACK,EAAG;IAACY,GAAG,EAAEV,SAAU;IAACJ,QAAQ,EAAEA,QAAQ,CAACG;EAAO,CAAE,CAC1E,CAAC;AAEf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Grid","makeDecoratable","useComponent","InputRenderer","ComponentManifestToAstConverter","useSelectFromDocument","InfoMessage","ElementInputs","element","component","name","bindings","document","id","inputs","inputsAst","convert","hasEditableInputs","filter","input","type","length","createElement","message","key","ast"],"sources":["ElementInputs.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Grid } from \"@webiny/admin-ui\";\nimport { makeDecoratable } from \"@webiny/app-admin\";\nimport type { DocumentElement } from \"@webiny/website-builder-sdk\";\nimport { useComponent } from \"~/BaseEditor/hooks/useComponent.js\";\nimport { InputRenderer } from \"./InputRenderer.js\";\nimport { ComponentManifestToAstConverter } from \"@webiny/website-builder-sdk\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\nimport { InfoMessage } from \"~/BaseEditor/defaultConfig/Sidebar/InfoMessage.js\";\n\ninterface ElementInputsProps {\n element: DocumentElement;\n}\n\nexport const ElementInputs = makeDecoratable(\"ElementInputs\", ({ element }: ElementInputsProps) => {\n const component = useComponent(element.component.name);\n\n const bindings = useSelectFromDocument(\n document => {\n return document.bindings[element.id] ?? { inputs: {} };\n },\n [element.id]\n );\n\n const inputsAst = useMemo(() => {\n return ComponentManifestToAstConverter.convert(component.inputs ?? []);\n }, [component.name, element.id]);\n\n const hasEditableInputs = useMemo(() => {\n return inputsAst.filter(input => input.type !== \"slot\").length > 0;\n }, [inputsAst]);\n\n if (!element) {\n return null;\n }\n\n if (!hasEditableInputs) {\n return <InfoMessage message={\"This element has no inputs.\"} />;\n }\n\n return (\n <Grid>\n {/*<Grid.Column key={\"repeat\"} span={12}>*/}\n {/* <Select*/}\n {/* label={\"Repeat for each\"}*/}\n {/* placeholder={\"Select binding\"}*/}\n {/* options={arrayOptions}*/}\n {/* value={repeat.value ?? \"\"}*/}\n {/* onChange={value => repeat.onChange(value === \"\" ? undefined : value)}*/}\n {/* />*/}\n {/*</Grid.Column>*/}\n <InputRenderer key={element.id} ast={inputsAst} bindings={bindings.inputs} />\n </Grid>\n );\n});\n\n// interface ElementInputProps {\n// element: DocumentElement;\n// input: ComponentInput;\n// }\n//\n// const ElementInput = ({ element, input }: ElementInputProps) => {\n// const Renderer = useInputRenderer(input.renderer || \"__unknown__\");\n//\n// const { value, onChange, onPreviewChange, setBindingType } = useInputValue(element, input);\n//\n// /* return (\n// <Renderer\n// value={value.static}\n// input={input}\n// onChange={onChange}\n// onPreviewChange={onPreviewChange}\n// />\n// );*/\n// if (value.expression) {\n// return (\n// <WithBindingToggle type={\"expression\"} setBindingType={setBindingType}>\n// <ExpressionRenderer\n// element={element}\n// value={value.expression}\n// onChange={onChange}\n// input={input}\n// />\n// </WithBindingToggle>\n// );\n// }\n//\n// return (\n// <WithBindingToggle type={\"static\"} setBindingType={setBindingType}>\n// <Renderer\n// value={value.static}\n// input={input}\n// onChange={onChange}\n// onPreviewChange={onPreviewChange}\n// />\n// </WithBindingToggle>\n// );\n// };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SAASC,YAAY;AACrB,SAASC,aAAa;AACtB,SAASC,+BAA+B,QAAQ,6BAA6B;AAC7E,SAASC,qBAAqB;AAC9B,SAASC,WAAW;AAMpB,OAAO,MAAMC,aAAa,GAAGN,eAAe,CAAC,eAAe,EAAE,CAAC;EAAEO;AAA4B,CAAC,KAAK;EAC/F,MAAMC,SAAS,GAAGP,YAAY,CAACM,OAAO,CAACC,SAAS,CAACC,IAAI,CAAC;EAEtD,MAAMC,QAAQ,GAAGN,qBAAqB,CAClCO,QAAQ,IAAI;IACR,OAAOA,QAAQ,CAACD,QAAQ,CAACH,OAAO,CAACK,EAAE,CAAC,IAAI;MAAEC,MAAM,EAAE,CAAC;IAAE,CAAC;EAC1D,CAAC,EACD,CAACN,OAAO,CAACK,EAAE,CACf,CAAC;EAED,MAAME,SAAS,GAAGhB,OAAO,CAAC,MAAM;IAC5B,OAAOK,+BAA+B,CAACY,OAAO,CAACP,SAAS,CAACK,MAAM,IAAI,EAAE,CAAC;EAC1E,CAAC,EAAE,CAACL,SAAS,CAACC,IAAI,EAAEF,OAAO,CAACK,EAAE,CAAC,CAAC;EAEhC,MAAMI,iBAAiB,GAAGlB,OAAO,CAAC,MAAM;IACpC,OAAOgB,SAAS,CAACG,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,MAAM,CAAC,CAACC,MAAM,GAAG,CAAC;EACtE,CAAC,EAAE,CAACN,SAAS,CAAC,CAAC;EAEf,IAAI,CAACP,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,IAAI,CAACS,iBAAiB,EAAE;IACpB,oBAAOnB,KAAA,CAAAwB,aAAA,CAAChB,WAAW;MAACiB,OAAO,EAAE;IAA8B,CAAE,CAAC;EAClE;EAEA,oBACIzB,KAAA,CAAAwB,aAAA,CAACtB,IAAI,qBAUDF,KAAA,CAAAwB,aAAA,CAACnB,aAAa;IAACqB,GAAG,EAAEhB,OAAO,CAACK,EAAG;IAACY,GAAG,EAAEV,SAAU;IAACJ,QAAQ,EAAEA,QAAQ,CAACG;EAAO,CAAE,CAC1E,CAAC;AAEf,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -10,6 +10,17 @@ export declare const useBindingsForElement: (elementId: string) => {
10
10
  filter?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Filter | undefined> | undefined;
11
11
  mask?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Mask<string | number> | undefined> | undefined;
12
12
  fill?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Fill | undefined> | undefined;
13
+ height?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Height<string | number> | undefined> | undefined;
14
+ left?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Left<string | number> | undefined> | undefined;
15
+ top?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Top<string | number> | undefined> | undefined;
16
+ width?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Width<string | number> | undefined> | undefined;
17
+ position?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Position | undefined> | undefined;
18
+ content?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Content | undefined> | undefined;
19
+ translate?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Translate<string | number> | undefined> | undefined;
20
+ color?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Color | undefined> | undefined;
21
+ display?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Display | undefined> | undefined;
22
+ flexDirection?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FlexDirection | undefined> | undefined;
23
+ overflowY?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverflowY | undefined> | undefined;
13
24
  accentColor?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.AccentColor | undefined> | undefined;
14
25
  alignContent?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.AlignContent | undefined> | undefined;
15
26
  alignItems?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.AlignItems | undefined> | undefined;
@@ -91,7 +102,6 @@ export declare const useBindingsForElement: (elementId: string) => {
91
102
  caretShape?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.CaretShape | undefined> | undefined;
92
103
  clear?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Clear | undefined> | undefined;
93
104
  clipRule?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ClipRule | undefined> | undefined;
94
- color?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Color | undefined> | undefined;
95
105
  colorAdjust?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.PrintColorAdjust | undefined> | undefined;
96
106
  colorInterpolationFilters?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ColorInterpolationFilters | undefined> | undefined;
97
107
  colorScheme?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ColorScheme | undefined> | undefined;
@@ -110,7 +120,6 @@ export declare const useBindingsForElement: (elementId: string) => {
110
120
  containIntrinsicWidth?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ContainIntrinsicWidth<string | number> | undefined> | undefined;
111
121
  containerName?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ContainerName | undefined> | undefined;
112
122
  containerType?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ContainerType | undefined> | undefined;
113
- content?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Content | undefined> | undefined;
114
123
  contentVisibility?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.ContentVisibility | undefined> | undefined;
115
124
  counterIncrement?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.CounterIncrement | undefined> | undefined;
116
125
  counterReset?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.CounterReset | undefined> | undefined;
@@ -120,14 +129,12 @@ export declare const useBindingsForElement: (elementId: string) => {
120
129
  cy?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Cy<string | number> | undefined> | undefined;
121
130
  d?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.D | undefined> | undefined;
122
131
  direction?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Direction | undefined> | undefined;
123
- display?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Display | undefined> | undefined;
124
132
  dominantBaseline?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.DominantBaseline | undefined> | undefined;
125
133
  emptyCells?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.EmptyCells | undefined> | undefined;
126
134
  fieldSizing?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FieldSizing | undefined> | undefined;
127
135
  fillOpacity?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FillOpacity | undefined> | undefined;
128
136
  fillRule?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FillRule | undefined> | undefined;
129
137
  flexBasis?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FlexBasis<string | number> | undefined> | undefined;
130
- flexDirection?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FlexDirection | undefined> | undefined;
131
138
  flexGrow?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FlexGrow | undefined> | undefined;
132
139
  flexShrink?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FlexShrink | undefined> | undefined;
133
140
  flexWrap?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.FlexWrap | undefined> | undefined;
@@ -171,7 +178,6 @@ export declare const useBindingsForElement: (elementId: string) => {
171
178
  gridTemplateColumns?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.GridTemplateColumns<string | number> | undefined> | undefined;
172
179
  gridTemplateRows?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.GridTemplateRows<string | number> | undefined> | undefined;
173
180
  hangingPunctuation?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.HangingPunctuation | undefined> | undefined;
174
- height?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Height<string | number> | undefined> | undefined;
175
181
  hyphenateCharacter?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.HyphenateCharacter | undefined> | undefined;
176
182
  hyphenateLimitChars?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.HyphenateLimitChars | undefined> | undefined;
177
183
  hyphens?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Hyphens | undefined> | undefined;
@@ -191,7 +197,6 @@ export declare const useBindingsForElement: (elementId: string) => {
191
197
  justifyItems?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.JustifyItems | undefined> | undefined;
192
198
  justifySelf?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.JustifySelf | undefined> | undefined;
193
199
  justifyTracks?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.JustifyTracks | undefined> | undefined;
194
- left?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Left<string | number> | undefined> | undefined;
195
200
  letterSpacing?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.LetterSpacing<string | number> | undefined> | undefined;
196
201
  lightingColor?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.LightingColor | undefined> | undefined;
197
202
  lineBreak?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.LineBreak | undefined> | undefined;
@@ -265,7 +270,6 @@ export declare const useBindingsForElement: (elementId: string) => {
265
270
  overflowInline?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverflowInline | undefined> | undefined;
266
271
  overflowWrap?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverflowWrap | undefined> | undefined;
267
272
  overflowX?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverflowX | undefined> | undefined;
268
- overflowY?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverflowY | undefined> | undefined;
269
273
  overlay?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Overlay | undefined> | undefined;
270
274
  overscrollBehaviorBlock?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverscrollBehaviorBlock | undefined> | undefined;
271
275
  overscrollBehaviorInline?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.OverscrollBehaviorInline | undefined> | undefined;
@@ -284,7 +288,6 @@ export declare const useBindingsForElement: (elementId: string) => {
284
288
  perspective?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Perspective<string | number> | undefined> | undefined;
285
289
  perspectiveOrigin?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.PerspectiveOrigin<string | number> | undefined> | undefined;
286
290
  pointerEvents?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.PointerEvents | undefined> | undefined;
287
- position?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Position | undefined> | undefined;
288
291
  positionAnchor?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.PositionAnchor | undefined> | undefined;
289
292
  positionArea?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.PositionArea | undefined> | undefined;
290
293
  positionTryFallbacks?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.PositionTryFallbacks | undefined> | undefined;
@@ -380,7 +383,6 @@ export declare const useBindingsForElement: (elementId: string) => {
380
383
  textWrapMode?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TextWrapMode | undefined> | undefined;
381
384
  textWrapStyle?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TextWrapStyle | undefined> | undefined;
382
385
  timelineScope?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TimelineScope | undefined> | undefined;
383
- top?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Top<string | number> | undefined> | undefined;
384
386
  touchAction?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TouchAction | undefined> | undefined;
385
387
  transformBox?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TransformBox | undefined> | undefined;
386
388
  transformOrigin?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TransformOrigin<string | number> | undefined> | undefined;
@@ -390,7 +392,6 @@ export declare const useBindingsForElement: (elementId: string) => {
390
392
  transitionDuration?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TransitionDuration<string & {}> | undefined> | undefined;
391
393
  transitionProperty?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TransitionProperty | undefined> | undefined;
392
394
  transitionTimingFunction?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.TransitionTimingFunction | undefined> | undefined;
393
- translate?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Translate<string | number> | undefined> | undefined;
394
395
  unicodeBidi?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.UnicodeBidi | undefined> | undefined;
395
396
  userSelect?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.UserSelect | undefined> | undefined;
396
397
  vectorEffect?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.VectorEffect | undefined> | undefined;
@@ -404,7 +405,6 @@ export declare const useBindingsForElement: (elementId: string) => {
404
405
  whiteSpace?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.WhiteSpace | undefined> | undefined;
405
406
  whiteSpaceCollapse?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.WhiteSpaceCollapse | undefined> | undefined;
406
407
  widows?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Widows | undefined> | undefined;
407
- width?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.Width<string | number> | undefined> | undefined;
408
408
  willChange?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.WillChange | undefined> | undefined;
409
409
  wordBreak?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.WordBreak | undefined> | undefined;
410
410
  wordSpacing?: import("@webiny/website-builder-sdk").StyleValueBinding<import("csstype").Property.WordSpacing<string | number> | undefined> | undefined;
@@ -3,13 +3,11 @@ import set from "lodash/set.js";
3
3
  import { generateAlphaNumericLowerCaseId } from "@webiny/utils/generateId.js";
4
4
  import { useDocumentEditor } from "../../../../DocumentEditor/index.js";
5
5
  import { Commands } from "../../../index.js";
6
- import { functionConverter } from "@webiny/website-builder-sdk";
6
+ import { functionConverter, InputsBindingsProcessor, StylesBindingsProcessor, createElement } from "@webiny/website-builder-sdk";
7
+ import { executeOnChange, applyAncestorUpdates } from "../../../../editorSdk/utils/executeOnChange.js";
7
8
  import { useBreakpoint } from "../../../hooks/useBreakpoint.js";
8
9
  import { useBindingsForElement } from "./useBindingsForElement.js";
9
10
  import { useElementInputsAst } from "../../../hooks/useElementInputsAst.js";
10
- import { InputsBindingsProcessor } from "@webiny/website-builder-sdk";
11
- import { StylesBindingsProcessor } from "@webiny/website-builder-sdk";
12
- import { createElement } from "@webiny/website-builder-sdk";
13
11
  import { BreakpointElementMetadata, ElementMetadata, InputMetadata } from "../../../metadata/index.js";
14
12
  import { useElementFactory } from "./useElementFactory.js";
15
13
  export class InputValueObject {
@@ -108,12 +106,25 @@ export const useInputValue = (elementId, node) => {
108
106
  breakpoint: breakpoint.name
109
107
  });
110
108
  }
109
+
110
+ // Run manifest.onChange + onDescendantChange on ancestors
111
+ const ancestorUpdates = executeOnChange({
112
+ editor,
113
+ elementId,
114
+ deepInputs: devFriendlyInputs,
115
+ action: "update",
116
+ breakpointNames,
117
+ baseBreakpoint: breakpoint.name,
118
+ elementFactory,
119
+ deepStyles: devFriendlyStyles
120
+ });
111
121
  editor.updateDocument(document => {
112
122
  const inputs = inputsProcessor.createUpdate(devFriendlyInputs, breakpoint.name);
113
123
  const styles = stylesProcessor.createUpdate(devFriendlyStyles, breakpoint.name);
114
124
  inputs.applyToDocument(document);
115
125
  styles.applyToDocument(document);
116
126
  inputMetadata.applyToDocument(document);
127
+ applyAncestorUpdates(document, ancestorUpdates, breakpointNames, breakpoint.name, elementFactory);
117
128
  });
118
129
 
119
130
  // Clear local value
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useState","set","generateAlphaNumericLowerCaseId","useDocumentEditor","Commands","functionConverter","useBreakpoint","useBindingsForElement","useElementInputsAst","InputsBindingsProcessor","StylesBindingsProcessor","createElement","BreakpointElementMetadata","ElementMetadata","InputMetadata","useElementFactory","InputValueObject","constructor","value","get","unset","undefined","convertBracketPathToDotPath","path","replace","withTimeout","cb","args","setTimeout","useInputValue","elementId","node","breakpoint","breakpoints","editor","inputsAst","elementFactory","breakpointNames","map","bp","name","rawBindings","resolvedBindings","inheritanceMap","stylesProcessor","inputsProcessor","inputs","inputMetadata","elementMetadata","metadata","input","responsive","valueId","id","localState","setLocalValue","onChange","deepInputs","toDeepInputs","valueObject","updaterInput","valuePath","devFriendlyInputs","structuredClone","devFriendlyStyles","toDeepStyles","styles","callback","deserialize","publicApi","params","updateDocument","document","createUpdate","applyToDocument","onPreviewChange","static","updatedInputs","patch","createJsonPatch","executeCommand","PreviewPatchElement","setBindingType","type","state","bindings","valueBinding","expression","onReset"],"sources":["useInputValue.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport set from \"lodash/set.js\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils/generateId.js\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport type { ValueBinding, CreateElementParams } from \"@webiny/website-builder-sdk\";\nimport { Commands } from \"~/BaseEditor/index.js\";\nimport type { InputAstNode } from \"@webiny/website-builder-sdk\";\nimport { functionConverter } from \"@webiny/website-builder-sdk\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint.js\";\nimport { useBindingsForElement } from \"./useBindingsForElement.js\";\nimport { useElementInputsAst } from \"~/BaseEditor/hooks/useElementInputsAst.js\";\nimport { InputsBindingsProcessor } from \"@webiny/website-builder-sdk\";\nimport { StylesBindingsProcessor } from \"@webiny/website-builder-sdk\";\nimport { createElement } from \"@webiny/website-builder-sdk\";\nimport {\n BreakpointElementMetadata,\n ElementMetadata,\n InputMetadata,\n type IMetadata\n} from \"~/BaseEditor/metadata/index.js\";\nimport { useElementFactory } from \"./useElementFactory.js\";\n\nexport type OnChangeParams = {\n value: InputValueObject;\n metadata: IMetadata;\n};\n\nexport type InputBindingOnChange = (cb: (params: OnChangeParams) => void) => void;\n\nexport class InputValueObject {\n private value: any;\n\n constructor(value: any) {\n this.value = value;\n }\n\n set(value: any) {\n this.value = value;\n }\n\n get() {\n return this.value;\n }\n\n unset() {\n this.value = undefined;\n }\n}\n\nfunction convertBracketPathToDotPath(path: string): string {\n return path.replace(/\\/(\\d+)\\//g, \".$1\");\n}\n\n/**\n * This makes UI interaction smoother (input blur in particular).\n */\nconst withTimeout = <T extends (...args: any[]) => unknown>(cb: T): T => {\n return ((...args: Parameters<T>) => {\n setTimeout(() => {\n cb(...args);\n }, 0);\n }) as unknown as T;\n};\n\nexport const useInputValue = (elementId: string, node: InputAstNode) => {\n const { breakpoint, breakpoints } = useBreakpoint();\n const editor = useDocumentEditor();\n const inputsAst = useElementInputsAst(elementId);\n const elementFactory = useElementFactory();\n\n const breakpointNames = useMemo(() => breakpoints.map(bp => bp.name), []);\n\n // These bindings already include per-breakpoint overrides.\n const { rawBindings, resolvedBindings, inheritanceMap } = useBindingsForElement(elementId);\n\n const stylesProcessor = useMemo(() => {\n return new StylesBindingsProcessor(elementId ?? \"\", breakpointNames, rawBindings);\n }, [elementId, rawBindings]);\n\n const inputsProcessor = useMemo(() => {\n return new InputsBindingsProcessor(\n elementId ?? \"\",\n inputsAst,\n breakpointNames,\n rawBindings,\n elementFactory\n );\n }, [elementId, rawBindings]);\n\n // This value is the final calculated breakpoint value.\n const value = resolvedBindings.inputs[node.path];\n\n const inputMetadata = useMemo((): IMetadata => {\n let elementMetadata: IMetadata = new ElementMetadata(elementId, rawBindings.metadata);\n\n if (node.input.responsive) {\n elementMetadata = new BreakpointElementMetadata(\n breakpointNames,\n breakpoint.name,\n elementMetadata\n );\n }\n\n const valueId = value?.id ?? generateAlphaNumericLowerCaseId();\n\n return new InputMetadata(valueId, elementMetadata);\n }, [elementId, breakpoint.name, rawBindings]);\n\n const [localState, setLocalValue] = useState<ValueBinding>();\n\n const onChange = useCallback(\n withTimeout((cb: (params: OnChangeParams) => void) => {\n const deepInputs = inputsProcessor.toDeepInputs(resolvedBindings.inputs);\n\n const valueObject = new InputValueObject(value);\n\n const updaterInput = {\n value: valueObject,\n metadata: inputMetadata\n };\n\n // Change the input value (and metadata).\n cb(updaterInput);\n\n const valuePath = convertBracketPathToDotPath(node.path);\n const devFriendlyInputs = set(\n structuredClone(deepInputs),\n valuePath,\n valueObject.get()\n );\n\n const devFriendlyStyles = stylesProcessor.toDeepStyles(rawBindings.styles ?? {});\n\n // Process input's `onChange`.\n if (node.input.onChange) {\n const callback = functionConverter.deserialize(\n // TODO: we know it's a string, but on the frontend it's a function. Fix types.\n node.input.onChange! as any as string\n );\n\n // Run onChange callback.\n const publicApi = {\n inputs: devFriendlyInputs,\n styles: devFriendlyStyles,\n createElement: (params: CreateElementParams) => {\n return createElement(params);\n }\n };\n\n // Run input's `onChange` callback.\n callback(publicApi, {\n breakpoint: breakpoint.name\n });\n }\n\n editor.updateDocument(document => {\n const inputs = inputsProcessor.createUpdate(devFriendlyInputs, breakpoint.name);\n const styles = stylesProcessor.createUpdate(devFriendlyStyles, breakpoint.name);\n\n inputs.applyToDocument(document);\n styles.applyToDocument(document);\n\n inputMetadata.applyToDocument(document);\n });\n\n // Clear local value\n setLocalValue(undefined);\n }),\n [elementId, resolvedBindings, breakpoint]\n );\n\n /**\n * In preview, we do not update the editor document. Instead, we create a patch and send it to the preview app.\n */\n const onPreviewChange = useCallback(\n (cb: (params: OnChangeParams) => void) => {\n const deepInputs = inputsProcessor.toDeepInputs(resolvedBindings.inputs);\n\n const valueObject = new InputValueObject(localState ?? value);\n\n const updaterInput = {\n value: valueObject,\n metadata: inputMetadata\n };\n\n // Change the input value (and metadata).\n cb(updaterInput);\n\n const valuePath = convertBracketPathToDotPath(node.path);\n const devFriendlyInputs = set(\n structuredClone(deepInputs),\n valuePath,\n valueObject.get()\n );\n\n setLocalValue({ static: valueObject.get() });\n\n const updatedInputs = inputsProcessor.createUpdate(devFriendlyInputs, breakpoint.name);\n const patch = updatedInputs.createJsonPatch(rawBindings);\n\n editor.executeCommand(Commands.PreviewPatchElement, { elementId, patch });\n },\n [elementId, rawBindings, localState]\n );\n\n const setBindingType = useCallback(\n (type: \"static\" | \"expression\") => {\n editor.updateDocument(state => {\n const bindings = state.bindings[elementId];\n const valueBinding = bindings.inputs![node.path];\n\n if (type === \"static\") {\n // Switching to static bindings means we have to remove the expression binding.\n delete valueBinding.expression;\n } else {\n valueBinding.expression = \"$noop\";\n }\n\n state.bindings[elementId] = {\n ...bindings,\n inputs: {\n ...bindings.inputs,\n [node.path]: valueBinding\n }\n };\n });\n },\n [elementId]\n );\n\n const onReset = useCallback(() => {\n onChange(({ value, metadata }) => {\n value.unset();\n metadata.unset();\n });\n }, [onChange]);\n\n return {\n value: localState ?? value,\n metadata: inputMetadata,\n inheritanceMap: inheritanceMap.inputs[node.path],\n onReset,\n onChange,\n onPreviewChange,\n setBindingType\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useState","set","generateAlphaNumericLowerCaseId","useDocumentEditor","Commands","functionConverter","InputsBindingsProcessor","StylesBindingsProcessor","createElement","executeOnChange","applyAncestorUpdates","useBreakpoint","useBindingsForElement","useElementInputsAst","BreakpointElementMetadata","ElementMetadata","InputMetadata","useElementFactory","InputValueObject","constructor","value","get","unset","undefined","convertBracketPathToDotPath","path","replace","withTimeout","cb","args","setTimeout","useInputValue","elementId","node","breakpoint","breakpoints","editor","inputsAst","elementFactory","breakpointNames","map","bp","name","rawBindings","resolvedBindings","inheritanceMap","stylesProcessor","inputsProcessor","inputs","inputMetadata","elementMetadata","metadata","input","responsive","valueId","id","localState","setLocalValue","onChange","deepInputs","toDeepInputs","valueObject","updaterInput","valuePath","devFriendlyInputs","structuredClone","devFriendlyStyles","toDeepStyles","styles","callback","deserialize","publicApi","params","ancestorUpdates","action","baseBreakpoint","deepStyles","updateDocument","document","createUpdate","applyToDocument","onPreviewChange","static","updatedInputs","patch","createJsonPatch","executeCommand","PreviewPatchElement","setBindingType","type","state","bindings","valueBinding","expression","onReset"],"sources":["useInputValue.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport set from \"lodash/set.js\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils/generateId.js\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport type { ValueBinding, CreateElementParams } from \"@webiny/website-builder-sdk\";\nimport { Commands } from \"~/BaseEditor/index.js\";\nimport type { InputAstNode } from \"@webiny/website-builder-sdk\";\nimport {\n functionConverter,\n InputsBindingsProcessor,\n StylesBindingsProcessor,\n createElement\n} from \"@webiny/website-builder-sdk\";\nimport { executeOnChange, applyAncestorUpdates } from \"~/editorSdk/utils/executeOnChange.js\";\nimport { useBreakpoint } from \"~/BaseEditor/hooks/useBreakpoint.js\";\nimport { useBindingsForElement } from \"./useBindingsForElement.js\";\nimport { useElementInputsAst } from \"~/BaseEditor/hooks/useElementInputsAst.js\";\nimport {\n BreakpointElementMetadata,\n ElementMetadata,\n InputMetadata,\n type IMetadata\n} from \"~/BaseEditor/metadata/index.js\";\nimport { useElementFactory } from \"./useElementFactory.js\";\n\nexport type OnChangeParams = {\n value: InputValueObject;\n metadata: IMetadata;\n};\n\nexport type InputBindingOnChange = (cb: (params: OnChangeParams) => void) => void;\n\nexport class InputValueObject {\n private value: any;\n\n constructor(value: any) {\n this.value = value;\n }\n\n set(value: any) {\n this.value = value;\n }\n\n get() {\n return this.value;\n }\n\n unset() {\n this.value = undefined;\n }\n}\n\nfunction convertBracketPathToDotPath(path: string): string {\n return path.replace(/\\/(\\d+)\\//g, \".$1\");\n}\n\n/**\n * This makes UI interaction smoother (input blur in particular).\n */\nconst withTimeout = <T extends (...args: any[]) => unknown>(cb: T): T => {\n return ((...args: Parameters<T>) => {\n setTimeout(() => {\n cb(...args);\n }, 0);\n }) as unknown as T;\n};\n\nexport const useInputValue = (elementId: string, node: InputAstNode) => {\n const { breakpoint, breakpoints } = useBreakpoint();\n const editor = useDocumentEditor();\n const inputsAst = useElementInputsAst(elementId);\n const elementFactory = useElementFactory();\n\n const breakpointNames = useMemo(() => breakpoints.map(bp => bp.name), []);\n\n // These bindings already include per-breakpoint overrides.\n const { rawBindings, resolvedBindings, inheritanceMap } = useBindingsForElement(elementId);\n\n const stylesProcessor = useMemo(() => {\n return new StylesBindingsProcessor(elementId ?? \"\", breakpointNames, rawBindings);\n }, [elementId, rawBindings]);\n\n const inputsProcessor = useMemo(() => {\n return new InputsBindingsProcessor(\n elementId ?? \"\",\n inputsAst,\n breakpointNames,\n rawBindings,\n elementFactory\n );\n }, [elementId, rawBindings]);\n\n // This value is the final calculated breakpoint value.\n const value = resolvedBindings.inputs[node.path];\n\n const inputMetadata = useMemo((): IMetadata => {\n let elementMetadata: IMetadata = new ElementMetadata(elementId, rawBindings.metadata);\n\n if (node.input.responsive) {\n elementMetadata = new BreakpointElementMetadata(\n breakpointNames,\n breakpoint.name,\n elementMetadata\n );\n }\n\n const valueId = value?.id ?? generateAlphaNumericLowerCaseId();\n\n return new InputMetadata(valueId, elementMetadata);\n }, [elementId, breakpoint.name, rawBindings]);\n\n const [localState, setLocalValue] = useState<ValueBinding>();\n\n const onChange = useCallback(\n withTimeout((cb: (params: OnChangeParams) => void) => {\n const deepInputs = inputsProcessor.toDeepInputs(resolvedBindings.inputs);\n\n const valueObject = new InputValueObject(value);\n\n const updaterInput = {\n value: valueObject,\n metadata: inputMetadata\n };\n\n // Change the input value (and metadata).\n cb(updaterInput);\n\n const valuePath = convertBracketPathToDotPath(node.path);\n const devFriendlyInputs = set(\n structuredClone(deepInputs),\n valuePath,\n valueObject.get()\n );\n\n const devFriendlyStyles = stylesProcessor.toDeepStyles(rawBindings.styles ?? {});\n\n // Process input's `onChange`.\n if (node.input.onChange) {\n const callback = functionConverter.deserialize(\n // TODO: we know it's a string, but on the frontend it's a function. Fix types.\n node.input.onChange! as any as string\n );\n\n // Run onChange callback.\n const publicApi = {\n inputs: devFriendlyInputs,\n styles: devFriendlyStyles,\n createElement: (params: CreateElementParams) => {\n return createElement(params);\n }\n };\n\n // Run input's `onChange` callback.\n callback(publicApi, {\n breakpoint: breakpoint.name\n });\n }\n\n // Run manifest.onChange + onDescendantChange on ancestors\n const ancestorUpdates = executeOnChange({\n editor,\n elementId,\n deepInputs: devFriendlyInputs,\n action: \"update\",\n breakpointNames,\n baseBreakpoint: breakpoint.name,\n elementFactory,\n deepStyles: devFriendlyStyles\n });\n\n editor.updateDocument(document => {\n const inputs = inputsProcessor.createUpdate(devFriendlyInputs, breakpoint.name);\n const styles = stylesProcessor.createUpdate(devFriendlyStyles, breakpoint.name);\n\n inputs.applyToDocument(document);\n styles.applyToDocument(document);\n\n inputMetadata.applyToDocument(document);\n\n applyAncestorUpdates(\n document,\n ancestorUpdates,\n breakpointNames,\n breakpoint.name,\n elementFactory\n );\n });\n\n // Clear local value\n setLocalValue(undefined);\n }),\n [elementId, resolvedBindings, breakpoint]\n );\n\n /**\n * In preview, we do not update the editor document. Instead, we create a patch and send it to the preview app.\n */\n const onPreviewChange = useCallback(\n (cb: (params: OnChangeParams) => void) => {\n const deepInputs = inputsProcessor.toDeepInputs(resolvedBindings.inputs);\n\n const valueObject = new InputValueObject(localState ?? value);\n\n const updaterInput = {\n value: valueObject,\n metadata: inputMetadata\n };\n\n // Change the input value (and metadata).\n cb(updaterInput);\n\n const valuePath = convertBracketPathToDotPath(node.path);\n const devFriendlyInputs = set(\n structuredClone(deepInputs),\n valuePath,\n valueObject.get()\n );\n\n setLocalValue({ static: valueObject.get() });\n\n const updatedInputs = inputsProcessor.createUpdate(devFriendlyInputs, breakpoint.name);\n const patch = updatedInputs.createJsonPatch(rawBindings);\n\n editor.executeCommand(Commands.PreviewPatchElement, { elementId, patch });\n },\n [elementId, rawBindings, localState]\n );\n\n const setBindingType = useCallback(\n (type: \"static\" | \"expression\") => {\n editor.updateDocument(state => {\n const bindings = state.bindings[elementId];\n const valueBinding = bindings.inputs![node.path];\n\n if (type === \"static\") {\n // Switching to static bindings means we have to remove the expression binding.\n delete valueBinding.expression;\n } else {\n valueBinding.expression = \"$noop\";\n }\n\n state.bindings[elementId] = {\n ...bindings,\n inputs: {\n ...bindings.inputs,\n [node.path]: valueBinding\n }\n };\n });\n },\n [elementId]\n );\n\n const onReset = useCallback(() => {\n onChange(({ value, metadata }) => {\n value.unset();\n metadata.unset();\n });\n }, [onChange]);\n\n return {\n value: localState ?? value,\n metadata: inputMetadata,\n inheritanceMap: inheritanceMap.inputs[node.path],\n onReset,\n onChange,\n onPreviewChange,\n setBindingType\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { useSelectFromEditor } from "../../../hooks/useSelectFromEditor.js";
2
2
  import { functionConverter } from "@webiny/website-builder-sdk";
3
- import { useSelectFromDocument } from "../../../hooks/useSelectFromDocument.js";
3
+ import { useDocumentEditor } from "../../../../DocumentEditor/index.js";
4
4
  const getComponentFilter = group => {
5
5
  if (group.name === "custom") {
6
6
  return cmp => !cmp.group;
@@ -11,8 +11,9 @@ const getComponentFilter = group => {
11
11
  return cmp => cmp.group === group.name;
12
12
  };
13
13
  export const useComponentGroups = () => {
14
- const document = useSelectFromDocument(document => document);
14
+ const editor = useDocumentEditor();
15
15
  return useSelectFromEditor(state => {
16
+ const document = editor.getDocumentState().read();
16
17
  const groups = Object.values(state.componentGroups);
17
18
  const components = Object.values(state.components).filter(item => !item.hideFromToolbar);
18
19
  return groups.map(group => {
@@ -1 +1 @@
1
- {"version":3,"names":["useSelectFromEditor","functionConverter","useSelectFromDocument","getComponentFilter","group","name","cmp","filter","deserialize","useComponentGroups","document","state","groups","Object","values","componentGroups","components","item","hideFromToolbar","map","items","component"],"sources":["useComponentGroups.ts"],"sourcesContent":["import { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nimport type {\n ComponentGroupFilterContext,\n ComponentManifest,\n SerializedComponentGroup\n} from \"@webiny/website-builder-sdk\";\nimport { functionConverter } from \"@webiny/website-builder-sdk\";\nimport { useSelectFromDocument } from \"~/BaseEditor/hooks/useSelectFromDocument.js\";\n\ntype WithItems<T> = T & { items: ComponentManifest[] };\n\nconst getComponentFilter = (\n group: SerializedComponentGroup\n): ((cmp: ComponentManifest, context: ComponentGroupFilterContext) => boolean) => {\n if (group.name === \"custom\") {\n return cmp => !cmp.group;\n }\n\n if (group.filter) {\n return functionConverter.deserialize(group.filter!);\n }\n\n return cmp => cmp.group === group.name;\n};\n\nexport const useComponentGroups = () => {\n const document = useSelectFromDocument(document => document);\n\n return useSelectFromEditor<WithItems<SerializedComponentGroup>[]>(state => {\n const groups = Object.values(state.componentGroups);\n const components = Object.values(state.components).filter(item => !item.hideFromToolbar);\n\n return groups.map(group => {\n const filter = getComponentFilter(group);\n\n return {\n ...group,\n items: components.filter(component => {\n return filter(component, { document });\n })\n };\n });\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB;AAM5B,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,qBAAqB;AAI9B,MAAMC,kBAAkB,GACpBC,KAA+B,IAC+C;EAC9E,IAAIA,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IACzB,OAAOC,GAAG,IAAI,CAACA,GAAG,CAACF,KAAK;EAC5B;EAEA,IAAIA,KAAK,CAACG,MAAM,EAAE;IACd,OAAON,iBAAiB,CAACO,WAAW,CAACJ,KAAK,CAACG,MAAO,CAAC;EACvD;EAEA,OAAOD,GAAG,IAAIA,GAAG,CAACF,KAAK,KAAKA,KAAK,CAACC,IAAI;AAC1C,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAGR,qBAAqB,CAACQ,QAAQ,IAAIA,QAAQ,CAAC;EAE5D,OAAOV,mBAAmB,CAAwCW,KAAK,IAAI;IACvE,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACH,KAAK,CAACI,eAAe,CAAC;IACnD,MAAMC,UAAU,GAAGH,MAAM,CAACC,MAAM,CAACH,KAAK,CAACK,UAAU,CAAC,CAACT,MAAM,CAACU,IAAI,IAAI,CAACA,IAAI,CAACC,eAAe,CAAC;IAExF,OAAON,MAAM,CAACO,GAAG,CAACf,KAAK,IAAI;MACvB,MAAMG,MAAM,GAAGJ,kBAAkB,CAACC,KAAK,CAAC;MAExC,OAAO;QACH,GAAGA,KAAK;QACRgB,KAAK,EAAEJ,UAAU,CAACT,MAAM,CAACc,SAAS,IAAI;UAClC,OAAOd,MAAM,CAACc,SAAS,EAAE;YAAEX;UAAS,CAAC,CAAC;QAC1C,CAAC;MACL,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useSelectFromEditor","functionConverter","useDocumentEditor","getComponentFilter","group","name","cmp","filter","deserialize","useComponentGroups","editor","state","document","getDocumentState","read","groups","Object","values","componentGroups","components","item","hideFromToolbar","map","items","component"],"sources":["useComponentGroups.ts"],"sourcesContent":["import { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nimport type {\n ComponentGroupFilterContext,\n ComponentManifest,\n SerializedComponentGroup\n} from \"@webiny/website-builder-sdk\";\nimport { functionConverter } from \"@webiny/website-builder-sdk\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\n\ntype WithItems<T> = T & { items: ComponentManifest[] };\n\nconst getComponentFilter = (\n group: SerializedComponentGroup\n): ((cmp: ComponentManifest, context: ComponentGroupFilterContext) => boolean) => {\n if (group.name === \"custom\") {\n return cmp => !cmp.group;\n }\n\n if (group.filter) {\n return functionConverter.deserialize(group.filter!);\n }\n\n return cmp => cmp.group === group.name;\n};\n\nexport const useComponentGroups = () => {\n const editor = useDocumentEditor();\n\n return useSelectFromEditor<WithItems<SerializedComponentGroup>[]>(state => {\n const document = editor.getDocumentState().read();\n const groups = Object.values(state.componentGroups);\n const components = Object.values(state.components).filter(item => !item.hideFromToolbar);\n\n return groups.map(group => {\n const filter = getComponentFilter(group);\n\n return {\n ...group,\n items: components.filter(component => {\n return filter(component, { document });\n })\n };\n });\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB;AAM5B,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,iBAAiB;AAI1B,MAAMC,kBAAkB,GACpBC,KAA+B,IAC+C;EAC9E,IAAIA,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IACzB,OAAOC,GAAG,IAAI,CAACA,GAAG,CAACF,KAAK;EAC5B;EAEA,IAAIA,KAAK,CAACG,MAAM,EAAE;IACd,OAAON,iBAAiB,CAACO,WAAW,CAACJ,KAAK,CAACG,MAAO,CAAC;EACvD;EAEA,OAAOD,GAAG,IAAIA,GAAG,CAACF,KAAK,KAAKA,KAAK,CAACC,IAAI;AAC1C,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAGA,CAAA,KAAM;EACpC,MAAMC,MAAM,GAAGR,iBAAiB,CAAC,CAAC;EAElC,OAAOF,mBAAmB,CAAwCW,KAAK,IAAI;IACvE,MAAMC,QAAQ,GAAGF,MAAM,CAACG,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;IACjD,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,KAAK,CAACO,eAAe,CAAC;IACnD,MAAMC,UAAU,GAAGH,MAAM,CAACC,MAAM,CAACN,KAAK,CAACQ,UAAU,CAAC,CAACZ,MAAM,CAACa,IAAI,IAAI,CAACA,IAAI,CAACC,eAAe,CAAC;IAExF,OAAON,MAAM,CAACO,GAAG,CAAClB,KAAK,IAAI;MACvB,MAAMG,MAAM,GAAGJ,kBAAkB,CAACC,KAAK,CAAC;MAExC,OAAO;QACH,GAAGA,KAAK;QACRmB,KAAK,EAAEJ,UAAU,CAACZ,MAAM,CAACiB,SAAS,IAAI;UAClC,OAAOjB,MAAM,CAACiB,SAAS,EAAE;YAAEZ;UAAS,CAAC,CAAC;QAC1C,CAAC;MACL,CAAC;IACL,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import { Commands } from "../../BaseEditor/commands.js";
2
+ import type { CommandPayload } from "../../editorSdk/createCommand.js";
3
+ export declare function useCreateElement(): {
4
+ createElement: (payload: CommandPayload<typeof Commands.CreateElement>) => void;
5
+ };
@@ -0,0 +1,14 @@
1
+ import { useCallback } from "react";
2
+ import { useDocumentEditor } from "../../DocumentEditor/index.js";
3
+ import { Commands } from "../commands.js";
4
+ export function useCreateElement() {
5
+ const editor = useDocumentEditor();
6
+ const createElement = useCallback(payload => {
7
+ editor.executeCommand(Commands.CreateElement, payload);
8
+ }, [editor]);
9
+ return {
10
+ createElement
11
+ };
12
+ }
13
+
14
+ //# sourceMappingURL=useCreateElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useDocumentEditor","Commands","useCreateElement","editor","createElement","payload","executeCommand","CreateElement"],"sources":["useCreateElement.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport { Commands } from \"~/BaseEditor/commands.js\";\nimport type { CommandPayload } from \"~/editorSdk/createCommand.js\";\n\nexport function useCreateElement() {\n const editor = useDocumentEditor();\n\n const createElement = useCallback(\n (payload: CommandPayload<typeof Commands.CreateElement>) => {\n editor.executeCommand(Commands.CreateElement, payload);\n },\n [editor]\n );\n\n return { createElement };\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,iBAAiB;AAC1B,SAASC,QAAQ;AAGjB,OAAO,SAASC,gBAAgBA,CAAA,EAAG;EAC/B,MAAMC,MAAM,GAAGH,iBAAiB,CAAC,CAAC;EAElC,MAAMI,aAAa,GAAGL,WAAW,CAC5BM,OAAsD,IAAK;IACxDF,MAAM,CAACG,cAAc,CAACL,QAAQ,CAACM,aAAa,EAAEF,OAAO,CAAC;EAC1D,CAAC,EACD,CAACF,MAAM,CACX,CAAC;EAED,OAAO;IAAEC;EAAc,CAAC;AAC5B","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare function useDeleteElement(): {
2
+ deleteElement: (id: string) => void;
3
+ };