PEE/src/Components/Tag.svelte

55 lines
1000 B
Svelte
Raw Normal View History

2022-01-09 14:29:51 +00:00
<script lang="ts">
import { createEventDispatcher } from "svelte";
2022-01-09 14:29:51 +00:00
export let tag: string;
export let toggleable = false;
2022-01-09 14:29:51 +00:00
export let toggled = false;
2022-01-09 14:29:51 +00:00
const dispatch = createEventDispatcher();
2022-01-09 14:29:51 +00:00
</script>
<span
class:toggle={toggleable}
class:toggled={toggleable && toggled}
on:click={() => dispatch("toggle")}
2022-01-09 14:29:51 +00:00
class="tag"
>
{tag}
{#if toggleable}
<span on:click={(e) => (e.preventDefault(), dispatch("remove"))}>x</span>
2022-01-09 14:29:51 +00:00
{/if}
</span>
<style scoped>
.tag {
padding: 5px;
border: 1px solid;
border-radius: 55px;
cursor: pointer;
display: inline-flex;
}
.tag.toggled {
background-color: rgb(213, 255, 212);
}
span.tag > span {
margin-left: 5px;
border-left: 1px solid;
padding-left: 5px;
}
.tag.toggled:hover {
color: white;
background-color: rgb(255 156 156 / 80%);
color: white;
}
.tag:not(.toggled):hover {
color: white;
background-color: rgb(213, 255, 212);
color: white;
}
</style>