@@ -2,6 +2,7 @@ import React from 'react'
2
2
3
3
import { Dropdown } from './Dropdown'
4
4
import { Label } from '../Label/Label'
5
+ import { ComponentMeta , ComponentStory } from '@storybook/react'
5
6
6
7
export default {
7
8
title : 'Components/Dropdown' ,
@@ -17,43 +18,50 @@ Source: https://designsystem.digital.gov/components/select/
17
18
} ,
18
19
} ,
19
20
} ,
20
- }
21
+ argTypes : {
22
+ validationStatus : {
23
+ options : [ 'error' , 'success' ] ,
24
+ control : 'radio' ,
25
+ } ,
26
+ disabled : { control : 'boolean' } ,
27
+ } ,
28
+ } as ComponentMeta < typeof Dropdown >
21
29
22
- export const defaultDropdown = ( ) : React . ReactElement => (
23
- < Dropdown id = "input-dropdown" name = "input-dropdown" >
30
+ const options = (
31
+ < >
24
32
< option > - Select - </ option >
25
33
< option value = "value1" > Option A</ option >
26
34
< option value = "value2" > Option B</ option >
27
35
< option value = "value3" > Option C</ option >
28
- </ Dropdown >
36
+ </ >
29
37
)
30
38
31
- export const withDefaultValue = ( ) : React . ReactElement => (
32
- < Dropdown id = "input-dropdown" name = "input-dropdown" defaultValue = "value2" >
33
- < option > - Select - </ option >
34
- < option value = "value1" > Option A</ option >
35
- < option value = "value2" > Option B</ option >
36
- < option value = "value3" > Option C</ option >
37
- </ Dropdown >
39
+ const Template : ComponentStory < typeof Dropdown > = ( args ) => (
40
+ < Dropdown { ...args } > { options } </ Dropdown >
38
41
)
39
42
40
- export const withLabel = ( ) : React . ReactElement => (
43
+ export const Default = Template . bind ( { } )
44
+ Default . args = { id : 'input-dropdown' , name : 'input-dropdown' }
45
+
46
+ export const WithDefaultValue = Template . bind ( { } )
47
+ WithDefaultValue . args = {
48
+ id : 'input-dropdown' ,
49
+ name : 'input-dropdown' ,
50
+ defaultValue : 'value2' ,
51
+ }
52
+
53
+ export const Disabled = Template . bind ( { } )
54
+ Disabled . args = {
55
+ id : 'input-dropdown' ,
56
+ name : 'input-dropdown' ,
57
+ disabled : true ,
58
+ }
59
+
60
+ export const WithLabel = ( ) => (
41
61
< >
42
- < Label htmlFor = "options " > Dropdown label</ Label >
62
+ < Label htmlFor = "input-dropdown " > Dropdown label</ Label >
43
63
< Dropdown id = "input-dropdown" name = "input-dropdown" >
44
- < option > - Select - </ option >
45
- < option value = "value1" > Option A</ option >
46
- < option value = "value2" > Option B</ option >
47
- < option value = "value3" > Option C</ option >
64
+ { options }
48
65
</ Dropdown >
49
66
</ >
50
67
)
51
-
52
- export const disabled = ( ) : React . ReactElement => (
53
- < Dropdown id = "input-dropdown" name = "input-dropdown" disabled >
54
- < option > - Select - </ option >
55
- < option value = "value1" > Option A</ option >
56
- < option value = "value2" > Option B</ option >
57
- < option value = "value3" > Option C</ option >
58
- </ Dropdown >
59
- )
0 commit comments