@webiny/app-website-builder 0.0.0-unstable.a4f3e4ea8b → 0.0.0-unstable.a85ef555b2

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 (364) hide show
  1. package/BaseEditor/config/Sidebar/Tab.d.ts +0 -4
  2. package/BaseEditor/config/Sidebar/Tab.js +5 -21
  3. package/BaseEditor/config/Sidebar/Tab.js.map +1 -1
  4. package/BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.js +6 -66
  5. package/BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.js.map +1 -1
  6. package/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js.map +1 -1
  7. package/BaseEditor/defaultConfig/Content/Preview/Iframe.d.ts +2 -2
  8. package/BaseEditor/defaultConfig/Content/Preview/Overlays/ElementOverlays.d.ts +2 -2
  9. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js +1 -1
  10. package/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js.map +1 -1
  11. package/BaseEditor/defaultConfig/Content/usePreviewDomain.d.ts +1 -6
  12. package/BaseEditor/defaultConfig/Content/usePreviewDomain.js +1 -26
  13. package/BaseEditor/defaultConfig/DocumentStateEditor/DocumentStateEditor.d.ts +2 -2
  14. package/BaseEditor/defaultConfig/ElementInputRenderers.js +16 -0
  15. package/BaseEditor/defaultConfig/ElementInputRenderers.js.map +1 -1
  16. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js +1 -6
  17. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js.map +1 -1
  18. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.js +11 -2
  19. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.js.map +1 -1
  20. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.js +2 -5
  21. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.js.map +1 -1
  22. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.d.ts +22 -0
  23. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.js +17 -0
  24. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.js.map +1 -0
  25. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.test.d.ts +1 -0
  26. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.test.js +64 -0
  27. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.test.js.map +1 -0
  28. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js +7 -2
  29. package/BaseEditor/defaultConfig/Sidebar/ElementSettings/useInputValue.js.map +1 -1
  30. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundColor.d.ts +6 -2
  31. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.d.ts +6 -2
  32. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.js +12 -1
  33. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundImage.js.map +1 -1
  34. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundPosition.d.ts +6 -2
  35. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Background/BackgroundScaling.d.ts +6 -2
  36. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderColor.d.ts +2 -2
  37. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderRadius.d.ts +2 -2
  38. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderStyle.d.ts +2 -2
  39. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Border/BorderWidth.d.ts +2 -2
  40. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/Alignment.d.ts +6 -2
  41. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Layout/LengthWithUnitInput.d.ts +2 -2
  42. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Margin.d.ts +2 -2
  43. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/MarginPadding/Padding.d.ts +2 -2
  44. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/Groups/Visibility/Visibility.d.ts +2 -2
  45. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.js +1 -1
  46. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/SidebarRow.js.map +1 -1
  47. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js +7 -7
  48. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleProperties.js.map +1 -1
  49. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.js +2 -5
  50. package/BaseEditor/defaultConfig/Sidebar/StyleSettings/StyleSettingsGroup.js.map +1 -1
  51. package/BaseEditor/defaultConfig/Toolbar/Navigator/Navigator.d.ts +2 -2
  52. package/DocumentEditor/DocumentEditor.d.ts +14 -5
  53. package/DocumentEditor/DocumentEditor.js +10 -6
  54. package/DocumentEditor/DocumentEditor.js.map +1 -1
  55. package/DocumentEditor/StateInspector.d.ts +4 -2
  56. package/Extension.js +15 -2
  57. package/Extension.js.map +1 -1
  58. package/domain/Page/Page.d.ts +2 -0
  59. package/domain/Page/Page.js +1 -0
  60. package/domain/Page/Page.js.map +1 -1
  61. package/domain/PageRevision/PageRevision.d.ts +11 -0
  62. package/domain/PageRevision/PageRevision.js +20 -0
  63. package/domain/PageRevision/PageRevision.js.map +1 -1
  64. package/ecommerce/components/ResourcePage.d.ts +6 -2
  65. package/ecommerce/components/ResourcesList.d.ts +4 -4
  66. package/ecommerce/components/ResourcesPicker.d.ts +9 -4
  67. package/editorSdk/CommandBus.js.map +1 -1
  68. package/features/experiments/ExperimentsGateway.d.ts +30 -0
  69. package/features/experiments/ExperimentsGateway.js +326 -0
  70. package/features/experiments/ExperimentsGateway.js.map +1 -0
  71. package/features/experiments/abstractions.d.ts +25 -0
  72. package/features/experiments/abstractions.js +5 -0
  73. package/features/experiments/abstractions.js.map +1 -0
  74. package/features/experiments/feature.d.ts +3 -0
  75. package/features/experiments/feature.js +17 -0
  76. package/features/experiments/feature.js.map +1 -0
  77. package/features/experiments/index.d.ts +3 -0
  78. package/features/experiments/index.js +2 -0
  79. package/features/experiments/types.d.ts +61 -0
  80. package/features/experiments/types.js +0 -0
  81. package/features/pages/createPageRevisionFrom/CreatePageRevisionFrom.test.js +41 -1
  82. package/features/pages/createPageRevisionFrom/CreatePageRevisionFrom.test.js.map +1 -1
  83. package/features/pages/createPageRevisionFrom/CreatePageRevisionFromRepository.d.ts +3 -2
  84. package/features/pages/createPageRevisionFrom/CreatePageRevisionFromRepository.js +8 -2
  85. package/features/pages/createPageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -1
  86. package/features/pages/deletePage/DeletePageGateway.js +6 -1
  87. package/features/pages/deletePage/DeletePageGateway.js.map +1 -1
  88. package/features/pages/deletePage/DeletePageGateway.test.d.ts +1 -0
  89. package/features/pages/deletePage/DeletePageGateway.test.js +104 -0
  90. package/features/pages/deletePage/DeletePageGateway.test.js.map +1 -0
  91. package/features/pages/deletePage/DeletePageUseCase.d.ts +1 -1
  92. package/features/pages/deletePage/DeletePageUseCase.js +1 -0
  93. package/features/pages/deletePage/DeletePageUseCase.js.map +1 -1
  94. package/features/pages/deletePage/DeletePageUseCaseWithLoading.d.ts +1 -1
  95. package/features/pages/deletePage/DeletePageUseCaseWithLoading.js +1 -1
  96. package/features/pages/deletePage/DeletePageUseCaseWithLoading.js.map +1 -1
  97. package/features/pages/deletePage/DeletePageUseCaseWithLoading.test.d.ts +1 -0
  98. package/features/pages/deletePage/DeletePageUseCaseWithLoading.test.js +66 -0
  99. package/features/pages/deletePage/DeletePageUseCaseWithLoading.test.js.map +1 -0
  100. package/features/pages/deletePage/abstractions.d.ts +1 -1
  101. package/features/pages/deletePage/abstractions.js.map +1 -1
  102. package/features/pages/deletePageRevision/DeletePageRevision.test.d.ts +1 -0
  103. package/features/pages/deletePageRevision/DeletePageRevision.test.js +67 -0
  104. package/features/pages/deletePageRevision/DeletePageRevision.test.js.map +1 -0
  105. package/features/pages/deletePageRevision/DeletePageRevisionGateway.d.ts +1 -1
  106. package/features/pages/deletePageRevision/DeletePageRevisionGateway.js +8 -4
  107. package/features/pages/deletePageRevision/DeletePageRevisionGateway.js.map +1 -1
  108. package/features/pages/deletePageRevision/DeletePageRevisionGateway.test.d.ts +1 -0
  109. package/features/pages/deletePageRevision/DeletePageRevisionGateway.test.js +101 -0
  110. package/features/pages/deletePageRevision/DeletePageRevisionGateway.test.js.map +1 -0
  111. package/features/pages/deletePageRevision/DeletePageRevisionRepository.d.ts +4 -2
  112. package/features/pages/deletePageRevision/DeletePageRevisionRepository.js +7 -3
  113. package/features/pages/deletePageRevision/DeletePageRevisionRepository.js.map +1 -1
  114. package/features/pages/deletePageRevision/DeletePageRevisionUseCase.d.ts +1 -1
  115. package/features/pages/deletePageRevision/DeletePageRevisionUseCase.js +2 -1
  116. package/features/pages/deletePageRevision/DeletePageRevisionUseCase.js.map +1 -1
  117. package/features/pages/deletePageRevision/DeletePageRevisionUseCaseWithLoading.d.ts +1 -1
  118. package/features/pages/deletePageRevision/DeletePageRevisionUseCaseWithLoading.js +1 -1
  119. package/features/pages/deletePageRevision/DeletePageRevisionUseCaseWithLoading.js.map +1 -1
  120. package/features/pages/deletePageRevision/DeletePageRevisionUseCaseWithLoading.test.d.ts +1 -0
  121. package/features/pages/deletePageRevision/DeletePageRevisionUseCaseWithLoading.test.js +58 -0
  122. package/features/pages/deletePageRevision/DeletePageRevisionUseCaseWithLoading.test.js.map +1 -0
  123. package/features/pages/deletePageRevision/abstractions.d.ts +3 -4
  124. package/features/pages/deletePageRevision/abstractions.js.map +1 -1
  125. package/features/pages/getPage/PageGatewayDto.d.ts +2 -0
  126. package/features/pages/publishPage/PublishPage.test.js +41 -1
  127. package/features/pages/publishPage/PublishPage.test.js.map +1 -1
  128. package/features/pages/publishPage/PublishPageRepository.d.ts +3 -2
  129. package/features/pages/publishPage/PublishPageRepository.js +15 -4
  130. package/features/pages/publishPage/PublishPageRepository.js.map +1 -1
  131. package/features/pages/shared/feature.d.ts +3 -1
  132. package/features/pages/shared/feature.js +4 -2
  133. package/features/pages/shared/feature.js.map +1 -1
  134. package/features/pages/shared/pageGraphQLFields.js +1 -0
  135. package/features/pages/shared/pageGraphQLFields.js.map +1 -1
  136. package/features/pages/trashBin/WbTrashBinBulkActionGateway.js +7 -1
  137. package/features/pages/trashBin/WbTrashBinBulkActionGateway.js.map +1 -1
  138. package/features/pages/trashBin/WbTrashBinBulkActionGateway.test.d.ts +1 -0
  139. package/features/pages/trashBin/WbTrashBinBulkActionGateway.test.js +112 -0
  140. package/features/pages/trashBin/WbTrashBinBulkActionGateway.test.js.map +1 -0
  141. package/features/pages/trashBin/WbTrashBinDeleteGateway.js +7 -1
  142. package/features/pages/trashBin/WbTrashBinDeleteGateway.js.map +1 -1
  143. package/features/pages/trashBin/WbTrashBinDeleteGateway.test.d.ts +1 -0
  144. package/features/pages/trashBin/WbTrashBinDeleteGateway.test.js +104 -0
  145. package/features/pages/trashBin/WbTrashBinDeleteGateway.test.js.map +1 -0
  146. package/features/pages/unpublishPage/UnpublishPage.test.js +4 -1
  147. package/features/pages/unpublishPage/UnpublishPage.test.js.map +1 -1
  148. package/features/pages/unpublishPage/UnpublishPageRepository.d.ts +3 -2
  149. package/features/pages/unpublishPage/UnpublishPageRepository.js +12 -4
  150. package/features/pages/unpublishPage/UnpublishPageRepository.js.map +1 -1
  151. package/features/permissions/feature.d.ts +1 -1
  152. package/inputRenderers/ColorPickerInput.d.ts +3 -0
  153. package/inputRenderers/ColorPickerInput.js +29 -0
  154. package/inputRenderers/ColorPickerInput.js.map +1 -0
  155. package/inputRenderers/ContentEntryInput.js +2 -0
  156. package/inputRenderers/ContentEntryInput.js.map +1 -1
  157. package/inputRenderers/DateTimeInput.d.ts +9 -0
  158. package/inputRenderers/DateTimeInput.js +21 -0
  159. package/inputRenderers/DateTimeInput.js.map +1 -0
  160. package/inputRenderers/DateTimeInput.test.d.ts +1 -0
  161. package/inputRenderers/DateTimeInput.test.js +27 -0
  162. package/inputRenderers/DateTimeInput.test.js.map +1 -0
  163. package/inputRenderers/FileInput.js +1 -1
  164. package/inputRenderers/FileInput.js.map +1 -1
  165. package/inputRenderers/RadioInput.d.ts +3 -0
  166. package/inputRenderers/RadioInput.js +20 -0
  167. package/inputRenderers/RadioInput.js.map +1 -0
  168. package/inputRenderers/TagsInput.d.ts +3 -0
  169. package/inputRenderers/TagsInput.js +22 -0
  170. package/inputRenderers/TagsInput.js.map +1 -0
  171. package/modules/AbTesting.d.ts +2 -0
  172. package/modules/AbTesting.js +19 -0
  173. package/modules/AbTesting.js.map +1 -0
  174. package/package.json +32 -30
  175. package/presentation/components/LanguageCodeTag.js +5 -4
  176. package/presentation/components/LanguageCodeTag.js.map +1 -1
  177. package/presentation/experiments/ExperimentForm/ExperimentFormPresenter.d.ts +30 -0
  178. package/presentation/experiments/ExperimentForm/ExperimentFormPresenter.js +202 -0
  179. package/presentation/experiments/ExperimentForm/ExperimentFormPresenter.js.map +1 -0
  180. package/presentation/experiments/ExperimentForm/abstractions/ExperimentFormPresenter.d.ts +65 -0
  181. package/presentation/experiments/ExperimentForm/abstractions/ExperimentFormPresenter.js +5 -0
  182. package/presentation/experiments/ExperimentForm/abstractions/ExperimentFormPresenter.js.map +1 -0
  183. package/presentation/experiments/ExperimentForm/components/ExperimentFormView.d.ts +12 -0
  184. package/presentation/experiments/ExperimentForm/components/ExperimentFormView.js +149 -0
  185. package/presentation/experiments/ExperimentForm/components/ExperimentFormView.js.map +1 -0
  186. package/presentation/experiments/ExperimentForm/components/VariantSplitRow.d.ts +17 -0
  187. package/presentation/experiments/ExperimentForm/components/VariantSplitRow.js +122 -0
  188. package/presentation/experiments/ExperimentForm/components/VariantSplitRow.js.map +1 -0
  189. package/presentation/experiments/ExperimentForm/feature.d.ts +3 -0
  190. package/presentation/experiments/ExperimentForm/feature.js +17 -0
  191. package/presentation/experiments/ExperimentForm/feature.js.map +1 -0
  192. package/presentation/experiments/ExperimentForm/index.d.ts +3 -0
  193. package/presentation/experiments/ExperimentForm/index.js +3 -0
  194. package/presentation/experiments/ExperimentsEditor/ExperimentsEditorDataSource.d.ts +18 -0
  195. package/presentation/experiments/ExperimentsEditor/ExperimentsEditorDataSource.js +25 -0
  196. package/presentation/experiments/ExperimentsEditor/ExperimentsEditorDataSource.js.map +1 -0
  197. package/presentation/experiments/ExperimentsEditor/ExperimentsEditorPresenter.d.ts +67 -0
  198. package/presentation/experiments/ExperimentsEditor/ExperimentsEditorPresenter.js +224 -0
  199. package/presentation/experiments/ExperimentsEditor/ExperimentsEditorPresenter.js.map +1 -0
  200. package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorDataSource.d.ts +10 -0
  201. package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorDataSource.js +5 -0
  202. package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorDataSource.js.map +1 -0
  203. package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorPresenter.d.ts +58 -0
  204. package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorPresenter.js +5 -0
  205. package/presentation/experiments/ExperimentsEditor/abstractions/ExperimentsEditorPresenter.js.map +1 -0
  206. package/presentation/experiments/ExperimentsEditor/components/ExperimentIndicator.d.ts +15 -0
  207. package/presentation/experiments/ExperimentsEditor/components/ExperimentIndicator.js +110 -0
  208. package/presentation/experiments/ExperimentsEditor/components/ExperimentIndicator.js.map +1 -0
  209. package/presentation/experiments/ExperimentsEditor/components/ExperimentPreviewToolbar.d.ts +9 -0
  210. package/presentation/experiments/ExperimentsEditor/components/ExperimentPreviewToolbar.js +178 -0
  211. package/presentation/experiments/ExperimentsEditor/components/ExperimentPreviewToolbar.js.map +1 -0
  212. package/presentation/experiments/ExperimentsEditor/components/ExperimentsButton.d.ts +11 -0
  213. package/presentation/experiments/ExperimentsEditor/components/ExperimentsButton.js +51 -0
  214. package/presentation/experiments/ExperimentsEditor/components/ExperimentsButton.js.map +1 -0
  215. package/presentation/experiments/ExperimentsEditor/components/ExperimentsSwitcher.d.ts +14 -0
  216. package/presentation/experiments/ExperimentsEditor/components/ExperimentsSwitcher.js +147 -0
  217. package/presentation/experiments/ExperimentsEditor/components/ExperimentsSwitcher.js.map +1 -0
  218. package/presentation/experiments/ExperimentsEditor/feature.d.ts +3 -0
  219. package/presentation/experiments/ExperimentsEditor/feature.js +21 -0
  220. package/presentation/experiments/ExperimentsEditor/feature.js.map +1 -0
  221. package/presentation/experiments/ExperimentsEditor/index.d.ts +4 -0
  222. package/presentation/experiments/ExperimentsEditor/index.js +3 -0
  223. package/presentation/experiments/ExperimentsManager/ExperimentsManagerPresenter.d.ts +39 -0
  224. package/presentation/experiments/ExperimentsManager/ExperimentsManagerPresenter.js +219 -0
  225. package/presentation/experiments/ExperimentsManager/ExperimentsManagerPresenter.js.map +1 -0
  226. package/presentation/experiments/ExperimentsManager/abstractions/ExperimentsManagerPresenter.d.ts +52 -0
  227. package/presentation/experiments/ExperimentsManager/abstractions/ExperimentsManagerPresenter.js +5 -0
  228. package/presentation/experiments/ExperimentsManager/abstractions/ExperimentsManagerPresenter.js.map +1 -0
  229. package/presentation/experiments/ExperimentsManager/components/ExperimentCard.d.ts +10 -0
  230. package/presentation/experiments/ExperimentsManager/components/ExperimentCard.js +296 -0
  231. package/presentation/experiments/ExperimentsManager/components/ExperimentCard.js.map +1 -0
  232. package/presentation/experiments/ExperimentsManager/components/ExperimentsDrawerView.d.ts +2 -0
  233. package/presentation/experiments/ExperimentsManager/components/ExperimentsDrawerView.js +92 -0
  234. package/presentation/experiments/ExperimentsManager/components/ExperimentsDrawerView.js.map +1 -0
  235. package/presentation/experiments/ExperimentsManager/components/ExperimentsEmptyState.d.ts +6 -0
  236. package/presentation/experiments/ExperimentsManager/components/ExperimentsEmptyState.js +103 -0
  237. package/presentation/experiments/ExperimentsManager/components/ExperimentsEmptyState.js.map +1 -0
  238. package/presentation/experiments/ExperimentsManager/components/ExperimentsListView.d.ts +9 -0
  239. package/presentation/experiments/ExperimentsManager/components/ExperimentsListView.js +58 -0
  240. package/presentation/experiments/ExperimentsManager/components/ExperimentsListView.js.map +1 -0
  241. package/presentation/experiments/ExperimentsManager/feature.d.ts +3 -0
  242. package/presentation/experiments/ExperimentsManager/feature.js +17 -0
  243. package/presentation/experiments/ExperimentsManager/feature.js.map +1 -0
  244. package/presentation/experiments/ExperimentsManager/index.d.ts +4 -0
  245. package/presentation/experiments/ExperimentsManager/index.js +3 -0
  246. package/presentation/experiments/VariantPageEditorConfig.d.ts +7 -0
  247. package/presentation/experiments/VariantPageEditorConfig.js +26 -0
  248. package/presentation/experiments/VariantPageEditorConfig.js.map +1 -0
  249. package/presentation/experiments/config/ExperimentsEditorConfig.d.ts +8 -0
  250. package/presentation/experiments/config/ExperimentsEditorConfig.js +21 -0
  251. package/presentation/experiments/config/ExperimentsEditorConfig.js.map +1 -0
  252. package/presentation/experiments/config/VariantAutoSave.d.ts +5 -0
  253. package/presentation/experiments/config/VariantAutoSave.js +41 -0
  254. package/presentation/experiments/config/VariantAutoSave.js.map +1 -0
  255. package/presentation/experiments/shared/variantColors.d.ts +11 -0
  256. package/presentation/experiments/shared/variantColors.js +13 -0
  257. package/presentation/experiments/shared/variantColors.js.map +1 -0
  258. package/presentation/experiments/shared/variantDocument.d.ts +16 -0
  259. package/presentation/experiments/shared/variantDocument.js +31 -0
  260. package/presentation/experiments/shared/variantDocument.js.map +1 -0
  261. package/presentation/pages/CreatePage/AddLanguageWhenEnabledModifier.d.ts +24 -0
  262. package/presentation/pages/CreatePage/AddLanguageWhenEnabledModifier.js +43 -0
  263. package/presentation/pages/CreatePage/AddLanguageWhenEnabledModifier.js.map +1 -0
  264. package/presentation/pages/CreatePage/CreatePage.test.js +98 -0
  265. package/presentation/pages/CreatePage/CreatePage.test.js.map +1 -1
  266. package/presentation/pages/CreatePage/CreatePageDialog.d.ts +2 -2
  267. package/presentation/pages/CreatePage/CreatePagePresenter.js +1 -1
  268. package/presentation/pages/CreatePage/CreatePagePresenter.js.map +1 -1
  269. package/presentation/pages/CreatePage/WithLanguageSelector.js +3 -3
  270. package/presentation/pages/CreatePage/WithLanguageSelector.js.map +1 -1
  271. package/presentation/pages/CreatePage/feature.js +2 -4
  272. package/presentation/pages/CreatePage/feature.js.map +1 -1
  273. package/presentation/pages/CreatePage/index.d.ts +1 -0
  274. package/presentation/pages/CreatePage/index.js +1 -0
  275. package/presentation/pages/PageEditor/PageEditor.experiments.d.ts +2 -0
  276. package/presentation/pages/PageEditor/PageEditor.experiments.js +54 -0
  277. package/presentation/pages/PageEditor/PageEditor.experiments.js.map +1 -0
  278. package/presentation/pages/PageEditor/PageEditorSurface.d.ts +15 -0
  279. package/presentation/pages/PageEditor/PageEditorSurface.js +63 -0
  280. package/presentation/pages/PageEditor/PageEditorSurface.js.map +1 -0
  281. package/presentation/pages/PageEditor/Revisions/RevisionListDrawer.js +4 -0
  282. package/presentation/pages/PageEditor/Revisions/RevisionListDrawer.js.map +1 -1
  283. package/presentation/pages/PageEditor/Revisions/RevisionListItem.d.ts +4 -2
  284. package/presentation/pages/PageEditor/Revisions/RevisionListItem.js +11 -21
  285. package/presentation/pages/PageEditor/Revisions/RevisionListItem.js.map +1 -1
  286. package/presentation/pages/PageEditor/Revisions/RevisionsList.d.ts +3 -1
  287. package/presentation/pages/PageEditor/Revisions/RevisionsList.js +27 -18
  288. package/presentation/pages/PageEditor/Revisions/RevisionsList.js.map +1 -1
  289. package/presentation/pages/PageEditor/Revisions/useRevision.d.ts +6 -1
  290. package/presentation/pages/PageEditor/Revisions/useRevision.js +88 -15
  291. package/presentation/pages/PageEditor/Revisions/useRevision.js.map +1 -1
  292. package/presentation/pages/PageEditor/Revisions/useRevision.test.d.ts +1 -0
  293. package/presentation/pages/PageEditor/Revisions/useRevision.test.js +121 -0
  294. package/presentation/pages/PageEditor/Revisions/useRevision.test.js.map +1 -0
  295. package/presentation/pages/PageEditor/Revisions/useRevisionList.d.ts +7 -0
  296. package/presentation/pages/PageEditor/Revisions/useRevisionList.js +24 -0
  297. package/presentation/pages/PageEditor/Revisions/useRevisionList.js.map +1 -0
  298. package/presentation/pages/PageEditor/TopBar/PageSettingsDrawer.d.ts +2 -2
  299. package/presentation/pages/PageEditor/TopBar/RevisionsMenu.d.ts +3 -1
  300. package/presentation/pages/PageEditor/TopBar/RevisionsMenu.js +10 -21
  301. package/presentation/pages/PageEditor/TopBar/RevisionsMenu.js.map +1 -1
  302. package/presentation/pages/PageList/PageListDataSource.js +1 -1
  303. package/presentation/pages/PageList/PageListDataSource.js.map +1 -1
  304. package/presentation/pages/PageList/PageListPresenter.test.d.ts +1 -0
  305. package/presentation/pages/PageList/PageListPresenter.test.js +293 -0
  306. package/presentation/pages/PageList/PageListPresenter.test.js.map +1 -0
  307. package/presentation/pages/PageList/components/BulkActions/BulkActionDelete.d.ts +2 -2
  308. package/presentation/pages/PageList/components/BulkActions/BulkActionDuplicate.d.ts +2 -2
  309. package/presentation/pages/PageList/components/BulkActions/BulkActionMovePage.d.ts +2 -2
  310. package/presentation/pages/PageList/components/BulkActions/BulkActionPublish.d.ts +2 -2
  311. package/presentation/pages/PageList/components/BulkActions/BulkActionUnpublish.d.ts +2 -2
  312. package/presentation/pages/PageList/components/DocumentList.d.ts +2 -2
  313. package/presentation/pages/PageList/components/PagesList.js +2 -1
  314. package/presentation/pages/PageList/components/PagesList.js.map +1 -1
  315. package/presentation/pages/PageList/components/Table/Table.d.ts +2 -2
  316. package/presentation/pages/PageList/components/WbPagesBreadcrumbs.d.ts +9 -0
  317. package/presentation/pages/PageList/components/WbPagesBreadcrumbs.js +40 -0
  318. package/presentation/pages/PageList/components/WbPagesBreadcrumbs.js.map +1 -0
  319. package/presentation/pages/PageList/hooks/useDeletePageConfirmationDialog.js +2 -1
  320. package/presentation/pages/PageList/hooks/useDeletePageConfirmationDialog.js.map +1 -1
  321. package/presentation/pages/PageList/hooks/useDeletePageConfirmationDialog.test.d.ts +1 -0
  322. package/presentation/pages/PageList/hooks/useDeletePageConfirmationDialog.test.js +62 -0
  323. package/presentation/pages/PageList/hooks/useDeletePageConfirmationDialog.test.js.map +1 -0
  324. package/presentation/pages/RevisionList/RevisionListPresenter.d.ts +27 -0
  325. package/presentation/pages/RevisionList/RevisionListPresenter.js +73 -0
  326. package/presentation/pages/RevisionList/RevisionListPresenter.js.map +1 -0
  327. package/presentation/pages/RevisionList/RevisionListPresenter.test.d.ts +1 -0
  328. package/presentation/pages/RevisionList/RevisionListPresenter.test.js +235 -0
  329. package/presentation/pages/RevisionList/RevisionListPresenter.test.js.map +1 -0
  330. package/presentation/pages/RevisionList/abstractions.d.ts +34 -0
  331. package/presentation/pages/RevisionList/abstractions.js +5 -0
  332. package/presentation/pages/RevisionList/abstractions.js.map +1 -0
  333. package/presentation/pages/RevisionList/feature.d.ts +3 -0
  334. package/presentation/pages/RevisionList/feature.js +17 -0
  335. package/presentation/pages/RevisionList/feature.js.map +1 -0
  336. package/presentation/pages/RevisionList/index.d.ts +2 -0
  337. package/presentation/pages/RevisionList/index.js +1 -0
  338. package/presentation/pages/TranslatePage/TranslatePageConfig.js +3 -3
  339. package/presentation/pages/TranslatePage/TranslatePageConfig.js.map +1 -1
  340. package/presentation/pages/TrashBin/WbTrashBin.d.ts +2 -2
  341. package/presentation/pages/bulkActions/BulkDeletePresenter.js +5 -1
  342. package/presentation/pages/bulkActions/BulkDeletePresenter.js.map +1 -1
  343. package/presentation/pages/bulkActions/BulkDeletePresenter.test.d.ts +1 -0
  344. package/presentation/pages/bulkActions/BulkDeletePresenter.test.js +80 -0
  345. package/presentation/pages/bulkActions/BulkDeletePresenter.test.js.map +1 -0
  346. package/presentation/pages/hooks/useDeletePage.d.ts +1 -1
  347. package/presentation/pages/hooks/useDeletePageRevision.d.ts +1 -1
  348. package/presentation/redirects/RedirectList/RedirectListDataSource.js +1 -1
  349. package/presentation/redirects/RedirectList/RedirectListDataSource.js.map +1 -1
  350. package/presentation/redirects/RedirectList/RedirectListPresenter.test.d.ts +1 -0
  351. package/presentation/redirects/RedirectList/RedirectListPresenter.test.js +273 -0
  352. package/presentation/redirects/RedirectList/RedirectListPresenter.test.js.map +1 -0
  353. package/presentation/redirects/RedirectList/components/BulkActionDelete.d.ts +2 -2
  354. package/presentation/redirects/RedirectList/components/BulkActionMove.d.ts +2 -2
  355. package/presentation/redirects/RedirectList/components/CreateRedirectDialog.d.ts +2 -2
  356. package/presentation/redirects/RedirectList/components/DocumentList.d.ts +2 -2
  357. package/presentation/redirects/RedirectList/components/EditRedirectDialog.d.ts +2 -2
  358. package/presentation/redirects/RedirectList/components/Table/Table.d.ts +2 -2
  359. package/shared/fileManagerItemToValue.js +3 -1
  360. package/shared/fileManagerItemToValue.js.map +1 -1
  361. package/shared/fileManagerItemToValue.test.d.ts +1 -0
  362. package/shared/fileManagerItemToValue.test.js +73 -0
  363. package/shared/fileManagerItemToValue.test.js.map +1 -0
  364. package/BaseEditor/defaultConfig/Content/usePreviewDomain.js.map +0 -1
@@ -1,8 +1,4 @@
1
1
  import React from "react";
2
- export declare const TabContainer: import("@emotion/styled").StyledComponent<{
3
- theme?: import("@emotion/react").Theme;
4
- as?: React.ElementType;
5
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
2
  export interface TabProps {
7
3
  name: string;
8
4
  label: string;
@@ -1,31 +1,15 @@
1
1
  import react from "react";
2
- import styled from "@emotion/styled";
3
- import { SegmentedControl } from "@webiny/admin-ui";
4
- const TabContainer = styled("div")({
5
- display: "flex",
6
- position: "relative",
7
- flexDirection: "column",
8
- height: "calc(100vh - 44px - 49px)",
9
- overflowY: "auto",
10
- "&::-webkit-scrollbar": {
11
- width: 1
12
- },
13
- "&::-webkit-scrollbar-track": {
14
- boxShadow: "inset 0 0 6px rgba(0, 0, 0, 0.3)"
15
- },
16
- "&::-webkit-scrollbar-thumb": {
17
- backgroundColor: "darkgrey",
18
- outline: "1px solid slategrey"
19
- }
20
- });
2
+ import { FillViewportHeight, ScrollArea, SegmentedControl } from "@webiny/admin-ui";
21
3
  const Tab = ({ name, label, icon, disabled, element, visible })=>/*#__PURE__*/ react.createElement(SegmentedControl.Tabs.Tab, {
22
4
  value: name,
23
5
  trigger: label,
24
6
  icon: icon,
25
7
  disabled: disabled,
26
8
  visible: visible,
27
- content: /*#__PURE__*/ react.createElement(TabContainer, null, element)
9
+ content: /*#__PURE__*/ react.createElement(FillViewportHeight, null, /*#__PURE__*/ react.createElement(ScrollArea, {
10
+ className: "h-full"
11
+ }, element))
28
12
  });
29
- export { Tab, TabContainer };
13
+ export { Tab };
30
14
 
31
15
  //# sourceMappingURL=Tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/config/Sidebar/Tab.js","sources":["../../../../src/BaseEditor/config/Sidebar/Tab.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { SegmentedControl } from \"@webiny/admin-ui\";\n\nexport const TabContainer = styled(\"div\")({\n display: \"flex\",\n position: \"relative\",\n flexDirection: \"column\",\n height: \"calc(100vh - 44px - 49px)\", // Subtract top-bar and tab-header height\n overflowY: \"auto\",\n // Style scrollbar\n \"&::-webkit-scrollbar\": {\n width: 1\n },\n \"&::-webkit-scrollbar-track\": {\n boxShadow: \"inset 0 0 6px rgba(0, 0, 0, 0.3)\"\n },\n \"&::-webkit-scrollbar-thumb\": {\n backgroundColor: \"darkgrey\",\n outline: \"1px solid slategrey\"\n }\n});\n\nexport interface TabProps {\n name: string;\n label: string;\n icon?: React.ReactElement;\n element: React.JSX.Element;\n disabled?: boolean;\n visible?: boolean;\n}\n\nexport const Tab = ({ name, label, icon, disabled, element, visible }: TabProps) => {\n return (\n <SegmentedControl.Tabs.Tab\n value={name}\n trigger={label}\n icon={icon}\n disabled={disabled}\n visible={visible}\n content={<TabContainer>{element}</TabContainer>}\n />\n );\n};\n"],"names":["TabContainer","styled","Tab","name","label","icon","disabled","element","visible","SegmentedControl"],"mappings":";;;AAIO,MAAMA,eAAeC,OAAO,OAAO;IACtC,SAAS;IACT,UAAU;IACV,eAAe;IACf,QAAQ;IACR,WAAW;IAEX,wBAAwB;QACpB,OAAO;IACX;IACA,8BAA8B;QAC1B,WAAW;IACf;IACA,8BAA8B;QAC1B,iBAAiB;QACjB,SAAS;IACb;AACJ;AAWO,MAAMC,MAAM,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAY,GACpE,WAAP,GACI,oBAACC,iBAAiB,IAAI,CAAC,GAAG;QACtB,OAAON;QACP,SAASC;QACT,MAAMC;QACN,UAAUC;QACV,SAASE;QACT,uBAAS,oBAACR,cAAYA,MAAEO"}
1
+ {"version":3,"file":"BaseEditor/config/Sidebar/Tab.js","sources":["../../../../src/BaseEditor/config/Sidebar/Tab.tsx"],"sourcesContent":["import React from \"react\";\nimport { FillViewportHeight, ScrollArea, SegmentedControl } from \"@webiny/admin-ui\";\n\nexport interface TabProps {\n name: string;\n label: string;\n icon?: React.ReactElement;\n element: React.JSX.Element;\n disabled?: boolean;\n visible?: boolean;\n}\n\nexport const Tab = ({ name, label, icon, disabled, element, visible }: TabProps) => {\n return (\n <SegmentedControl.Tabs.Tab\n value={name}\n trigger={label}\n icon={icon}\n disabled={disabled}\n visible={visible}\n // Same pattern as the Insert panel: FillViewportHeight sizes the region to the space\n // from its own top edge down to the viewport bottom (no hardcoded offsets), and the\n // ScrollArea scrolls the content within it.\n content={\n <FillViewportHeight>\n <ScrollArea className={\"h-full\"}>{element}</ScrollArea>\n </FillViewportHeight>\n }\n />\n );\n};\n"],"names":["Tab","name","label","icon","disabled","element","visible","SegmentedControl","FillViewportHeight","ScrollArea"],"mappings":";;AAYO,MAAMA,MAAM,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAY,GACpE,WAAP,GACI,oBAACC,iBAAiB,IAAI,CAAC,GAAG;QACtB,OAAON;QACP,SAASC;QACT,MAAMC;QACN,UAAUC;QACV,SAASE;QAIT,uBACI,oBAACE,oBAAkBA,MAAAA,WAAAA,GACf,oBAACC,YAAUA;YAAC,WAAW;WAAWJ"}
@@ -1,80 +1,20 @@
1
- import react, { useCallback, useEffect, useState } from "react";
2
- import { ReactComponent } from "@webiny/icons/language.svg";
3
- import { Button, DropdownMenu, IconButton, Input, Separator, cn } from "@webiny/admin-ui";
1
+ import react, { useEffect } from "react";
2
+ import { PreviewDomainMenu } from "@webiny/frontend-settings/exports/admin.js";
4
3
  import { usePreviewDomain } from "../usePreviewDomain.js";
5
- import { Bind, Form } from "@webiny/form";
6
- import { validation } from "@webiny/validation";
7
4
  import { useDocumentEditor } from "../../../../DocumentEditor/index.js";
8
5
  import { Commands } from "../../../index.js";
9
6
  const PreviewDomain = ()=>{
10
7
  const editor = useDocumentEditor();
11
- const [isOpen, setIsOpen] = useState(false);
12
- const { previewDomain, isOverridden, unsetPreviewDomain, setPreviewDomain } = usePreviewDomain();
13
- const commitValue = useCallback((data)=>{
14
- const value = data.previewDomain;
15
- if (value.length > 0) setPreviewDomain(value);
16
- else unsetPreviewDomain();
17
- setIsOpen(false);
18
- }, []);
19
- const resetDomain = useCallback(()=>{
20
- unsetPreviewDomain();
21
- setIsOpen(false);
22
- }, []);
8
+ const { previewDomain } = usePreviewDomain();
23
9
  useEffect(()=>{
24
10
  if (!previewDomain) return;
25
11
  editor.executeCommand(Commands.RefreshPreview);
26
12
  }, [
27
13
  previewDomain
28
14
  ]);
29
- const classNames = cn("absolute left-0 top-0", isOverridden ? "fill-accent-default" : "");
30
- return /*#__PURE__*/ react.createElement(DropdownMenu, {
31
- open: isOpen,
32
- align: "center",
33
- side: "bottom",
34
- className: "shadow-lg",
35
- onOpenChange: setIsOpen,
36
- trigger: /*#__PURE__*/ react.createElement(IconButton, {
37
- icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
38
- size: "md",
39
- onClick: ()=>{},
40
- variant: "ghost",
41
- className: classNames
42
- })
43
- }, /*#__PURE__*/ react.createElement("div", {
44
- className: "p-sm text-sm",
45
- style: {
46
- width: 300
47
- }
48
- }, /*#__PURE__*/ react.createElement(Form, {
49
- data: {
50
- previewDomain
51
- },
52
- onSubmit: commitValue
53
- }, (form)=>/*#__PURE__*/ react.createElement(Bind, {
54
- name: "previewDomain",
55
- validators: [
56
- validation.create("url")
57
- ]
58
- }, /*#__PURE__*/ react.createElement(Input, {
59
- autoFocus: true,
60
- label: "Preview Domain",
61
- description: /*#__PURE__*/ react.createElement(react.Fragment, null, "Set a custom preview domain for your session.", /*#__PURE__*/ react.createElement("br", null), "This doesn't affect other users."),
62
- size: "md",
63
- onBlur: ()=>form.submit(),
64
- onEnter: ()=>form.submit(),
65
- note: 'Hit "Enter" or click outside the menu to apply.'
66
- }))), isOverridden ? /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Separator, {
67
- variant: "dimmed",
68
- margin: "lg"
69
- }), /*#__PURE__*/ react.createElement(Button, {
70
- variant: "primary",
71
- onClick: resetDomain,
72
- text: "Reset Domain",
73
- size: "sm"
74
- }), /*#__PURE__*/ react.createElement(Separator, {
75
- variant: "dimmed",
76
- margin: "lg"
77
- }), "Resetting will revert to using the default preview domain.") : null));
15
+ return /*#__PURE__*/ react.createElement(PreviewDomainMenu, {
16
+ className: "absolute left-0 top-0"
17
+ });
78
18
  };
79
19
  export { PreviewDomain };
80
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { ReactComponent as GlobeIcon } from \"@webiny/icons/language.svg\";\nimport { Button, DropdownMenu, IconButton, Separator, Input, cn } from \"@webiny/admin-ui\";\nimport { usePreviewDomain } from \"../usePreviewDomain.js\";\nimport type { GenericFormData } from \"@webiny/form\";\nimport { Bind, Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport { Commands } from \"~/BaseEditor/index.js\";\n\nexport const PreviewDomain = () => {\n const editor = useDocumentEditor();\n const [isOpen, setIsOpen] = useState(false);\n\n const { previewDomain, isOverridden, unsetPreviewDomain, setPreviewDomain } =\n usePreviewDomain();\n\n const commitValue = useCallback((data: GenericFormData) => {\n const value = data.previewDomain;\n if (value.length > 0) {\n setPreviewDomain(value);\n } else {\n unsetPreviewDomain();\n }\n setIsOpen(false);\n }, []);\n\n const resetDomain = useCallback(() => {\n unsetPreviewDomain();\n setIsOpen(false);\n }, []);\n\n useEffect(() => {\n if (!previewDomain) {\n return;\n }\n\n editor.executeCommand(Commands.RefreshPreview);\n }, [previewDomain]);\n\n const classNames = cn(\"absolute left-0 top-0\", isOverridden ? \"fill-accent-default\" : \"\");\n\n return (\n <DropdownMenu\n open={isOpen}\n align=\"center\"\n side=\"bottom\"\n className={\"shadow-lg\"}\n onOpenChange={setIsOpen}\n trigger={\n <IconButton\n icon={<GlobeIcon />}\n size=\"md\"\n onClick={() => {}}\n variant={\"ghost\"}\n className={classNames}\n />\n }\n >\n <div className={\"p-sm text-sm\"} style={{ width: 300 }}>\n <Form data={{ previewDomain }} onSubmit={commitValue}>\n {form => (\n <Bind name={\"previewDomain\"} validators={[validation.create(\"url\")]}>\n <Input\n autoFocus={true}\n label={\"Preview Domain\"}\n description={\n <>\n Set a custom preview domain for your session.\n <br />\n This doesn&apos;t affect other users.\n </>\n }\n size={\"md\"}\n onBlur={() => form.submit()}\n onEnter={() => form.submit()}\n note={`Hit \"Enter\" or click outside the menu to apply.`}\n />\n </Bind>\n )}\n </Form>\n {isOverridden ? (\n <>\n <Separator variant={\"dimmed\"} margin={\"lg\"} />\n <Button\n variant={\"primary\"}\n onClick={resetDomain}\n text={\"Reset Domain\"}\n size={\"sm\"}\n />\n <Separator variant={\"dimmed\"} margin={\"lg\"} />\n Resetting will revert to using the default preview domain.\n </>\n ) : null}\n </div>\n </DropdownMenu>\n );\n};\n"],"names":["PreviewDomain","editor","useDocumentEditor","isOpen","setIsOpen","useState","previewDomain","isOverridden","unsetPreviewDomain","setPreviewDomain","usePreviewDomain","commitValue","useCallback","data","value","resetDomain","useEffect","Commands","classNames","cn","DropdownMenu","IconButton","GlobeIcon","Form","form","Bind","validation","Input","Separator","Button"],"mappings":";;;;;;;;AAUO,MAAMA,gBAAgB;IACzB,MAAMC,SAASC;IACf,MAAM,CAACC,QAAQC,UAAU,GAAGC,SAAS;IAErC,MAAM,EAAEC,aAAa,EAAEC,YAAY,EAAEC,kBAAkB,EAAEC,gBAAgB,EAAE,GACvEC;IAEJ,MAAMC,cAAcC,YAAY,CAACC;QAC7B,MAAMC,QAAQD,KAAK,aAAa;QAChC,IAAIC,MAAM,MAAM,GAAG,GACfL,iBAAiBK;aAEjBN;QAEJJ,UAAU;IACd,GAAG,EAAE;IAEL,MAAMW,cAAcH,YAAY;QAC5BJ;QACAJ,UAAU;IACd,GAAG,EAAE;IAELY,UAAU;QACN,IAAI,CAACV,eACD;QAGJL,OAAO,cAAc,CAACgB,SAAS,cAAc;IACjD,GAAG;QAACX;KAAc;IAElB,MAAMY,aAAaC,GAAG,yBAAyBZ,eAAe,wBAAwB;IAEtF,OAAO,WAAP,GACI,oBAACa,cAAYA;QACT,MAAMjB;QACN,OAAM;QACN,MAAK;QACL,WAAW;QACX,cAAcC;QACd,uBACI,oBAACiB,YAAUA;YACP,oBAAM,oBAACC,gBAASA;YAChB,MAAK;YACL,SAAS,KAAO;YAChB,SAAS;YACT,WAAWJ;;qBAInB,oBAAC;QAAI,WAAW;QAAgB,OAAO;YAAE,OAAO;QAAI;qBAChD,oBAACK,MAAIA;QAAC,MAAM;YAAEjB;QAAc;QAAG,UAAUK;OACpCa,CAAAA,OAAAA,WAAAA,GACG,oBAACC,MAAIA;YAAC,MAAM;YAAiB,YAAY;gBAACC,WAAW,MAAM,CAAC;aAAO;yBAC/D,oBAACC,OAAKA;YACF,WAAW;YACX,OAAO;YACP,2BACI,0CAAE,+DAEE,oBAAC,aAAK;YAId,MAAM;YACN,QAAQ,IAAMH,KAAK,MAAM;YACzB,SAAS,IAAMA,KAAK,MAAM;YAC1B,MAAM;cAKrBjB,eAAe,WAAfA,GACG,wDACI,oBAACqB,WAASA;QAAC,SAAS;QAAU,QAAQ;sBACtC,oBAACC,QAAMA;QACH,SAAS;QACT,SAASd;QACT,MAAM;QACN,MAAM;sBAEV,oBAACa,WAASA;QAAC,SAAS;QAAU,QAAQ;QAAQ,gEAGlD;AAIpB"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/AddressBar/PreviewDomain.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { PreviewDomainMenu } from \"@webiny/frontend-settings/exports/admin.js\";\nimport { usePreviewDomain } from \"../usePreviewDomain.js\";\nimport { useDocumentEditor } from \"~/DocumentEditor/index.js\";\nimport { Commands } from \"~/BaseEditor/index.js\";\n\nexport const PreviewDomain = () => {\n const editor = useDocumentEditor();\n const { previewDomain } = usePreviewDomain();\n\n useEffect(() => {\n if (!previewDomain) {\n return;\n }\n\n editor.executeCommand(Commands.RefreshPreview);\n }, [previewDomain]);\n\n return <PreviewDomainMenu className={\"absolute left-0 top-0\"} />;\n};\n"],"names":["PreviewDomain","editor","useDocumentEditor","previewDomain","usePreviewDomain","useEffect","Commands","PreviewDomainMenu"],"mappings":";;;;;AAMO,MAAMA,gBAAgB;IACzB,MAAMC,SAASC;IACf,MAAM,EAAEC,aAAa,EAAE,GAAGC;IAE1BC,UAAU;QACN,IAAI,CAACF,eACD;QAGJF,OAAO,cAAc,CAACK,SAAS,cAAc;IACjD,GAAG;QAACH;KAAc;IAElB,OAAO,WAAP,GAAO,oBAACI,mBAAiBA;QAAC,WAAW;;AACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.ts"],"sourcesContent":["import type { Box } from \"./Box.js\";\n\ntype DropPosition = number | null;\ntype MatchChangeCallback = (hasMatch: boolean) => void;\n\nexport interface DropZoneProximity {\n box: Box;\n position: DropPosition;\n}\n\ninterface DropzoneEntry {\n id: string;\n box: Box;\n canAccept?: () => boolean;\n onProximityChange: (proximity: DropZoneProximity | null) => void;\n}\n\nexport class DropZoneManager {\n private zones = new Map<string, DropzoneEntry>();\n private currentTargetId: string | null = null;\n private currentPosition: DropPosition = null;\n private animationFrame: number | null = null;\n private currentBox: Box | null = null;\n private matchCallbacks = new Set<MatchChangeCallback>();\n\n constructor(private mouse: { x: number; y: number }) {}\n\n register(entry: DropzoneEntry) {\n if (entry.id === \"root\") {\n return;\n }\n\n this.zones.set(entry.id, entry);\n }\n\n unregister(id: string) {\n this.zones.delete(id);\n }\n\n subscribeToMatchChange(cb: MatchChangeCallback): () => void {\n this.matchCallbacks.add(cb);\n return () => this.matchCallbacks.delete(cb);\n }\n\n start() {\n const runDropzoneLoop = () => {\n this.tick();\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n };\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n }\n\n stop() {\n if (this.animationFrame) {\n cancelAnimationFrame(this.animationFrame);\n }\n }\n\n getLastMatchedPosition() {\n if (!this.currentBox) {\n return null;\n }\n\n return {\n parentId: this.currentBox.parentId,\n slot: this.currentBox.parentSlot,\n index: this.currentBox.parentIndex + (this.currentPosition ?? 0)\n };\n }\n\n tick() {\n const scrollYOffset = this.getScrollOffset();\n const threshold = 10;\n const mouseX = this.mouse.x;\n const mouseY = this.mouse.y + scrollYOffset;\n\n let matchedId: string | null = null;\n let matchedPosition: DropPosition = null;\n let matchedBox: Box | null = null;\n\n // Collect all candidate matches with their canAccept callback.\n const candidates: { id: string; box: Box; position: number; canAccept?: () => boolean }[] =\n [];\n\n for (const [id, { box, canAccept }] of this.zones) {\n const isWithinX = mouseX >= box.left && mouseX <= box.right;\n\n if (!isWithinX) {\n continue;\n }\n\n if (Math.abs(mouseY - box.top) <= threshold) {\n candidates.push({ id, box, position: 0, canAccept });\n }\n\n if (Math.abs(mouseY - box.bottom) <= threshold) {\n candidates.push({ id, box, position: 1, canAccept });\n }\n }\n\n if (candidates.length > 0) {\n // Filter to only eligible candidates.\n const eligible = candidates.filter(c => !c.canAccept || c.canAccept());\n\n if (eligible.length > 0) {\n const uniqueDepths = [...new Set(eligible.map(c => c.box.depth))].sort(\n (a, b) => b - a\n );\n\n if (uniqueDepths.length === 1) {\n const winner = eligible[0];\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n } else {\n // Use X position to select depth band among eligible candidates only.\n let rangeLeft = Infinity;\n let rangeRight = -Infinity;\n for (const c of eligible) {\n rangeLeft = Math.min(rangeLeft, c.box.left);\n rangeRight = Math.max(rangeRight, c.box.right);\n }\n\n const centerX = (rangeLeft + rangeRight) / 2;\n const halfWidth = (rangeRight - rangeLeft) / 2;\n\n // 0 at center, 1 at edges.\n const distFromCenter =\n halfWidth > 0 ? Math.abs(mouseX - centerX) / halfWidth : 0;\n\n // Map distance to depth index: center → 0 (deepest), edges → last (shallowest).\n const depthIndex = Math.min(\n Math.floor(distFromCenter * uniqueDepths.length),\n uniqueDepths.length - 1\n );\n\n const winner = eligible.find(c => c.box.depth === uniqueDepths[depthIndex]);\n if (winner) {\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n }\n }\n }\n }\n\n if (matchedId !== this.currentTargetId || matchedPosition !== this.currentPosition) {\n this.currentTargetId = matchedId;\n this.currentPosition = matchedPosition;\n this.currentBox = matchedBox;\n\n this.matchCallbacks.forEach(cb => cb(matchedId !== null));\n\n for (const [id, entry] of this.zones) {\n const isTarget = id === matchedId;\n entry.onProximityChange(\n isTarget ? { box: matchedBox!, position: matchedPosition } : null\n );\n }\n }\n }\n\n private getScrollOffset() {\n const container = document.getElementById(\"preview-container\");\n if (!container) {\n return 0;\n }\n\n return container.scrollTop;\n }\n}\n"],"names":["DropZoneManager","mouse","Map","Set","entry","id","cb","runDropzoneLoop","requestAnimationFrame","cancelAnimationFrame","scrollYOffset","threshold","mouseX","mouseY","matchedId","matchedPosition","matchedBox","candidates","box","canAccept","isWithinX","Math","eligible","c","uniqueDepths","a","b","winner","rangeLeft","Infinity","rangeRight","centerX","halfWidth","distFromCenter","depthIndex","isTarget","container","document"],"mappings":"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"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Content/Preview/DropZoneManager.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/Preview/DropZoneManager.ts"],"sourcesContent":["import type { Box } from \"./Box.js\";\n\ntype DropPosition = number | null;\ntype MatchChangeCallback = (hasMatch: boolean) => void;\n\nexport interface DropZoneProximity {\n box: Box;\n position: DropPosition;\n}\n\ninterface DropzoneEntry {\n id: string;\n box: Box;\n canAccept?: () => boolean;\n onProximityChange: (proximity: DropZoneProximity | null) => void;\n}\n\nexport class DropZoneManager {\n private zones = new Map<string, DropzoneEntry>();\n private currentTargetId: string | null = null;\n private currentPosition: DropPosition = null;\n private animationFrame: number | null = null;\n private currentBox: Box | null = null;\n private matchCallbacks = new Set<MatchChangeCallback>();\n\n constructor(private mouse: { x: number; y: number }) {}\n\n register(entry: DropzoneEntry) {\n if (entry.id === \"root\") {\n return;\n }\n\n this.zones.set(entry.id, entry);\n }\n\n unregister(id: string) {\n this.zones.delete(id);\n }\n\n subscribeToMatchChange(cb: MatchChangeCallback): () => void {\n this.matchCallbacks.add(cb);\n return () => this.matchCallbacks.delete(cb);\n }\n\n start() {\n const runDropzoneLoop = () => {\n this.tick();\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n };\n this.animationFrame = requestAnimationFrame(runDropzoneLoop);\n }\n\n stop() {\n if (this.animationFrame) {\n cancelAnimationFrame(this.animationFrame);\n }\n }\n\n getLastMatchedPosition() {\n if (!this.currentBox) {\n return null;\n }\n\n return {\n parentId: this.currentBox.parentId,\n slot: this.currentBox.parentSlot,\n index: this.currentBox.parentIndex + (this.currentPosition ?? 0)\n };\n }\n\n tick() {\n const scrollYOffset = this.getScrollOffset();\n const threshold = 10;\n const mouseX = this.mouse.x;\n const mouseY = this.mouse.y + scrollYOffset;\n\n let matchedId: string | null = null;\n let matchedPosition: DropPosition = null;\n let matchedBox: Box | null = null;\n\n // Collect all candidate matches with their canAccept callback.\n const candidates: { id: string; box: Box; position: number; canAccept?: () => boolean }[] =\n [];\n\n for (const [id, { box, canAccept }] of this.zones) {\n const isWithinX = mouseX >= box.left && mouseX <= box.right;\n\n if (!isWithinX) {\n continue;\n }\n\n if (Math.abs(mouseY - box.top) <= threshold) {\n candidates.push({ id, box, position: 0, canAccept });\n }\n\n if (Math.abs(mouseY - box.bottom) <= threshold) {\n candidates.push({ id, box, position: 1, canAccept });\n }\n }\n\n if (candidates.length > 0) {\n // Filter to only eligible candidates.\n const eligible = candidates.filter(c => !c.canAccept || c.canAccept());\n\n if (eligible.length > 0) {\n const uniqueDepths = [...new Set(eligible.map(c => c.box.depth))].sort(\n (a, b) => b - a\n );\n\n if (uniqueDepths.length === 1) {\n const winner = eligible[0];\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n } else {\n // Use X position to select depth band among eligible candidates only.\n let rangeLeft = Infinity;\n let rangeRight = -Infinity;\n for (const c of eligible) {\n rangeLeft = Math.min(rangeLeft, c.box.left);\n rangeRight = Math.max(rangeRight, c.box.right);\n }\n\n const centerX = (rangeLeft + rangeRight) / 2;\n const halfWidth = (rangeRight - rangeLeft) / 2;\n\n // 0 at center, 1 at edges.\n const distFromCenter =\n halfWidth > 0 ? Math.abs(mouseX - centerX) / halfWidth : 0;\n\n // Map distance to depth index: center → 0 (deepest), edges → last (shallowest).\n const depthIndex = Math.min(\n Math.floor(distFromCenter * uniqueDepths.length),\n uniqueDepths.length - 1\n );\n\n const winner = eligible.find(c => c.box.depth === uniqueDepths[depthIndex]);\n if (winner) {\n matchedId = winner.id;\n matchedPosition = winner.position;\n matchedBox = winner.box;\n }\n }\n }\n }\n\n if (matchedId !== this.currentTargetId || matchedPosition !== this.currentPosition) {\n this.currentTargetId = matchedId;\n this.currentPosition = matchedPosition;\n this.currentBox = matchedBox;\n\n this.matchCallbacks.forEach(cb => cb(matchedId !== null));\n\n for (const [id, entry] of this.zones) {\n const isTarget = id === matchedId;\n entry.onProximityChange(\n isTarget ? { box: matchedBox!, position: matchedPosition } : null\n );\n }\n }\n }\n\n private getScrollOffset() {\n const container = document.getElementById(\"preview-container\");\n if (!container) {\n return 0;\n }\n\n return container.scrollTop;\n }\n}\n"],"names":["DropZoneManager","mouse","Map","Set","entry","id","cb","runDropzoneLoop","requestAnimationFrame","cancelAnimationFrame","scrollYOffset","threshold","mouseX","mouseY","matchedId","matchedPosition","matchedBox","candidates","box","canAccept","isWithinX","Math","eligible","c","uniqueDepths","a","b","winner","rangeLeft","Infinity","rangeRight","centerX","halfWidth","distFromCenter","depthIndex","isTarget","container","document"],"mappings":"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"}
@@ -8,7 +8,7 @@ interface IframeProps {
8
8
  viewportManager: ViewportManager;
9
9
  onConnected: (messenger: Messenger) => void;
10
10
  }
11
- export declare const Iframe: (({ url, timestamp, ...props }: IframeProps) => React.JSX.Element) & {
12
- displayName: string;
11
+ export declare const Iframe: (({ url, timestamp, ...props }: IframeProps) => React.JSX.Element) & React.NamedExoticComponent<IframeProps> & {
12
+ readonly type: ({ url, timestamp, ...props }: IframeProps) => React.JSX.Element;
13
13
  };
14
14
  export {};
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- export declare const ElementOverlays: (() => React.JSX.Element) & {
3
- displayName: string;
2
+ export declare const ElementOverlays: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
3
+ readonly type: () => React.JSX.Element;
4
4
  };
@@ -11,7 +11,7 @@ const PreviewContainer = ({ children })=>{
11
11
  style: {
12
12
  height: `calc(100vh - ${uiHeight}px)`
13
13
  },
14
- className: "bg-neutral-subtle relative flex flex-col items-center w-full overflow-auto p-[24px]"
14
+ className: "fill-grid bg-neutral-subtle relative flex flex-col items-center w-full overflow-auto p-[24px]"
15
15
  }, children), isDragging && /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement("div", {
16
16
  className: "absolute z-50 pointer-events-none animate-fade-in top-0 left-0 right-0 h-2 bg-[#f9d8ce]"
17
17
  }), /*#__PURE__*/ react.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.tsx"],"sourcesContent":["import React from \"react\";\nimport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nimport { useIsDragging } from \"./useIsDragging.js\";\n\ninterface PreviewContainerProps {\n children: React.ReactNode;\n}\n\nexport const PreviewContainer = ({ children }: PreviewContainerProps) => {\n const uiHeight = useSelectFromEditor(state => state.uiReservedSpace.height);\n const isDragging = useIsDragging();\n\n return (\n <>\n <div className={\"relative\"}>\n <div\n id={\"preview-container\"}\n style={{ height: `calc(100vh - ${uiHeight}px)` }}\n className={\n \"bg-neutral-subtle relative flex flex-col items-center w-full overflow-auto p-[24px]\"\n }\n >\n {children}\n </div>\n {isDragging && (\n <>\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in top-0 left-0 right-0 h-2 bg-[#f9d8ce]\"\n }\n />\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in bottom-0 left-0 right-0 h-2 bg-[#f9d8ce]\"\n }\n />\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in top-0 left-0 bottom-0 w-2 bg-[#f9d8ce]\"\n }\n />\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in top-0 right-0 bottom-0 w-2 bg-[#f9d8ce]\"\n }\n />\n </>\n )}\n </div>\n </>\n );\n};\n"],"names":["PreviewContainer","children","uiHeight","useSelectFromEditor","state","isDragging","useIsDragging"],"mappings":";;;AAQO,MAAMA,mBAAmB,CAAC,EAAEC,QAAQ,EAAyB;IAChE,MAAMC,WAAWC,oBAAoBC,CAAAA,QAASA,MAAM,eAAe,CAAC,MAAM;IAC1E,MAAMC,aAAaC;IAEnB,OAAO,WAAP,GACI,wDACI,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QACG,IAAI;QACJ,OAAO;YAAE,QAAQ,CAAC,aAAa,EAAEJ,SAAS,GAAG,CAAC;QAAC;QAC/C,WACI;OAGHD,WAEJI,cAAc,WAAdA,GACG,wDACI,oBAAC;QACG,WACI;sBAGR,oBAAC;QACG,WACI;sBAGR,oBAAC;QACG,WACI;sBAGR,oBAAC;QACG,WACI;;AAQhC"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Content/Preview/PreviewContainer.js","sources":["../../../../../src/BaseEditor/defaultConfig/Content/Preview/PreviewContainer.tsx"],"sourcesContent":["import React from \"react\";\nimport { useSelectFromEditor } from \"~/BaseEditor/hooks/useSelectFromEditor.js\";\nimport { useIsDragging } from \"./useIsDragging.js\";\n\ninterface PreviewContainerProps {\n children: React.ReactNode;\n}\n\nexport const PreviewContainer = ({ children }: PreviewContainerProps) => {\n const uiHeight = useSelectFromEditor(state => state.uiReservedSpace.height);\n const isDragging = useIsDragging();\n\n return (\n <>\n <div className={\"relative\"}>\n <div\n id={\"preview-container\"}\n style={{ height: `calc(100vh - ${uiHeight}px)` }}\n className={\n \"fill-grid bg-neutral-subtle relative flex flex-col items-center w-full overflow-auto p-[24px]\"\n }\n >\n {children}\n </div>\n {isDragging && (\n <>\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in top-0 left-0 right-0 h-2 bg-[#f9d8ce]\"\n }\n />\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in bottom-0 left-0 right-0 h-2 bg-[#f9d8ce]\"\n }\n />\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in top-0 left-0 bottom-0 w-2 bg-[#f9d8ce]\"\n }\n />\n <div\n className={\n \"absolute z-50 pointer-events-none animate-fade-in top-0 right-0 bottom-0 w-2 bg-[#f9d8ce]\"\n }\n />\n </>\n )}\n </div>\n </>\n );\n};\n"],"names":["PreviewContainer","children","uiHeight","useSelectFromEditor","state","isDragging","useIsDragging"],"mappings":";;;AAQO,MAAMA,mBAAmB,CAAC,EAAEC,QAAQ,EAAyB;IAChE,MAAMC,WAAWC,oBAAoBC,CAAAA,QAASA,MAAM,eAAe,CAAC,MAAM;IAC1E,MAAMC,aAAaC;IAEnB,OAAO,WAAP,GACI,wDACI,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QACG,IAAI;QACJ,OAAO;YAAE,QAAQ,CAAC,aAAa,EAAEJ,SAAS,GAAG,CAAC;QAAC;QAC/C,WACI;OAGHD,WAEJI,cAAc,WAAdA,GACG,wDACI,oBAAC;QACG,WACI;sBAGR,oBAAC;QACG,WACI;sBAGR,oBAAC;QACG,WACI;sBAGR,oBAAC;QACG,WACI;;AAQhC"}
@@ -1,6 +1 @@
1
- export declare const usePreviewDomain: () => {
2
- previewDomain: string;
3
- setPreviewDomain: (domain: string) => void;
4
- unsetPreviewDomain: () => void;
5
- isOverridden: boolean;
6
- };
1
+ export { usePreviewDomain } from "@webiny/frontend-settings/exports/admin.js";
@@ -1,26 +1 @@
1
- import { useCallback } from "react";
2
- import { useLocalStorage } from "@webiny/app";
3
- import { usePreviewDomain } from "@webiny/frontend-settings/exports/admin.js";
4
- const CUSTOM_PREVIEW_DOMAIN = "custom_preview_domain";
5
- const usePreviewDomain_usePreviewDomain = ()=>{
6
- const { previewDomain, isOverridden } = usePreviewDomain();
7
- const localStorage = useLocalStorage();
8
- const setPreviewDomain = useCallback((domain)=>{
9
- if (domain === previewDomain) localStorage.remove(CUSTOM_PREVIEW_DOMAIN);
10
- else localStorage.set(CUSTOM_PREVIEW_DOMAIN, domain);
11
- }, [
12
- previewDomain
13
- ]);
14
- const unsetPreviewDomain = useCallback(()=>{
15
- localStorage.remove(CUSTOM_PREVIEW_DOMAIN);
16
- }, []);
17
- return {
18
- previewDomain,
19
- setPreviewDomain,
20
- unsetPreviewDomain,
21
- isOverridden
22
- };
23
- };
24
- export { usePreviewDomain_usePreviewDomain as usePreviewDomain };
25
-
26
- //# sourceMappingURL=usePreviewDomain.js.map
1
+ export { usePreviewDomain } from "@webiny/frontend-settings/exports/admin.js";
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- export declare const DocumentStateEditor: (() => React.JSX.Element) & {
3
- displayName: string;
2
+ export declare const DocumentStateEditor: (() => React.JSX.Element) & React.NamedExoticComponent<unknown> & {
3
+ readonly type: () => React.JSX.Element;
4
4
  };
@@ -4,6 +4,9 @@ import { TextInputRenderer } from "../../inputRenderers/TextInput.js";
4
4
  import { NumberInputRenderer } from "../../inputRenderers/NumberInput.js";
5
5
  import { BooleanInputRenderer } from "../../inputRenderers/BooleanInput.js";
6
6
  import { TextareaInputRenderer } from "../../inputRenderers/TextareaInput.js";
7
+ import { TagsInputRenderer } from "../../inputRenderers/TagsInput.js";
8
+ import { DateTimeInputRenderer } from "../../inputRenderers/DateTimeInput.js";
9
+ import { RadioInputRenderer } from "../../inputRenderers/RadioInput.js";
7
10
  import { LexicalInputRenderer } from "../../inputRenderers/LexicalInput/LexicalInput.js";
8
11
  import { DefaultLexicalConfig } from "../../inputRenderers/LexicalInput/DefaultLexicalConfig.js";
9
12
  import { SlotInputRenderer } from "../../inputRenderers/SlotInput.js";
@@ -12,6 +15,7 @@ import { SelectInputRenderer } from "../../inputRenderers/SelectInput.js";
12
15
  import { FileInputRenderer } from "../../inputRenderers/FileInput.js";
13
16
  import { FragmentSelectorInputRenderer } from "../../inputRenderers/FragmentSelectorInput.js";
14
17
  import { ObjectInputRenderer } from "../../inputRenderers/ObjectInput/ObjectInputRenderer.js";
18
+ import { ColorPickerInputRenderer } from "../../inputRenderers/ColorPickerInput.js";
15
19
  import { ContentEntryInputRenderer } from "../../inputRenderers/ContentEntryInput.js";
16
20
  const ElementInputRenderers = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
17
21
  name: "Webiny/Slot",
@@ -22,9 +26,18 @@ const ElementInputRenderers = ()=>/*#__PURE__*/ react.createElement(react.Fragme
22
26
  }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
23
27
  name: "Webiny/Select",
24
28
  component: SelectInputRenderer
29
+ }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
30
+ name: "Webiny/RadioGroup",
31
+ component: RadioInputRenderer
25
32
  }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
26
33
  name: "Webiny/Textarea",
27
34
  component: TextareaInputRenderer
35
+ }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
36
+ name: "Webiny/Tags",
37
+ component: TagsInputRenderer
38
+ }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
39
+ name: "Webiny/DateTime",
40
+ component: DateTimeInputRenderer
28
41
  }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
29
42
  name: "Webiny/Number",
30
43
  component: NumberInputRenderer
@@ -46,6 +59,9 @@ const ElementInputRenderers = ()=>/*#__PURE__*/ react.createElement(react.Fragme
46
59
  }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
47
60
  name: "Webiny/Object",
48
61
  component: ObjectInputRenderer
62
+ }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
63
+ name: "Webiny/ColorPicker",
64
+ component: ColorPickerInputRenderer
49
65
  }), /*#__PURE__*/ react.createElement(EditorConfig.ElementInput.Renderer, {
50
66
  name: "Webiny/ContentEntry",
51
67
  component: ContentEntryInputRenderer
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/ElementInputRenderers.js","sources":["../../../src/BaseEditor/defaultConfig/ElementInputRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { EditorConfig } from \"~/BaseEditor/index.js\";\nimport { TextInputRenderer } from \"~/inputRenderers/TextInput.js\";\nimport { NumberInputRenderer } from \"~/inputRenderers/NumberInput.js\";\nimport { BooleanInputRenderer } from \"~/inputRenderers/BooleanInput.js\";\nimport { TextareaInputRenderer } from \"~/inputRenderers/TextareaInput.js\";\nimport { LexicalInputRenderer } from \"~/inputRenderers/LexicalInput/LexicalInput.js\";\nimport { DefaultLexicalConfig } from \"~/inputRenderers/LexicalInput/DefaultLexicalConfig.js\";\nimport { SlotInputRenderer } from \"~/inputRenderers/SlotInput.js\";\nimport { GridLayoutInputRenderer } from \"~/inputRenderers/GridLayoutInput.js\";\nimport { SelectInputRenderer } from \"~/inputRenderers/SelectInput.js\";\nimport { FileInputRenderer } from \"~/inputRenderers/FileInput.js\";\nimport { FragmentSelectorInputRenderer } from \"~/inputRenderers/FragmentSelectorInput.js\";\nimport { ObjectInputRenderer } from \"~/inputRenderers/ObjectInput/ObjectInputRenderer.js\";\nimport { ContentEntryInputRenderer } from \"~/inputRenderers/ContentEntryInput.js\";\n\nexport const ElementInputRenderers = () => {\n return (\n <>\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Slot\"}\n component={SlotInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Input\"}\n component={TextInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Select\"}\n component={SelectInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Textarea\"}\n component={TextareaInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Number\"}\n component={NumberInputRenderer}\n />\n {/* Configure Lexical Editor*/}\n <DefaultLexicalConfig />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Lexical\"}\n component={LexicalInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Switch\"}\n component={BooleanInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/GridLayout\"}\n component={GridLayoutInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/FileManager\"}\n component={FileInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/FragmentSelector\"}\n component={FragmentSelectorInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Object\"}\n component={ObjectInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/ContentEntry\"}\n component={ContentEntryInputRenderer}\n />\n </>\n );\n};\n"],"names":["ElementInputRenderers","EditorConfig","SlotInputRenderer","TextInputRenderer","SelectInputRenderer","TextareaInputRenderer","NumberInputRenderer","DefaultLexicalConfig","LexicalInputRenderer","BooleanInputRenderer","GridLayoutInputRenderer","FileInputRenderer","FragmentSelectorInputRenderer","ObjectInputRenderer","ContentEntryInputRenderer"],"mappings":";;;;;;;;;;;;;;;AAgBO,MAAMA,wBAAwB,IAC1B,WAAP,GACI,wDACI,oBAACC,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWC;sBAEf,oBAACD,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWE;sBAEf,oBAACF,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWG;sBAEf,oBAACH,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWI;sBAEf,oBAACJ,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWK;sBAGf,oBAACC,sBAAoBA,OAAAA,WAAAA,GACrB,oBAACN,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWO;sBAEf,oBAACP,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWQ;sBAEf,oBAACR,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWS;sBAEf,oBAACT,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWU;sBAEf,oBAACV,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWW;sBAEf,oBAACX,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWY;sBAEf,oBAACZ,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWa"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/ElementInputRenderers.js","sources":["../../../src/BaseEditor/defaultConfig/ElementInputRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { EditorConfig } from \"~/BaseEditor/index.js\";\nimport { TextInputRenderer } from \"~/inputRenderers/TextInput.js\";\nimport { NumberInputRenderer } from \"~/inputRenderers/NumberInput.js\";\nimport { BooleanInputRenderer } from \"~/inputRenderers/BooleanInput.js\";\nimport { TextareaInputRenderer } from \"~/inputRenderers/TextareaInput.js\";\nimport { TagsInputRenderer } from \"~/inputRenderers/TagsInput.js\";\nimport { DateTimeInputRenderer } from \"~/inputRenderers/DateTimeInput.js\";\nimport { RadioInputRenderer } from \"~/inputRenderers/RadioInput.js\";\nimport { LexicalInputRenderer } from \"~/inputRenderers/LexicalInput/LexicalInput.js\";\nimport { DefaultLexicalConfig } from \"~/inputRenderers/LexicalInput/DefaultLexicalConfig.js\";\nimport { SlotInputRenderer } from \"~/inputRenderers/SlotInput.js\";\nimport { GridLayoutInputRenderer } from \"~/inputRenderers/GridLayoutInput.js\";\nimport { SelectInputRenderer } from \"~/inputRenderers/SelectInput.js\";\nimport { FileInputRenderer } from \"~/inputRenderers/FileInput.js\";\nimport { FragmentSelectorInputRenderer } from \"~/inputRenderers/FragmentSelectorInput.js\";\nimport { ObjectInputRenderer } from \"~/inputRenderers/ObjectInput/ObjectInputRenderer.js\";\nimport { ColorPickerInputRenderer } from \"~/inputRenderers/ColorPickerInput.js\";\nimport { ContentEntryInputRenderer } from \"~/inputRenderers/ContentEntryInput.js\";\n\nexport const ElementInputRenderers = () => {\n return (\n <>\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Slot\"}\n component={SlotInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Input\"}\n component={TextInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Select\"}\n component={SelectInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/RadioGroup\"}\n component={RadioInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Textarea\"}\n component={TextareaInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Tags\"}\n component={TagsInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/DateTime\"}\n component={DateTimeInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Number\"}\n component={NumberInputRenderer}\n />\n {/* Configure Lexical Editor*/}\n <DefaultLexicalConfig />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Lexical\"}\n component={LexicalInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Switch\"}\n component={BooleanInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/GridLayout\"}\n component={GridLayoutInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/FileManager\"}\n component={FileInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/FragmentSelector\"}\n component={FragmentSelectorInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/Object\"}\n component={ObjectInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/ColorPicker\"}\n component={ColorPickerInputRenderer}\n />\n <EditorConfig.ElementInput.Renderer\n name={\"Webiny/ContentEntry\"}\n component={ContentEntryInputRenderer}\n />\n </>\n );\n};\n"],"names":["ElementInputRenderers","EditorConfig","SlotInputRenderer","TextInputRenderer","SelectInputRenderer","RadioInputRenderer","TextareaInputRenderer","TagsInputRenderer","DateTimeInputRenderer","NumberInputRenderer","DefaultLexicalConfig","LexicalInputRenderer","BooleanInputRenderer","GridLayoutInputRenderer","FileInputRenderer","FragmentSelectorInputRenderer","ObjectInputRenderer","ColorPickerInputRenderer","ContentEntryInputRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBO,MAAMA,wBAAwB,IAC1B,WAAP,GACI,wDACI,oBAACC,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWC;sBAEf,oBAACD,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWE;sBAEf,oBAACF,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWG;sBAEf,oBAACH,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWI;sBAEf,oBAACJ,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWK;sBAEf,oBAACL,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWM;sBAEf,oBAACN,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWO;sBAEf,oBAACP,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWQ;sBAGf,oBAACC,sBAAoBA,OAAAA,WAAAA,GACrB,oBAACT,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWU;sBAEf,oBAACV,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWW;sBAEf,oBAACX,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWY;sBAEf,oBAACZ,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWa;sBAEf,oBAACb,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWc;sBAEf,oBAACd,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWe;sBAEf,oBAACf,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWgB;sBAEf,oBAAChB,aAAa,YAAY,CAAC,QAAQ;QAC/B,MAAM;QACN,WAAWiB"}
@@ -6,7 +6,6 @@ import { InputRenderer } from "./InputRenderer.js";
6
6
  import { ComponentManifestToAstConverter } from "@webiny/website-builder-sdk";
7
7
  import { useSelectFromDocument } from "../../../hooks/useSelectFromDocument.js";
8
8
  import { InfoMessage } from "../InfoMessage.js";
9
- import { ElementPreview } from "../ElementPreview.js";
10
9
  const ElementInputs = makeDecoratable("ElementInputs", ({ element })=>{
11
10
  const component = useComponent(element.component.name);
12
11
  const bindings = useSelectFromDocument((document)=>document.bindings[element.id] ?? {
@@ -25,11 +24,7 @@ const ElementInputs = makeDecoratable("ElementInputs", ({ element })=>{
25
24
  return /*#__PURE__*/ react.createElement(Grid, {
26
25
  gap: "compact",
27
26
  className: "pt-md px-sm"
28
- }, /*#__PURE__*/ react.createElement(Grid.Column, {
29
- span: 12
30
- }, /*#__PURE__*/ react.createElement(ElementPreview, {
31
- element: element
32
- })), hasEditableInputs ? /*#__PURE__*/ react.createElement(react.Fragment, null) : /*#__PURE__*/ react.createElement(Grid.Column, {
27
+ }, hasEditableInputs ? /*#__PURE__*/ react.createElement(react.Fragment, null) : /*#__PURE__*/ react.createElement(Grid.Column, {
33
28
  span: 12
34
29
  }, /*#__PURE__*/ react.createElement(InfoMessage, {
35
30
  message: "This element has no inputs."
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/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\";\nimport { ElementPreview } from \"../ElementPreview.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 return (\n <Grid gap={\"compact\"} className={\"pt-md px-sm\"}>\n <Grid.Column span={12}>\n <ElementPreview element={element} />\n </Grid.Column>\n {!hasEditableInputs ? (\n <Grid.Column span={12}>\n <InfoMessage message={\"This element has no inputs.\"} />\n </Grid.Column>\n ) : (\n <></>\n )}\n\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"],"names":["ElementInputs","makeDecoratable","element","component","useComponent","bindings","useSelectFromDocument","document","inputsAst","useMemo","ComponentManifestToAstConverter","hasEditableInputs","input","Grid","ElementPreview","InfoMessage","InputRenderer"],"mappings":";;;;;;;;;AAeO,MAAMA,gBAAgBC,gBAAgB,iBAAiB,CAAC,EAAEC,OAAO,EAAsB;IAC1F,MAAMC,YAAYC,aAAaF,QAAQ,SAAS,CAAC,IAAI;IAErD,MAAMG,WAAWC,sBACbC,CAAAA,WACWA,SAAS,QAAQ,CAACL,QAAQ,EAAE,CAAC,IAAI;YAAE,QAAQ,CAAC;QAAE,GAEzD;QAACA,QAAQ,EAAE;KAAC;IAGhB,MAAMM,YAAYC,QAAQ,IACfC,gCAAgC,OAAO,CAACP,UAAU,MAAM,IAAI,EAAE,GACtE;QAACA,UAAU,IAAI;QAAED,QAAQ,EAAE;KAAC;IAE/B,MAAMS,oBAAoBF,QAAQ,IACvBD,UAAU,MAAM,CAACI,CAAAA,QAASA,AAAe,WAAfA,MAAM,IAAI,EAAa,MAAM,GAAG,GAClE;QAACJ;KAAU;IAEd,IAAI,CAACN,SACD,OAAO;IAGX,OAAO,WAAP,GACI,oBAACW,MAAIA;QAAC,KAAK;QAAW,WAAW;qBAC7B,oBAACA,KAAK,MAAM;QAAC,MAAM;qBACf,oBAACC,gBAAcA;QAAC,SAASZ;SAE5B,AAACS,oB,cAKE,4CALkB,WAApBA,GACE,oBAACE,KAAK,MAAM;QAAC,MAAM;qBACf,oBAACE,aAAWA;QAAC,SAAS;SAG1B,cAGJ,oBAACC,eAAaA;QAAC,KAAKd,QAAQ,EAAE;QAAE,KAAKM;QAAW,UAAUH,SAAS,MAAM;;AAGrF"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/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 return (\n <Grid gap={\"compact\"} className={\"pt-md px-sm\"}>\n {!hasEditableInputs ? (\n <Grid.Column span={12}>\n <InfoMessage message={\"This element has no inputs.\"} />\n </Grid.Column>\n ) : (\n <></>\n )}\n\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"],"names":["ElementInputs","makeDecoratable","element","component","useComponent","bindings","useSelectFromDocument","document","inputsAst","useMemo","ComponentManifestToAstConverter","hasEditableInputs","input","Grid","InfoMessage","InputRenderer"],"mappings":";;;;;;;;AAcO,MAAMA,gBAAgBC,gBAAgB,iBAAiB,CAAC,EAAEC,OAAO,EAAsB;IAC1F,MAAMC,YAAYC,aAAaF,QAAQ,SAAS,CAAC,IAAI;IAErD,MAAMG,WAAWC,sBACbC,CAAAA,WACWA,SAAS,QAAQ,CAACL,QAAQ,EAAE,CAAC,IAAI;YAAE,QAAQ,CAAC;QAAE,GAEzD;QAACA,QAAQ,EAAE;KAAC;IAGhB,MAAMM,YAAYC,QAAQ,IACfC,gCAAgC,OAAO,CAACP,UAAU,MAAM,IAAI,EAAE,GACtE;QAACA,UAAU,IAAI;QAAED,QAAQ,EAAE;KAAC;IAE/B,MAAMS,oBAAoBF,QAAQ,IACvBD,UAAU,MAAM,CAACI,CAAAA,QAASA,AAAe,WAAfA,MAAM,IAAI,EAAa,MAAM,GAAG,GAClE;QAACJ;KAAU;IAEd,IAAI,CAACN,SACD,OAAO;IAGX,OAAO,WAAP,GACI,oBAACW,MAAIA;QAAC,KAAK;QAAW,WAAW;OAC5B,AAACF,oB,cAKE,4CALkB,WAApBA,GACE,oBAACE,KAAK,MAAM;QAAC,MAAM;qBACf,oBAACC,aAAWA;QAAC,SAAS;SAG1B,cAGJ,oBAACC,eAAaA;QAAC,KAAKb,QAAQ,EAAE;QAAE,KAAKM;QAAW,UAAUH,SAAS,MAAM;;AAGrF"}
@@ -1,12 +1,21 @@
1
1
  import react from "react";
2
+ import { Grid } from "@webiny/admin-ui";
2
3
  import { useActiveElement } from "../../../hooks/useActiveElement.js";
3
4
  import { ElementInputs } from "./ElementInputs.js";
5
+ import { ElementPreview } from "../ElementPreview.js";
4
6
  const ElementSettings = ()=>{
5
7
  const [element] = useActiveElement();
6
8
  if (!element) return null;
7
- return /*#__PURE__*/ react.createElement(ElementInputs, {
9
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Grid, {
10
+ gap: "compact",
11
+ className: "pt-md px-sm"
12
+ }, /*#__PURE__*/ react.createElement(Grid.Column, {
13
+ span: 12
14
+ }, /*#__PURE__*/ react.createElement(ElementPreview, {
8
15
  element: element
9
- });
16
+ }))), /*#__PURE__*/ react.createElement(ElementInputs, {
17
+ element: element
18
+ }));
10
19
  };
11
20
  export { ElementSettings };
12
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nimport { ElementInputs } from \"./ElementInputs.js\";\n\nexport const ElementSettings = () => {\n const [element] = useActiveElement();\n\n if (!element) {\n return null;\n }\n\n return <ElementInputs element={element} />;\n};\n"],"names":["ElementSettings","element","useActiveElement","ElementInputs"],"mappings":";;;AAIO,MAAMA,kBAAkB;IAC3B,MAAM,CAACC,QAAQ,GAAGC;IAElB,IAAI,CAACD,SACD,OAAO;IAGX,OAAO,WAAP,GAAO,oBAACE,eAAaA;QAAC,SAASF;;AACnC"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@webiny/admin-ui\";\nimport { useActiveElement } from \"~/BaseEditor/hooks/useActiveElement.js\";\nimport { ElementInputs } from \"./ElementInputs.js\";\nimport { ElementPreview } from \"../ElementPreview.js\";\n\nexport const ElementSettings = () => {\n const [element] = useActiveElement();\n\n if (!element) {\n return null;\n }\n\n return (\n <>\n <Grid gap={\"compact\"} className={\"pt-md px-sm\"}>\n <Grid.Column span={12}>\n <ElementPreview element={element} />\n </Grid.Column>\n </Grid>\n <ElementInputs element={element} />\n </>\n );\n};\n"],"names":["ElementSettings","element","useActiveElement","Grid","ElementPreview","ElementInputs"],"mappings":";;;;;AAMO,MAAMA,kBAAkB;IAC3B,MAAM,CAACC,QAAQ,GAAGC;IAElB,IAAI,CAACD,SACD,OAAO;IAGX,OAAO,WAAP,GACI,wDACI,oBAACE,MAAIA;QAAC,KAAK;QAAW,WAAW;qBAC7B,oBAACA,KAAK,MAAM;QAAC,MAAM;qBACf,oBAACC,gBAAcA;QAAC,SAASH;wBAGjC,oBAACI,eAAaA;QAAC,SAASJ;;AAGpC"}
@@ -2,10 +2,7 @@ import react from "react";
2
2
  import { Icon } from "@webiny/admin-ui";
3
3
  import { ReactComponent } from "@webiny/icons/notes.svg";
4
4
  import { Sidebar } from "../../../config/Sidebar/Sidebar.js";
5
- import { ScrollableContainer } from "../../../config/Sidebar/ScrollableContainer.js";
6
- const ElementSettingsGroup = ()=>/*#__PURE__*/ react.createElement(ScrollableContainer, {
7
- tabIndex: -1
8
- }, /*#__PURE__*/ react.createElement(Sidebar.Group.Tab, {
5
+ const ElementSettingsGroup = ()=>/*#__PURE__*/ react.createElement(Sidebar.Group.Tab, {
9
6
  name: "element",
10
7
  label: "Element",
11
8
  icon: /*#__PURE__*/ react.createElement(Icon, {
@@ -15,7 +12,7 @@ const ElementSettingsGroup = ()=>/*#__PURE__*/ react.createElement(ScrollableCon
15
12
  element: /*#__PURE__*/ react.createElement(Sidebar.Elements, {
16
13
  group: "element"
17
14
  })
18
- }));
15
+ });
19
16
  export { ElementSettingsGroup };
20
17
 
21
18
  //# sourceMappingURL=ElementSettingsGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { Icon } from \"@webiny/admin-ui\";\nimport { ReactComponent as NotesIcon } from \"@webiny/icons/notes.svg\";\nimport { Sidebar } from \"~/BaseEditor/config/Sidebar/Sidebar.js\";\nimport { ScrollableContainer } from \"~/BaseEditor/config/Sidebar/ScrollableContainer.js\";\n\nexport const ElementSettingsGroup = () => (\n <ScrollableContainer tabIndex={-1}>\n <Sidebar.Group.Tab\n name={\"element\"}\n label={\"Element\"}\n icon={<Icon icon={<NotesIcon />} label={\"Element\"} />}\n element={<Sidebar.Elements group={\"element\"} />}\n />\n </ScrollableContainer>\n);\n"],"names":["ElementSettingsGroup","ScrollableContainer","Sidebar","Icon","NotesIcon"],"mappings":";;;;;AAMO,MAAMA,uBAAuB,kBAChC,oBAACC,qBAAmBA;QAAC,UAAU;qBAC3B,oBAACC,QAAQ,KAAK,CAAC,GAAG;QACd,MAAM;QACN,OAAO;QACP,oBAAM,oBAACC,MAAIA;YAAC,oBAAM,oBAACC,gBAASA;YAAK,OAAO;;QACxC,uBAAS,oBAACF,QAAQ,QAAQ;YAAC,OAAO"}
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementSettingsGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { Icon } from \"@webiny/admin-ui\";\nimport { ReactComponent as NotesIcon } from \"@webiny/icons/notes.svg\";\nimport { Sidebar } from \"~/BaseEditor/config/Sidebar/Sidebar.js\";\n\nexport const ElementSettingsGroup = () => (\n <Sidebar.Group.Tab\n name={\"element\"}\n label={\"Element\"}\n icon={<Icon icon={<NotesIcon />} label={\"Element\"} />}\n element={<Sidebar.Elements group={\"element\"} />}\n />\n);\n"],"names":["ElementSettingsGroup","Sidebar","Icon","NotesIcon"],"mappings":";;;;AAKO,MAAMA,uBAAuB,kBAChC,oBAACC,QAAQ,KAAK,CAAC,GAAG;QACd,MAAM;QACN,OAAO;QACP,oBAAM,oBAACC,MAAIA;YAAC,oBAAM,oBAACC,gBAASA;YAAK,OAAO;;QACxC,uBAAS,oBAACF,QAAQ,QAAQ;YAAC,OAAO"}
@@ -0,0 +1,22 @@
1
+ import type { DocumentElementBindings, JsonPatchOperation } from "@webiny/website-builder-sdk";
2
+ interface IBindingsUpdate {
3
+ createJsonPatch(bindings: DocumentElementBindings): JsonPatchOperation[];
4
+ }
5
+ /**
6
+ * Tracks what the preview currently shows for one element, so preview patches can be computed
7
+ * against it.
8
+ *
9
+ * The preview applies each patch on top of its own copy of the element's bindings. Computing a patch
10
+ * against the committed bindings instead goes wrong as soon as one preview patch has been applied:
11
+ * going back to the committed value (OS undo, or deleting what was just typed) diffs to an empty
12
+ * patch, and the preview keeps showing the last previewed value.
13
+ *
14
+ * The tracked copy is tied to the committed bindings it started from. Once those change, the editor
15
+ * has sent the preview the committed state, so tracking starts over from it.
16
+ */
17
+ export declare class PreviewedBindings {
18
+ private source;
19
+ private bindings;
20
+ createPatch(update: IBindingsUpdate, committed: DocumentElementBindings): JsonPatchOperation[];
21
+ }
22
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsonPatch } from "@webiny/website-builder-sdk";
2
+ class PreviewedBindings {
3
+ createPatch(update, committed) {
4
+ const base = this.source === committed && this.bindings ? this.bindings : committed;
5
+ const patch = update.createJsonPatch(base);
6
+ this.source = committed;
7
+ this.bindings = jsonPatch.applyPatch(structuredClone(base), patch, false, true).newDocument;
8
+ return patch;
9
+ }
10
+ constructor(){
11
+ this.source = null;
12
+ this.bindings = null;
13
+ }
14
+ }
15
+ export { PreviewedBindings };
16
+
17
+ //# sourceMappingURL=PreviewedBindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.js","sources":["../../../../../src/BaseEditor/defaultConfig/Sidebar/ElementSettings/PreviewedBindings.ts"],"sourcesContent":["import { jsonPatch } from \"@webiny/website-builder-sdk\";\nimport type { DocumentElementBindings, JsonPatchOperation } from \"@webiny/website-builder-sdk\";\n\ninterface IBindingsUpdate {\n createJsonPatch(bindings: DocumentElementBindings): JsonPatchOperation[];\n}\n\n/**\n * Tracks what the preview currently shows for one element, so preview patches can be computed\n * against it.\n *\n * The preview applies each patch on top of its own copy of the element's bindings. Computing a patch\n * against the committed bindings instead goes wrong as soon as one preview patch has been applied:\n * going back to the committed value (OS undo, or deleting what was just typed) diffs to an empty\n * patch, and the preview keeps showing the last previewed value.\n *\n * The tracked copy is tied to the committed bindings it started from. Once those change, the editor\n * has sent the preview the committed state, so tracking starts over from it.\n */\nexport class PreviewedBindings {\n private source: DocumentElementBindings | null = null;\n private bindings: DocumentElementBindings | null = null;\n\n createPatch(update: IBindingsUpdate, committed: DocumentElementBindings): JsonPatchOperation[] {\n const base = this.source === committed && this.bindings ? this.bindings : committed;\n const patch = update.createJsonPatch(base);\n\n this.source = committed;\n this.bindings = jsonPatch.applyPatch(structuredClone(base), patch, false, true).newDocument;\n\n return patch;\n }\n}\n"],"names":["PreviewedBindings","update","committed","base","patch","jsonPatch","structuredClone"],"mappings":";AAmBO,MAAMA;IAIT,YAAYC,MAAuB,EAAEC,SAAkC,EAAwB;QAC3F,MAAMC,OAAO,IAAI,CAAC,MAAM,KAAKD,aAAa,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAGA;QAC1E,MAAME,QAAQH,OAAO,eAAe,CAACE;QAErC,IAAI,CAAC,MAAM,GAAGD;QACd,IAAI,CAAC,QAAQ,GAAGG,UAAU,UAAU,CAACC,gBAAgBH,OAAOC,OAAO,OAAO,MAAM,WAAW;QAE3F,OAAOA;IACX;;aAXQ,MAAM,GAAmC;aACzC,QAAQ,GAAmC;;AAWvD"}