diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.ts
index ee32a706f09d..a5e6a1b01dee 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.ts
@@ -71,7 +71,7 @@ export abstract class UmbTreeItemElementBase<
private _isSelectable = false;
@state()
- private _isSelected = false;
+ protected _isSelected = false;
@state()
private _hasChildren = false;
@@ -165,10 +165,9 @@ export abstract class UmbTreeItemElementBase<
#renderIcon() {
const icon = this._item?.icon;
const isFolder = this._item?.isFolder;
- const iconWithoutColor = icon?.split(' ')[0];
- if (icon && iconWithoutColor) {
- return html``;
+ if (icon) {
+ return html``;
}
if (isFolder) {
@@ -178,6 +177,11 @@ export abstract class UmbTreeItemElementBase<
return html``;
}
+ protected _getIconToRender(icon: string) {
+ const iconWithoutColor = icon.split(' ')[0];
+ return this._isActive || this._isSelected ? iconWithoutColor : icon;
+ }
+
renderLabel() {
return html``;
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts
index eea98ba21a57..045a85cf58eb 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/tree/tree-item/document-tree-item.element.ts
@@ -37,13 +37,12 @@ export class UmbDocumentTreeItemElement extends UmbTreeItemElementBase<
override renderIconContainer() {
const icon = this._icon;
- const iconWithoutColor = icon?.split(' ')[0];
return html`
- ${icon && iconWithoutColor
+ ${icon
? html`
-
+
${this.#renderStateIcon()}
`
: nothing}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/tree/tree-item/media-tree-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/tree/tree-item/media-tree-item.element.ts
index 0f4f2aa0245b..08e5b91eb24d 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/media/media/tree/tree-item/media-tree-item.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/tree/tree-item/media-tree-item.element.ts
@@ -8,13 +8,12 @@ const elementName = 'umb-media-tree-item';
export class UmbMediaTreeItemElement extends UmbTreeItemElementBase {
override renderIconContainer() {
const icon = this.item?.mediaType.icon;
- const iconWithoutColor = icon?.split(' ')[0];
return html`
- ${icon && iconWithoutColor
+ ${icon
? html`
-
+
${this.#renderStateIcon()}
`
: nothing}