@alpaca-editor/core 1.0.3938 → 1.0.3941

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 (357) hide show
  1. package/dist/components/ActionButton.d.ts +1 -0
  2. package/dist/components/ActionButton.js +2 -2
  3. package/dist/components/ActionButton.js.map +1 -1
  4. package/dist/editor/ContentTree.js +12 -8
  5. package/dist/editor/ContentTree.js.map +1 -1
  6. package/dist/editor/ContextMenu.d.ts +1 -1
  7. package/dist/editor/ContextMenu.js +17 -3
  8. package/dist/editor/ContextMenu.js.map +1 -1
  9. package/dist/editor/FieldActionsOverlay.d.ts +18 -0
  10. package/dist/editor/FieldActionsOverlay.js +139 -0
  11. package/dist/editor/FieldActionsOverlay.js.map +1 -0
  12. package/dist/editor/FieldHistory.d.ts +2 -1
  13. package/dist/editor/FieldHistory.js +11 -8
  14. package/dist/editor/FieldHistory.js.map +1 -1
  15. package/dist/editor/FieldListField.js +14 -17
  16. package/dist/editor/FieldListField.js.map +1 -1
  17. package/dist/editor/PictureCropper.js +65 -23
  18. package/dist/editor/PictureCropper.js.map +1 -1
  19. package/dist/editor/PictureEditor.js +43 -3
  20. package/dist/editor/PictureEditor.js.map +1 -1
  21. package/dist/editor/Titlebar.js +19 -10
  22. package/dist/editor/Titlebar.js.map +1 -1
  23. package/dist/editor/ai/AiTerminal.js +27 -41
  24. package/dist/editor/ai/AiTerminal.js.map +1 -1
  25. package/dist/editor/ai/GhostWriter.js +21 -2
  26. package/dist/editor/ai/GhostWriter.js.map +1 -1
  27. package/dist/editor/client/EditorClient.js +48 -18
  28. package/dist/editor/client/EditorClient.js.map +1 -1
  29. package/dist/editor/client/editContext.d.ts +1 -1
  30. package/dist/editor/client/editContext.js.map +1 -1
  31. package/dist/editor/client/itemsRepository.js +126 -90
  32. package/dist/editor/client/itemsRepository.js.map +1 -1
  33. package/dist/editor/commands/componentCommands.js +7 -3
  34. package/dist/editor/commands/componentCommands.js.map +1 -1
  35. package/dist/editor/media-selector/MediaFolderBrowser.d.ts +5 -0
  36. package/dist/editor/media-selector/MediaFolderBrowser.js +77 -0
  37. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -0
  38. package/dist/editor/media-selector/MediaSelector.js +1 -1
  39. package/dist/editor/media-selector/MediaSelector.js.map +1 -1
  40. package/dist/editor/media-selector/Thumbnails.js +2 -2
  41. package/dist/editor/media-selector/index.d.ts +8 -0
  42. package/dist/editor/media-selector/index.js +9 -0
  43. package/dist/editor/media-selector/index.js.map +1 -0
  44. package/dist/editor/menubar/BrowseHistory.js +3 -4
  45. package/dist/editor/menubar/BrowseHistory.js.map +1 -1
  46. package/dist/editor/menubar/PageSelector.js +62 -10
  47. package/dist/editor/menubar/PageSelector.js.map +1 -1
  48. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +1 -1
  49. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  50. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +37 -11
  51. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
  52. package/dist/editor/page-viewer/PageViewerFrame.js +98 -2
  53. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  54. package/dist/editor/pageModel.d.ts +14 -0
  55. package/dist/editor/reviews/Comment.js +3 -2
  56. package/dist/editor/reviews/Comment.js.map +1 -1
  57. package/dist/editor/services/aiService.js +0 -1
  58. package/dist/editor/services/aiService.js.map +1 -1
  59. package/dist/editor/services/editService.d.ts +1 -1
  60. package/dist/editor/services/editService.js +2 -1
  61. package/dist/editor/services/editService.js.map +1 -1
  62. package/dist/editor/sidebar/ComponentTree.js +3 -4
  63. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  64. package/dist/editor/ui/Icons.js +1 -1
  65. package/dist/editor/ui/Icons.js.map +1 -1
  66. package/dist/editor/ui/ItemList.d.ts +16 -0
  67. package/dist/editor/ui/ItemList.js +19 -0
  68. package/dist/editor/ui/ItemList.js.map +1 -0
  69. package/dist/editor/ui/ItemSearch.js +2 -12
  70. package/dist/editor/ui/ItemSearch.js.map +1 -1
  71. package/dist/editor/ui/SimpleTabs.d.ts +1 -0
  72. package/dist/editor/ui/SimpleTabs.js +3 -3
  73. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  74. package/dist/editor/ui/Splitter.js +61 -6
  75. package/dist/editor/ui/Splitter.js.map +1 -1
  76. package/dist/editor/views/MediaFolderEditView.d.ts +4 -0
  77. package/dist/editor/views/MediaFolderEditView.js +40 -0
  78. package/dist/editor/views/MediaFolderEditView.js.map +1 -0
  79. package/dist/editor/views/SingleEditView.js +9 -1
  80. package/dist/editor/views/SingleEditView.js.map +1 -1
  81. package/dist/revision.d.ts +2 -2
  82. package/dist/revision.js +2 -2
  83. package/dist/styles.css +64 -13
  84. package/package.json +8 -2
  85. package/.prettierrc +0 -3
  86. package/build.css +0 -3
  87. package/components.json +0 -21
  88. package/eslint.config.mjs +0 -4
  89. package/images/bg-shape-black.webp +0 -0
  90. package/images/wizard-bg.png +0 -0
  91. package/images/wizard-tour.png +0 -0
  92. package/images/wizard.png +0 -0
  93. package/src/client-components/api.ts +0 -6
  94. package/src/client-components/index.ts +0 -19
  95. package/src/components/ActionButton.tsx +0 -41
  96. package/src/components/Error.tsx +0 -57
  97. package/src/components/ui/CardConnector.tsx +0 -56
  98. package/src/components/ui/button.tsx +0 -62
  99. package/src/components/ui/card.tsx +0 -372
  100. package/src/components/ui/context-menu.tsx +0 -250
  101. package/src/config/config.tsx +0 -917
  102. package/src/config/types.ts +0 -286
  103. package/src/editor/ComponentInfo.tsx +0 -90
  104. package/src/editor/ConfirmationDialog.tsx +0 -103
  105. package/src/editor/ContentTree.tsx +0 -727
  106. package/src/editor/ContextMenu.tsx +0 -212
  107. package/src/editor/Editor.tsx +0 -90
  108. package/src/editor/EditorWarning.tsx +0 -34
  109. package/src/editor/EditorWarnings.tsx +0 -33
  110. package/src/editor/FieldEditorPopup.tsx +0 -65
  111. package/src/editor/FieldHistory.tsx +0 -74
  112. package/src/editor/FieldList.tsx +0 -190
  113. package/src/editor/FieldListField.tsx +0 -391
  114. package/src/editor/FieldListFieldWithFallbacks.tsx +0 -217
  115. package/src/editor/FloatingToolbar.tsx +0 -163
  116. package/src/editor/ImageEditor.tsx +0 -128
  117. package/src/editor/ItemInfo.tsx +0 -90
  118. package/src/editor/LinkEditorDialog.tsx +0 -196
  119. package/src/editor/MainLayout.tsx +0 -95
  120. package/src/editor/MobileLayout.tsx +0 -68
  121. package/src/editor/NewEditorClient.tsx +0 -11
  122. package/src/editor/PictureCropper.tsx +0 -503
  123. package/src/editor/PictureEditor.tsx +0 -212
  124. package/src/editor/PictureEditorDialog.tsx +0 -381
  125. package/src/editor/PublishDialog.ignore +0 -74
  126. package/src/editor/ScrollingContentTree.tsx +0 -67
  127. package/src/editor/Terminal.tsx +0 -227
  128. package/src/editor/Titlebar.tsx +0 -93
  129. package/src/editor/ai/AiPopup.tsx +0 -59
  130. package/src/editor/ai/AiResponseMessage.tsx +0 -106
  131. package/src/editor/ai/AiTerminal.tsx +0 -514
  132. package/src/editor/ai/AiToolCall.tsx +0 -61
  133. package/src/editor/ai/EditorAiTerminal.tsx +0 -20
  134. package/src/editor/ai/GhostWriter.tsx +0 -432
  135. package/src/editor/ai/aiPageModel.ts +0 -108
  136. package/src/editor/ai/editorAiContext.ts +0 -18
  137. package/src/editor/client/AboutDialog.tsx +0 -44
  138. package/src/editor/client/EditorClient.tsx +0 -2197
  139. package/src/editor/client/GenericDialog.tsx +0 -50
  140. package/src/editor/client/editContext.ts +0 -412
  141. package/src/editor/client/helpers.ts +0 -44
  142. package/src/editor/client/itemsRepository.ts +0 -538
  143. package/src/editor/client/operations.ts +0 -768
  144. package/src/editor/client/pageModelBuilder.ts +0 -219
  145. package/src/editor/commands/commands.ts +0 -22
  146. package/src/editor/commands/componentCommands.tsx +0 -424
  147. package/src/editor/commands/createVersionCommand.ts +0 -33
  148. package/src/editor/commands/deleteVersionCommand.ts +0 -71
  149. package/src/editor/commands/itemCommands.tsx +0 -351
  150. package/src/editor/commands/localizeItem/LocalizeItemDialog.tsx +0 -201
  151. package/src/editor/commands/localizeItem/LocalizeItemUtils.ts +0 -27
  152. package/src/editor/commands/undo.ts +0 -39
  153. package/src/editor/component-designer/ComponentDesigner.tsx +0 -70
  154. package/src/editor/component-designer/ComponentDesignerAiTerminal.tsx +0 -11
  155. package/src/editor/component-designer/ComponentDesignerMenu.tsx +0 -91
  156. package/src/editor/component-designer/ComponentEditor.tsx +0 -97
  157. package/src/editor/component-designer/ComponentRenderingCodeEditor.tsx +0 -31
  158. package/src/editor/component-designer/ComponentRenderingEditor.tsx +0 -104
  159. package/src/editor/component-designer/ComponentsDropdown.tsx +0 -39
  160. package/src/editor/component-designer/PlaceholdersEditor.tsx +0 -179
  161. package/src/editor/component-designer/RenderingsDropdown.tsx +0 -36
  162. package/src/editor/component-designer/TemplateEditor.tsx +0 -236
  163. package/src/editor/component-designer/aiContext.ts +0 -23
  164. package/src/editor/componentTreeHelper.tsx +0 -116
  165. package/src/editor/context-menu/CopyMoveMenu.tsx +0 -103
  166. package/src/editor/context-menu/InsertMenu.tsx +0 -347
  167. package/src/editor/control-center/About.tsx +0 -342
  168. package/src/editor/control-center/ControlCenterMenu.tsx +0 -76
  169. package/src/editor/control-center/IndexOverview.tsx +0 -50
  170. package/src/editor/control-center/IndexSettings.tsx +0 -266
  171. package/src/editor/control-center/Info.tsx +0 -104
  172. package/src/editor/control-center/QuotaInfo.tsx +0 -301
  173. package/src/editor/control-center/Status.tsx +0 -113
  174. package/src/editor/control-center/WebSocketMessages.tsx +0 -155
  175. package/src/editor/editor-warnings/ItemLocked.tsx +0 -63
  176. package/src/editor/editor-warnings/NoLanguageWriteAccess.tsx +0 -22
  177. package/src/editor/editor-warnings/NoWorkflowWriteAccess.tsx +0 -23
  178. package/src/editor/editor-warnings/NoWriteAccess.tsx +0 -16
  179. package/src/editor/editor-warnings/ValidationErrors.tsx +0 -54
  180. package/src/editor/field-types/AttachmentEditor.tsx +0 -9
  181. package/src/editor/field-types/CheckboxEditor.tsx +0 -47
  182. package/src/editor/field-types/DropLinkEditor.tsx +0 -80
  183. package/src/editor/field-types/DropListEditor.tsx +0 -84
  184. package/src/editor/field-types/ImageFieldEditor.tsx +0 -65
  185. package/src/editor/field-types/InternalLinkFieldEditor.tsx +0 -117
  186. package/src/editor/field-types/LinkFieldEditor.tsx +0 -85
  187. package/src/editor/field-types/MultiLineText.tsx +0 -82
  188. package/src/editor/field-types/PictureFieldEditor.tsx +0 -121
  189. package/src/editor/field-types/RawEditor.tsx +0 -53
  190. package/src/editor/field-types/ReactQuill.tsx +0 -580
  191. package/src/editor/field-types/RichTextEditor.tsx +0 -22
  192. package/src/editor/field-types/RichTextEditorComponent.tsx +0 -127
  193. package/src/editor/field-types/SingleLineText.tsx +0 -174
  194. package/src/editor/field-types/TreeListEditor.tsx +0 -261
  195. package/src/editor/fieldTypes.ts +0 -140
  196. package/src/editor/media-selector/AiImageSearch.tsx +0 -185
  197. package/src/editor/media-selector/AiImageSearchPrompt.tsx +0 -94
  198. package/src/editor/media-selector/MediaSelector.tsx +0 -42
  199. package/src/editor/media-selector/Preview.tsx +0 -14
  200. package/src/editor/media-selector/Thumbnails.tsx +0 -48
  201. package/src/editor/media-selector/TreeSelector.tsx +0 -292
  202. package/src/editor/media-selector/UploadZone.tsx +0 -137
  203. package/src/editor/menubar/ActionsMenu.tsx +0 -94
  204. package/src/editor/menubar/ActiveUsers.tsx +0 -17
  205. package/src/editor/menubar/ApproveAndPublish.tsx +0 -18
  206. package/src/editor/menubar/BrowseHistory.tsx +0 -37
  207. package/src/editor/menubar/ItemLanguageVersion.tsx +0 -76
  208. package/src/editor/menubar/LanguageSelector.tsx +0 -226
  209. package/src/editor/menubar/Menu.tsx +0 -83
  210. package/src/editor/menubar/NavButtons.tsx +0 -74
  211. package/src/editor/menubar/PageSelector.tsx +0 -141
  212. package/src/editor/menubar/PageViewerControls.tsx +0 -120
  213. package/src/editor/menubar/PreviewSecondaryControls.tsx +0 -18
  214. package/src/editor/menubar/SecondaryControls.tsx +0 -45
  215. package/src/editor/menubar/Separator.tsx +0 -12
  216. package/src/editor/menubar/SiteInfo.tsx +0 -53
  217. package/src/editor/menubar/User.tsx +0 -27
  218. package/src/editor/menubar/VersionSelector.tsx +0 -142
  219. package/src/editor/page-editor-chrome/CommentHighlighting.tsx +0 -307
  220. package/src/editor/page-editor-chrome/CommentHighlightings.tsx +0 -35
  221. package/src/editor/page-editor-chrome/FieldActionIndicator.tsx +0 -59
  222. package/src/editor/page-editor-chrome/FieldActionIndicators.tsx +0 -23
  223. package/src/editor/page-editor-chrome/FieldEditedIndicator.tsx +0 -64
  224. package/src/editor/page-editor-chrome/FieldEditedIndicators.tsx +0 -35
  225. package/src/editor/page-editor-chrome/FrameMenu.tsx +0 -338
  226. package/src/editor/page-editor-chrome/FrameMenus.tsx +0 -48
  227. package/src/editor/page-editor-chrome/InlineEditor.tsx +0 -765
  228. package/src/editor/page-editor-chrome/LockedFieldIndicator.tsx +0 -61
  229. package/src/editor/page-editor-chrome/NoLayout.tsx +0 -36
  230. package/src/editor/page-editor-chrome/PageEditorChrome.tsx +0 -122
  231. package/src/editor/page-editor-chrome/PictureEditorOverlay.tsx +0 -161
  232. package/src/editor/page-editor-chrome/PlaceholderDropZone.tsx +0 -169
  233. package/src/editor/page-editor-chrome/PlaceholderDropZones.tsx +0 -315
  234. package/src/editor/page-editor-chrome/SuggestionHighlighting.tsx +0 -300
  235. package/src/editor/page-editor-chrome/SuggestionHighlightings.tsx +0 -40
  236. package/src/editor/page-editor-chrome/useInlineAICompletion.tsx +0 -791
  237. package/src/editor/page-viewer/DeviceToolbar.tsx +0 -70
  238. package/src/editor/page-viewer/EditorForm.tsx +0 -258
  239. package/src/editor/page-viewer/MiniMap.tsx +0 -362
  240. package/src/editor/page-viewer/PageViewer.tsx +0 -169
  241. package/src/editor/page-viewer/PageViewerFrame.tsx +0 -879
  242. package/src/editor/page-viewer/pageModelSkeletonBuilder.ts +0 -412
  243. package/src/editor/page-viewer/pageViewContext.ts +0 -186
  244. package/src/editor/pageModel.ts +0 -208
  245. package/src/editor/picture-shared.tsx +0 -53
  246. package/src/editor/reviews/Comment.tsx +0 -308
  247. package/src/editor/reviews/Comments.tsx +0 -125
  248. package/src/editor/reviews/DiffView.tsx +0 -109
  249. package/src/editor/reviews/PreviewInfo.tsx +0 -35
  250. package/src/editor/reviews/Reviews.tsx +0 -280
  251. package/src/editor/reviews/SuggestedEdit.tsx +0 -316
  252. package/src/editor/reviews/reviewCommands.tsx +0 -47
  253. package/src/editor/reviews/useReviews.tsx +0 -70
  254. package/src/editor/services/aiService.ts +0 -174
  255. package/src/editor/services/componentDesignerService.ts +0 -151
  256. package/src/editor/services/contentService.ts +0 -180
  257. package/src/editor/services/editService.ts +0 -486
  258. package/src/editor/services/indexService.ts +0 -24
  259. package/src/editor/services/reviewsService.ts +0 -53
  260. package/src/editor/services/serviceHelper.ts +0 -95
  261. package/src/editor/services/suggestedEditsService.ts +0 -39
  262. package/src/editor/services/systemService.ts +0 -5
  263. package/src/editor/services/translationService.ts +0 -21
  264. package/src/editor/services-server/api.ts +0 -150
  265. package/src/editor/services-server/graphQL.ts +0 -106
  266. package/src/editor/sidebar/ComponentPalette.tsx +0 -161
  267. package/src/editor/sidebar/ComponentTree.tsx +0 -548
  268. package/src/editor/sidebar/ComponentTree2.tsxx +0 -490
  269. package/src/editor/sidebar/Debug.tsx +0 -111
  270. package/src/editor/sidebar/DictionaryEditor.tsx +0 -261
  271. package/src/editor/sidebar/EditHistory.tsx +0 -134
  272. package/src/editor/sidebar/GraphQL.tsx +0 -164
  273. package/src/editor/sidebar/Insert.tsx +0 -35
  274. package/src/editor/sidebar/MainContentTree.tsx +0 -102
  275. package/src/editor/sidebar/Performance.tsx +0 -53
  276. package/src/editor/sidebar/Sessions.tsx +0 -35
  277. package/src/editor/sidebar/Sidebar.tsx +0 -20
  278. package/src/editor/sidebar/SidebarView.tsx +0 -152
  279. package/src/editor/sidebar/Translations.tsx +0 -295
  280. package/src/editor/sidebar/Validation.tsx +0 -102
  281. package/src/editor/sidebar/ViewSelector.tsx +0 -60
  282. package/src/editor/sidebar/Workbox.tsx +0 -209
  283. package/src/editor/ui/CenteredMessage.tsx +0 -7
  284. package/src/editor/ui/CopyMoveTargetSelectorDialog.tsx +0 -81
  285. package/src/editor/ui/CopyToClipboardButton.tsx +0 -24
  286. package/src/editor/ui/DialogButtons.tsx +0 -11
  287. package/src/editor/ui/Icons.tsx +0 -708
  288. package/src/editor/ui/ItemNameDialogNew.tsx +0 -118
  289. package/src/editor/ui/ItemSearch.tsx +0 -190
  290. package/src/editor/ui/PerfectTree.tsx +0 -571
  291. package/src/editor/ui/Section.tsx +0 -35
  292. package/src/editor/ui/SimpleIconButton.tsx +0 -54
  293. package/src/editor/ui/SimpleMenu.tsx +0 -40
  294. package/src/editor/ui/SimpleTable.tsx +0 -60
  295. package/src/editor/ui/SimpleTabs.tsx +0 -55
  296. package/src/editor/ui/SimpleToolbar.tsx +0 -7
  297. package/src/editor/ui/Spinner.tsx +0 -9
  298. package/src/editor/ui/Splitter.tsx +0 -314
  299. package/src/editor/ui/StackedPanels.tsx +0 -134
  300. package/src/editor/ui/Toolbar.tsx +0 -7
  301. package/src/editor/utils/id-helper.ts +0 -3
  302. package/src/editor/utils/insertOptions.ts +0 -69
  303. package/src/editor/utils/itemutils.ts +0 -29
  304. package/src/editor/utils/useMemoDebug.ts +0 -28
  305. package/src/editor/utils.ts +0 -486
  306. package/src/editor/views/CompareView.tsx +0 -245
  307. package/src/editor/views/EditView.tsx +0 -27
  308. package/src/editor/views/ItemEditor.tsx +0 -58
  309. package/src/editor/views/SingleEditView.tsx +0 -46
  310. package/src/fonts/Geist-Black.woff2 +0 -0
  311. package/src/fonts/Geist-Bold.woff2 +0 -0
  312. package/src/fonts/Geist-ExtraBold.woff2 +0 -0
  313. package/src/fonts/Geist-ExtraLight.woff2 +0 -0
  314. package/src/fonts/Geist-Light.woff2 +0 -0
  315. package/src/fonts/Geist-Medium.woff2 +0 -0
  316. package/src/fonts/Geist-Regular.woff2 +0 -0
  317. package/src/fonts/Geist-SemiBold.woff2 +0 -0
  318. package/src/fonts/Geist-Thin.woff2 +0 -0
  319. package/src/fonts/Geist[wght].woff2 +0 -0
  320. package/src/fonts/index.ts +0 -10
  321. package/src/index.ts +0 -23
  322. package/src/lib/safelist.tsx +0 -16
  323. package/src/lib/utils.ts +0 -6
  324. package/src/page-wizard/PageWizard.tsx +0 -139
  325. package/src/page-wizard/WizardBox.tsx +0 -4
  326. package/src/page-wizard/WizardBoxConnector.tsx +0 -56
  327. package/src/page-wizard/WizardSteps.tsx +0 -458
  328. package/src/page-wizard/service.ts +0 -35
  329. package/src/page-wizard/startPageWizardCommand.ts +0 -26
  330. package/src/page-wizard/steps/BuildPageStep.tsx +0 -259
  331. package/src/page-wizard/steps/CollectStep.tsx +0 -296
  332. package/src/page-wizard/steps/ComponentTypesSelector.tsx +0 -454
  333. package/src/page-wizard/steps/Components.tsx +0 -193
  334. package/src/page-wizard/steps/ContentStep.tsx +0 -890
  335. package/src/page-wizard/steps/EditButton.tsx +0 -34
  336. package/src/page-wizard/steps/FieldEditor.tsx +0 -102
  337. package/src/page-wizard/steps/Generate.tsx +0 -60
  338. package/src/page-wizard/steps/ImagesStep.tsx +0 -382
  339. package/src/page-wizard/steps/LayoutStep.tsx +0 -227
  340. package/src/page-wizard/steps/MetaDataStep.tsx +0 -173
  341. package/src/page-wizard/steps/SelectStep.tsx +0 -281
  342. package/src/page-wizard/steps/schema.ts +0 -180
  343. package/src/page-wizard/steps/usePageCreator.ts +0 -325
  344. package/src/page-wizard/usePageWizard.ts +0 -79
  345. package/src/revision.ts +0 -2
  346. package/src/splash-screen/NewPage.tsx +0 -294
  347. package/src/splash-screen/OpenPage.tsx +0 -113
  348. package/src/splash-screen/RecentPages.tsx +0 -123
  349. package/src/splash-screen/SectionHeadline.tsx +0 -21
  350. package/src/splash-screen/SplashScreen.tsx +0 -195
  351. package/src/tour/Tour.tsx +0 -566
  352. package/src/tour/default-tour.tsx +0 -301
  353. package/src/tour/preview-tour.tsx +0 -128
  354. package/src/types.ts +0 -335
  355. package/styles.css +0 -765
  356. package/tsconfig.build.json +0 -31
  357. package/tsconfig.json +0 -14
@@ -1,180 +0,0 @@
1
- import {
2
- WizardSchemaComponent,
3
- PageSchema,
4
- SchemaComponent,
5
- WizardSchemaField,
6
- } from "../PageWizard";
7
- type WizardSchemaComponentAccumulator = {
8
- name: string;
9
- type: string;
10
- fields: WizardSchemaField[];
11
- validParentPlaceholders: Set<string>;
12
- validChildComponentTypes: Set<string>;
13
- allowedOnRoot: boolean;
14
- };
15
-
16
- export function convertPageSchemaToWizardComponents(
17
- pageSchema: PageSchema,
18
- whitelist: string[]
19
- ): WizardSchemaComponent[] {
20
- const componentMap = new Map<string, WizardSchemaComponentAccumulator>();
21
-
22
- /**
23
- * Recursively processes a SchemaComponent.
24
- *
25
- * @param component - The current SchemaComponent to process.
26
- * @param parentPlaceholder - The name of the placeholder where the component appears.
27
- * @param isRoot - True if the component is at the root level.
28
- * @param parentAccumulator - The accumulator of the parent component (if the parent is allowed).
29
- */
30
- function processComponent(
31
- component: SchemaComponent,
32
- parentPlaceholder: string,
33
- isRoot: boolean,
34
- parentAccumulator?: WizardSchemaComponentAccumulator
35
- ): void {
36
- const isAllowed = whitelist.includes(component.type);
37
- let currentAccumulator: WizardSchemaComponentAccumulator | undefined =
38
- undefined;
39
-
40
- if (isAllowed) {
41
- // If a parent accumulator exists (and is allowed), record the child's type as a valid child type.
42
- if (parentAccumulator) {
43
- parentAccumulator.validChildComponentTypes.add(component.type);
44
- }
45
-
46
- if (componentMap.has(component.typeId)) {
47
- currentAccumulator = componentMap.get(component.typeId)!;
48
- currentAccumulator.validParentPlaceholders.add(parentPlaceholder);
49
- // Mark as allowed on root if encountered at the root level in any instance.
50
- if (isRoot) {
51
- currentAccumulator.allowedOnRoot = true;
52
- }
53
- } else {
54
- currentAccumulator = {
55
- name: component.typeId, // using typeId as the wizard component name
56
- type: component.type,
57
- fields: component.fields.map((field) => ({
58
- name: field.name,
59
- type: field.type,
60
- })),
61
- validParentPlaceholders: new Set([parentPlaceholder]),
62
- validChildComponentTypes: new Set<string>(),
63
- allowedOnRoot: isRoot,
64
- };
65
- componentMap.set(component.typeId, currentAccumulator);
66
- }
67
- }
68
- // Process child components regardless of whether the current component is allowed.
69
- for (const placeholder of component.placeholders) {
70
- for (const child of placeholder.components) {
71
- processComponent(child, placeholder.name, false, currentAccumulator);
72
- }
73
- }
74
- }
75
-
76
- // Process each top-level component in the PageSchema.
77
- for (const placeholder of pageSchema) {
78
- for (const component of placeholder.components) {
79
- processComponent(component, placeholder.name, true);
80
- }
81
- }
82
-
83
- // Convert accumulators to final WizardSchemaComponent objects.
84
- const wizardComponents: WizardSchemaComponent[] = [];
85
- for (const acc of componentMap.values()) {
86
- const wizardComponent: WizardSchemaComponent = {
87
- type: acc.type,
88
- fields: acc.fields,
89
- allowedChildrenComponentTypes: Array.from(acc.validChildComponentTypes),
90
- allowedOnRoot: acc.allowedOnRoot,
91
- };
92
- // Only include validParentPlaceholders if there is more than one.
93
- if (acc.validParentPlaceholders.size > 1) {
94
- wizardComponent.availableParentPlaceholders = Array.from(
95
- acc.validParentPlaceholders
96
- );
97
- }
98
- wizardComponents.push(wizardComponent);
99
- }
100
-
101
- return wizardComponents;
102
- }
103
-
104
- /**
105
- * Finds a placeholder (by its name) where a child component of type `childComponentType`
106
- * can be placed inside a parent of type `parentComponentType`. For a parentComponentType
107
- * equal to "root" (case‑insensitive), the function searches among top‑level placeholders.
108
- *
109
- * @param schema - The PageSchema (an array of SchemaPlaceholders).
110
- * @param parentComponentType - The type of the parent component, or "root" to indicate top‑level.
111
- * @param childComponentType - The type of the child component to place.
112
- * @returns The name of a valid placeholder or undefined if none is found.
113
- */
114
- export function getPlaceholder(
115
- schema: PageSchema,
116
- parentComponentType: string,
117
- childComponentType: string
118
- ): string | undefined {
119
- // Check for the special case where we want to place at the root level.
120
- if (parentComponentType.toLowerCase() === "root") {
121
- // First, look for a top-level placeholder that already contains a component
122
- // of the given childComponentType.
123
- for (const topPlaceholder of schema) {
124
- if (
125
- topPlaceholder.components.some((c) => c.type === childComponentType)
126
- ) {
127
- return topPlaceholder.name;
128
- }
129
- }
130
- // If not found, return the first top-level placeholder that is empty.
131
- for (const topPlaceholder of schema) {
132
- if (topPlaceholder.components.length === 0) {
133
- return topPlaceholder.name;
134
- }
135
- }
136
- return undefined;
137
- }
138
-
139
- // Recursive helper to search through nested SchemaComponents.
140
- function searchComponents(components: SchemaComponent[]): string | undefined {
141
- for (const component of components) {
142
- // If this component matches the desired parent type, check its placeholders.
143
- if (component.type === parentComponentType) {
144
- // First, try to find a placeholder that already has a child of the desired type.
145
- for (const placeholder of component.placeholders) {
146
- if (
147
- placeholder.components.some(
148
- (child) => child.type === childComponentType
149
- )
150
- ) {
151
- return placeholder.name;
152
- }
153
- }
154
- // Otherwise, pick an empty placeholder.
155
- for (const placeholder of component.placeholders) {
156
- if (placeholder.components.length === 0) {
157
- return placeholder.name;
158
- }
159
- }
160
- }
161
- // Recurse into any placeholders in the current component.
162
- for (const placeholder of component.placeholders) {
163
- const result = searchComponents(placeholder.components);
164
- if (result) {
165
- return result;
166
- }
167
- }
168
- }
169
- return undefined;
170
- }
171
-
172
- // Search through all top-level placeholders' components.
173
- for (const topPlaceholder of schema) {
174
- const result = searchComponents(topPlaceholder.components);
175
- if (result) {
176
- return result;
177
- }
178
- }
179
- return undefined;
180
- }
@@ -1,325 +0,0 @@
1
- import { Dispatch, SetStateAction, useMemo } from "react";
2
- import {
3
- SchemaComponent,
4
- Wizard,
5
- WizardPageComponent,
6
- WizardPageModel,
7
- WizardField,
8
- SchemaField,
9
- } from "../PageWizard";
10
- import { useEditContextRef } from "../../editor/client/editContext";
11
- import { useEditContext } from "../../editor/client/editContext";
12
- import { getComponentById } from "../../editor/componentTreeHelper";
13
- import { getPlaceholder } from "./schema";
14
- import { getItemDescriptor, normalizeGuid } from "../../editor/utils";
15
- import { ItemDescriptor } from "../../editor/pageModel";
16
- import { generateImage } from "../../editor/services/aiService";
17
-
18
- export function usePageCreator(
19
- pageItem: ItemDescriptor | undefined,
20
- wizard: Wizard,
21
- setPageModel: Dispatch<SetStateAction<WizardPageModel>>,
22
- ) {
23
- const editContext = useEditContext();
24
- const editContextRef = useEditContextRef();
25
-
26
- // Function to build a map of all components from wizard schema
27
- const buildComponentTypeMap = () => {
28
- const componentMap = new Map<string, string>();
29
- const fieldsMap = new Map<string, SchemaField>();
30
- const placeholderMap = new Map<string, string>();
31
-
32
- const processComponentsRecursively = (components: SchemaComponent[]) => {
33
- for (const component of components) {
34
- // Store the mapping from component type to typeId
35
- componentMap.set(component.type, component.typeId);
36
- placeholderMap.set(component.typeId, component.type);
37
-
38
- // Process nested components in placeholders
39
- if (component.placeholders && component.placeholders.length > 0) {
40
- for (const placeholder of component.placeholders) {
41
- if (placeholder.components && placeholder.components.length > 0) {
42
- processComponentsRecursively(placeholder.components);
43
- }
44
- }
45
- }
46
- if (component.fields && component.fields.length > 0) {
47
- for (const field of component.fields) {
48
- fieldsMap.set(component.typeId + "_" + field.name, field);
49
- }
50
- }
51
- }
52
- };
53
-
54
- // Start processing from the root level of the schema
55
- if (wizard.schema && wizard.schema.length > 0) {
56
- for (const placeholder of wizard.schema) {
57
- if (placeholder.components && placeholder.components.length > 0) {
58
- processComponentsRecursively(placeholder.components);
59
- }
60
- }
61
- }
62
-
63
- return { componentMap, fieldsMap };
64
- };
65
-
66
- // Build the component type to typeId map
67
- const mappings = useMemo(() => buildComponentTypeMap(), [wizard.schema]);
68
-
69
- const createNewComponent = async (
70
- component: WizardPageComponent,
71
- parentComponentType: string,
72
- index: number,
73
- parentComponentId?: string,
74
- ): Promise<ItemDescriptor | undefined> => {
75
- if (!editContext) return undefined;
76
- const { componentMap } = mappings;
77
- // Get the typeId from the map using the component type
78
- const typeId = componentMap.get(component.type) || component.type;
79
-
80
- if (!typeId) return undefined;
81
-
82
- // 1. Add the component to the placeholder
83
- console.log(
84
- `! Adding component ${component.type} (typeId: ${typeId}) to placeholder ${parentComponentId} at index ${index}. Name: ${component.name}`,
85
- );
86
-
87
- const placeholderKey =
88
- component.placeholder ||
89
- getPlaceholder(wizard.schema, parentComponentType, component.type);
90
-
91
- const placeholderId = parentComponentId
92
- ? placeholderKey + "_" + normalizeGuid(parentComponentId)
93
- : placeholderKey;
94
-
95
- if (!placeholderId) {
96
- console.error("Placeholder ID not found", component);
97
- return undefined;
98
- }
99
-
100
- const addComponentOp = await editContext.operations.addComponent(
101
- typeId, // Use typeId instead of just type
102
- placeholderId,
103
- index,
104
- getItemDescriptor(pageItem!),
105
- );
106
-
107
- if (!addComponentOp?.componentId) {
108
- console.warn(
109
- "Failed to add component",
110
- component,
111
- "Result Op:",
112
- addComponentOp,
113
- );
114
- return undefined;
115
- }
116
-
117
- // Wait for the component to be created
118
- const componentId = addComponentOp.componentId;
119
- console.log("! Waiting for component to be created", componentId);
120
-
121
- let createdComponent;
122
- let attempts = 0;
123
- const maxAttempts = 10;
124
-
125
- while (!createdComponent && attempts < maxAttempts) {
126
- if (editContextRef.current?.page) {
127
- createdComponent = getComponentById(
128
- componentId,
129
- editContextRef.current?.page,
130
- );
131
- if (createdComponent) {
132
- break;
133
- }
134
- }
135
- if (createdComponent) break;
136
-
137
- await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait 100ms between attempts
138
- console.log("! Waiting for component to be created", componentId);
139
- attempts++;
140
- }
141
-
142
- if (!createdComponent) {
143
- console.error(
144
- "Timeout waiting for component to appear in page model",
145
- componentId,
146
- );
147
- }
148
-
149
- const componentDescriptor = {
150
- ...addComponentOp.mainItem,
151
- id: addComponentOp.componentId,
152
- };
153
-
154
- console.log("! Component created:", componentDescriptor);
155
-
156
- return componentDescriptor;
157
- };
158
-
159
- const findComponent = (components: WizardPageComponent[], path: number[]) => {
160
- const child = components[path[0]!];
161
- if (!child) return null;
162
- if (path.length === 1) return child;
163
- return findComponent(child.children || [], path.slice(1));
164
- };
165
-
166
- // Function to recursively create components from the page model
167
- const createComponentsRecursively = async (
168
- components: WizardPageComponent[],
169
- parentComponentType: string,
170
- parentComponentId?: string,
171
- parentPath?: number[],
172
- ) => {
173
- if (!editContext || !pageItem) return;
174
-
175
- const { componentMap, fieldsMap } = mappings;
176
-
177
- // Process each component in the array
178
- for (let i = 0; i < components.length; i++) {
179
- //console.log("Processing component", i);
180
- const component = components[i];
181
- const componentPath = [...(parentPath || []), i];
182
-
183
- if (!component?.id) {
184
- if (!component?.type || !component?.fields) {
185
- continue;
186
- }
187
-
188
- const descriptor = await createNewComponent(
189
- component,
190
- parentComponentType,
191
- i,
192
- parentComponentId,
193
- );
194
- if (!descriptor) continue;
195
- component.id = descriptor.id;
196
- setPageModel((prev) => {
197
- const component = findComponent(prev.components, componentPath);
198
- if (component) {
199
- component.id = descriptor.id;
200
- }
201
- return {
202
- ...prev,
203
- };
204
- });
205
- }
206
-
207
- if (component.fields && component.fields.length > 0) {
208
- const typeId = componentMap.get(component.type) || component.type;
209
-
210
- // 2. Edit fields of the component
211
- for (const field of component.fields) {
212
- if (
213
- !field.name ||
214
- !field.value ||
215
- field.value + field.type === field.writtenValue
216
- ) {
217
- continue;
218
- }
219
-
220
- const schemaField = fieldsMap.get(typeId + "_" + field.name);
221
-
222
- if (!schemaField) {
223
- console.warn(
224
- "Field not found",
225
- field,
226
- typeId,
227
- component.type,
228
- componentMap,
229
- );
230
- continue;
231
- }
232
-
233
- const fieldDescriptor = {
234
- fieldId: schemaField.id.toLowerCase().replace(/[{}]/g, ""),
235
- item: {
236
- id: component.id,
237
- language: pageItem.language,
238
- version: pageItem.version,
239
- },
240
- };
241
-
242
- let rawValue = field.value;
243
- let value = field.value as any;
244
-
245
- // console.log("##Processing field: ", field, schemaField, rawValue);
246
-
247
- if (
248
- schemaField.type === "Picture" ||
249
- schemaField.type === "picture"
250
- ) {
251
- console.log("##Processing picture field: ", field, schemaField);
252
- if (rawValue.indexOf("[...]") >= 0) continue;
253
-
254
- if (
255
- rawValue.startsWith("generate:") ||
256
- rawValue.startsWith("id:generate:")
257
- ) {
258
- console.log("##Generating image");
259
- rawValue = rawValue.slice(9);
260
- const image = await generateImage({
261
- ...fieldDescriptor,
262
- prompt: rawValue,
263
- sessionId: editContext.sessionId,
264
- pageItem: getItemDescriptor(pageItem),
265
- });
266
- } else {
267
- if (rawValue.startsWith("id:")) {
268
- console.log("##Processing image id");
269
- const imageId = rawValue.slice(3);
270
- if (imageId) {
271
- value = {
272
- Variants: [{ Name: "Landscape", MediaId: imageId }],
273
- };
274
- }
275
-
276
- await editContext.operations.editField({
277
- field: fieldDescriptor,
278
- rawValue: JSON.stringify(value),
279
- refresh: "none",
280
- });
281
- } else
282
- console.log(
283
- "##Do not know how to process picture value: ",
284
- rawValue,
285
- );
286
- }
287
- } else {
288
- await editContext.operations.editField({
289
- field: fieldDescriptor,
290
- value: value,
291
- rawValue: rawValue,
292
- refresh: "none",
293
- });
294
- }
295
-
296
- setPageModel((prev) => {
297
- const component = findComponent(prev.components, componentPath);
298
- if (component) {
299
- const prevField: WizardField | undefined = component.fields.find(
300
- (f: WizardField) => f.name === field.name,
301
- );
302
- if (prevField) {
303
- prevField.writtenValue = field.value + field.type;
304
- }
305
- }
306
- return {
307
- ...prev,
308
- };
309
- });
310
- }
311
- }
312
-
313
- // 3. Recursively process placeholders
314
- if (component.children && component.children.length > 0) {
315
- await createComponentsRecursively(
316
- component.children,
317
- component.type,
318
- component.id,
319
- componentPath,
320
- );
321
- }
322
- }
323
- };
324
- return { createComponentsRecursively };
325
- }
@@ -1,79 +0,0 @@
1
- import React, { useMemo, useState, useRef } from "react";
2
- import { Wizard, WizardData, WizardPageModel } from "./PageWizard";
3
- import { ItemDescriptor } from "../editor/pageModel";
4
-
5
- export const usePageWizard = () => {
6
- const [wizard, setWizard] = useState<Wizard | undefined>(undefined);
7
- const [parentItem, setParentItem] = useState<ItemDescriptor | undefined>(
8
- undefined,
9
- );
10
-
11
- // Wizard step state that should persist across re-renders
12
- const [currentStepIndex, setCurrentStepIndex] = useState(0);
13
- const [data, setData] = useState<WizardData>({});
14
- const [pageModel, setPageModel] = useState<WizardPageModel>({
15
- components: [],
16
- name: "",
17
- metaDescription: "",
18
- metaKeywords: "",
19
- });
20
- const [internalState, setInternalState] = useState<any>({});
21
- const [stepCompleted, setStepCompleted] = useState(-1);
22
- const [pageItem, setPageItem] = useState<ItemDescriptor>();
23
- const beforeNextCallbackRef = useRef<(() => Promise<boolean>) | null>(null);
24
-
25
- // Reset wizard step state when wizard changes
26
- const setWizardWithReset = (
27
- value: React.SetStateAction<Wizard | undefined>,
28
- ) => {
29
- const newWizard = typeof value === "function" ? value(wizard) : value;
30
- if (newWizard !== wizard) {
31
- setCurrentStepIndex(0);
32
- setData({});
33
- setPageModel({
34
- components: [],
35
- name: "",
36
- metaDescription: "",
37
- metaKeywords: "",
38
- });
39
- setInternalState({});
40
- setStepCompleted(-1);
41
- setPageItem(undefined);
42
- beforeNextCallbackRef.current = null;
43
- }
44
- setWizard(newWizard);
45
- };
46
-
47
- return useMemo(
48
- () => ({
49
- wizard,
50
- setWizard: setWizardWithReset,
51
- parentItem,
52
- setParentItem,
53
- // Wizard step state
54
- currentStepIndex,
55
- setCurrentStepIndex,
56
- data,
57
- setData,
58
- pageModel,
59
- setPageModel,
60
- internalState,
61
- setInternalState,
62
- stepCompleted,
63
- setStepCompleted,
64
- pageItem,
65
- setPageItem,
66
- beforeNextCallbackRef,
67
- }),
68
- [
69
- wizard,
70
- parentItem,
71
- currentStepIndex,
72
- data,
73
- pageModel,
74
- internalState,
75
- stepCompleted,
76
- pageItem,
77
- ],
78
- );
79
- };
package/src/revision.ts DELETED
@@ -1,2 +0,0 @@
1
- export const version = "1.0.3938";
2
- export const buildDate = "2025-06-06 15:49:56";