File size: 980 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<script>import { builderActions, getAttrs } from "../../../helpers/index.js";
export let href = void 0;
export let type = void 0;
export let builders = [];
export let el = void 0;
const attrs = {
"data-button-root": ""
};
</script>
{#if builders && builders.length}
<!-- svelte-ignore a11y-no-static-element-interactions -->
<svelte:element
this={href ? "a" : "button"}
bind:this={el}
type={href ? undefined : type}
{href}
on:click
on:change
on:keydown
on:keyup
on:mouseenter
on:mouseleave
tabindex="0"
use:builderActions={{ builders }}
{...getAttrs(builders)}
{...$$restProps}
{...attrs}
>
<slot />
</svelte:element>
{:else}
<!-- svelte-ignore a11y-no-static-element-interactions -->
<svelte:element
this={href ? "a" : "button"}
type={href ? undefined : type}
{href}
on:click
on:change
on:keydown
on:keyup
on:mouseenter
on:mouseleave
tabindex="0"
{...$$restProps}
{...attrs}
>
<slot />
</svelte:element>
{/if}
|