enzostvs's picture
enzostvs HF staff
sidebar mobile wip
a382c22
raw
history blame
No virus
861 Bytes
<script lang="ts">
import type { OptionRadio } from "$lib/type";
import Icon from "@iconify/svelte";
export let value: string;
export let options: Array<OptionRadio> = [];
export let onChange: (value: string) => void = () => {};
const handleClick = (value: string) => {
onChange(value);
};
</script>
<div class="flex items-center justify-start">
{#each options as option}
<button
class={`transition-all duration-200 rounded-full px-4 py-2.5 flex items-center justify-center gap-2 text-sm ${option.value === value ? "bg-neutral-800/60 text-white" : "text-neutral-400"}`}
on:click={() => handleClick(option.value)}
>
{#if option.icon && option.iconColor}
<Icon icon={option.icon} class="w-4 h-4 {option.value === value && option.iconColor}" />
{/if}
{option.label}
</button>
{/each}
</div>