File size: 912 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<script lang="ts">
import Image from "./shared/Image.svelte";
import type { FileData } from "@gradio/client";
export let value: null | FileData;
export let type: "gallery" | "table";
export let selected = false;
</script>
<div
class="container"
class:table={type === "table"}
class:gallery={type === "gallery"}
class:selected
class:border={value}
>
{#if value}
<Image src={value.url} alt="" />
{/if}
</div>
<style>
.container :global(img) {
width: 100%;
height: 100%;
}
.container.selected {
border-color: var(--border-color-accent);
}
.border.table {
border: 2px solid var(--border-color-primary);
}
.container.table {
margin: 0 auto;
border-radius: var(--radius-lg);
overflow: hidden;
width: var(--size-20);
height: var(--size-20);
object-fit: cover;
}
.container.gallery {
width: var(--size-20);
max-width: var(--size-20);
object-fit: cover;
}
</style>
|