budibase/packages/bbui/src/TreeView/Item.svelte

34 lines
1.4 KiB
Svelte
Raw Normal View History

2021-04-16 16:17:26 +02:00
<script>
export let selected = false;
export let open = false;
export let title;
export let icon;
</script>
<li class:is-selected={selected} class:is-open={open} class="spectrum-TreeView-item">
2021-04-16 16:41:04 +02:00
{#if $$slots.default}
<a class="spectrum-TreeView-itemLink" href="#">
2021-04-16 16:17:26 +02:00
<svg class="spectrum-Icon spectrum-UIIcon-ChevronRight100 spectrum-TreeView-itemIndicator" focusable="false" aria-hidden="true">
<use xlink:href="#spectrum-css-icon-Chevron100" />
</svg>
{#if icon}
<svg class="spectrum-TreeView-itemIcon spectrum-Icon spectrum-Icon--sizeM" focusable="false" aria-hidden="true" aria-label="Layers">
<use xlink:href="#spectrum-icon-18-{icon}" />
</svg>
{/if}
<span class="spectrum-TreeView-itemLabel">{title}</span>
2021-04-16 16:41:04 +02:00
</a>
<ul class="spectrum-TreeView">
<slot />
</ul>
{:else}
<a class="spectrum-TreeView-itemLink" href="#">
2021-04-16 16:17:26 +02:00
{#if icon}
<svg class="spectrum-TreeView-itemIcon spectrum-Icon spectrum-Icon--sizeM" focusable="false" aria-hidden="true" aria-label="Layers">
<use xlink:href="#spectrum-icon-18-{icon}" />
</svg>
{/if}
<span class="spectrum-TreeView-itemLabel">{title}</span>
2021-04-16 16:41:04 +02:00
</a>
{/if}
2021-04-16 16:17:26 +02:00
</li>