2023-10-05 21:20:01 +08:00
|
|
|
<script lang="ts">
|
2024-01-30 08:51:22 +08:00
|
|
|
export let value: string[] | string | null;
|
2023-10-05 21:20:01 +08:00
|
|
|
export let type: "gallery" | "table";
|
|
|
|
export let selected = false;
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<ul
|
|
|
|
class:table={type === "table"}
|
|
|
|
class:gallery={type === "gallery"}
|
|
|
|
class:selected
|
|
|
|
>
|
2024-01-30 08:51:22 +08:00
|
|
|
{#if value}
|
|
|
|
{#each Array.isArray(value) ? value.slice(0, 3) : [value] as path}
|
|
|
|
<li><code>./{path}</code></li>
|
|
|
|
{/each}
|
|
|
|
{#if Array.isArray(value) && value.length > 3}
|
|
|
|
<li class="extra">...</li>
|
|
|
|
{/if}
|
2023-10-05 21:20:01 +08:00
|
|
|
{/if}
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
ul {
|
|
|
|
white-space: nowrap;
|
|
|
|
max-height: 100px;
|
|
|
|
list-style: none;
|
|
|
|
padding: 0;
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.extra {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.gallery {
|
|
|
|
align-items: center;
|
|
|
|
cursor: pointer;
|
|
|
|
padding: var(--size-1) var(--size-2);
|
|
|
|
text-align: left;
|
|
|
|
}
|
|
|
|
</style>
|