diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts index d79b3f9e4a..00fec52d8f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/index.ts @@ -42,7 +42,6 @@ import type { ManifestSectionView } from './section-view.model.js'; import type { ManifestStore, ManifestTreeStore, ManifestItemStore } from './store.model.js'; import type { ManifestTheme } from './theme.model.js'; import type { ManifestTinyMcePlugin } from './tinymce-plugin.model.js'; -import type { ManifestTiptapExtension } from './tiptap-extension.model.js'; import type { ManifestTree } from './tree.model.js'; import type { ManifestTreeItem } from './tree-item.model.js'; import type { ManifestUfmComponent } from './ufm-component.model.js'; @@ -114,7 +113,6 @@ export type * from './section.model.js'; export type * from './store.model.js'; export type * from './theme.model.js'; export type * from './tinymce-plugin.model.js'; -export type * from './tiptap-extension.model.js'; export type * from './tree-item.model.js'; export type * from './tree.model.js'; export type * from './ufm-component.model.js'; @@ -208,7 +206,6 @@ export type ManifestTypes = | ManifestStore | ManifestTheme | ManifestTinyMcePlugin - | ManifestTiptapExtension | ManifestTree | ManifestTreeItem | ManifestTreeStore diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/tiptap-extension.model.ts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/tiptap-extension.model.ts deleted file mode 100644 index 5d9ff73dfa..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/models/tiptap-extension.model.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { UmbTiptapExtensionBase } from '@umbraco-cms/backoffice/tiptap'; -import type { ManifestApi } from '@umbraco-cms/backoffice/extension-api'; - -export interface ManifestTiptapExtension extends ManifestApi { - type: 'tiptapExtension'; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/index.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/index.ts index 0d9456b123..f11b53c7d9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/index.ts @@ -1,2 +1 @@ export * from './input-tiptap.element.js'; -export * from './tiptap-extension.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts index 0540719aac..891d8ef366 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts @@ -1,4 +1,4 @@ -import type { UmbTiptapExtensionBase } from './tiptap-extension.js'; +import type { UmbTiptapExtensionBase } from '../../extensions/tiptap-extension.js'; import { css, customElement, html, property, state } from '@umbraco-cms/backoffice/external/lit'; import { loadManifestApi } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-fixed-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-fixed-menu.element.ts index ab47a21d1a..1f0fe4c463 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-fixed-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-fixed-menu.element.ts @@ -1,5 +1,5 @@ +import type { UmbTiptapExtensionBase, UmbTiptapToolbarButton } from '../../extensions/tiptap-extension.js'; import * as icons from './icons.js'; -import type { UmbTiptapExtensionBase, UmbTiptapToolbarButton } from './tiptap-extension.js'; import { css, customElement, html, property, state, when } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { Editor } from '@umbraco-cms/backoffice/external/tiptap'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/index.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/index.ts new file mode 100644 index 0000000000..6ff82ee0b6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/index.ts @@ -0,0 +1 @@ +export * from './tiptap-extension.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts index 6780ce1c09..4de8b54d84 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts @@ -1,4 +1,4 @@ -import type { ManifestTiptapExtension } from '@umbraco-cms/backoffice/extension-registry'; +import type { ManifestTiptapExtension } from './tiptap-extension.js'; export const manifests: Array = [ { diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts similarity index 71% rename from src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-extension.ts rename to src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts index aa01ea3420..b35de22127 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/tiptap-extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts @@ -1,9 +1,14 @@ import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { Editor, Extension, Mark, Node } from '@umbraco-cms/backoffice/external/tiptap'; import type { TemplateResult } from '@umbraco-cms/backoffice/external/lit'; -import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; +import type { ManifestApi, UmbApi } from '@umbraco-cms/backoffice/extension-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +export interface ManifestTiptapExtension extends ManifestApi { + type: 'tiptapExtension'; +} + +// TODO: [LK] Move to a `types.ts` file! export abstract class UmbTiptapExtensionBase extends UmbControllerBase implements UmbApi { constructor(host: UmbControllerHost) { super(host); @@ -20,3 +25,9 @@ export interface UmbTiptapToolbarButton { isActive: (editor?: Editor) => boolean | undefined; command: (editor?: Editor) => boolean | undefined | void | Promise | Promise | Promise; } + +declare global { + interface UmbExtensionManifestMap { + tiptapExtension: ManifestTiptapExtension; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-mediapicker.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-mediapicker.extension.ts index be14701cef..1b98dbb40f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-mediapicker.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-mediapicker.extension.ts @@ -1,4 +1,4 @@ -import { UmbTiptapExtensionBase } from '../components/input-tiptap/tiptap-extension.js'; +import { UmbTiptapExtensionBase } from './tiptap-extension.js'; import { mergeAttributes, Node } from '@umbraco-cms/backoffice/external/tiptap'; import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal'; import type { Editor } from '@umbraco-cms/backoffice/external/tiptap'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/index.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/index.ts index 8a8c2711ca..f0f1ade33d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/index.ts @@ -1 +1,2 @@ export * from './components/index.js'; +export * from './extensions/index.js';