@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,917 +0,0 @@
1
- import {
2
- ClientFieldButton,
3
- EditorConfiguration,
4
- MenuItem,
5
- MenuItemGroup,
6
- RichTextEditorProfile,
7
- } from "./types";
8
- import { RichTextEditor } from "../editor/field-types/RichTextEditor";
9
- import { LinkFieldEditor } from "../editor/field-types/LinkFieldEditor";
10
- import { PictureFieldEditor } from "../editor/field-types/PictureFieldEditor";
11
- import { InternalLinkFieldEditor } from "../editor/field-types/InternalLinkFieldEditor";
12
- import TreeListEditor from "../editor/field-types/TreeListEditor";
13
- import { SingleLineText } from "../editor/field-types/SingleLineText";
14
- import { MultiLineText } from "../editor/field-types/MultiLineText";
15
- import { DropLinkEditor } from "../editor/field-types/DropLinkEditor";
16
- import { DropListEditor } from "../editor/field-types/DropListEditor";
17
- import { RawEditor } from "../editor/field-types/RawEditor";
18
- import { CheckboxEditor } from "../editor/field-types/CheckboxEditor";
19
-
20
- import { ItemLocked } from "../editor/editor-warnings/ItemLocked";
21
- import { NoWriteAccess } from "../editor/editor-warnings/NoWriteAccess";
22
- import { ValidationErrors } from "../editor/editor-warnings/ValidationErrors";
23
- import { ComponentTree } from "../editor/sidebar/ComponentTree";
24
- import { Performance } from "../editor/sidebar/Performance";
25
-
26
- import { EditHistory } from "../editor/sidebar/EditHistory";
27
- import { Sessions } from "../editor/sidebar/Sessions";
28
- import { Workbox } from "../editor/sidebar/Workbox";
29
- import { DictionaryEditor } from "../editor/sidebar/DictionaryEditor";
30
- import {
31
- BugIcon,
32
- EditIcon,
33
- GraphQLIcon,
34
- JsonIcon,
35
- PageWizardIcon,
36
- TreeIcon,
37
- WizardIcon,
38
- WorkboxIcon,
39
- UsersIcon,
40
- } from "../editor/ui/Icons";
41
- import { Debug } from "../editor/sidebar/Debug";
42
- import { GraphQL } from "../editor/sidebar/GraphQL";
43
-
44
- import { EditorAiTerminal } from "../editor/ai/EditorAiTerminal";
45
-
46
- import { EditContextType } from "../editor/client/editContext";
47
-
48
- import { Titlebar } from "../editor/Titlebar";
49
- import { NoWriteLanguageAccess } from "../editor/editor-warnings/NoLanguageWriteAccess";
50
- import { NoWorkflowWriteAccess } from "../editor/editor-warnings/NoWorkflowWriteAccess";
51
- import { SplashScreen } from "../splash-screen/SplashScreen";
52
- import { PageViewerControls } from "../editor/menubar/PageViewerControls";
53
-
54
- import { Validation } from "../editor/sidebar/Validation";
55
-
56
- import { FullItem } from "../editor/pageModel";
57
- import { LinkValue } from "../editor/fieldTypes";
58
- import {
59
- localizeItemCommand,
60
- deleteItemCommand,
61
- insertItemCommand,
62
- ItemCommand,
63
- moveItemsCommand,
64
- copyItemsCommand,
65
- publishItemCommand,
66
- renameItemCommand,
67
- duplicateItemCommand,
68
- } from "../editor/commands/itemCommands";
69
- import { loadInsertOptions } from "../editor/services/editService";
70
- import { getDefaultTourSteps } from "../tour/default-tour";
71
- import { Translation } from "../editor/sidebar/Translations";
72
- import { EditView } from "../editor/views/EditView";
73
- import { InsertMenuTemplate } from "../editor/context-menu/InsertMenu";
74
-
75
- import { Status } from "../editor/control-center/Status";
76
- import { IndexOverview } from "../editor/control-center/IndexOverview";
77
- import { Info } from "../editor/control-center/Info";
78
- import { QuotaInfo } from "../editor/control-center/QuotaInfo";
79
- import { About } from "../editor/control-center/About";
80
- import { WebSocketMessages } from "../editor/control-center/WebSocketMessages";
81
- import { MainContentTree } from "../editor/sidebar/MainContentTree";
82
- import { AttachmentEditor } from "../editor/field-types/AttachmentEditor";
83
- import { Comments } from "../editor/reviews/Comments";
84
- import { Reviews } from "../editor/reviews/Reviews";
85
-
86
- import { rejectReviewCommand } from "../editor/reviews/reviewCommands";
87
- import { approveReviewCommand } from "../editor/reviews/reviewCommands";
88
-
89
- import { User } from "../types";
90
- import { getPreviewTourSteps } from "../tour/preview-tour";
91
- import { PageWizard } from "../page-wizard/PageWizard";
92
- import { CollectStep } from "../page-wizard/steps/CollectStep";
93
- import { LayoutStep } from "../page-wizard/steps/LayoutStep";
94
- import { BuildPageStep } from "../page-wizard/steps/BuildPageStep";
95
- import { SelectStep } from "../page-wizard/steps/SelectStep";
96
- import { ImagesStep } from "../page-wizard/steps/ImagesStep";
97
- import { ContentStep } from "../page-wizard/steps/ContentStep";
98
- import { MetaDataStep } from "../page-wizard/steps/MetaDataStep";
99
- import { getWizards } from "../page-wizard/service";
100
-
101
- import { startPageWizardCommand } from "../page-wizard/startPageWizardCommand";
102
- import { ImageFieldEditor } from "../editor/field-types/ImageFieldEditor";
103
-
104
- import {
105
- BookA,
106
- Ghost,
107
- Languages,
108
- Layers,
109
- MessageCircleMore,
110
- Settings,
111
- } from "lucide-react";
112
- import { GhostWriter } from "../editor/ai/GhostWriter";
113
- import { SecondaryControls } from "../editor/menubar/SecondaryControls";
114
-
115
- import { Command } from "../editor/commands/commands";
116
- import { PreviewSecondaryControls } from "../editor/menubar/PreviewSecondaryControls";
117
- import { AboutDialog } from "../editor/client/AboutDialog";
118
- import { NewPage } from "../splash-screen/NewPage";
119
- import { OpenPage } from "../splash-screen/OpenPage";
120
- const defaultRichTextEditorProfile: RichTextEditorProfile = {
121
- toolbar: {
122
- groups: [
123
- {
124
- items: ["bold", "italic", "underline", "strikethrough"],
125
- },
126
- ],
127
- },
128
- };
129
-
130
- export const contentItemId = "0DE95AE4-41AB-4D01-9EB0-67441B7C2450";
131
- export const templatesRootItemId = "3c1715fe-6a13-4fcf-845f-de308ba9741d";
132
- export const rootItemId = "11111111-1111-1111-1111-111111111111";
133
-
134
- const openTargetActionButton: ClientFieldButton = {
135
- label: "Open target item",
136
- icon: "pi pi-external-link",
137
- clientAction: ({ field, editContext }) => {
138
- const fieldValue = field.value as LinkValue;
139
-
140
- if (fieldValue?.targetItemId) {
141
- editContext.loadItem({
142
- id: fieldValue.targetItemId,
143
- language: field.descriptor.item.language,
144
- version: 0,
145
- });
146
- }
147
- },
148
- isGenerator: false,
149
- id: "open-target-in-content-editor",
150
- description: "Opens the target item in the content/page editor",
151
- };
152
-
153
- const pageEditorRightSidebar = {
154
- title: "COMPONENT NAVIGATOR & HISTORY",
155
- panels: [
156
- {
157
- name: "component-tree",
158
- icon: <Layers size={14} />,
159
- title: "Component Navigator",
160
- content: <ComponentTree />,
161
- initialSize: 20,
162
- },
163
- {
164
- name: "history",
165
- icon: "pi pi-clock",
166
- title: "History",
167
- content: <EditHistory />,
168
- initialSize: 15,
169
- },
170
- ],
171
- };
172
-
173
- const editView = <EditView />;
174
- const editPrimaryControls = <PageViewerControls />;
175
- const itemPageEditorSecondaryControls = <SecondaryControls />;
176
-
177
- const pageEditorViewBase = {
178
- primaryControls: editPrimaryControls,
179
- secondaryControls: itemPageEditorSecondaryControls,
180
- rightSidebar: pageEditorRightSidebar,
181
- defaultCenterPanelView: editView,
182
- };
183
-
184
- export const getConfiguration = (): EditorConfiguration => {
185
- return {
186
- extensions: {},
187
- tours: {
188
- default: {
189
- getSteps: (params) =>
190
- getDefaultTourSteps(params, {
191
- firstComponentTemplateId: "39593ec8-0d85-46f2-9573-c368ef7e4ae3",
192
- firstComponentTemplateName: "Section",
193
- firstComponentTextFieldName: "Title",
194
- firstComponentTextFieldId: "f352f51f-062c-4874-a561-6283f8679583",
195
- firstComponentRichTextFieldName: "Introduction",
196
- firstComponentRichTextFieldId:
197
- "b44b547b-33f5-4379-8ac3-c57ccea2d407",
198
- }),
199
- },
200
- preview: {
201
- getSteps: (params) => getPreviewTourSteps(params),
202
- },
203
- },
204
- activeTour: "default",
205
- commands: {
206
- localizeItem: localizeItemCommand,
207
- renameItem: renameItemCommand,
208
- deleteItem: deleteItemCommand,
209
- insertItem: insertItemCommand,
210
- publishItem: publishItemCommand,
211
- moveItems: moveItemsCommand,
212
- copyItems: copyItemsCommand,
213
- allItemCommands: [
214
- renameItemCommand,
215
- deleteItemCommand,
216
- publishItemCommand,
217
- duplicateItemCommand as Command<{ items: FullItem[] }>,
218
- copyItemsCommand as Command<{ items: FullItem[] }>,
219
- moveItemsCommand as Command<{ items: FullItem[] }>,
220
- ],
221
- reviewcommands: [approveReviewCommand, rejectReviewCommand],
222
- },
223
- events: {},
224
- services: {
225
- renderService: { path: "/alpaca/editor/render" },
226
- editorService: {
227
- //baseUrl: "",
228
- },
229
- aiService: {
230
- promptUrl: "/alpaca/editor/ai/prompt",
231
- },
232
- },
233
- fieldTypes: {
234
- raw: {
235
- editor: RawEditor,
236
- },
237
- "single-line text": {
238
- editor: SingleLineText,
239
- },
240
- "multi-line text": {
241
- editor: MultiLineText,
242
- },
243
- "rich text": {
244
- editor: RichTextEditor,
245
- custom: {
246
- profiles: { default: defaultRichTextEditorProfile },
247
- },
248
- },
249
- "general link": {
250
- editor: LinkFieldEditor,
251
- },
252
- picture: {
253
- editor: PictureFieldEditor,
254
- },
255
- image: {
256
- editor: ImageFieldEditor,
257
- buttons: [],
258
- },
259
- droplink: {
260
- editor: DropLinkEditor,
261
- buttons: [openTargetActionButton],
262
- },
263
- "enhanced dropLink": {
264
- editor: DropLinkEditor,
265
- buttons: [openTargetActionButton],
266
- },
267
- "enhanced internal link": {
268
- editor: InternalLinkFieldEditor,
269
- buttons: [openTargetActionButton],
270
- },
271
- droplist: {
272
- editor: DropListEditor,
273
- },
274
- treelistex: {
275
- editor: TreeListEditor,
276
- },
277
- treelist: {
278
- editor: TreeListEditor,
279
- },
280
- "enhanced treelist": {
281
- editor: TreeListEditor,
282
- },
283
- "tree list": {
284
- editor: TreeListEditor,
285
- },
286
- multilist: {
287
- editor: TreeListEditor,
288
- },
289
- checkbox: {
290
- editor: CheckboxEditor,
291
- },
292
- droptree: {
293
- editor: InternalLinkFieldEditor,
294
- },
295
- attachment: {
296
- editor: AttachmentEditor,
297
- },
298
- },
299
- editorWarnings: [
300
- NoWriteAccess,
301
- NoWriteLanguageAccess,
302
- NoWorkflowWriteAccess,
303
- ItemLocked,
304
- ValidationErrors,
305
- ],
306
- outline: {
307
- width: 100,
308
- },
309
- debounceFieldEditsInterval: 250,
310
- devices: [
311
- { name: "iPhone 14 Pro Max", width: 430, height: 932 },
312
- { name: "iPhone SE", width: 375, height: 667 },
313
- { name: "Pixel 7", width: 412, height: 915 },
314
- { name: "iPad Mini", width: 768, height: 1024 },
315
- { name: "iPad Pro", width: 1024, height: 1366 },
316
- { name: "Responsive", width: undefined, height: undefined },
317
- ],
318
-
319
- pageWizard: {
320
- getWizards: getWizards,
321
- startWizardCommand: startPageWizardCommand,
322
-
323
- stepComponents: {
324
- CollectStep,
325
- LayoutStep,
326
- BuildPageStep,
327
- SelectStep,
328
- ImagesStep,
329
- ContentStep,
330
- MetaDataStep,
331
- },
332
- },
333
-
334
- controlCenter: {
335
- groups: [
336
- {
337
- title: "System",
338
- icon: <i className="pi pi-info-circle" />,
339
- panels: [
340
- {
341
- id: "info",
342
- title: "System Info",
343
- icon: <i className="pi pi-info-circle" />,
344
- content: <Info />,
345
- },
346
- {
347
- id: "quota",
348
- title: "AI Quota",
349
- icon: <i className="pi pi-chart-bar" />,
350
- content: <QuotaInfo />,
351
- },
352
- {
353
- id: "about",
354
- title: "About",
355
- icon: <i className="pi pi-info" />,
356
- content: <About />,
357
- },
358
- {
359
- id: "websocket-messages",
360
- title: "WebSocket Messages",
361
- icon: <i className="pi pi-comments" />,
362
- content: <WebSocketMessages />,
363
- },
364
- ],
365
- },
366
- {
367
- title: "Indexing",
368
- icon: <i className="pi pi-search" />,
369
- panels: [
370
- {
371
- id: "indexes",
372
- title: "All Indexes",
373
- icon: <i className="pi pi-search" />,
374
- content: <IndexOverview />,
375
- },
376
- ],
377
- },
378
- ],
379
- },
380
- editor: {
381
- defaultPanelSizes: [400, 300],
382
- dialogs: {
383
- newPage: {
384
- expandTreeNode: "bafb88a1-506a-4671-b47b-1947730d25f6",
385
- },
386
- },
387
- views: [
388
- {
389
- name: "splash-screen",
390
- title: "Splash Screen",
391
- icon: "pi pi-home",
392
- hidden: true,
393
- defaultCenterPanelView: <SplashScreen />,
394
- hideViewSelector: true,
395
- },
396
- {
397
- name: "open-page",
398
- title: "Open Page",
399
- icon: "pi pi-home",
400
- hidden: true,
401
- defaultCenterPanelView: <OpenPage />,
402
- hideViewSelector: true,
403
- },
404
- {
405
- name: "new-page",
406
- title: "New Page",
407
- icon: "pi pi-home",
408
- hidden: true,
409
- defaultCenterPanelView: <NewPage />,
410
- hideViewSelector: true,
411
- },
412
- {
413
- name: "page-editor",
414
- title: "Edit",
415
- icon: <EditIcon />,
416
- ...pageEditorViewBase,
417
- },
418
- // {
419
- // name: "ghostwriter ",
420
- // title: "Ghostwriter",
421
- // icon: <Ghost size={16} />,
422
- // leftSidebar: {
423
- // panels: [
424
- // {
425
- // name: "ghostwriter",
426
- // icon: <Ghost size={16} />,
427
- // title: "Ghostwriter",
428
- // content: <GhostWriter />,
429
- // initialSize: 100,
430
- // },
431
- // ],
432
- // },
433
- // ...pageEditorViewBase,
434
- // },
435
- {
436
- name: "ai",
437
- title: "AI",
438
- icon: <WizardIcon />,
439
- leftSidebar: {
440
- panels: [
441
- {
442
- name: "ai-terminal",
443
- icon: "pi pi-comments",
444
- title: "AI",
445
- content: <EditorAiTerminal />,
446
- initialSize: 70,
447
- noOverflow: true,
448
- },
449
- ],
450
- },
451
- ...pageEditorViewBase,
452
- },
453
- {
454
- name: "translate",
455
- icon: <Languages />,
456
- title: "Translate",
457
- leftSidebar: {
458
- panels: [
459
- {
460
- name: "translation",
461
- icon: "pi pi-language",
462
- title: "Translations",
463
- content: <Translation />,
464
- initialSize: 20,
465
- },
466
- ],
467
- },
468
- ...pageEditorViewBase,
469
- },
470
- {
471
- name: "reviews",
472
- title: "Reviews",
473
- icon: <MessageCircleMore />,
474
- leftSidebar: {
475
- panels: [
476
- {
477
- name: "comments",
478
- icon: "pi pi-comments",
479
- title: "Comments & Suggestions",
480
- content: <Comments />,
481
- initialSize: 65,
482
- noOverflow: true,
483
- },
484
- {
485
- name: "reviews",
486
- icon: "pi pi-users",
487
- title: "Reviews",
488
- content: <Reviews />,
489
- initialSize: 35,
490
- noOverflow: true,
491
- },
492
- ],
493
- },
494
- ...pageEditorViewBase,
495
- },
496
- {
497
- name: "publish",
498
- title: "Publish",
499
- icon: <WorkboxIcon />,
500
-
501
- leftSidebar: {
502
- panels: [
503
- {
504
- name: "Workbox",
505
- title: "Workbox",
506
- icon: "pi-inbox",
507
- content: <Workbox />,
508
- initialSize: 50,
509
- },
510
- {
511
- name: "Validation",
512
- title: "Validation",
513
- icon: "pi-check",
514
- content: <Validation />,
515
- initialSize: 50,
516
- },
517
- ],
518
- },
519
-
520
- ...pageEditorViewBase,
521
- },
522
- {
523
- name: "content-editor",
524
- title: "Content Editor",
525
- icon: <TreeIcon />,
526
- defaultCenterPanelView: editView,
527
- leftSidebar: {
528
- panels: [
529
- {
530
- name: "tree",
531
- icon: <TreeIcon />,
532
- title: "Content",
533
- content: <MainContentTree mode="normal" />,
534
- initialSize: 80,
535
- },
536
- ],
537
- },
538
- rightSidebar: pageEditorRightSidebar,
539
- primaryControls: editPrimaryControls,
540
- secondaryControls: itemPageEditorSecondaryControls,
541
- },
542
-
543
- {
544
- name: "dictionary",
545
- title: "Dictionary",
546
- icon: <BookA />,
547
- leftSidebar: {
548
- panels: [
549
- {
550
- name: "dictionary",
551
- icon: "pi pi-book",
552
- title: "Dictionary",
553
- content: <DictionaryEditor />,
554
- initialSize: 100,
555
- },
556
- ],
557
- },
558
- ...pageEditorViewBase,
559
- },
560
- {
561
- name: "sessions",
562
- title: "Sessions",
563
- icon: <UsersIcon />,
564
- leftSidebar: {
565
- panels: [
566
- {
567
- name: "sessions",
568
- icon: "pi pi-users",
569
- title: "Sessions",
570
- content: <Sessions />,
571
- initialSize: 100,
572
- },
573
- ],
574
- },
575
- ...pageEditorViewBase,
576
- },
577
- {
578
- name: "debug",
579
- title: "Debug",
580
- icon: <BugIcon />,
581
-
582
- leftSidebar: {
583
- panels: [
584
- {
585
- name: "component-tree",
586
- icon: "pi pi-list",
587
- title: "Outline",
588
- content: <ComponentTree />,
589
- initialSize: 20,
590
- },
591
- {
592
- name: "debug",
593
- icon: <JsonIcon />,
594
- title: "JSON",
595
- content: <Debug />,
596
- initialSize: 30,
597
- },
598
- {
599
- name: "graphql",
600
- icon: <GraphQLIcon />,
601
- title: "GraphQL",
602
- content: <GraphQL />,
603
- initialSize: 30,
604
- },
605
- {
606
- name: "performance",
607
- icon: "pi pi-stopwatch",
608
- title: "Performance",
609
- content: <Performance />,
610
- initialSize: 20,
611
- },
612
- ],
613
- },
614
- ...pageEditorViewBase,
615
- },
616
- // {
617
- // name: "component-designer",
618
- // title: "Component Designer",
619
- // icon: "pi pi-palette",
620
- // defaultCenterPanelView: <ComponentDesigner />,
621
- // menuBar: <ComponentDesignerMenu />,
622
- // leftSidebar: {
623
- // panels: [
624
- // {
625
- // name: "component-tree",
626
- // icon: "pi pi-list",
627
- // title: "Outline",
628
- // content: <ComponentTree />,
629
- // initialSize: 30,
630
- // },
631
- // {
632
- // name: "ai-terminal",
633
- // icon: "pi pi-comments",
634
- // title: "AI",
635
- // content: <ComponentDesignerAiTerminal />,
636
- // initialSize: 40,
637
- // },
638
- // {
639
- // name: "history",
640
- // icon: "pi pi-clock",
641
- // title: "History",
642
- // content: <EditHistory />,
643
- // initialSize: 30,
644
- // },
645
- // ],
646
- // },
647
- // },
648
- {
649
- name: "page-wizard",
650
- title: "Page Wizard",
651
- icon: <PageWizardIcon />,
652
- defaultCenterPanelView: <PageWizard />,
653
- hideViewSelector: true,
654
- visible: (editContext) => !!editContext.pageWizard.wizard,
655
- headerTitle: (editContext) => {
656
- const wizardName = editContext.pageWizard.wizard?.name;
657
- return wizardName ? `${wizardName}` : "Page Wizard";
658
- },
659
- beforeClose: async (editContext) => {
660
- return new Promise<boolean>((resolve) => {
661
- editContext.confirm({
662
- showCancel: true,
663
- showAccept: true,
664
- header: "Close Page Wizard",
665
- message: "Are you sure you want to close the page wizard?",
666
- accept: () => {
667
- editContext.pageWizard.setWizard(undefined);
668
- resolve(true);
669
- },
670
- reject: () => {
671
- resolve(false);
672
- },
673
- });
674
- });
675
- },
676
- },
677
- {
678
- name: "control-center",
679
- title: "Control Center",
680
- icon: <Settings />,
681
- defaultCenterPanelView: <Status />,
682
- menuBar: <></>,
683
- },
684
- ],
685
-
686
- titlebar: <Titlebar />,
687
- actionsMenu: {
688
- itemsFactory: (editContext: EditContextType): MenuItemGroup[] => {
689
- const groups: MenuItemGroup[] = [];
690
-
691
- if (!editContext.contentEditorItem) return [];
692
-
693
- const items = [editContext.contentEditorItem];
694
-
695
- const generateItems = (commands: Command<any>[]) =>
696
- commands.map((command) => {
697
- if (typeof command === "string") {
698
- return {
699
- id: "separator",
700
- separator: true,
701
- label: "",
702
- icon: "pi pi-splitter",
703
- };
704
- }
705
- return {
706
- id: command.id,
707
- label: command.label,
708
- icon: command.icon,
709
- disabled: editContext.isCommandDisabled({
710
- command: command,
711
- data: { items },
712
- }),
713
- command: async (event: any) => {
714
- await editContext.executeCommand({
715
- command: command,
716
- event: event,
717
- data: { items },
718
- });
719
- },
720
- };
721
- });
722
-
723
- groups.push({
724
- id: "review",
725
- label: "Review",
726
- items: generateItems(
727
- editContext.configuration.commands.reviewcommands,
728
- ),
729
- });
730
-
731
- groups.push({
732
- id: "all-item-commands",
733
- label: "All Item Commands",
734
- items: generateItems(
735
- editContext.configuration.commands.allItemCommands,
736
- ),
737
- });
738
-
739
- groups.push({
740
- id: "new",
741
- label: "New",
742
- items: [
743
- {
744
- id: "new-page",
745
- label: "New Page",
746
- icon: "pi pi-file",
747
- command: async () => {
748
- editContext.switchView("new-page");
749
- },
750
- },
751
- ],
752
- });
753
-
754
- groups.push({
755
- id: "about",
756
- label: "About",
757
- items: [
758
- {
759
- id: "about",
760
- label: "About",
761
- icon: "pi pi-info-circle",
762
- command: async () => {
763
- editContext.openDialog(AboutDialog, {});
764
- },
765
- },
766
- ],
767
- });
768
-
769
- groups.push({
770
- id: "account",
771
- label: "Account",
772
- items: [
773
- {
774
- id: "logout",
775
- label: "Log Out",
776
- icon: "pi pi-sign-out",
777
- command: async () => {
778
- // Redirect to Sitecore logout endpoint
779
- window.location.href = "/sitecore/login?action=logout";
780
- },
781
- },
782
- ],
783
- });
784
-
785
- return groups;
786
- },
787
- },
788
-
789
- contentTree: {
790
- contextMenu: {
791
- factory: async (props: {
792
- items: FullItem[];
793
- editContext: EditContextType;
794
- commandCallback?: (command: Command<any>, result: any) => void;
795
- }): Promise<MenuItem[] | undefined> => {
796
- const editContext = props.editContext;
797
-
798
- if (!props.items) return;
799
-
800
- const menuItems: MenuItem[] =
801
- props.editContext.configuration.commands.allItemCommands?.map(
802
- (x: ItemCommand) => {
803
- const commandData = {
804
- items: props.items,
805
- };
806
-
807
- return {
808
- id: x.id,
809
- label: x.label,
810
- icon: x.icon,
811
- command: async (triggerEvent: any) => {
812
- const result = await editContext?.executeCommand({
813
- command: x,
814
- data: commandData,
815
- event: triggerEvent,
816
- });
817
-
818
- if (props.commandCallback)
819
- props.commandCallback(x, result);
820
- },
821
- disabled: editContext?.isCommandDisabled({
822
- command: x,
823
- data: commandData,
824
- }),
825
- };
826
- },
827
- );
828
-
829
- // const copyMenuItem = {
830
- // label: "Copy",
831
- // id: "copy",
832
- // template: (
833
- // <CopyMoveMenuTemplate
834
- // command={editContext.configuration.commands.copyItems}
835
- // items={props.items}
836
- // commandCallback={(command, result) =>
837
- // props.commandCallback?.(command, result)
838
- // }
839
- // />
840
- // ),
841
- // };
842
- // menuItems.push(copyMenuItem);
843
-
844
- // const moveMenuItem = {
845
- // label: "Move",
846
- // id: "move",
847
- // template: (
848
- // <CopyMoveMenuTemplate
849
- // command={editContext.configuration.commands.moveItems}
850
- // items={props.items}
851
- // commandCallback={(command, result) =>
852
- // props.commandCallback?.(command, result)
853
- // }
854
- // />
855
- // ),
856
- // };
857
- // menuItems.push(moveMenuItem);
858
-
859
- if (props.items.length > 1) return menuItems;
860
-
861
- const item = props.items[0];
862
- if (!item) return menuItems;
863
- const insertOptions = await loadInsertOptions(item.descriptor);
864
-
865
- const insertMenuItem = {
866
- label: "Insert",
867
- id: "insert",
868
- disabled: insertOptions.length == 0,
869
- template: (
870
- <InsertMenuTemplate
871
- insertOptions={insertOptions}
872
- item={item}
873
- commandCallback={props.commandCallback}
874
- />
875
- ),
876
- };
877
-
878
- return [insertMenuItem, ...menuItems];
879
- },
880
- },
881
- },
882
- },
883
- };
884
- };
885
-
886
- export function configureForUser(
887
- configuration: EditorConfiguration,
888
- user: User,
889
- ): EditorConfiguration {
890
- if (user.isLimitedPreviewUser) {
891
- return {
892
- ...configuration,
893
- activeTour: "preview",
894
-
895
- editor: {
896
- ...configuration.editor,
897
- views: configuration.editor.views
898
- .filter((x) => x.name === "reviews")
899
- .map((x) => {
900
- return {
901
- ...x,
902
- leftSidebar: {
903
- ...x.leftSidebar,
904
- panels: [
905
- ...(x.leftSidebar?.panels ?? []).filter(
906
- (x) => x.name !== "reviews",
907
- ),
908
- ],
909
- },
910
- secondaryControls: <PreviewSecondaryControls />,
911
- };
912
- }),
913
- },
914
- };
915
- }
916
- return configuration;
917
- }