22 lines
626 B
Svelte
22 lines
626 B
Svelte
<script lang="ts">import defaultAttributes from './defaultAttributes.js';
|
|
const { name, color = 'currentColor', size = 24, strokeWidth = 2, absoluteStrokeWidth = false, iconNode = [], children, ...props } = $props();
|
|
</script>
|
|
|
|
<svg
|
|
{...defaultAttributes}
|
|
{...props}
|
|
width={size}
|
|
height={size}
|
|
stroke={color}
|
|
stroke-width={absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth}
|
|
class={['lucide-icon lucide', name && `lucide-${name}`, props.class]}
|
|
>
|
|
{#each iconNode as [tag, attrs]}
|
|
<svelte:element
|
|
this={tag}
|
|
{...attrs}
|
|
/>
|
|
{/each}
|
|
{@render children?.()}
|
|
</svg>
|