Skip to content

Commit f4345ed

Browse files
committed
Moved the Tiptap toolbar value type to its own UmbTiptapToolbarValue type
1 parent 33e240e commit f4345ed

File tree

4 files changed

+15
-19
lines changed

4 files changed

+15
-19
lines changed

src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { UmbTiptapExtensionApi } from '../../extensions/types.js';
1+
import type { UmbTiptapExtensionApi, UmbTiptapToolbarValue } from '../../extensions/types.js';
22
import { css, customElement, html, property, state, when } from '@umbraco-cms/backoffice/external/lit';
33
import { loadManifestApi } from '@umbraco-cms/backoffice/extension-api';
44
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
@@ -75,7 +75,7 @@ export class UmbInputTiptapElement extends UmbFormControlMixin<string, typeof Um
7575
private _editor!: Editor;
7676

7777
@state()
78-
_toolbar: string[][][] = [[[]]];
78+
_toolbar: UmbTiptapToolbarValue = [[[]]];
7979

8080
protected override async firstUpdated() {
8181
await Promise.all([await this.#loadExtensions(), await this.#loadEditor()]);
@@ -110,7 +110,7 @@ export class UmbInputTiptapElement extends UmbFormControlMixin<string, typeof Um
110110
if (maxWidth) this.setAttribute('style', `max-width: ${maxWidth}px;`);
111111
if (maxHeight) element.setAttribute('style', `max-height: ${maxHeight}px;`);
112112

113-
this._toolbar = this.configuration?.getValueByAlias<string[][][]>('toolbar') ?? [[[]]];
113+
this._toolbar = this.configuration?.getValueByAlias<UmbTiptapToolbarValue>('toolbar') ?? [[[]]];
114114

115115
const extensions = this._extensions
116116
.map((ext) => ext.getTiptapExtensions({ configuration: this.configuration }))

src/packages/rte/tiptap/components/input-tiptap/tiptap-fixed-menu.element.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { UmbTiptapToolbarValue } from '../../extensions/types.js';
12
import { css, customElement, html, map, property, state } from '@umbraco-cms/backoffice/external/lit';
23
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
34
import { UmbExtensionsElementAndApiInitializer } from '@umbraco-cms/backoffice/extension-api';
@@ -27,7 +28,7 @@ export class UmbTiptapFixedMenuElement extends UmbLitElement {
2728
configuration?: UmbPropertyEditorConfigCollection;
2829

2930
@property({ attribute: false })
30-
toolbar: Array<Array<Array<string>>> = [[[]]];
31+
toolbar: UmbTiptapToolbarValue = [[[]]];
3132

3233
override connectedCallback(): void {
3334
super.connectedCallback();

src/packages/rte/tiptap/extensions/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,5 @@ export abstract class UmbTiptapToolbarElementApiBase extends UmbControllerBase i
9898
return editor && this.manifest?.meta.alias ? editor?.isActive(this.manifest.meta.alias) : false;
9999
}
100100
}
101+
102+
export type UmbTiptapToolbarValue = Array<Array<Array<string>>>;

src/packages/rte/tiptap/property-editors/property-editor-ui-tiptap-toolbar-configuration.element.ts

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
1-
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
2-
import {
3-
customElement,
4-
css,
5-
html,
6-
property,
7-
state,
8-
repeat,
9-
nothing,
10-
type PropertyValueMap,
11-
} from '@umbraco-cms/backoffice/external/lit';
12-
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
1+
import type { UmbTiptapToolbarValue } from '../extensions/types.js';
2+
import { customElement, css, html, property, state, repeat, nothing } from '@umbraco-cms/backoffice/external/lit';
133
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
4+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
5+
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
146
import { UmbPropertyValueChangeEvent, type UmbPropertyEditorUiElement } from '@umbraco-cms/backoffice/property-editor';
7+
import type { PropertyValueMap } from '@umbraco-cms/backoffice/external/lit';
158

169
type Extension = {
1710
alias: string;
@@ -25,7 +18,7 @@ export class UmbPropertyEditorUiTiptapToolbarConfigurationElement
2518
implements UmbPropertyEditorUiElement
2619
{
2720
@property({ attribute: false })
28-
set value(value: string[][][] | undefined) {
21+
set value(value: UmbTiptapToolbarValue | undefined) {
2922
if (!value) {
3023
this.#useDefault = true;
3124
this.#value = [[[]]];
@@ -36,14 +29,14 @@ export class UmbPropertyEditorUiTiptapToolbarConfigurationElement
3629
this.#value = value.map((rows) => rows.map((groups) => [...groups]));
3730
}
3831

39-
get value(): string[][][] {
32+
get value(): UmbTiptapToolbarValue {
4033
// TODO: This can be optimized with cashing;
4134
return this.#value.map((rows) => rows.map((groups) => [...groups]));
4235
}
4336

4437
#useDefault = false;
4538

46-
#value: string[][][] = [[[]]];
39+
#value: UmbTiptapToolbarValue = [[[]]];
4740

4841
@state()
4942
_extensions: Extension[] = [];

0 commit comments

Comments
 (0)