flotilla/src/lib/components/Button.svelte

20 lines
427 B
Svelte
Raw Normal View History

2024-10-24 17:11:01 +00:00
<script lang="ts">
2025-02-04 00:37:14 +00:00
interface Props {
type?: "button" | "submit"
}
2024-10-24 17:11:01 +00:00
2025-02-04 00:37:14 +00:00
let {type = "button", ...restProps} = $props()
const className = $derived(`text-left ${restProps.class}`)
2024-10-24 17:11:01 +00:00
</script>
{#if type === "submit"}
2025-02-04 00:37:14 +00:00
<button {...restProps} {type} class={className}>
2024-10-24 17:11:01 +00:00
<slot />
</button>
{:else}
2025-02-04 00:37:14 +00:00
<button on:click|stopPropagation|preventDefault {...restProps} {type} class={className}>
2024-10-24 17:11:01 +00:00
<slot />
</button>
{/if}