@ceed/ads 1.29.0 → 1.30.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/components/CurrencyInput/CurrencyInput.d.ts +1 -1
- package/dist/components/CurrencyInput/hooks/use-currency-setting.d.ts +2 -2
- package/dist/components/DataTable/hooks.d.ts +2 -1
- package/dist/components/DataTable/utils.d.ts +1 -0
- package/dist/components/ProfileMenu/ProfileMenu.d.ts +1 -1
- package/dist/components/SearchBar/SearchBar.d.ts +21 -0
- package/dist/components/SearchBar/index.d.ts +3 -0
- package/dist/components/data-display/Badge.md +39 -71
- package/dist/components/data-display/DataTable.md +1 -1
- package/dist/components/data-display/InfoSign.md +98 -74
- package/dist/components/data-display/Typography.md +97 -363
- package/dist/components/feedback/Dialog.md +62 -76
- package/dist/components/feedback/Modal.md +44 -259
- package/dist/components/feedback/llms.txt +0 -2
- package/dist/components/index.d.ts +2 -0
- package/dist/components/inputs/Autocomplete.md +107 -356
- package/dist/components/inputs/ButtonGroup.md +106 -115
- package/dist/components/inputs/Calendar.md +459 -98
- package/dist/components/inputs/CurrencyInput.md +5 -183
- package/dist/components/inputs/DatePicker.md +431 -108
- package/dist/components/inputs/DateRangePicker.md +492 -131
- package/dist/components/inputs/FilterMenu.md +19 -169
- package/dist/components/inputs/FilterableCheckboxGroup.md +23 -123
- package/dist/components/inputs/IconButton.md +88 -137
- package/dist/components/inputs/Input.md +0 -5
- package/dist/components/inputs/MonthPicker.md +422 -95
- package/dist/components/inputs/MonthRangePicker.md +466 -89
- package/dist/components/inputs/PercentageInput.md +16 -185
- package/dist/components/inputs/RadioButton.md +35 -163
- package/dist/components/inputs/RadioTileGroup.md +61 -150
- package/dist/components/inputs/SearchBar.md +44 -0
- package/dist/components/inputs/Select.md +326 -222
- package/dist/components/inputs/Switch.md +376 -136
- package/dist/components/inputs/Textarea.md +10 -213
- package/dist/components/inputs/Uploader/Uploader.md +66 -145
- package/dist/components/inputs/llms.txt +1 -3
- package/dist/components/navigation/Breadcrumbs.md +322 -80
- package/dist/components/navigation/Dropdown.md +221 -92
- package/dist/components/navigation/IconMenuButton.md +502 -40
- package/dist/components/navigation/InsetDrawer.md +738 -68
- package/dist/components/navigation/Link.md +298 -39
- package/dist/components/navigation/Menu.md +285 -92
- package/dist/components/navigation/MenuButton.md +448 -55
- package/dist/components/navigation/Pagination.md +338 -47
- package/dist/components/navigation/ProfileMenu.md +268 -45
- package/dist/components/navigation/Stepper.md +28 -160
- package/dist/components/navigation/Tabs.md +316 -57
- package/dist/components/surfaces/Sheet.md +334 -151
- package/dist/index.browser.js +15 -13
- package/dist/index.browser.js.map +4 -4
- package/dist/index.cjs +313 -291
- package/dist/index.d.ts +1 -1
- package/dist/index.js +450 -372
- package/dist/llms.txt +1 -8
- package/framer/index.js +1 -1
- package/package.json +16 -15
- package/dist/chunks/rehype-accent-FZRUD7VI.js +0 -39
- package/dist/components/feedback/CircularProgress.md +0 -257
- package/dist/components/feedback/Skeleton.md +0 -280
- package/dist/components/inputs/FormControl.md +0 -361
- package/dist/components/inputs/RadioList.md +0 -241
- package/dist/components/inputs/Slider.md +0 -334
- package/dist/guides/ThemeProvider.md +0 -116
- package/dist/guides/llms.txt +0 -9
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
# RadioTileGroup
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
RadioTileGroup is a selection component that displays radio options as visually distinct tiles. Unlike a standard radio button list, each option occupies a tile card, making selections more prominent and scannable. This is especially useful for choices that benefit from visual emphasis, such as plan selection, category picking, or preference surveys.
|
|
6
|
-
|
|
7
|
-
The component supports flexible layouts (horizontal, grid, vertical), icons via `startDecorator`, three sizes, and built-in form integration with `label`, `helperText`, `error`, and `required` props. It works in both controlled and uncontrolled modes.
|
|
8
|
-
|
|
9
|
-
> **Form 구성 시 내장 prop 사용을 권장합니다**
|
|
10
|
-
>
|
|
11
|
-
> 이 컴포넌트는 `label`, `helperText` 등의 Form 요소를 자체적으로 지원합니다.
|
|
12
|
-
> Form을 구성할 때 Typography로 별도의 label이나 helperText를 만드는 대신, 컴포넌트의 내장 prop을 사용하세요.
|
|
3
|
+
RadioTileGroup 컴포넌트는 타일 형태의 라디오 옵션을 표시하는 컴포넌트입니다. 각 옵션이 타일 형태로 나타나며, 사용자가 선택할 수 있습니다.
|
|
13
4
|
|
|
14
5
|
```tsx
|
|
15
6
|
<RadioTileGroup
|
|
@@ -37,36 +28,18 @@ The component supports flexible layouts (horizontal, grid, vertical), icons via
|
|
|
37
28
|
| error | — | — |
|
|
38
29
|
| required | — | — |
|
|
39
30
|
|
|
40
|
-
##
|
|
31
|
+
## 기본형
|
|
32
|
+
|
|
33
|
+
RadioTileGroup의 기본 형태입니다. 필수 속성 값으로 `options`를 받으며, 각 옵션은 `value`와 `label`을 포함해야 합니다.
|
|
41
34
|
|
|
42
35
|
```tsx
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const options = [
|
|
49
|
-
{ value: 'option1', label: 'Option 1' },
|
|
50
|
-
{ value: 'option2', label: 'Option 2' },
|
|
51
|
-
{ value: 'option3', label: 'Option 3' },
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
return (
|
|
55
|
-
<RadioTileGroup
|
|
56
|
-
label="Choose an option"
|
|
57
|
-
helperText="Select one of the options below"
|
|
58
|
-
options={options}
|
|
59
|
-
value={value}
|
|
60
|
-
onChange={(e) => setValue(e.target.value)}
|
|
61
|
-
useIndicator
|
|
62
|
-
/>
|
|
63
|
-
);
|
|
64
|
-
}
|
|
36
|
+
<RadioTileGroup
|
|
37
|
+
options={simpleOptions}
|
|
38
|
+
useIndicator
|
|
39
|
+
/>
|
|
65
40
|
```
|
|
66
41
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
Use the `label` and `helperText` props to add descriptive text above and below the tile group. The `required` prop appends a required indicator to the label.
|
|
42
|
+
`label`과 `helperText`를 함께 사용하면 아래와 같은 모습입니다.
|
|
70
43
|
|
|
71
44
|
```tsx
|
|
72
45
|
<RadioTileGroup
|
|
@@ -77,6 +50,10 @@ Use the `label` and `helperText` props to add descriptive text above and below t
|
|
|
77
50
|
/>
|
|
78
51
|
```
|
|
79
52
|
|
|
53
|
+
## 필수 값 표시
|
|
54
|
+
|
|
55
|
+
`required` 속성을 사용하여 필수 입력 필드임을 표시할 수 있습니다.
|
|
56
|
+
|
|
80
57
|
```tsx
|
|
81
58
|
<RadioTileGroup
|
|
82
59
|
options={simpleOptions}
|
|
@@ -87,11 +64,11 @@ Use the `label` and `helperText` props to add descriptive text above and below t
|
|
|
87
64
|
/>
|
|
88
65
|
```
|
|
89
66
|
|
|
90
|
-
##
|
|
67
|
+
## 레이아웃 옵션
|
|
91
68
|
|
|
92
69
|
### Flex
|
|
93
70
|
|
|
94
|
-
|
|
71
|
+
`flex` 속성을 활성화하면 RadioTileGroup이 사용 가능한 공간을 균등하게 채웁니다.
|
|
95
72
|
|
|
96
73
|
```tsx
|
|
97
74
|
<RadioTileGroup
|
|
@@ -103,7 +80,7 @@ Enable the `flex` prop to make tiles stretch and fill all available horizontal s
|
|
|
103
80
|
|
|
104
81
|
### Columns
|
|
105
82
|
|
|
106
|
-
|
|
83
|
+
`columns` 속성을 사용하여 타일을 특정 열 수로 배치할 수 있습니다.
|
|
107
84
|
|
|
108
85
|
```tsx
|
|
109
86
|
<RadioTileGroup
|
|
@@ -113,9 +90,9 @@ Use the `columns` prop to arrange tiles in a specific number of columns using a
|
|
|
113
90
|
/>
|
|
114
91
|
```
|
|
115
92
|
|
|
116
|
-
### Flex
|
|
93
|
+
### Flex와 Columns 함께 사용
|
|
117
94
|
|
|
118
|
-
|
|
95
|
+
`flex`와 `columns` 속성을 함께 사용하여 타일이 균등하게 공간을 채우면서 특정 열 수로 배치할 수 있습니다.
|
|
119
96
|
|
|
120
97
|
```tsx
|
|
121
98
|
<Box sx={{
|
|
@@ -131,9 +108,9 @@ Flex with Columns
|
|
|
131
108
|
</Box>
|
|
132
109
|
```
|
|
133
110
|
|
|
134
|
-
###
|
|
111
|
+
### 수직 레이아웃
|
|
135
112
|
|
|
136
|
-
|
|
113
|
+
`columns: 1`로 설정하면 타일이 수직으로 쌓이는 레이아웃을 만들 수 있습니다.
|
|
137
114
|
|
|
138
115
|
```tsx
|
|
139
116
|
<Box sx={{
|
|
@@ -149,9 +126,9 @@ Vertical Layout (columns: 1)
|
|
|
149
126
|
</Box>
|
|
150
127
|
```
|
|
151
128
|
|
|
152
|
-
##
|
|
129
|
+
## 정렬 옵션
|
|
153
130
|
|
|
154
|
-
|
|
131
|
+
`textAlign` 속성을 사용하여 타일 내부의 콘텐츠 정렬 방식을 설정할 수 있습니다. 기본값은 `center`이며, `start`로 설정하면 텍스트가 왼쪽으로 정렬됩니다.
|
|
155
132
|
|
|
156
133
|
```tsx
|
|
157
134
|
<Box sx={{
|
|
@@ -180,9 +157,9 @@ The `textAlign` prop controls the alignment of content inside each tile. The def
|
|
|
180
157
|
</Box>
|
|
181
158
|
```
|
|
182
159
|
|
|
183
|
-
##
|
|
160
|
+
## Size
|
|
184
161
|
|
|
185
|
-
RadioTileGroup
|
|
162
|
+
RadioTileGroup은 세 가지 크기를 지원합니다: `sm`, `md`, `lg`. 기본값은 `sm`입니다.
|
|
186
163
|
|
|
187
164
|
```tsx
|
|
188
165
|
<Box sx={{
|
|
@@ -219,9 +196,9 @@ RadioTileGroup supports three sizes: `sm` (default), `md`, and `lg`. Choose the
|
|
|
219
196
|
</Box>
|
|
220
197
|
```
|
|
221
198
|
|
|
222
|
-
##
|
|
199
|
+
## 아이콘 사용
|
|
223
200
|
|
|
224
|
-
|
|
201
|
+
각 옵션에 `startDecorator` 속성을 사용하여 아이콘을 추가할 수 있습니다.
|
|
225
202
|
|
|
226
203
|
```tsx
|
|
227
204
|
<RadioTileGroup
|
|
@@ -242,11 +219,11 @@ Add icons to tiles using the `startDecorator` property on each option. Icons hel
|
|
|
242
219
|
/>
|
|
243
220
|
```
|
|
244
221
|
|
|
245
|
-
##
|
|
222
|
+
## 상태 관리
|
|
246
223
|
|
|
247
|
-
### Controlled
|
|
224
|
+
### Controlled Component
|
|
248
225
|
|
|
249
|
-
|
|
226
|
+
RadioTileGroup은 상태 관리를 위한 제어 컴포넌트(Controlled Component)로 사용할 수 있습니다.
|
|
250
227
|
|
|
251
228
|
```tsx
|
|
252
229
|
<Box sx={{
|
|
@@ -262,9 +239,9 @@ Selected value: {selectedValue}
|
|
|
262
239
|
</Box>
|
|
263
240
|
```
|
|
264
241
|
|
|
265
|
-
### Uncontrolled
|
|
242
|
+
### Uncontrolled Component
|
|
266
243
|
|
|
267
|
-
|
|
244
|
+
또한 비제어 컴포넌트(Uncontrolled Component)로도 사용 가능합니다.
|
|
268
245
|
|
|
269
246
|
```tsx
|
|
270
247
|
<Box sx={{
|
|
@@ -297,11 +274,11 @@ Uncontrolled Example (without Indicator)
|
|
|
297
274
|
</Box>
|
|
298
275
|
```
|
|
299
276
|
|
|
300
|
-
##
|
|
277
|
+
## 비활성화 상태
|
|
301
278
|
|
|
302
|
-
###
|
|
279
|
+
### 전체 비활성화
|
|
303
280
|
|
|
304
|
-
|
|
281
|
+
`disabled` 속성을 사용하여 모든 옵션을 비활성화할 수 있습니다.
|
|
305
282
|
|
|
306
283
|
```tsx
|
|
307
284
|
<RadioTileGroup
|
|
@@ -310,9 +287,9 @@ Set the `disabled` prop on the group to disable all tiles.
|
|
|
310
287
|
/>
|
|
311
288
|
```
|
|
312
289
|
|
|
313
|
-
###
|
|
290
|
+
### 개별 옵션 비활성화
|
|
314
291
|
|
|
315
|
-
|
|
292
|
+
각 옵션별로 `disabled` 속성을 설정하여 특정 옵션만 비활성화할 수 있습니다.
|
|
316
293
|
|
|
317
294
|
```tsx
|
|
318
295
|
<RadioTileGroup
|
|
@@ -330,9 +307,11 @@ Set `disabled: true` on specific option objects to disable only those tiles whil
|
|
|
330
307
|
/>
|
|
331
308
|
```
|
|
332
309
|
|
|
333
|
-
##
|
|
310
|
+
## 상태 표시
|
|
311
|
+
|
|
312
|
+
### 오류 상태
|
|
334
313
|
|
|
335
|
-
|
|
314
|
+
`error` 속성을 사용하여 오류 상태를 표시할 수 있습니다.
|
|
336
315
|
|
|
337
316
|
```tsx
|
|
338
317
|
<RadioTileGroup
|
|
@@ -344,9 +323,9 @@ Use the `error` prop to indicate validation errors. Pair it with `helperText` to
|
|
|
344
323
|
/>
|
|
345
324
|
```
|
|
346
325
|
|
|
347
|
-
###
|
|
326
|
+
### 필수 값 검증 예제
|
|
348
327
|
|
|
349
|
-
|
|
328
|
+
`required` 속성과 함께 오류 상태를 활용하여 필수 값 검증을 할 수 있습니다. 아래는 폼 제출 시 유효성 검사를 포함한 예제입니다.
|
|
350
329
|
|
|
351
330
|
```tsx
|
|
352
331
|
<Stack spacing={2} sx={{
|
|
@@ -363,32 +342,11 @@ Combine `required`, `error`, and `helperText` to build a complete form validatio
|
|
|
363
342
|
</Stack>
|
|
364
343
|
```
|
|
365
344
|
|
|
366
|
-
##
|
|
367
|
-
|
|
368
|
-
### Shipping Method Selection
|
|
345
|
+
## 활용 사례
|
|
369
346
|
|
|
370
|
-
|
|
347
|
+
### 배송 방법 선택
|
|
371
348
|
|
|
372
|
-
|
|
373
|
-
import { RadioTileGroup } from '@ceed/ads';
|
|
374
|
-
import HomeIcon from '@mui/icons-material/Home';
|
|
375
|
-
import LocalShippingIcon from '@mui/icons-material/LocalShipping';
|
|
376
|
-
import BusinessIcon from '@mui/icons-material/Business';
|
|
377
|
-
|
|
378
|
-
<RadioTileGroup
|
|
379
|
-
label="Shipping Method"
|
|
380
|
-
helperText="Delivery fees may vary by method."
|
|
381
|
-
options={[
|
|
382
|
-
{ value: 'standard', label: 'Standard', startDecorator: <HomeIcon /> },
|
|
383
|
-
{ value: 'express', label: 'Express', startDecorator: <LocalShippingIcon /> },
|
|
384
|
-
{ value: 'business', label: 'Business', startDecorator: <BusinessIcon /> },
|
|
385
|
-
]}
|
|
386
|
-
value={selected}
|
|
387
|
-
onChange={(e) => setSelected(e.target.value)}
|
|
388
|
-
size="md"
|
|
389
|
-
useIndicator
|
|
390
|
-
/>
|
|
391
|
-
```
|
|
349
|
+
RadioTileGroup은 배송 방법을 시각적으로 선택할 수 있는 인터페이스로 활용할 수 있습니다. 각 타일에 아이콘과 함께 배송 방법 정보를 표시하여 사용자가 직관적으로 선택할 수 있도록 합니다.
|
|
392
350
|
|
|
393
351
|
```tsx
|
|
394
352
|
<Box sx={{
|
|
@@ -411,25 +369,9 @@ import BusinessIcon from '@mui/icons-material/Business';
|
|
|
411
369
|
</Box>
|
|
412
370
|
```
|
|
413
371
|
|
|
414
|
-
###
|
|
372
|
+
### 설문조사
|
|
415
373
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
```tsx
|
|
419
|
-
<RadioTileGroup
|
|
420
|
-
label="What type of exercise do you prefer?"
|
|
421
|
-
options={[
|
|
422
|
-
{ value: 'cardio', label: 'Cardio', startDecorator: <DirectionsRunIcon /> },
|
|
423
|
-
{ value: 'strength', label: 'Strength', startDecorator: <FitnessCenterIcon /> },
|
|
424
|
-
{ value: 'flexibility', label: 'Flexibility', startDecorator: <SelfImprovementIcon /> },
|
|
425
|
-
{ value: 'balance', label: 'Balance', startDecorator: <BalanceIcon /> },
|
|
426
|
-
]}
|
|
427
|
-
columns={2}
|
|
428
|
-
size="md"
|
|
429
|
-
value={selected}
|
|
430
|
-
onChange={(e) => setSelected(e.target.value)}
|
|
431
|
-
/>
|
|
432
|
-
```
|
|
374
|
+
설문조사나 선호도 조사에서 다양한 선택지를 제공하는 데 활용할 수 있습니다. 각 타일에 선택지를 시각적으로 표현하여 사용자가 직관적으로 응답할 수 있도록 합니다.
|
|
433
375
|
|
|
434
376
|
```tsx
|
|
435
377
|
<Box sx={{
|
|
@@ -456,52 +398,21 @@ Present survey options with icons in a multi-column grid for a clear, scannable
|
|
|
456
398
|
</Box>
|
|
457
399
|
```
|
|
458
400
|
|
|
459
|
-
###
|
|
460
|
-
|
|
461
|
-
Use a vertical layout with `columns={1}` for plan or tier selection.
|
|
462
|
-
|
|
463
|
-
```tsx
|
|
464
|
-
<RadioTileGroup
|
|
465
|
-
label="Subscription Plan"
|
|
466
|
-
helperText="Select your preferred plan"
|
|
467
|
-
options={[
|
|
468
|
-
{ value: 'basic', label: 'Basic Plan', startDecorator: <AttachMoneyIcon /> },
|
|
469
|
-
{ value: 'pro', label: 'Pro Plan', startDecorator: <AttachMoneyIcon /> },
|
|
470
|
-
{ value: 'premium', label: 'Premium Plan', startDecorator: <StarIcon /> },
|
|
471
|
-
]}
|
|
472
|
-
columns={1}
|
|
473
|
-
size="md"
|
|
474
|
-
useIndicator
|
|
475
|
-
value={selected}
|
|
476
|
-
onChange={(e) => setSelected(e.target.value)}
|
|
477
|
-
/>
|
|
478
|
-
```
|
|
479
|
-
|
|
480
|
-
## Best Practices
|
|
401
|
+
### 폼 검증과 함께 사용
|
|
481
402
|
|
|
482
|
-
|
|
403
|
+
폼 검증 기능과 함께 사용하여 사용자가 필수 항목을 선택했는지 확인할 수 있습니다.
|
|
483
404
|
|
|
484
405
|
```tsx
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
<
|
|
490
|
-
<
|
|
491
|
-
|
|
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>
|
|
492
418
|
```
|
|
493
|
-
|
|
494
|
-
2. **Choose the right layout for the number of options.** Use the default horizontal flow for 2-4 options. Use `columns` for 5+ options. Use `columns={1}` when each option has long labels or descriptions.
|
|
495
|
-
|
|
496
|
-
3. **Prefer controlled mode in forms.** When RadioTileGroup is part of a form with validation or submission logic, use `value` and `onChange` for predictable state management.
|
|
497
|
-
|
|
498
|
-
4. **Add icons only when they aid comprehension.** Icons via `startDecorator` are helpful for visually distinct categories (e.g., shipping methods). Avoid decorating every option if icons do not add meaning.
|
|
499
|
-
|
|
500
|
-
5. **Always provide an error message.** When `error` is true, update `helperText` to explain the validation issue so users know how to fix it.
|
|
501
|
-
|
|
502
|
-
## Accessibility
|
|
503
|
-
|
|
504
|
-
- RadioTileGroup renders a `<fieldset>` with a `<legend>` derived from the `label` prop, providing proper grouping for screen readers.
|
|
505
|
-
- Each tile is backed by a native `<input type="radio">`, ensuring full keyboard navigation (arrow keys to move between options, Space/Enter to select).
|
|
506
|
-
- The `disabled` prop correctly applies `aria-disabled` semantics to prevent interaction while keeping elements discoverable by assistive technologies.
|
|
507
|
-
- When `error` is set, pair it with descriptive `helperText` so that screen readers can announce the validation message via `aria-describedby`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# SearchBar
|
|
2
|
+
|
|
3
|
+
검색바에서 검색 키워드를 선택할 수 있는 Select를 가질 수 있는 검색 컴포넌트입니다.
|
|
4
|
+
|
|
5
|
+
> 💡 **Placeholder 표시 가이드**
|
|
6
|
+
>
|
|
7
|
+
> 검색 키워드가 있는 SearchBar는 `options`의 각 옵션에 `placeholder` 필드를 추가하여 사용자가 어떤 값을 입력해야 하는지 안내해 줄 수 있습니다. (사용자에게 더 유익한 정보를 표시해 주기 위함)
|
|
8
|
+
>
|
|
9
|
+
> - \[예시] Account #일 경우: `e.g. 1234567`
|
|
10
|
+
> - \[예시] Jira Issue #일 경우: `e.g. PROC-1234`
|
|
11
|
+
|
|
12
|
+
```tsx
|
|
13
|
+
<SearchBar options={SAMPLE_OPTIONS} value={value} onChange={setValue} />
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
| Field | Description | Default |
|
|
17
|
+
| ---------- | ----------- | ------- |
|
|
18
|
+
| hideSelect | — | — |
|
|
19
|
+
| options | — | — |
|
|
20
|
+
| value | — | — |
|
|
21
|
+
| onChange | — | — |
|
|
22
|
+
| onSearch | — | — |
|
|
23
|
+
|
|
24
|
+
## Select 없이 사용
|
|
25
|
+
|
|
26
|
+
`hideSelect` prop을 사용하여 Select를 숨길 수 있습니다.
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
<SearchBar hideSelect options={SAMPLE_OPTIONS} value={value} onChange={setValue} />
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## onSearch
|
|
33
|
+
|
|
34
|
+
검색 버튼 클릭 또는 Enter 입력 시 `onSearch`가 호출됩니다.
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
<Stack gap={2}>
|
|
38
|
+
<SearchBar options={SAMPLE_OPTIONS} value={value} onChange={setValue} onSearch={setLastSearch} />
|
|
39
|
+
<Typography level="body-sm">value: "{value}"</Typography>
|
|
40
|
+
{lastSearch && <Typography level="body-sm">
|
|
41
|
+
onSearch: [{lastSearch.selectValue}] "{lastSearch.inputValue}"
|
|
42
|
+
</Typography>}
|
|
43
|
+
</Stack>
|
|
44
|
+
```
|