<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> | |