diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index 1e44328da800..d3ed09bef38a 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -17064,17 +17064,36 @@ "name": "@umbraco-backoffice/external-tiptap", "dependencies": { "@tiptap/core": "2.26.1", + "@tiptap/extension-blockquote": "2.26.1", + "@tiptap/extension-bold": "2.26.1", + "@tiptap/extension-bullet-list": "2.26.1", "@tiptap/extension-character-count": "2.26.1", + "@tiptap/extension-code": "2.26.1", + "@tiptap/extension-code-block": "2.26.1", + "@tiptap/extension-document": "2.26.1", + "@tiptap/extension-dropcursor": "2.26.1", + "@tiptap/extension-gapcursor": "2.26.1", + "@tiptap/extension-hard-break": "2.26.1", + "@tiptap/extension-heading": "2.26.1", + "@tiptap/extension-history": "2.26.1", + "@tiptap/extension-horizontal-rule": "2.26.1", "@tiptap/extension-image": "2.26.1", + "@tiptap/extension-italic": "2.26.1", "@tiptap/extension-link": "2.26.1", + "@tiptap/extension-list-item": "2.26.1", + "@tiptap/extension-ordered-list": "2.26.1", + "@tiptap/extension-paragraph": "2.26.1", "@tiptap/extension-placeholder": "2.26.1", + "@tiptap/extension-strike": "2.26.1", "@tiptap/extension-subscript": "2.26.1", "@tiptap/extension-superscript": "2.26.1", "@tiptap/extension-table": "2.26.1", "@tiptap/extension-table-cell": "2.26.1", "@tiptap/extension-table-header": "2.26.1", "@tiptap/extension-table-row": "2.26.1", + "@tiptap/extension-text": "2.26.1", "@tiptap/extension-text-align": "2.26.1", + "@tiptap/extension-text-style": "2.26.1", "@tiptap/extension-underline": "2.26.1", "@tiptap/pm": "2.26.1", "@tiptap/starter-kit": "2.26.1" diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index d4806a5f1bad..4fd053f1522c 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -2792,6 +2792,7 @@ export default { config_statusbar: 'Statusbar', config_toolbar: 'Toolbar', extGroup_formatting: 'Text formatting', + extGroup_html: 'HTML', extGroup_interactive: 'Interactive elements', extGroup_media: 'Embeds and media', extGroup_structure: 'Content structure', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-anchor.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-anchor.extension.ts index 12c5a2b0ecef..fda5a77bfcba 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-anchor.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-anchor.extension.ts @@ -1,5 +1,6 @@ import { Node, mergeAttributes } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const Anchor = Node.create({ name: 'anchor', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-div.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-div.extension.ts index e7855d428879..374acf255777 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-div.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-div.extension.ts @@ -1,5 +1,6 @@ import { Node, mergeAttributes } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface DivOptions { /** * HTML attributes to add to the element. @@ -9,6 +10,7 @@ export interface DivOptions { HTMLAttributes: Record; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const Div = Node.create({ name: 'div', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figcaption.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figcaption.extension.ts index ea2f2ab83e7f..8a1bce8d409e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figcaption.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figcaption.extension.ts @@ -1,5 +1,6 @@ import { Node } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface FigcaptionOptions { /** * HTML attributes to add to the image element. @@ -9,6 +10,7 @@ export interface FigcaptionOptions { HTMLAttributes: Record; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const Figcaption = Node.create({ name: 'figcaption', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figure.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figure.extension.ts index 49a89606dfab..4e4b67a3081a 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figure.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-figure.extension.ts @@ -1,5 +1,6 @@ import { mergeAttributes, Node } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface FigureOptions { /** * HTML attributes to add to the image element. @@ -9,6 +10,7 @@ export interface FigureOptions { HTMLAttributes: Record; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const Figure = Node.create({ name: 'figure', group: 'block', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-html-global-attributes.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-html-global-attributes.extension.ts index 69c0cbdd1f89..06454f82b9e8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-html-global-attributes.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-html-global-attributes.extension.ts @@ -10,6 +10,7 @@ function camelCaseToKebabCase(str: string): string { return str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase()); } +/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ export interface HtmlGlobalAttributesOptions { /** * The types where the text align attribute can be applied. @@ -19,6 +20,7 @@ export interface HtmlGlobalAttributesOptions { types: Array; } +/** @deprecated No longer used internally. This will be removed in Umbraco 17. [LK] */ export const HtmlGlobalAttributes = Extension.create({ name: 'htmlGlobalAttributes', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-span.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-span.extension.ts index e0adabf8af71..bee0cd8632df 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-span.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-span.extension.ts @@ -1,5 +1,6 @@ import { Mark, mergeAttributes } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface SpanOptions { /** * HTML attributes to add to the span element. @@ -34,6 +35,7 @@ function serializeStyles(items: Record): string { ); } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const Span = Mark.create({ name: 'span', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-direction-extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-direction-extension.ts index 914d151cd1f2..96727e9dae23 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-direction-extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-direction-extension.ts @@ -1,10 +1,12 @@ import { Extension } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface TextDirectionOptions { directions: Array<'auto' | 'ltr' | 'rtl'>; types: Array; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const TextDirection = Extension.create({ name: 'textDirection', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-indent-extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-indent-extension.ts index 7df5d4043e2b..a39c10605d28 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-indent-extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-text-indent-extension.ts @@ -11,12 +11,14 @@ import type { EditorState, Transaction } from '@tiptap/pm/state'; import { Extension } from '@tiptap/core'; import { AllSelection, TextSelection } from '@tiptap/pm/state'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface TextIndentOptions { minLevel: number; maxLevel: number; types: Array; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const TextIndent = Extension.create({ name: 'textIndent', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-trailing-node.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-trailing-node.extension.ts index f76956fa9013..ec7f4144f1c5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-trailing-node.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-trailing-node.extension.ts @@ -13,11 +13,13 @@ function nodeEqualsType({ types, node }) { return (Array.isArray(types) && types.includes(node.type)) || node.type === types; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface TrailingNodeOptions { node: string; notAfter: string[]; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const TrailingNode = Extension.create({ name: 'trailingNode', diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.ts index f2b080c42ef1..a34064ae9ce6 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.ts @@ -5,11 +5,13 @@ import { EditorState, Plugin, PluginKey } from '@tiptap/pm/state'; import { EditorView } from '@tiptap/pm/view'; import type { PluginView } from '@tiptap/pm/state'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface UmbTiptapBubbleMenuElement extends HTMLElement { editor?: Editor; menuAlias?: string; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export type UmbBubbleMenuPluginProps = { unique: string; placement?: UUIPopoverContainerElement['placement']; @@ -20,8 +22,10 @@ export type UmbBubbleMenuPluginProps = { | null; }; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export type UmbBubbleMenuOptions = UmbBubbleMenuPluginProps; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbBubbleMenu = Extension.create({ name: 'umbBubbleMenu', @@ -104,6 +108,7 @@ class UmbBubbleMenuPluginView implements PluginView { } } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbBubbleMenuPlugin = (editor: Editor, props: UmbBubbleMenuPluginProps) => { return new Plugin({ view(editorView) { diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-embedded-media.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-embedded-media.extension.ts index daecec24689c..fce7c67a4863 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-embedded-media.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-embedded-media.extension.ts @@ -1,9 +1,11 @@ import { mergeAttributes, Node } from '@tiptap/core'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface UmbEmbeddedMediaOptions { inline: boolean; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const umbEmbeddedMedia = Node.create({ name: 'umbEmbeddedMedia', group() { diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-image.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-image.extension.ts index 84acd5b11d6c..1f91f7e95829 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-image.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-image.extension.ts @@ -1,5 +1,6 @@ import Image from '@tiptap/extension-image'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export interface UmbImageAttributes { src: string; alt?: string; @@ -13,6 +14,7 @@ export interface UmbImageAttributes { 'data-udi'?: string; } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbImage = Image.extend({ addAttributes() { return { diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-link.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-link.extension.ts index 9ba943399359..ef7e66617ed3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-link.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-link.extension.ts @@ -1,5 +1,6 @@ import Link from '@tiptap/extension-link'; +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbLink = Link.extend({ name: 'umbLink', @@ -12,6 +13,9 @@ export const UmbLink = Link.extend({ }; }, + // TODO: [LK] Look to use a NodeView to render the link + // https://tiptap.dev/docs/editor/extensions/custom-extensions/node-views/javascript + addOptions() { return { ...this.parent?.(), diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-table.extension.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-table.extension.ts index df5ec8a8fb30..a06850f07669 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-table.extension.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/extensions/tiptap-umb-table.extension.ts @@ -12,6 +12,7 @@ import type { Rect } from '@tiptap/pm/tables'; // NOTE: Custom TableView, to allow for custom styles to be applied to the element. [LK] // ref: https://github.com/ueberdosis/tiptap/blob/v2.11.5/packages/extension-table/src/TableView.ts +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export class UmbTableView extends TableView { constructor(node: ProseMirrorNode, cellMinWidth: number) { super(node, cellMinWidth); @@ -34,13 +35,16 @@ export class UmbTableView extends TableView { } } +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbTable = Table.configure({ resizable: true, View: UmbTableView }); +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbTableRow = TableRow.extend({ allowGapCursor: false, content: '(tableCell | tableHeader)*', }); +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbTableHeader = TableHeader.extend({ addAttributes() { return { @@ -122,6 +126,7 @@ export const UmbTableHeader = TableHeader.extend({ }, }); +/** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ export const UmbTableCell = TableCell.extend({ addAttributes() { return { diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts index 9bb1aedd2892..1cfd0f26bde8 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts @@ -1,32 +1,134 @@ // REQUIRED EXTENSIONS export * from '@tiptap/core'; -export { StarterKit } from '@tiptap/starter-kit'; -export { Placeholder } from '@tiptap/extension-placeholder'; -export { TextStyle } from '@tiptap/extension-text-style'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Document, +} from '@tiptap/extension-document'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Dropcursor, +} from '@tiptap/extension-dropcursor'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Gapcursor, +} from '@tiptap/extension-gapcursor'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + HardBreak, +} from '@tiptap/extension-hard-break'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + History, +} from '@tiptap/extension-history'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Paragraph, +} from '@tiptap/extension-paragraph'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Placeholder, +} from '@tiptap/extension-placeholder'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Text, +} from '@tiptap/extension-text'; // OPTIONAL EXTENSIONS -export { Blockquote } from '@tiptap/extension-blockquote'; -export { Bold } from '@tiptap/extension-bold'; -export { BulletList } from '@tiptap/extension-bullet-list'; -export { CharacterCount } from '@tiptap/extension-character-count'; -export { Code } from '@tiptap/extension-code'; -export { CodeBlock } from '@tiptap/extension-code-block'; -export { Heading } from '@tiptap/extension-heading'; -export { HorizontalRule } from '@tiptap/extension-horizontal-rule'; -export { Image } from '@tiptap/extension-image'; -export { Italic } from '@tiptap/extension-italic'; -export { Link } from '@tiptap/extension-link'; -export { ListItem } from '@tiptap/extension-list-item'; -export { OrderedList } from '@tiptap/extension-ordered-list'; -export { Strike } from '@tiptap/extension-strike'; -export { Subscript } from '@tiptap/extension-subscript'; -export { Superscript } from '@tiptap/extension-superscript'; -export { Table } from '@tiptap/extension-table'; -export { TableCell } from '@tiptap/extension-table-cell'; -export { TableHeader } from '@tiptap/extension-table-header'; -export { TableRow } from '@tiptap/extension-table-row'; -export { TextAlign } from '@tiptap/extension-text-align'; -export { Underline } from '@tiptap/extension-underline'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Blockquote, +} from '@tiptap/extension-blockquote'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Bold, +} from '@tiptap/extension-bold'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + BulletList, +} from '@tiptap/extension-bullet-list'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + CharacterCount, +} from '@tiptap/extension-character-count'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Code, +} from '@tiptap/extension-code'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + CodeBlock, +} from '@tiptap/extension-code-block'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Heading, +} from '@tiptap/extension-heading'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + HorizontalRule, +} from '@tiptap/extension-horizontal-rule'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Image, +} from '@tiptap/extension-image'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Italic, +} from '@tiptap/extension-italic'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Link, +} from '@tiptap/extension-link'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + ListItem, +} from '@tiptap/extension-list-item'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + OrderedList, +} from '@tiptap/extension-ordered-list'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Strike, +} from '@tiptap/extension-strike'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Subscript, +} from '@tiptap/extension-subscript'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Superscript, +} from '@tiptap/extension-superscript'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Table, +} from '@tiptap/extension-table'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + TableCell, +} from '@tiptap/extension-table-cell'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + TableHeader, +} from '@tiptap/extension-table-header'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + TableRow, +} from '@tiptap/extension-table-row'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + TextAlign, +} from '@tiptap/extension-text-align'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + TextStyle, +} from '@tiptap/extension-text-style'; +export { + /** @deprecated This will be relocated in Umbraco 17 to the "@umbraco-cms/backoffice/tiptap" module. [LK] */ + Underline, +} from '@tiptap/extension-underline'; + +/** @deprecated No longer used internally. This will be removed in Umbraco 18. [LK] */ +export { StarterKit } from '@tiptap/starter-kit'; // CUSTOM EXTENSIONS export * from './extensions/tiptap-anchor.extension.js'; diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/package.json b/src/Umbraco.Web.UI.Client/src/external/tiptap/package.json index 11938ce31a57..61a34ee1c9f5 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/package.json +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/package.json @@ -7,10 +7,27 @@ }, "dependencies": { "@tiptap/core": "2.26.1", + "@tiptap/extension-blockquote": "2.26.1", + "@tiptap/extension-bold": "2.26.1", + "@tiptap/extension-bullet-list": "2.26.1", "@tiptap/extension-character-count": "2.26.1", + "@tiptap/extension-code-block": "2.26.1", + "@tiptap/extension-code": "2.26.1", + "@tiptap/extension-document": "2.26.1", + "@tiptap/extension-dropcursor": "2.26.1", + "@tiptap/extension-gapcursor": "2.26.1", + "@tiptap/extension-hard-break": "2.26.1", + "@tiptap/extension-heading": "2.26.1", + "@tiptap/extension-history": "2.26.1", + "@tiptap/extension-horizontal-rule": "2.26.1", "@tiptap/extension-image": "2.26.1", + "@tiptap/extension-italic": "2.26.1", "@tiptap/extension-link": "2.26.1", + "@tiptap/extension-list-item": "2.26.1", + "@tiptap/extension-ordered-list": "2.26.1", + "@tiptap/extension-paragraph": "2.26.1", "@tiptap/extension-placeholder": "2.26.1", + "@tiptap/extension-strike": "2.26.1", "@tiptap/extension-subscript": "2.26.1", "@tiptap/extension-superscript": "2.26.1", "@tiptap/extension-table": "2.26.1", @@ -18,6 +35,8 @@ "@tiptap/extension-table-header": "2.26.1", "@tiptap/extension-table-row": "2.26.1", "@tiptap/extension-text-align": "2.26.1", + "@tiptap/extension-text-style": "2.26.1", + "@tiptap/extension-text": "2.26.1", "@tiptap/extension-underline": "2.26.1", "@tiptap/pm": "2.26.1", "@tiptap/starter-kit": "2.26.1" diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/action/action-menu-item.api.ts b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/action/action-menu-item.api.ts index fc355cb98e8f..ea8daf334449 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/action/action-menu-item.api.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/menu/components/menu-item/action/action-menu-item.api.ts @@ -5,6 +5,11 @@ export abstract class UmbMenuItemActionApiBase extends UmbActionBase> implements UmbMenuItemActionApi { + /** + * By specifying the `execute` method, the action will act as a button. + * @abstract + * @returns {Promise} + */ public execute(): Promise { return Promise.resolve(); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/components/rte-base.element.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/components/rte-base.element.ts index de1c417a04fd..ef841b82fcd0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/components/rte-base.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/components/rte-base.element.ts @@ -34,6 +34,8 @@ export abstract class UmbPropertyEditorUiRteElementBase extends UmbFormControlMixin(UmbLitElement) implements UmbPropertyEditorUiElement { + public name?: string; + public set config(config: UmbPropertyEditorConfigCollection | undefined) { if (!config) return; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/anchor-modal/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/anchor-modal/manifests.ts deleted file mode 100644 index 99bbb4a2b52d..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/anchor-modal/manifests.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { UMB_TIPTAP_ANCHOR_MODAL_ALIAS } from './constants.js'; -import type { ManifestModal } from '@umbraco-cms/backoffice/modal'; - -export const manifests: Array = [ - { - type: 'modal', - alias: UMB_TIPTAP_ANCHOR_MODAL_ALIAS, - name: 'Tiptap Anchor Modal', - element: () => import('./anchor-modal.element.js'), - }, -]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/cascading-menu-popover/index.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/cascading-menu-popover/index.ts new file mode 100644 index 000000000000..ec606adf12fa --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/cascading-menu-popover/index.ts @@ -0,0 +1 @@ +export * from './cascading-menu-popover.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/character-map/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/character-map/manifests.ts deleted file mode 100644 index a238e84eb371..000000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/character-map/manifests.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { UMB_TIPTAP_CHARACTER_MAP_MODAL_ALIAS } from './constants.js'; -import type { ManifestModal } from '@umbraco-cms/backoffice/modal'; - -export const manifests: Array = [ - { - type: 'modal', - alias: UMB_TIPTAP_CHARACTER_MAP_MODAL_ALIAS, - name: 'Character Map Modal', - element: () => import('./character-map-modal.element.js'), - }, -]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/index.ts index 56491b08d4aa..cc425ff2d0c8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/index.ts @@ -1,5 +1,3 @@ +export * from './cascading-menu-popover/index.js'; export * from './input-tiptap/index.js'; -export * from './anchor-modal/index.js'; -export * from './cascading-menu-popover/cascading-menu-popover.element.js'; -export * from './character-map/index.js'; export * from './menu/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts index 0bb9fdbc66fe..03ef568b0939 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/input-tiptap.element.ts @@ -21,8 +21,8 @@ import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit'; import type { Extensions } from '@umbraco-cms/backoffice/external/tiptap'; import type { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor'; -import './tiptap-toolbar.element.js'; -import './tiptap-statusbar.element.js'; +import '../toolbar/tiptap-toolbar.element.js'; +import '../statusbar/tiptap-statusbar.element.js'; const TIPTAP_CORE_EXTENSION_ALIAS = 'Umb.Tiptap.RichTextEssentials'; @@ -56,6 +56,9 @@ export class UmbInputTiptapElement extends UmbFormControlMixin stylesheet, - (stylesheet) => html``, + (stylesheet) => html``, )}