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 891d8ef366..b5741d6c14 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 '../../extensions/tiptap-extension.js'; +import type { UmbTiptapExtensionBase } from '../../extensions/types.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 1f0fe4c463..4764ef5727 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,4 +1,4 @@ -import type { UmbTiptapExtensionBase, UmbTiptapToolbarButton } from '../../extensions/tiptap-extension.js'; +import type { UmbTiptapExtensionBase, UmbTiptapToolbarButton } from '../../extensions/types.js'; import * as icons from './icons.js'; import { css, customElement, html, property, state, when } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; 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 index 6ff82ee0b6..20b2f7a29a 100644 --- 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 @@ -1 +1,2 @@ -export * from './tiptap-extension.js'; +export type * from './tiptap-extension.js'; +export * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts index b35de22127..d7fb3485b5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/tiptap-extension.ts @@ -1,31 +1,10 @@ -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 { ManifestApi, UmbApi } from '@umbraco-cms/backoffice/extension-api'; -import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import type { UmbTiptapExtensionBase } from './types.js'; +import type { ManifestApi } from '@umbraco-cms/backoffice/extension-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); - } - - abstract getExtensions(): Array; - - abstract getToolbarButtons(): Array; -} - -export interface UmbTiptapToolbarButton { - name: string; - icon: string | TemplateResult; - 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 1b98dbb40f..1b69751c54 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 './tiptap-extension.js'; +import { UmbTiptapExtensionBase } from './types.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/extensions/types.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/types.ts new file mode 100644 index 0000000000..aa01ea3420 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/types.ts @@ -0,0 +1,22 @@ +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 { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; + +export abstract class UmbTiptapExtensionBase extends UmbControllerBase implements UmbApi { + constructor(host: UmbControllerHost) { + super(host); + } + + abstract getExtensions(): Array; + + abstract getToolbarButtons(): Array; +} + +export interface UmbTiptapToolbarButton { + name: string; + icon: string | TemplateResult; + isActive: (editor?: Editor) => boolean | undefined; + command: (editor?: Editor) => boolean | undefined | void | Promise | Promise | Promise; +}