Skip to content

Commit ea49edd

Browse files
committed
feat: Select
1 parent a9e703d commit ea49edd

3 files changed

Lines changed: 41 additions & 0 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import type { ComponentProps } from 'svelte';
2+
import { Select } from '..';
3+
4+
export default {
5+
title: 'UI/Select',
6+
component: Select,
7+
tags: ['autodocs'],
8+
render: (args: { Component: Select; props: ComponentProps<typeof Select> }) => ({
9+
Component: Select,
10+
props: args
11+
})
12+
};
13+
14+
export const Primary = {
15+
args: {}
16+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<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+
];
8+
9+
let selectedCode = countries[0].code;
10+
</script>
11+
12+
<div class="flex items-center space-x-2">
13+
<div class="text-xl">{countries.find((c) => c.code === selectedCode)?.flag}</div>
14+
<select
15+
bind:value={selectedCode}
16+
class="rounded-full bg-gray-100 px-3 py-1 text-sm focus:ring-2 focus:ring-blue-500 focus:outline-none"
17+
>
18+
{#each countries as country}
19+
<option value={country.code}>
20+
{country.code} ({country.name})
21+
</option>
22+
{/each}
23+
</select>
24+
</div>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export { default as Button } from './Button/Button.svelte';
22
export { default as Avatar } from './Avatar/Avatar.svelte';
33
export { default as Input } from './Input/Input.svelte';
4+
export { default as Select } from './Select/Select.svelte';

0 commit comments

Comments
 (0)