@@ -470,7 +493,9 @@ export class UmbWorkspaceSplitViewVariantSelectorElement<
${notCreated ? html`
- ${this.#getVariantDisplayName(variantOption)}${this.#renderReadOnlyTag(variantId.culture)}
+ ${this.#getVariantDisplayName(variantOption)}${this.#renderReadOnlyTag(
+ variantId.culture,
+ )}${this.#renderHintBadge(!active ? hint : undefined)}
${this._renderVariantDetails(variantOption)}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/kinds/default/default-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/kinds/default/default-workspace.context.ts
index 6c3e0185bf90..d5fae1e42e5d 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/kinds/default/default-workspace.context.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/kinds/default/default-workspace.context.ts
@@ -1,10 +1,10 @@
import { UMB_WORKSPACE_CONTEXT } from '../../workspace.context-token.js';
import type { UmbWorkspaceContext } from '../../workspace-context.interface.js';
+import type { ManifestWorkspaceDefaultKind } from './types.js';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
import { UmbEntityContext, type UmbEntityUnique } from '@umbraco-cms/backoffice/entity';
import { UmbViewContext } from '@umbraco-cms/backoffice/view';
-import type { ManifestWorkspaceDefaultKind } from './types.js';
export class UmbDefaultWorkspaceContext extends UmbContextBase implements UmbWorkspaceContext {
public workspaceAlias!: string;
diff --git a/src/Umbraco.Web.UI.Client/src/packages/management-api/tree/types.ts b/src/Umbraco.Web.UI.Client/src/packages/management-api/tree/types.ts
index f6aed833ff7b..836566188ce0 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/management-api/tree/types.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/management-api/tree/types.ts
@@ -5,7 +5,6 @@ import type {
UmbTreeRootItemsRequestArgs,
} from '@umbraco-cms/backoffice/tree';
-// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface UmbManagementApiTreeRootItemsRequestArgs extends UmbTreeRootItemsRequestArgs {
paging: UmbOffsetPaginationRequestModel;
}
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 ef841b82fcd0..e22c9220bd1d 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
@@ -1,6 +1,6 @@
import type { UmbPropertyEditorRteValueType } from '../types.js';
import { UMB_BLOCK_RTE_PROPERTY_EDITOR_SCHEMA_ALIAS } from '../constants.js';
-import { observeMultiple } from '@umbraco-cms/backoffice/observable-api';
+import { jsonStringComparison, observeMultiple } from '@umbraco-cms/backoffice/observable-api';
import { property, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbBlockRteEntriesContext, UmbBlockRteManagerContext } from '@umbraco-cms/backoffice/block-rte';
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
@@ -243,9 +243,12 @@ export abstract class UmbPropertyEditorUiRteElementBase
([layouts, contents, settings, exposes]) => {
if (layouts.length === 0) {
if (super.value?.markup === undefined) {
+ if (this.value === undefined) {
+ return;
+ }
super.value = undefined;
} else {
- super.value = {
+ const newValue = {
...super.value,
blocks: {
layout: {},
@@ -254,9 +257,13 @@ export abstract class UmbPropertyEditorUiRteElementBase
expose: [],
},
};
+ if (jsonStringComparison(this.value, newValue)) {
+ return;
+ }
+ super.value = newValue;
}
} else {
- super.value = {
+ const newValue = {
markup: this._markup,
blocks: {
layout: { [UMB_BLOCK_RTE_PROPERTY_EDITOR_SCHEMA_ALIAS]: layouts },
@@ -265,6 +272,10 @@ export abstract class UmbPropertyEditorUiRteElementBase
expose: exposes,
},
};
+ if (jsonStringComparison(this.value, newValue)) {
+ return;
+ }
+ super.value = newValue;
}
// If we don't have a value set from the outside or an internal value, we don't want to set the value.
diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/word-count/word-count.tiptap-statusbar-element.ts b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/word-count/word-count.tiptap-statusbar-element.ts
index 95b7c24b29a3..baa317b6cfab 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/word-count/word-count.tiptap-statusbar-element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/tiptap/extensions/word-count/word-count.tiptap-statusbar-element.ts
@@ -1,5 +1,5 @@
-import { customElement, html, state } from '@umbraco-cms/backoffice/external/lit';
import type { Editor } from '../../externals.js';
+import { customElement, html, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
@customElement('umb-tiptap-statusbar-word-count')