import {LitElement, html, css} from 'lit';
import {customElement, property} from 'lit/decorators.js';
@customElement('iu-files-list')
export class FilesList extends LitElement {
static override styles = css`
:host{
display: block;
margin-bottom: var(--iu-spacing-block-sm);
}
:host p{
font-weight: bold;
}
ul{
list-style-type: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: 0.9375rem
}
`;
@property() label = 'Download';
@property({ type: Number }) columns = 1;
@property({type: Boolean, reflect: true}) nested: boolean = false;
@property({ type: Array }) items: Array<{ href: string; text: string }> = [];
override render() {
return html`
<iu-container ?nested=${this.nested}>
<div class="columns-${this.columns}">
${this.label && html`<p>${this.label}</p>`}
<ul>
${this.items.map(
(item) => html`
<li><iu-button href="${item.href}" icon="download" text="${item.text}"></iu-button></li>
`
)}
</ul>
</div>
</iu-container>
`;
}
}
declare global {
interface HTMLElementTagNameMap {
'iu-files-list': FilesList;
}
}