@charcoal-ui/react 4.0.0-beta.3 → 4.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/components/Checkbox/index.d.ts +9 -20
  2. package/dist/components/Checkbox/index.d.ts.map +1 -1
  3. package/dist/components/CheckboxInput/index.d.ts +9 -0
  4. package/dist/components/CheckboxInput/index.d.ts.map +1 -0
  5. package/dist/components/DropdownSelector/Popover/index.d.ts +1 -2
  6. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  7. package/dist/components/Modal/index.d.ts +1 -1
  8. package/dist/components/Modal/index.d.ts.map +1 -1
  9. package/dist/components/Modal/useCustomModalOverlay.d.ts.map +1 -1
  10. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  11. package/dist/components/Radio/index.d.ts +4 -4
  12. package/dist/components/Radio/index.d.ts.map +1 -1
  13. package/dist/components/TextArea/index.d.ts.map +1 -1
  14. package/dist/components/TextField/index.d.ts.map +1 -1
  15. package/dist/core/CharcoalProvider.d.ts +1 -1
  16. package/dist/core/CharcoalProvider.d.ts.map +1 -1
  17. package/dist/index.cjs.js +177 -414
  18. package/dist/index.cjs.js.map +1 -1
  19. package/dist/index.css +86 -0
  20. package/dist/index.css.map +1 -1
  21. package/dist/index.esm.js +152 -389
  22. package/dist/index.esm.js.map +1 -1
  23. package/package.json +14 -17
  24. package/src/components/Checkbox/__snapshots__/index.story.storyshot +163 -517
  25. package/src/components/Checkbox/index.css +21 -0
  26. package/src/components/Checkbox/index.story.tsx +44 -79
  27. package/src/components/Checkbox/index.tsx +19 -157
  28. package/src/components/CheckboxInput/__snapshots__/index.story.storyshot +109 -0
  29. package/src/components/CheckboxInput/index.css +77 -0
  30. package/src/components/CheckboxInput/index.story.tsx +35 -0
  31. package/src/components/CheckboxInput/index.tsx +53 -0
  32. package/src/components/DropdownSelector/Popover/index.tsx +1 -2
  33. package/src/components/IconButton/__snapshots__/index.story.storyshot +6 -8
  34. package/src/components/IconButton/index.story.tsx +14 -37
  35. package/src/components/LoadingSpinner/__snapshots__/index.story.storyshot +139 -1
  36. package/src/components/LoadingSpinner/index.story.tsx +18 -7
  37. package/src/components/Modal/index.tsx +1 -1
  38. package/src/components/Modal/useCustomModalOverlay.tsx +5 -4
  39. package/src/components/MultiSelect/__snapshots__/index.story.storyshot +32 -44
  40. package/src/components/MultiSelect/index.story.tsx +88 -192
  41. package/src/components/MultiSelect/index.tsx +2 -1
  42. package/src/components/Radio/__snapshots__/index.story.storyshot +1 -1
  43. package/src/components/Radio/index.story.tsx +20 -21
  44. package/src/components/Radio/index.tsx +14 -13
  45. package/src/components/Switch/__snapshots__/index.story.storyshot +8 -9
  46. package/src/components/Switch/index.story.tsx +10 -18
  47. package/src/components/TagItem/__snapshots__/index.story.storyshot +791 -665
  48. package/src/components/TagItem/index.story.tsx +44 -161
  49. package/src/components/TextArea/TextArea.story.tsx +62 -24
  50. package/src/components/TextArea/__snapshots__/TextArea.story.storyshot +1858 -472
  51. package/src/components/TextArea/index.tsx +2 -0
  52. package/src/components/TextField/TextField.story.tsx +77 -67
  53. package/src/components/TextField/__snapshots__/TextField.story.storyshot +2004 -786
  54. package/src/components/TextField/index.tsx +2 -0
  55. package/src/components/a11y.test.tsx +1 -1
  56. package/src/core/CharcoalProvider.tsx +1 -1
  57. package/dist/components/Button/index.story.d.ts +0 -22
  58. package/dist/components/Button/index.story.d.ts.map +0 -1
  59. package/dist/components/Button/index.test.d.ts +0 -2
  60. package/dist/components/Button/index.test.d.ts.map +0 -1
  61. package/dist/components/Checkbox/index.story.d.ts +0 -8
  62. package/dist/components/Checkbox/index.story.d.ts.map +0 -1
  63. package/dist/components/Clickable/index.story.d.ts +0 -6
  64. package/dist/components/Clickable/index.story.d.ts.map +0 -1
  65. package/dist/components/DropdownSelector/ListItem/index.story.d.ts +0 -9
  66. package/dist/components/DropdownSelector/ListItem/index.story.d.ts.map +0 -1
  67. package/dist/components/DropdownSelector/MenuList/index.story.d.ts +0 -8
  68. package/dist/components/DropdownSelector/MenuList/index.story.d.ts.map +0 -1
  69. package/dist/components/DropdownSelector/Popover/index.story.d.ts +0 -5
  70. package/dist/components/DropdownSelector/Popover/index.story.d.ts.map +0 -1
  71. package/dist/components/DropdownSelector/index.story.d.ts +0 -19
  72. package/dist/components/DropdownSelector/index.story.d.ts.map +0 -1
  73. package/dist/components/Icon/index.story.d.ts +0 -6
  74. package/dist/components/Icon/index.story.d.ts.map +0 -1
  75. package/dist/components/IconButton/index.story.d.ts +0 -9
  76. package/dist/components/IconButton/index.story.d.ts.map +0 -1
  77. package/dist/components/LoadingSpinner/LoadingSpinnerIcon.story.d.ts +0 -8
  78. package/dist/components/LoadingSpinner/LoadingSpinnerIcon.story.d.ts.map +0 -1
  79. package/dist/components/LoadingSpinner/index.story.d.ts +0 -6
  80. package/dist/components/LoadingSpinner/index.story.d.ts.map +0 -1
  81. package/dist/components/Modal/index.story.d.ts +0 -21
  82. package/dist/components/Modal/index.story.d.ts.map +0 -1
  83. package/dist/components/MultiSelect/index.story.d.ts +0 -82
  84. package/dist/components/MultiSelect/index.story.d.ts.map +0 -1
  85. package/dist/components/MultiSelect/index.test.d.ts +0 -2
  86. package/dist/components/MultiSelect/index.test.d.ts.map +0 -1
  87. package/dist/components/Radio/index.story.d.ts +0 -26
  88. package/dist/components/Radio/index.story.d.ts.map +0 -1
  89. package/dist/components/Radio/index.test.d.ts +0 -2
  90. package/dist/components/Radio/index.test.d.ts.map +0 -1
  91. package/dist/components/SegmentedControl/index.story.d.ts +0 -7
  92. package/dist/components/SegmentedControl/index.story.d.ts.map +0 -1
  93. package/dist/components/Switch/index.story.d.ts +0 -9
  94. package/dist/components/Switch/index.story.d.ts.map +0 -1
  95. package/dist/components/TagItem/index.story.d.ts +0 -16
  96. package/dist/components/TagItem/index.story.d.ts.map +0 -1
  97. package/dist/components/TextArea/TextArea.story.d.ts +0 -9
  98. package/dist/components/TextArea/TextArea.story.d.ts.map +0 -1
  99. package/dist/components/TextField/TextField.story.d.ts +0 -22
  100. package/dist/components/TextField/TextField.story.d.ts.map +0 -1
  101. package/dist/components/a11y.test.d.ts +0 -2
  102. package/dist/components/a11y.test.d.ts.map +0 -1
  103. package/src/components/LoadingSpinner/LoadingSpinnerIcon.story.tsx +0 -13
@@ -1,42 +1,19 @@
1
1
  import { useState } from 'react'
2
- import { Story } from '../../_lib/compat'
3
2
  import styled from 'styled-components'
4
3
  import { MultiSelectGroup, default as MultiSelect } from '.'
4
+ import { Meta, StoryObj } from '@storybook/react'
5
+ import { action } from '@storybook/addon-actions'
6
+
7
+ const StyledMultiSelectGroup = styled(MultiSelectGroup)`
8
+ display: grid;
9
+ grid-template-columns: 1fr;
10
+ gap: 8px;
11
+ `
5
12
 
6
13
  export default {
7
14
  title: 'MultiSelect',
8
15
  component: MultiSelect,
9
16
  argTypes: {
10
- name: {
11
- control: {
12
- type: 'text',
13
- },
14
- },
15
- label: {
16
- control: {
17
- type: 'text',
18
- },
19
- },
20
- selected: {
21
- control: {
22
- type: 'boolean',
23
- },
24
- },
25
- disabled: {
26
- control: {
27
- type: 'boolean',
28
- },
29
- },
30
- readonly: {
31
- control: {
32
- type: 'boolean',
33
- },
34
- },
35
- invalid: {
36
- control: {
37
- type: 'boolean',
38
- },
39
- },
40
17
  variant: {
41
18
  control: {
42
19
  type: 'inline-radio',
@@ -44,173 +21,92 @@ export default {
44
21
  },
45
22
  },
46
23
  },
47
- }
48
-
49
- type Props = {
50
- name: string
51
- label: string
52
- selected: boolean
53
- onChange: (selected: string[]) => void
54
- disabled?: boolean
55
- readonly?: boolean
56
- invalid?: boolean
57
- variant?: 'default' | 'overlay'
58
- className?: string
59
- }
60
-
61
- const StyledMultiSelectGroup = styled(MultiSelectGroup)`
62
- display: grid;
63
- grid-template-columns: 1fr;
64
- gap: 8px;
65
- `
66
-
67
- const Template: Story<Props> = ({
68
- name,
69
- label,
70
- selected,
71
- onChange,
72
- disabled,
73
- readonly,
74
- invalid,
75
- variant,
76
- className,
77
- }) => {
78
- return (
79
- <StyledMultiSelectGroup
80
- {...{
81
- name,
82
- label,
83
- onChange,
84
- disabled,
85
- readonly,
86
- invalid,
87
- }}
88
- selected={selected ? ['選択肢1', '選択肢3'] : []}
89
- >
90
- {[1, 2, 3, 4].map((idx) => (
91
- <MultiSelect
92
- value={`選択肢${idx}`}
93
- variant={variant}
94
- key={idx}
95
- className={className}
96
- >
97
- 選択肢{idx}
98
- </MultiSelect>
99
- ))}
100
- </StyledMultiSelectGroup>
101
- )
102
- }
103
-
104
- export const Default = Template.bind({})
105
- Default.args = {
106
- name: '',
107
- label: '',
108
- selected: true,
109
- disabled: false,
110
- readonly: false,
111
- invalid: false,
112
- variant: 'default',
113
- // eslint-disable-next-line no-console
114
- onChange: (selected) => console.log(selected),
115
- }
24
+ args: {
25
+ variant: 'default',
26
+ },
27
+ } as Meta<typeof MultiSelect>
116
28
 
117
- type PlaygroundProps = {
118
- name: string
119
- label: string
120
- disabled?: boolean
121
- readonly?: boolean
122
- invalid?: boolean
123
- className?: string
124
- variant?: 'default' | 'overlay'
29
+ export const Basic: StoryObj<typeof MultiSelect> = {
30
+ render: function Render(args) {
31
+ const options = ['選択肢1', '選択肢2', '選択肢3', '選択肢4']
32
+ return (
33
+ <StyledMultiSelectGroup
34
+ name="name"
35
+ label="label"
36
+ onChange={action('click')}
37
+ selected={['選択肢1', '選択肢3']}
38
+ >
39
+ {options.map((option) => (
40
+ <MultiSelect {...args} value={option} key={option}>
41
+ {option}
42
+ </MultiSelect>
43
+ ))}
44
+ </StyledMultiSelectGroup>
45
+ )
46
+ },
125
47
  }
126
48
 
127
- export const Playground: Story<PlaygroundProps> = ({ className, ...props }) => {
128
- const [selected, setSelected] = useState<string[]>([])
129
-
130
- return (
131
- <StyledMultiSelectGroup
132
- {...props}
133
- selected={selected}
134
- onChange={setSelected}
135
- >
136
- {[1, 2, 3, 4].map((idx) => (
137
- <MultiSelect
138
- value={`選択肢${idx}`}
139
- variant={props.variant}
140
- key={idx}
141
- className={className}
142
- >
143
- 選択肢{idx}
144
- </MultiSelect>
145
- ))}
146
- </StyledMultiSelectGroup>
147
- )
148
- }
149
- Playground.args = {
150
- name: 'defaultName',
151
- label: '',
152
- disabled: false,
153
- readonly: false,
154
- invalid: false,
155
- variant: 'default',
49
+ export const Invalid: StoryObj<typeof MultiSelect> = {
50
+ render: function Render(args) {
51
+ const options = ['選択肢1', '選択肢2', '選択肢3', '選択肢4']
52
+ return (
53
+ <StyledMultiSelectGroup
54
+ name="name"
55
+ label="label"
56
+ onChange={action('click')}
57
+ selected={[]}
58
+ invalid
59
+ >
60
+ {options.map((option) => (
61
+ <MultiSelect {...args} value={option} key={option}>
62
+ {option}
63
+ </MultiSelect>
64
+ ))}
65
+ </StyledMultiSelectGroup>
66
+ )
67
+ },
156
68
  }
157
69
 
158
- export const Invalid: Story<PlaygroundProps> = ({ className, ...props }) => {
159
- const [selected, setSelected] = useState<string[]>([])
160
-
161
- return (
162
- <StyledMultiSelectGroup
163
- {...props}
164
- selected={selected}
165
- onChange={setSelected}
166
- invalid
167
- >
168
- {[1, 2, 3, 4].map((idx) => (
169
- <MultiSelect
170
- value={`選択肢${idx}`}
171
- variant={props.variant}
172
- key={idx}
173
- className={className}
174
- >
175
- 選択肢{idx}
176
- </MultiSelect>
177
- ))}
178
- </StyledMultiSelectGroup>
179
- )
180
- }
181
- Invalid.args = {
182
- name: 'defaultName',
183
- label: '',
184
- disabled: false,
185
- readonly: false,
186
- variant: 'default',
70
+ export const Overlay: StoryObj<typeof MultiSelect> = {
71
+ render: function Render(args) {
72
+ const options = ['選択肢1', '選択肢2', '選択肢3', '選択肢4']
73
+ return (
74
+ <StyledMultiSelectGroup
75
+ name="name"
76
+ label="label"
77
+ onChange={action('click')}
78
+ selected={[]}
79
+ >
80
+ {options.map((option) => (
81
+ <MultiSelect {...args} value={option} key={option}>
82
+ {option}
83
+ </MultiSelect>
84
+ ))}
85
+ </StyledMultiSelectGroup>
86
+ )
87
+ },
88
+ args: {
89
+ variant: 'overlay',
90
+ },
187
91
  }
188
92
 
189
- export const Overlay: Story<PlaygroundProps> = ({ className, ...props }) => {
190
- const [selected, setSelected] = useState<string[]>([])
93
+ export const Playground: StoryObj<typeof MultiSelect> = {
94
+ render: function Render(args) {
95
+ const [selected, setSelected] = useState<string[]>([])
191
96
 
192
- return (
193
- <StyledMultiSelectGroup
194
- {...props}
195
- selected={selected}
196
- onChange={setSelected}
197
- >
198
- {[1, 2, 3, 4].map((idx) => (
199
- <MultiSelect
200
- value={`選択肢${idx}`}
201
- variant="overlay"
202
- key={idx}
203
- className={className}
204
- >
205
- 選択肢{idx}
206
- </MultiSelect>
207
- ))}
208
- </StyledMultiSelectGroup>
209
- )
210
- }
211
- Overlay.args = {
212
- name: 'defaultName',
213
- label: '',
214
- disabled: false,
215
- readonly: false,
97
+ return (
98
+ <StyledMultiSelectGroup
99
+ name=""
100
+ label=""
101
+ onChange={setSelected}
102
+ selected={selected}
103
+ >
104
+ {[1, 2, 3, 4].map((idx) => (
105
+ <MultiSelect {...args} value={`選択肢${idx}`} key={idx}>
106
+ 選択肢{idx}
107
+ </MultiSelect>
108
+ ))}
109
+ </StyledMultiSelectGroup>
110
+ )
111
+ },
216
112
  }
@@ -6,6 +6,7 @@ import { px } from '@charcoal-ui/utils'
6
6
 
7
7
  import { MultiSelectGroupContext } from './context'
8
8
  import { focusVisibleFocusRingCss } from '@charcoal-ui/styled'
9
+ import Icon from '../Icon'
9
10
 
10
11
  export type MultiSelectProps = React.PropsWithChildren<{
11
12
  value: string
@@ -76,7 +77,7 @@ const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(
76
77
  invalid={invalid}
77
78
  aria-hidden={true}
78
79
  >
79
- <pixiv-icon name="24/Check" unsafe-non-guideline-scale={16 / 24} />
80
+ <Icon name="24/Check" unsafe-non-guideline-scale={16 / 24} />
80
81
  </MultiSelectInputOverlay>
81
82
  {Boolean(children) && <MultiSelectLabel>{children}</MultiSelectLabel>}
82
83
  </MultiSelectRoot>
@@ -1,6 +1,6 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`Storybook Tests Radio Basic 1`] = `
3
+ exports[`Storybook Tests Radio Default 1`] = `
4
4
  .c2 {
5
5
  display: grid;
6
6
  grid-template-columns: auto 1fr;
@@ -7,10 +7,6 @@ import { useState } from 'react'
7
7
  export default {
8
8
  title: 'Radio',
9
9
  component: Radio,
10
- args: {
11
- name: 'name',
12
- label: 'label',
13
- },
14
10
  parameters: {
15
11
  layout: 'centered',
16
12
  },
@@ -21,16 +17,19 @@ const LayoutDiv = styled.div`
21
17
  flex-direction: column;
22
18
  gap: ${({ theme }) => px(theme.spacing[24])};
23
19
  `
20
+ const options = ['1', '2', '3'] as const
21
+ type Option = (typeof options)[number]
22
+
23
+ export const Default: StoryObj<typeof Radio> = {
24
+ render: function Render(args) {
25
+ const [value, setValue] = useState<Option>(options[0])
24
26
 
25
- export const Basic: StoryObj<typeof Radio> = {
26
- render: function Render() {
27
- const options = ['1', '2', '3']
28
- const [value, setValue] = useState(options[0])
29
27
  return (
30
28
  <LayoutDiv>
31
- <RadioGroup
29
+ <RadioGroup<Option>
32
30
  label={'label'}
33
31
  name={'name'}
32
+ {...args}
34
33
  value={value}
35
34
  onChange={setValue}
36
35
  >
@@ -47,11 +46,11 @@ export const Basic: StoryObj<typeof Radio> = {
47
46
 
48
47
  export const Disabled: StoryObj<typeof Radio> = {
49
48
  render: function Render() {
50
- const options = ['1', '2', '3']
51
- const [value, setValue] = useState(options[0])
49
+ const [value, setValue] = useState<Option>(options[0])
50
+
52
51
  return (
53
52
  <LayoutDiv>
54
- <RadioGroup
53
+ <RadioGroup<Option>
55
54
  label={'label'}
56
55
  name={'name'}
57
56
  value={value}
@@ -71,11 +70,11 @@ export const Disabled: StoryObj<typeof Radio> = {
71
70
 
72
71
  export const PartialDisabled: StoryObj<typeof Radio> = {
73
72
  render: function Render() {
74
- const options = ['1', '2', '3']
75
- const [value, setValue] = useState(options[0])
73
+ const [value, setValue] = useState<Option>(options[0])
74
+
76
75
  return (
77
76
  <LayoutDiv>
78
- <RadioGroup
77
+ <RadioGroup<Option>
79
78
  label={'label'}
80
79
  name={'name'}
81
80
  value={value}
@@ -94,11 +93,11 @@ export const PartialDisabled: StoryObj<typeof Radio> = {
94
93
 
95
94
  export const Readonly: StoryObj<typeof Radio> = {
96
95
  render: function Render() {
97
- const options = ['1', '2', '3']
98
- const [value, setValue] = useState(options[0])
96
+ const [value, setValue] = useState<Option>(options[0])
97
+
99
98
  return (
100
99
  <LayoutDiv>
101
- <RadioGroup
100
+ <RadioGroup<Option>
102
101
  label={'label'}
103
102
  name={'name'}
104
103
  value={value}
@@ -118,11 +117,11 @@ export const Readonly: StoryObj<typeof Radio> = {
118
117
 
119
118
  export const Invalid: StoryObj<typeof Radio> = {
120
119
  render: function Render() {
121
- const options = ['1', '2', '3']
122
- const [value, setValue] = useState(options[0])
120
+ const [value, setValue] = useState<Option>(options[0])
121
+
123
122
  return (
124
123
  <LayoutDiv>
125
- <RadioGroup
124
+ <RadioGroup<Option>
126
125
  label={'label'}
127
126
  name={'name'}
128
127
  value={value}
@@ -169,16 +169,17 @@ const RadioLabel = styled.div`
169
169
  }
170
170
  `
171
171
 
172
- export type RadioGroupProps = React.PropsWithChildren<{
173
- className?: string
174
- value?: string
175
- label: string
176
- name: string
177
- onChange(next: string): void
178
- disabled?: boolean
179
- readonly?: boolean
180
- invalid?: boolean
181
- }>
172
+ export type RadioGroupProps<Value extends string = string> =
173
+ React.PropsWithChildren<{
174
+ className?: string
175
+ value?: Value
176
+ label: string
177
+ name: string
178
+ onChange(next: Value): void
179
+ disabled?: boolean
180
+ readonly?: boolean
181
+ invalid?: boolean
182
+ }>
182
183
 
183
184
  // TODO: use (or polyfill) flex gap
184
185
  const StyledRadioGroup = styled.div`
@@ -209,7 +210,7 @@ const RadioGroupContext = React.createContext<RadioGroupContext>({
209
210
  },
210
211
  })
211
212
 
212
- export function RadioGroup({
213
+ export function RadioGroup<Value extends string = string>({
213
214
  className,
214
215
  value,
215
216
  label,
@@ -219,10 +220,10 @@ export function RadioGroup({
219
220
  readonly,
220
221
  invalid,
221
222
  children,
222
- }: RadioGroupProps) {
223
+ }: RadioGroupProps<Value>) {
223
224
  const handleChange = useCallback(
224
225
  (next: string) => {
225
- onChange(next)
226
+ onChange(next as Value)
226
227
  },
227
228
  [onChange]
228
229
  )
@@ -1,6 +1,6 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`Storybook Tests Switch Basic 1`] = `
3
+ exports[`Storybook Tests Switch Checked 1`] = `
4
4
  .c0 {
5
5
  display: inline-grid;
6
6
  grid-template-columns: auto 1fr;
@@ -118,8 +118,8 @@ exports[`Storybook Tests Switch Basic 1`] = `
118
118
  className="c0"
119
119
  >
120
120
  <input
121
- aria-label="label"
122
- checked={false}
121
+ aria-label="checked"
122
+ checked={true}
123
123
  className="c1"
124
124
  disabled={false}
125
125
  name="name"
@@ -144,7 +144,7 @@ exports[`Storybook Tests Switch Basic 1`] = `
144
144
  </div>
145
145
  `;
146
146
 
147
- exports[`Storybook Tests Switch Checked 1`] = `
147
+ exports[`Storybook Tests Switch Default 1`] = `
148
148
  .c0 {
149
149
  display: inline-grid;
150
150
  grid-template-columns: auto 1fr;
@@ -262,8 +262,7 @@ exports[`Storybook Tests Switch Checked 1`] = `
262
262
  className="c0"
263
263
  >
264
264
  <input
265
- aria-label="label"
266
- checked={true}
265
+ checked={false}
267
266
  className="c1"
268
267
  disabled={false}
269
268
  name="name"
@@ -417,7 +416,7 @@ exports[`Storybook Tests Switch Disabled 1`] = `
417
416
  checked={false}
418
417
  className="c1"
419
418
  disabled={true}
420
- name="name"
419
+ name="disabled"
421
420
  onChange={[Function]}
422
421
  onClick={[Function]}
423
422
  onDragStart={[Function]}
@@ -444,7 +443,7 @@ exports[`Storybook Tests Switch Disabled 1`] = `
444
443
  </div>
445
444
  `;
446
445
 
447
- exports[`Storybook Tests Switch Labelled 1`] = `
446
+ exports[`Storybook Tests Switch Label 1`] = `
448
447
  .c0 {
449
448
  display: inline-grid;
450
449
  grid-template-columns: auto 1fr;
@@ -572,7 +571,7 @@ exports[`Storybook Tests Switch Labelled 1`] = `
572
571
  checked={false}
573
572
  className="c1"
574
573
  disabled={false}
575
- name="name"
574
+ name="label"
576
575
  onChange={[Function]}
577
576
  onClick={[Function]}
578
577
  onDragStart={[Function]}
@@ -5,16 +5,12 @@ import { Meta, StoryObj } from '@storybook/react'
5
5
  export default {
6
6
  title: 'Switch',
7
7
  component: Switch,
8
- args: {
9
- name: 'name',
10
- label: 'label',
11
- },
12
8
  parameters: {
13
9
  layout: 'centered',
14
10
  },
15
11
  } as Meta<typeof Switch>
16
12
 
17
- export const Basic: StoryObj<typeof Switch> = {
13
+ export const Default: StoryObj<typeof Switch> = {
18
14
  render: function Render(args) {
19
15
  const [checked, setChecked] = useState(false)
20
16
  return (
@@ -33,33 +29,29 @@ export const Basic: StoryObj<typeof Switch> = {
33
29
  }
34
30
 
35
31
  export const Checked: StoryObj<typeof Switch> = {
36
- render: function Render(args) {
32
+ render: function Render() {
37
33
  const [checked, setChecked] = useState(true)
38
34
  return (
39
35
  <div>
40
36
  <Switch
41
- {...args}
42
37
  name="name"
38
+ label="checked"
43
39
  onChange={(v) => {
44
40
  setChecked(v)
45
41
  }}
46
- checked={args.checked ?? checked}
42
+ checked={checked}
47
43
  />
48
44
  </div>
49
45
  )
50
46
  },
51
47
  }
52
48
 
53
- export const Labelled: StoryObj<typeof Switch> = {
54
- render: function Render(args) {
49
+ export const Label: StoryObj<typeof Switch> = {
50
+ render: function Render() {
55
51
  const [checked, setChecked] = useState(false)
56
52
  return (
57
53
  <div>
58
- <Switch
59
- {...args}
60
- checked={args.checked ?? checked}
61
- onChange={setChecked}
62
- >
54
+ <Switch name="label" checked={checked} onChange={setChecked}>
63
55
  Label
64
56
  </Switch>
65
57
  </div>
@@ -68,13 +60,13 @@ export const Labelled: StoryObj<typeof Switch> = {
68
60
  }
69
61
 
70
62
  export const Disabled: StoryObj<typeof Switch> = {
71
- render: function Render(args) {
63
+ render: function Render() {
72
64
  const [checked, setChecked] = useState(false)
73
65
  return (
74
66
  <div>
75
67
  <Switch
76
- {...args}
77
- checked={args.checked ?? checked}
68
+ name="disabled"
69
+ checked={checked}
78
70
  onChange={setChecked}
79
71
  disabled
80
72
  >