@ceed/ads 1.13.3 → 1.15.0-next.1
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.
- package/dist/Overview.md +11 -0
- package/dist/components/Input/Input.d.ts +9 -1
- package/dist/components/Menu/Menu.d.ts +2 -5
- package/dist/components/Stepper/Stepper.d.ts +6 -0
- package/dist/components/data-display/Avatar.md +428 -0
- package/dist/components/data-display/Badge.md +315 -0
- package/dist/components/data-display/Chip.md +301 -0
- package/dist/components/data-display/DataTable.md +452 -0
- package/dist/components/data-display/InfoSign.md +160 -0
- package/dist/components/data-display/Markdown.md +17 -0
- package/dist/components/data-display/Table.md +1330 -0
- package/dist/components/data-display/Tooltip.md +444 -0
- package/dist/components/data-display/Typography.md +271 -0
- package/dist/components/data-display/llms.txt +17 -0
- package/dist/components/feedback/Alert.md +663 -0
- package/dist/components/feedback/Dialog.md +33 -0
- package/dist/components/feedback/Modal.md +39 -0
- package/dist/components/feedback/llms.txt +11 -0
- package/dist/components/inputs/Autocomplete.md +103 -0
- package/dist/components/inputs/Button.md +334 -0
- package/dist/components/inputs/ButtonGroup.md +382 -0
- package/dist/components/inputs/Calendar.md +19 -0
- package/dist/components/inputs/Checkbox.md +649 -0
- package/dist/components/inputs/CurrencyInput.md +91 -0
- package/dist/components/inputs/DatePicker.md +67 -0
- package/dist/components/inputs/DateRangePicker.md +55 -0
- package/dist/components/inputs/FilterMenu.md +210 -0
- package/dist/components/inputs/IconButton.md +361 -0
- package/dist/components/inputs/Input.md +283 -0
- package/dist/components/inputs/MonthPicker.md +72 -0
- package/dist/components/inputs/MonthRangePicker.md +70 -0
- package/dist/components/inputs/PercentageInput.md +116 -0
- package/dist/components/inputs/RadioButton.md +350 -0
- package/dist/components/inputs/RadioTileGroup.md +418 -0
- package/dist/components/inputs/Select.md +56 -0
- package/dist/components/inputs/Switch.md +577 -0
- package/dist/components/inputs/Textarea.md +64 -0
- package/dist/components/inputs/Uploader/Uploader.md +238 -0
- package/dist/components/inputs/Uploader/llms.txt +9 -0
- package/dist/components/inputs/llms.txt +31 -0
- package/dist/components/layout/Box.md +997 -0
- package/dist/components/layout/Container.md +23 -0
- package/dist/components/layout/Grid.md +728 -0
- package/dist/components/layout/Stack.md +937 -0
- package/dist/components/layout/llms.txt +12 -0
- package/dist/components/llms.txt +14 -0
- package/dist/components/navigation/Breadcrumbs.md +51 -0
- package/dist/components/navigation/Dropdown.md +768 -0
- package/dist/components/navigation/IconMenuButton.md +35 -0
- package/dist/components/navigation/InsetDrawer.md +133 -0
- package/dist/components/navigation/Link.md +24 -0
- package/dist/components/navigation/Menu.md +957 -0
- package/dist/components/navigation/MenuButton.md +39 -0
- package/dist/components/navigation/NavigationGroup.md +17 -0
- package/dist/components/navigation/NavigationItem.md +17 -0
- package/dist/components/navigation/Navigator.md +17 -0
- package/dist/components/navigation/Pagination.md +17 -0
- package/dist/components/navigation/ProfileMenu.md +34 -0
- package/dist/components/navigation/Stepper.md +108 -0
- package/dist/components/navigation/Tabs.md +34 -0
- package/dist/components/navigation/llms.txt +22 -0
- package/dist/components/surfaces/Accordions.md +96 -0
- package/dist/components/surfaces/Card.md +786 -0
- package/dist/components/surfaces/Divider.md +762 -0
- package/dist/components/surfaces/Sheet.md +900 -0
- package/dist/components/surfaces/llms.txt +12 -0
- package/dist/index.cjs +47 -11
- package/dist/index.js +81 -45
- package/dist/llms.txt +75 -0
- package/framer/index.js +36 -36
- package/package.json +8 -4
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
# RadioTileGroup
|
|
2
|
+
|
|
3
|
+
RadioTileGroup 컴포넌트는 타일 형태의 라디오 옵션을 표시하는 컴포넌트입니다. 각 옵션이 타일 형태로 나타나며, 사용자가 선택할 수 있습니다.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
<RadioTileGroup
|
|
7
|
+
options={simpleOptions}
|
|
8
|
+
useIndicator
|
|
9
|
+
/>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
| Field | Description | Default |
|
|
13
|
+
| ------------ | ----------- | ------------- |
|
|
14
|
+
| options | — | simpleOptions |
|
|
15
|
+
| value | — | — |
|
|
16
|
+
| defaultValue | — | — |
|
|
17
|
+
| onChange | — | — |
|
|
18
|
+
| name | — | — |
|
|
19
|
+
| disabled | — | — |
|
|
20
|
+
| className | — | — |
|
|
21
|
+
| useIndicator | — | — |
|
|
22
|
+
| textAlign | — | — |
|
|
23
|
+
| size | — | — |
|
|
24
|
+
| flex | — | — |
|
|
25
|
+
| columns | — | — |
|
|
26
|
+
| label | — | — |
|
|
27
|
+
| helperText | — | — |
|
|
28
|
+
| error | — | — |
|
|
29
|
+
| required | — | — |
|
|
30
|
+
|
|
31
|
+
## 기본형
|
|
32
|
+
|
|
33
|
+
RadioTileGroup의 기본 형태입니다. 필수 속성 값으로 `options`를 받으며, 각 옵션은 `value`와 `label`을 포함해야 합니다.
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<RadioTileGroup
|
|
37
|
+
options={simpleOptions}
|
|
38
|
+
useIndicator
|
|
39
|
+
/>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`label`과 `helperText`를 함께 사용하면 아래와 같은 모습입니다.
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
<RadioTileGroup
|
|
46
|
+
options={simpleOptions}
|
|
47
|
+
useIndicator
|
|
48
|
+
label="Select an option"
|
|
49
|
+
helperText="This is helper text for the RadioTileGroup"
|
|
50
|
+
/>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 필수 값 표시
|
|
54
|
+
|
|
55
|
+
`required` 속성을 사용하여 필수 입력 필드임을 표시할 수 있습니다.
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
<RadioTileGroup
|
|
59
|
+
options={simpleOptions}
|
|
60
|
+
useIndicator
|
|
61
|
+
label="Select an option"
|
|
62
|
+
helperText="This field is required"
|
|
63
|
+
required
|
|
64
|
+
/>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 레이아웃 옵션
|
|
68
|
+
|
|
69
|
+
### Flex
|
|
70
|
+
|
|
71
|
+
`flex` 속성을 활성화하면 RadioTileGroup이 사용 가능한 공간을 균등하게 채웁니다.
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
<RadioTileGroup
|
|
75
|
+
options={simpleOptions}
|
|
76
|
+
useIndicator
|
|
77
|
+
flex
|
|
78
|
+
/>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Columns
|
|
82
|
+
|
|
83
|
+
`columns` 속성을 사용하여 타일을 특정 열 수로 배치할 수 있습니다.
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
<RadioTileGroup
|
|
87
|
+
options={simpleOptions}
|
|
88
|
+
useIndicator
|
|
89
|
+
columns={2}
|
|
90
|
+
/>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Flex와 Columns 함께 사용
|
|
94
|
+
|
|
95
|
+
`flex`와 `columns` 속성을 함께 사용하여 타일이 균등하게 공간을 채우면서 특정 열 수로 배치할 수 있습니다.
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
<Box sx={{
|
|
99
|
+
width: '100%',
|
|
100
|
+
maxWidth: 700
|
|
101
|
+
}}>
|
|
102
|
+
<Typography level="body-md" sx={{
|
|
103
|
+
mb: 2
|
|
104
|
+
}}>
|
|
105
|
+
Flex with Columns
|
|
106
|
+
</Typography>
|
|
107
|
+
<RadioTileGroup options={optionsWithIcons} onChange={handleChange} value={selectedValue} flex={true} columns={3} size="md" useIndicator={true} label="Flex with Columns Example" helperText="Items stretch to fill available space and are arranged in 3 columns" />
|
|
108
|
+
</Box>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 수직 레이아웃
|
|
112
|
+
|
|
113
|
+
`columns: 1`로 설정하면 타일이 수직으로 쌓이는 레이아웃을 만들 수 있습니다.
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
<Box sx={{
|
|
117
|
+
width: '100%',
|
|
118
|
+
maxWidth: 400
|
|
119
|
+
}}>
|
|
120
|
+
<Typography level="body-md" sx={{
|
|
121
|
+
mb: 2
|
|
122
|
+
}}>
|
|
123
|
+
Vertical Layout (columns: 1)
|
|
124
|
+
</Typography>
|
|
125
|
+
<RadioTileGroup options={pricingOptions} onChange={handleChange} value={selectedValue} columns={1} size="md" useIndicator={true} label="Subscription Plans" helperText="Select your preferred subscription plan" />
|
|
126
|
+
</Box>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## 정렬 옵션
|
|
130
|
+
|
|
131
|
+
`textAlign` 속성을 사용하여 타일 내부의 콘텐츠 정렬 방식을 설정할 수 있습니다. 기본값은 `center`이며, `start`로 설정하면 텍스트가 왼쪽으로 정렬됩니다.
|
|
132
|
+
|
|
133
|
+
```tsx
|
|
134
|
+
<Box sx={{
|
|
135
|
+
display: 'flex',
|
|
136
|
+
flexDirection: 'column',
|
|
137
|
+
gap: 4,
|
|
138
|
+
width: '100%',
|
|
139
|
+
maxWidth: 700
|
|
140
|
+
}}>
|
|
141
|
+
<Box>
|
|
142
|
+
<Typography level="body-md" sx={{
|
|
143
|
+
mb: 2
|
|
144
|
+
}}>
|
|
145
|
+
Center Alignment (default)
|
|
146
|
+
</Typography>
|
|
147
|
+
<RadioTileGroup options={simpleOptions} textAlign="center" useIndicator={true} />
|
|
148
|
+
</Box>
|
|
149
|
+
<Box>
|
|
150
|
+
<Typography level="body-md" sx={{
|
|
151
|
+
mb: 2
|
|
152
|
+
}}>
|
|
153
|
+
Start Alignment
|
|
154
|
+
</Typography>
|
|
155
|
+
<RadioTileGroup options={simpleOptions} textAlign="start" useIndicator={true} />
|
|
156
|
+
</Box>
|
|
157
|
+
</Box>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Size
|
|
161
|
+
|
|
162
|
+
RadioTileGroup은 세 가지 크기를 지원합니다: `sm`, `md`, `lg`. 기본값은 `sm`입니다.
|
|
163
|
+
|
|
164
|
+
```tsx
|
|
165
|
+
<Box sx={{
|
|
166
|
+
display: 'flex',
|
|
167
|
+
flexDirection: 'column',
|
|
168
|
+
gap: 4,
|
|
169
|
+
width: '100%',
|
|
170
|
+
maxWidth: 700
|
|
171
|
+
}}>
|
|
172
|
+
<Box>
|
|
173
|
+
<Typography level="body-md" sx={{
|
|
174
|
+
mb: 2
|
|
175
|
+
}}>
|
|
176
|
+
Size: sm (default)
|
|
177
|
+
</Typography>
|
|
178
|
+
<RadioTileGroup options={simpleOptions} size="sm" useIndicator={true} />
|
|
179
|
+
</Box>
|
|
180
|
+
<Box>
|
|
181
|
+
<Typography level="body-md" sx={{
|
|
182
|
+
mb: 2
|
|
183
|
+
}}>
|
|
184
|
+
Size: md
|
|
185
|
+
</Typography>
|
|
186
|
+
<RadioTileGroup options={simpleOptions} size="md" useIndicator={true} />
|
|
187
|
+
</Box>
|
|
188
|
+
<Box>
|
|
189
|
+
<Typography level="body-md" sx={{
|
|
190
|
+
mb: 2
|
|
191
|
+
}}>
|
|
192
|
+
Size: lg
|
|
193
|
+
</Typography>
|
|
194
|
+
<RadioTileGroup options={simpleOptions} size="lg" useIndicator={true} />
|
|
195
|
+
</Box>
|
|
196
|
+
</Box>
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## 아이콘 사용
|
|
200
|
+
|
|
201
|
+
각 옵션에 `startDecorator` 속성을 사용하여 아이콘을 추가할 수 있습니다.
|
|
202
|
+
|
|
203
|
+
```tsx
|
|
204
|
+
<RadioTileGroup
|
|
205
|
+
options={[{
|
|
206
|
+
value: 'home',
|
|
207
|
+
label: 'Home',
|
|
208
|
+
startDecorator: <HomeIcon fontSize="large" />
|
|
209
|
+
}, {
|
|
210
|
+
value: 'office',
|
|
211
|
+
label: 'Office',
|
|
212
|
+
startDecorator: <BusinessIcon fontSize="large" />
|
|
213
|
+
}, {
|
|
214
|
+
value: 'shipping',
|
|
215
|
+
label: 'Shipping',
|
|
216
|
+
startDecorator: <LocalShippingIcon fontSize="large" />
|
|
217
|
+
}]}
|
|
218
|
+
useIndicator
|
|
219
|
+
/>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## 상태 관리
|
|
223
|
+
|
|
224
|
+
### Controlled Component
|
|
225
|
+
|
|
226
|
+
RadioTileGroup은 상태 관리를 위한 제어 컴포넌트(Controlled Component)로 사용할 수 있습니다.
|
|
227
|
+
|
|
228
|
+
```tsx
|
|
229
|
+
<Box sx={{
|
|
230
|
+
width: '100%',
|
|
231
|
+
maxWidth: 500
|
|
232
|
+
}}>
|
|
233
|
+
<Typography level="body-md" sx={{
|
|
234
|
+
mb: 1
|
|
235
|
+
}}>
|
|
236
|
+
Selected value: {selectedValue}
|
|
237
|
+
</Typography>
|
|
238
|
+
<RadioTileGroup options={simpleOptions} value={selectedValue} onChange={handleChange} />
|
|
239
|
+
</Box>
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Uncontrolled Component
|
|
243
|
+
|
|
244
|
+
또한 비제어 컴포넌트(Uncontrolled Component)로도 사용 가능합니다.
|
|
245
|
+
|
|
246
|
+
```tsx
|
|
247
|
+
<Box sx={{
|
|
248
|
+
display: 'flex',
|
|
249
|
+
flexDirection: 'column',
|
|
250
|
+
gap: 4
|
|
251
|
+
}}>
|
|
252
|
+
<Box sx={{
|
|
253
|
+
width: '100%',
|
|
254
|
+
maxWidth: 500
|
|
255
|
+
}}>
|
|
256
|
+
<Typography level="body-md" sx={{
|
|
257
|
+
mb: 2
|
|
258
|
+
}}>
|
|
259
|
+
Uncontrolled Example (with Indicator)
|
|
260
|
+
</Typography>
|
|
261
|
+
<RadioTileGroup options={simpleOptions} defaultValue="option2" useIndicator={true} onChange={event => console.log(`Selected value: ${event.target.value}`)} />
|
|
262
|
+
</Box>
|
|
263
|
+
<Box sx={{
|
|
264
|
+
width: '100%',
|
|
265
|
+
maxWidth: 500
|
|
266
|
+
}}>
|
|
267
|
+
<Typography level="body-md" sx={{
|
|
268
|
+
mb: 2
|
|
269
|
+
}}>
|
|
270
|
+
Uncontrolled Example (without Indicator)
|
|
271
|
+
</Typography>
|
|
272
|
+
<RadioTileGroup options={simpleOptions} defaultValue="option3" useIndicator={false} onChange={event => console.log(`Selected value: ${event.target.value}`)} />
|
|
273
|
+
</Box>
|
|
274
|
+
</Box>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## 비활성화 상태
|
|
278
|
+
|
|
279
|
+
### 전체 비활성화
|
|
280
|
+
|
|
281
|
+
`disabled` 속성을 사용하여 모든 옵션을 비활성화할 수 있습니다.
|
|
282
|
+
|
|
283
|
+
```tsx
|
|
284
|
+
<RadioTileGroup
|
|
285
|
+
options={simpleOptions}
|
|
286
|
+
disabled
|
|
287
|
+
/>
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### 개별 옵션 비활성화
|
|
291
|
+
|
|
292
|
+
각 옵션별로 `disabled` 속성을 설정하여 특정 옵션만 비활성화할 수 있습니다.
|
|
293
|
+
|
|
294
|
+
```tsx
|
|
295
|
+
<RadioTileGroup
|
|
296
|
+
options={[{
|
|
297
|
+
value: 'option1',
|
|
298
|
+
label: 'Option 1'
|
|
299
|
+
}, {
|
|
300
|
+
value: 'option2',
|
|
301
|
+
label: 'Option 2',
|
|
302
|
+
disabled: true
|
|
303
|
+
}, {
|
|
304
|
+
value: 'option3',
|
|
305
|
+
label: 'Option 3'
|
|
306
|
+
}]}
|
|
307
|
+
/>
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## 상태 표시
|
|
311
|
+
|
|
312
|
+
### 오류 상태
|
|
313
|
+
|
|
314
|
+
`error` 속성을 사용하여 오류 상태를 표시할 수 있습니다.
|
|
315
|
+
|
|
316
|
+
```tsx
|
|
317
|
+
<RadioTileGroup
|
|
318
|
+
options={simpleOptions}
|
|
319
|
+
useIndicator
|
|
320
|
+
label="Select an option"
|
|
321
|
+
helperText="Please select a valid option"
|
|
322
|
+
error
|
|
323
|
+
/>
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### 필수 값 검증 예제
|
|
327
|
+
|
|
328
|
+
`required` 속성과 함께 오류 상태를 활용하여 필수 값 검증을 할 수 있습니다. 아래는 폼 제출 시 유효성 검사를 포함한 예제입니다.
|
|
329
|
+
|
|
330
|
+
```tsx
|
|
331
|
+
<Stack spacing={2} sx={{
|
|
332
|
+
width: '100%',
|
|
333
|
+
maxWidth: 500
|
|
334
|
+
}}>
|
|
335
|
+
<RadioTileGroup options={simpleOptions} value={selectedValue} onChange={handleChange} label="Choose your preferred option" helperText={error ? 'Please select an option' : 'This selection is required'} error={error} useIndicator={true} required={true} />
|
|
336
|
+
<Box sx={{
|
|
337
|
+
display: 'flex',
|
|
338
|
+
justifyContent: 'flex-end'
|
|
339
|
+
}}>
|
|
340
|
+
<Button onClick={handleSubmit}>Submit</Button>
|
|
341
|
+
</Box>
|
|
342
|
+
</Stack>
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## 활용 사례
|
|
346
|
+
|
|
347
|
+
### 배송 방법 선택
|
|
348
|
+
|
|
349
|
+
RadioTileGroup은 배송 방법을 시각적으로 선택할 수 있는 인터페이스로 활용할 수 있습니다. 각 타일에 아이콘과 함께 배송 방법 정보를 표시하여 사용자가 직관적으로 선택할 수 있도록 합니다.
|
|
350
|
+
|
|
351
|
+
```tsx
|
|
352
|
+
<Box sx={{
|
|
353
|
+
width: '100%',
|
|
354
|
+
maxWidth: 700
|
|
355
|
+
}}>
|
|
356
|
+
<RadioTileGroup label="배송 방법 선택" helperText="배송 방법에 따라 배송비가 달라질 수 있습니다." options={[{
|
|
357
|
+
value: 'standard',
|
|
358
|
+
label: '일반 배송',
|
|
359
|
+
startDecorator: <HomeIcon />
|
|
360
|
+
}, {
|
|
361
|
+
value: 'express',
|
|
362
|
+
label: '빠른 배송',
|
|
363
|
+
startDecorator: <LocalShippingIcon />
|
|
364
|
+
}, {
|
|
365
|
+
value: 'business',
|
|
366
|
+
label: '기업 배송',
|
|
367
|
+
startDecorator: <BusinessIcon />
|
|
368
|
+
}]} onChange={handleChange} value={selectedValue} size="md" useIndicator={true} />
|
|
369
|
+
</Box>
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### 설문조사
|
|
373
|
+
|
|
374
|
+
설문조사나 선호도 조사에서 다양한 선택지를 제공하는 데 활용할 수 있습니다. 각 타일에 선택지를 시각적으로 표현하여 사용자가 직관적으로 응답할 수 있도록 합니다.
|
|
375
|
+
|
|
376
|
+
```tsx
|
|
377
|
+
<Box sx={{
|
|
378
|
+
width: '100%',
|
|
379
|
+
maxWidth: 700
|
|
380
|
+
}}>
|
|
381
|
+
<RadioTileGroup label="선호하는 운동 유형을 선택해주세요" options={[{
|
|
382
|
+
value: 'cardio',
|
|
383
|
+
label: '유산소 운동',
|
|
384
|
+
startDecorator: <DirectionsRunIcon />
|
|
385
|
+
}, {
|
|
386
|
+
value: 'strength',
|
|
387
|
+
label: '근력 운동',
|
|
388
|
+
startDecorator: <FitnessCenterIcon />
|
|
389
|
+
}, {
|
|
390
|
+
value: 'flexibility',
|
|
391
|
+
label: '유연성 운동',
|
|
392
|
+
startDecorator: <SelfImprovementIcon />
|
|
393
|
+
}, {
|
|
394
|
+
value: 'balance',
|
|
395
|
+
label: '균형 운동',
|
|
396
|
+
startDecorator: <BalanceIcon />
|
|
397
|
+
}]} onChange={handleChange} value={selectedValue} columns={2} size="md" />
|
|
398
|
+
</Box>
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### 폼 검증과 함께 사용
|
|
402
|
+
|
|
403
|
+
폼 검증 기능과 함께 사용하여 사용자가 필수 항목을 선택했는지 확인할 수 있습니다.
|
|
404
|
+
|
|
405
|
+
```tsx
|
|
406
|
+
<Stack spacing={2} sx={{
|
|
407
|
+
width: '100%',
|
|
408
|
+
maxWidth: 500
|
|
409
|
+
}}>
|
|
410
|
+
<RadioTileGroup options={simpleOptions} value={selectedValue} onChange={handleChange} label="Choose your preferred option" helperText={error ? 'Please select an option' : 'This selection is required'} error={error} useIndicator={true} required={true} />
|
|
411
|
+
<Box sx={{
|
|
412
|
+
display: 'flex',
|
|
413
|
+
justifyContent: 'flex-end'
|
|
414
|
+
}}>
|
|
415
|
+
<Button onClick={handleSubmit}>Submit</Button>
|
|
416
|
+
</Box>
|
|
417
|
+
</Stack>
|
|
418
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Select
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
<Select options={options} />
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
| Field | Description | Default |
|
|
10
|
+
| -------------- | ----------- | ------- |
|
|
11
|
+
| variant | — | — |
|
|
12
|
+
| color | — | — |
|
|
13
|
+
| size | — | — |
|
|
14
|
+
| autoFocus | — | — |
|
|
15
|
+
| placeholder | — | — |
|
|
16
|
+
| startDecorator | — | — |
|
|
17
|
+
| endDecorator | — | — |
|
|
18
|
+
| error | — | — |
|
|
19
|
+
| helperText | — | — |
|
|
20
|
+
| value | — | — |
|
|
21
|
+
| defaultValue | — | — |
|
|
22
|
+
| onChange | — | — |
|
|
23
|
+
| options | — | options |
|
|
24
|
+
|
|
25
|
+
### Variants
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
<Stack spacing={4}>
|
|
29
|
+
<Select defaultValue="dog" options={options} />
|
|
30
|
+
<Select defaultValue="dog" variant="plain" options={options} />
|
|
31
|
+
<Select defaultValue="dog" variant="soft" options={options} />
|
|
32
|
+
<Select defaultValue="dog" variant="solid" options={options} />
|
|
33
|
+
</Stack>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Sizes
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
<Stack spacing={4}>
|
|
40
|
+
<Select defaultValue="dog" size="sm" options={options} />
|
|
41
|
+
<Select defaultValue="dog" size="md" options={options} />
|
|
42
|
+
<Select defaultValue="dog" size="lg" options={options} />
|
|
43
|
+
</Stack>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Colors
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<Stack spacing={4}>
|
|
50
|
+
<Select defaultValue="dog" color="primary" options={options} />
|
|
51
|
+
<Select defaultValue="dog" color="neutral" options={options} />
|
|
52
|
+
<Select defaultValue="dog" color="success" options={options} />
|
|
53
|
+
<Select defaultValue="dog" color="danger" options={options} />
|
|
54
|
+
<Select defaultValue="dog" color="warning" options={options} />
|
|
55
|
+
</Stack>
|
|
56
|
+
```
|