File size: 701 Bytes
0ad74ed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<script lang="ts">
export let value: string | string[] | null;
export let type: "gallery" | "table";
export let selected = false;
export let choices: [string, string | number][];
let value_array = value ? (Array.isArray(value) ? value : [value]) : [];
let names = value_array
.map(
(val) =>
(
choices.find((pair) => pair[1] === val) as
| [string, string | number]
| undefined
)?.[0]
)
.filter((name) => name !== undefined);
let names_string = names.join(", ");
</script>
<div
class:table={type === "table"}
class:gallery={type === "gallery"}
class:selected
>
{names_string}
</div>
<style>
.gallery {
padding: var(--size-1) var(--size-2);
}
</style>
|