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}