mirror of
https://github.com/kmc7468/arkvault.git
synced 2025-12-15 22:38:47 +00:00
IconEntryButton 컴포넌트 추가
This commit is contained in:
31
src/lib/components/molecules/labels/IconLabel.svelte
Normal file
31
src/lib/components/molecules/labels/IconLabel.svelte
Normal file
@@ -0,0 +1,31 @@
|
||||
<script lang="ts">
|
||||
import type { Component, Snippet } from "svelte";
|
||||
import type { ClassValue, SvelteHTMLElements } from "svelte/elements";
|
||||
|
||||
interface Props {
|
||||
children?: Snippet;
|
||||
class?: ClassValue;
|
||||
icon: Component<SvelteHTMLElements["svg"]>;
|
||||
iconClass?: ClassValue;
|
||||
subtext?: Snippet;
|
||||
textClass?: ClassValue;
|
||||
}
|
||||
|
||||
let { children, icon: Icon, subtext, ...props }: Props = $props();
|
||||
</script>
|
||||
|
||||
<div class={["flex items-center gap-x-4", props.class]}>
|
||||
<div class={["flex-shrink-0 text-lg", props.iconClass]}>
|
||||
<Icon />
|
||||
</div>
|
||||
<div class="flex flex-grow flex-col gap-y-1 truncate text-left">
|
||||
<p class={["font-medium", props.textClass]}>
|
||||
{@render children?.()}
|
||||
</p>
|
||||
{#if subtext}
|
||||
<p class="text-xs text-gray-800">
|
||||
{@render subtext()}
|
||||
</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user