UUI components inside Contentment template list

I had a look at the “Custom Component List”.
As mentioned here a NPM package would be great, but I have picked the types needed.

Another suggestion.

Using Custom Component List, perhaps it should disable the selected style (or an option to disabled this).

Then perhaps ContentmentDataListItemUiElement can export selected state as we can then implement this in the custom UI depending on which component is used.

An example although not completed yet:

import type { ContentmentDataListItemUiElement, ContentmentListItem } from '../types.js';
import { customElement, html, nothing, property } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { UmbDocumentDetailRepository } from '@umbraco-cms/backoffice/document';

@customElement('contentment-data-list-item-ui-color-swatch')
export class ContentmentDataListItemUiColorSwatchElement extends UmbLitElement implements ContentmentDataListItemUiElement {
	@property({ attribute: false })
	item?: ContentmentListItem;

       //@state selected = false;

	#documentRepository = new UmbDocumentDetailRepository(this);

	constructor() {
    	super();
		this.#getDocumentData();
	}

	async #getDocumentData() {
		if (!this.item?.value)
			return;

		const { data } = await this.#documentRepository.requestByUnique(this.item.value);
		// I get some data!
		console.log(data);
	}

	override render() {
		if (!this.item) return nothing;
		return html`
			<uui-color-swatch color="" selected></uui-color-swatch>
		`;
	}
}

export { ContentmentDataListItemUiColorSwatchElement as element };

declare global {
	interface HTMLElementTagNameMap {
		'contentment-data-list-item-ui-color-swatch': ContentmentDataListItemUiColorSwatchElement;
	}
}