Files
console/src/lib/elements/forms/button.svelte
T
2022-06-07 14:27:30 +02:00

39 lines
993 B
Svelte

<script lang="ts">
export let submit = false;
export let secondary = false;
export let text = false;
export let danger = false;
export let disabled = false;
export let round = false;
export let href: string = null;
export let external = false;
//TODO: add option to add aria-label to buttons that are only icons
</script>
{#if href}
<a
{disabled}
{href}
target={external ? '_blank' : '_self'}
rel={external ? 'noopener noreferrer' : ''}
class="button"
class:is-only-icon={round}
class:is-secondary={secondary}
class:is-text={text}
class:is-danger={danger}>
<slot />
</a>
{:else}
<button
on:click
{disabled}
class="button"
class:is-only-icon={round}
class:is-secondary={secondary}
class:is-danger={danger}
class:is-text={text}
type={submit ? 'submit' : 'button'}>
<slot />
</button>
{/if}