mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-16 10:51:06 +00:00
37 lines
809 B
Svelte
37 lines
809 B
Svelte
<script>
|
|
/**
|
|
* Specify the icon from `carbon-icons-svelte` to render
|
|
* Icon size must be 16px (e.g. `Add16`, `Task16`)
|
|
* @type {typeof import("carbon-icons-svelte/lib/Add16").default} [render]
|
|
*/
|
|
export let render = undefined;
|
|
|
|
/**
|
|
* Set to `true` to display the skeleton state
|
|
* @type {boolean} [skeleton=false]
|
|
*/
|
|
export let skeleton = false;
|
|
|
|
import IconSkeleton from "./Icon.Skeleton.svelte";
|
|
|
|
$: iconName = render.toString().split(" ")[1];
|
|
$: size = parseInt(iconName.slice(-2), 10);
|
|
</script>
|
|
|
|
{#if skeleton}
|
|
<IconSkeleton
|
|
{size}
|
|
{...$$restProps}
|
|
on:click
|
|
on:mouseover
|
|
on:mouseenter
|
|
on:mouseleave />
|
|
{:else}
|
|
<svelte:component
|
|
this={render}
|
|
{...$$restProps}
|
|
on:click
|
|
on:mouseover
|
|
on:mouseenter
|
|
on:mouseleave />
|
|
{/if}
|