Files
fnx_web/svelte/src/layout/ToggleButton.svelte

39 lines
590 B
Svelte
Raw Normal View History

2024-11-19 15:31:51 +01:00
<script lang="ts">
export let on = false
export let group_first = false
export let group_middle = false
export let group_last = false
2025-03-21 12:57:53 +01:00
export let action = (e: MouseEvent) => {}
const click = (e: MouseEvent) => {
on = !on
if (typeof action === "function") {
action(e)
}
}
2024-11-19 15:31:51 +01:00
</script>
<button
2025-03-21 12:57:53 +01:00
on:click={click}
2024-11-19 15:31:51 +01:00
type="button"
class="button"
class:button_highlight={on}
class:group_first
class:group_middle
class:group_last
>
{#if on}
<i class="icon">check</i>
{:else}
<i class="icon">close</i>
{/if}
<slot></slot>
</button>
<style>
.button {
flex: 0 0 content;
}
</style>