Skip to content

Commit d098406

Browse files
committed
fix: code format and as per svelte 5
1 parent c9d411d commit d098406

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

platforms/metagram/src/lib/ui/Select/Select.svelte

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,36 @@
11
<script lang="ts">
2-
let countries = [
3-
{ code: '+41', flag: '🇬🇧', name: 'United Kingdom' },
4-
{ code: '+49', flag: '🇩🇪', name: 'Germany' },
5-
{ code: '+33', flag: '🇫🇷', name: 'France' }
6-
// Add more as needed
7-
];
2+
import { cn } from '$lib/utils';
3+
import type { HTMLAttributes } from 'svelte/elements';
84
9-
let selectedCode = countries[0].code;
5+
interface ISelectProps extends HTMLAttributes<HTMLElement> {
6+
options: Array<{
7+
code: string;
8+
flag: string;
9+
name: string;
10+
}>;
11+
}
12+
13+
let {
14+
options = [
15+
{ code: '+41', flag: '🇬🇧', name: 'United Kingdom' },
16+
{ code: '+49', flag: '🇩🇪', name: 'Germany' },
17+
{ code: '+33', flag: '🇫🇷', name: 'France' }
18+
],
19+
...restProps
20+
}: ISelectProps = $props();
21+
22+
let selectedCode = $state(options[0].code);
23+
24+
const cBase = 'bg-grey flex w-[max-content] items-center space-x-2 rounded-full p-1.5';
1025
</script>
1126

12-
<div class="bg-grey flex w-[max-content] items-center space-x-2 rounded-full p-1.5">
13-
<div class="rounded-full text-xl">{countries.find((c) => c.code === selectedCode)?.flag}</div>
27+
<div {...restProps} class={cn([cBase, restProps.class].join(' '))}>
28+
<div class="rounded-full text-xl">{options.find((c) => c.code === selectedCode)?.flag}</div>
1429
<select
1530
bind:value={selectedCode}
1631
class="text-md focus:ring-2 focus:ring-transparent focus:outline-none"
1732
>
18-
{#each countries as country}
33+
{#each options as country}
1934
<option value={country.code} class="text-md text-black-600">
2035
{country.code}
2136
</option>

0 commit comments

Comments
 (0)