|
5 | 5 | let label = 'Favorite Food'; |
6 | 6 | let description = 'Choose your favorite food.'; |
7 | 7 | let options = [ |
8 | | - { optionLabel: 'Option 1', value: '1' }, |
9 | | - { optionLabel: 'Option 2', value: '2' }, |
10 | | - { optionLabel: 'Option 3', value: '3' }, |
| 8 | + { label: 'Option 1', value: '1' }, |
| 9 | + { label: 'Option 2', value: '2' }, |
| 10 | + { label: 'Option 3', value: '3' }, |
11 | 11 | ]; |
12 | | -
|
13 | | - let primarySelected = $state(''); |
14 | | -
|
15 | | - let onSelectedChange = (value) => (primarySelected = value); |
16 | | -
|
17 | | - let isLoading = $state(false); |
| 12 | + let placeholder = 'Cheese Burger?'; |
| 13 | + let value = $state(); |
18 | 14 | let disabled = $state(false); |
| 15 | + let error = $state(); |
19 | 16 |
|
20 | | - let onSelectedChangeAsync = async (value) => { |
21 | | - isLoading = true; |
22 | | - primarySelected = value; |
23 | | -
|
24 | | - setTimeout(() => { |
25 | | - isLoading = false; |
26 | | - }, 2000); |
27 | | - }; |
28 | | -
|
29 | | - const { Story } = defineMeta({ title: 'UI Components/Atoms/Select', component: Select }); |
| 17 | + const { Story } = defineMeta({ |
| 18 | + title: 'UI Components/Atoms/Select', |
| 19 | + component: Select, |
| 20 | + }); |
30 | 21 | </script> |
31 | 22 |
|
32 | | -<Story name="Default Select" args={{ ...Select.props, label, description, options, disabled, onSelectedChange }}> |
33 | | - {#snippet children(args)} |
34 | | - <Select {...args} /> |
35 | | - {/snippet} |
36 | | -</Story> |
37 | | - |
38 | 23 | <Story |
39 | | - name="Async Func Select" |
40 | | - args={{ label, description, options, isLoading, disabled, onSelectedChange: onSelectedChangeAsync }} |
| 24 | + name="Default Select" |
| 25 | + args={{ ...Select.props, value, label, description, placeholder, options, disabled, error }} |
41 | 26 | > |
42 | 27 | {#snippet children(args)} |
43 | | - <Select {...args} /> |
| 28 | + <Select {...args} bind:value={args.value} /> |
44 | 29 | {/snippet} |
45 | 30 | </Story> |
46 | | - |
47 | | -<hr class="m-4" /> |
48 | | -<div>Selected Option: {JSON.stringify(primarySelected)}</div> |
0 commit comments