mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 11:36:36 +00:00
55 lines
1.3 KiB
Svelte
55 lines
1.3 KiB
Svelte
<script>
|
|
/**
|
|
* Set the `href` to use an anchor link
|
|
* @type {string}
|
|
*/
|
|
export let href = undefined;
|
|
|
|
/**
|
|
* Specify the size of button skeleton
|
|
* @type {"default" | "field" | "small" | "lg" | "xl"}
|
|
*/
|
|
export let size = "default";
|
|
|
|
/**
|
|
* @deprecated this prop will be removed in the next major release
|
|
* Use size="small" instead
|
|
*/
|
|
export let small = false;
|
|
</script>
|
|
|
|
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
|
|
{#if href}
|
|
<a
|
|
href="{href}"
|
|
rel="{$$restProps.target === '_blank' ? 'noopener noreferrer' : undefined}"
|
|
role="button"
|
|
class:bx--skeleton="{true}"
|
|
class:bx--btn="{true}"
|
|
class:bx--btn--field="{size === 'field'}"
|
|
class:bx--btn--sm="{size === 'small' || small}"
|
|
class:bx--btn--lg="{size === 'lg'}"
|
|
class:bx--btn--xl="{size === 'xl'}"
|
|
{...$$restProps}
|
|
on:click
|
|
on:mouseover
|
|
on:mouseenter
|
|
on:mouseleave
|
|
>
|
|
{""}
|
|
</a>
|
|
{:else}
|
|
<div
|
|
class:bx--skeleton="{true}"
|
|
class:bx--btn="{true}"
|
|
class:bx--btn--field="{size === 'field'}"
|
|
class:bx--btn--sm="{size === 'small' || small}"
|
|
class:bx--btn--lg="{size === 'lg'}"
|
|
class:bx--btn--xl="{size === 'xl'}"
|
|
{...$$restProps}
|
|
on:click
|
|
on:mouseover
|
|
on:mouseenter
|
|
on:mouseleave
|
|
></div>
|
|
{/if}
|