| <script lang="ts"> | |
| export let value: string | string[]; | |
| export let type: "gallery" | "table"; | |
| export let selected = false; | |
| export let choices: [string, string | number][]; | |
| let value_array = 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> | |