budibase/packages/bbui/src/Avatar/Avatar.svelte

47 lines
1.1 KiB
Svelte
Raw Normal View History

2021-04-21 14:09:36 +02:00
<script>
2021-04-23 09:41:49 +02:00
import "@spectrum-css/avatar/dist/index-vars.css"
2021-05-05 10:43:06 +02:00
let sizes = new Map([
["XXS", "--spectrum-alias-avatar-size-50"],
["XS", "--spectrum-alias-avatar-size-75"],
["S", "--spectrum-alias-avatar-size-200"],
["M", "--spectrum-alias-avatar-size-300"],
["L", "--spectrum-alias-avatar-size-500"],
["XL", "--spectrum-alias-avatar-size-600"],
["XXL", "--spectrum-alias-avatar-size-700"],
])
export let size = "M"
2021-04-23 09:41:49 +02:00
export let url = ""
export let disabled = false
2021-05-05 09:12:25 +02:00
export let initials = "KA"
2021-04-21 14:09:36 +02:00
</script>
2021-05-05 09:12:25 +02:00
{#if url}
<img
class:is-disabled={disabled}
class="spectrum-Avatar"
src={url}
alt="Avatar"
2021-05-05 10:43:06 +02:00
style="width: var({sizes.get(size)}); height: var({sizes.get(size)});"
2021-05-05 09:12:25 +02:00
/>
{:else}
2021-05-05 10:43:06 +02:00
<div style="width: var({sizes.get(size)}); height: var({sizes.get(size)});">
{initials}
</div>
2021-05-05 09:12:25 +02:00
{/if}
<style>
div {
color: white;
display: grid;
place-items: center;
font-weight: bold;
background: rgb(63, 94, 251);
background: linear-gradient(
155deg,
rgba(63, 94, 251, 1) 0%,
rgba(53, 199, 86, 1) 47%
);
border-radius: 50%;
}
</style>