@ceed/ads 1.29.1 → 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/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 +289 -288
- package/dist/index.d.ts +1 -1
- package/dist/index.js +426 -369
- 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,10 +1,6 @@
|
|
|
1
1
|
# Stepper
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
The Stepper component visually represents a multi-step process, guiding users through sequential tasks such as forms, onboarding flows, or checkout procedures. It clearly indicates the current step, completed steps, and remaining steps, giving users a sense of progress and orientation within a workflow.
|
|
6
|
-
|
|
7
|
-
Stepper supports both horizontal and vertical layouts, customizable colors, and flexible step content including labels, extra descriptions, and indicator numbers or icons. It is well suited for wizards, registration flows, order tracking, and any process that benefits from a clear step-by-step breakdown.
|
|
3
|
+
Stepper 컴포넌트는 여러 단계로 구성된 프로세스를 시각적으로 보여주는 컴포넌트입니다. 사용자가 현재 어느 단계에 있는지 표시하고, 완료된 단계와 남은 단계를 쉽게 확인할 수 있습니다.
|
|
8
4
|
|
|
9
5
|
```text
|
|
10
6
|
// Unable to derive source for Default
|
|
@@ -14,227 +10,99 @@ Stepper supports both horizontal and vertical layouts, customizable colors, and
|
|
|
14
10
|
| ---------------------------- | ----------- | ------- |
|
|
15
11
|
| Controls resolved at runtime | — | — |
|
|
16
12
|
|
|
17
|
-
##
|
|
13
|
+
## 사용법
|
|
18
14
|
|
|
19
15
|
```tsx
|
|
20
16
|
import { Stepper } from '@ceed/ads';
|
|
21
|
-
|
|
22
|
-
function OnboardingFlow() {
|
|
23
|
-
const [activeStep, setActiveStep] = useState(1);
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<Stepper
|
|
27
|
-
steps={[
|
|
28
|
-
{ indicatorContent: 1, label: 'Account', extraContent: 'Create your account' },
|
|
29
|
-
{ indicatorContent: 2, label: 'Profile', extraContent: 'Set up your profile' },
|
|
30
|
-
{ indicatorContent: 3, label: 'Complete', extraContent: 'Review and finish' },
|
|
31
|
-
]}
|
|
32
|
-
activeStep={activeStep}
|
|
33
|
-
/>
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
17
|
```
|
|
37
18
|
|
|
38
|
-
##
|
|
19
|
+
## 기본형
|
|
39
20
|
|
|
40
|
-
|
|
21
|
+
Stepper의 기본 형태입니다. 필수 속성 값으로 `steps`와 `activeStep`을 받으며, 각 단계는 `indicatorContent`, `label`, `extraContent`를 포함할 수 있습니다.
|
|
41
22
|
|
|
42
23
|
```text
|
|
43
24
|
// Unable to derive source for Default
|
|
44
25
|
```
|
|
45
26
|
|
|
46
|
-
##
|
|
27
|
+
## 인디케이터만 사용
|
|
47
28
|
|
|
48
|
-
|
|
29
|
+
`label`과 `extraContent` 없이 인디케이터만 표시할 수도 있습니다.
|
|
49
30
|
|
|
50
31
|
```text
|
|
51
32
|
// Unable to derive source for OnlyIndicator
|
|
52
33
|
```
|
|
53
34
|
|
|
54
|
-
##
|
|
35
|
+
## 방향 설정
|
|
55
36
|
|
|
56
|
-
### Horizontal
|
|
37
|
+
### 수평 방향 (Horizontal)
|
|
57
38
|
|
|
58
|
-
|
|
39
|
+
`orientation` 속성을 'horizontal'로 설정하면 Stepper가 수평 방향으로 표시됩니다.
|
|
59
40
|
|
|
60
41
|
```text
|
|
61
42
|
// Unable to derive source for HorizontalOrientation
|
|
62
43
|
```
|
|
63
44
|
|
|
64
|
-
### Vertical
|
|
45
|
+
### 수직 방향 (Vertical)
|
|
65
46
|
|
|
66
|
-
|
|
47
|
+
`orientation` 속성을 'vertical'로 설정하면 Stepper가 수직 방향으로 표시됩니다. 이것이 기본 설정입니다.
|
|
67
48
|
|
|
68
49
|
```text
|
|
69
50
|
// Unable to derive source for VerticalOrientation
|
|
70
51
|
```
|
|
71
52
|
|
|
72
|
-
##
|
|
53
|
+
## 단계 방향 설정
|
|
73
54
|
|
|
74
|
-
### Horizontal Step Orientation
|
|
55
|
+
### 수평 단계 방향 (Horizontal Step Orientation)
|
|
75
56
|
|
|
76
|
-
|
|
57
|
+
`stepOrientation` 속성을 'horizontal'로 설정하면 각 단계의 내용이 인디케이터 옆에 수평으로 배치됩니다. 이것이 기본 설정입니다.
|
|
77
58
|
|
|
78
59
|
```text
|
|
79
60
|
// Unable to derive source for HorizontalStepOrientation
|
|
80
61
|
```
|
|
81
62
|
|
|
82
|
-
### Vertical Step Orientation
|
|
63
|
+
### 수직 단계 방향 (Vertical Step Orientation)
|
|
83
64
|
|
|
84
|
-
|
|
65
|
+
`stepOrientation` 속성을 'vertical'로 설정하면 각 단계의 내용이 인디케이터 아래에 수직으로 배치됩니다.
|
|
66
|
+
**주의**: `orientation`이 'vertical'로 설정된 경우, `stepOrientation`은 항상 'horizontal'로 강제 설정됩니다.
|
|
85
67
|
|
|
86
|
-
|
|
68
|
+
`orientation`이 'horizontal'이고 `stepOrientation`이 'vertical'인 경우, 단계 내용이 자동으로 중앙 정렬됩니다.
|
|
87
69
|
|
|
88
70
|
```text
|
|
89
71
|
// Unable to derive source for VerticalStepOrientation
|
|
90
72
|
```
|
|
91
73
|
|
|
92
|
-
##
|
|
74
|
+
## 색상 커스터마이징
|
|
93
75
|
|
|
94
|
-
###
|
|
76
|
+
### 활성 색상 설정
|
|
95
77
|
|
|
96
|
-
|
|
78
|
+
`activeColor`와 `activeLineColor` 속성을 사용하여 활성 상태와 완료된 상태의 색상을 변경할 수 있습니다.
|
|
97
79
|
|
|
98
80
|
```text
|
|
99
81
|
// Unable to derive source for WithActiveColor
|
|
100
82
|
```
|
|
101
83
|
|
|
102
|
-
###
|
|
84
|
+
### 비활성 색상 설정
|
|
103
85
|
|
|
104
|
-
|
|
86
|
+
`inactiveColor`와 `inactiveLineColor` 속성을 사용하여 비활성 상태의 색상을 변경할 수 있습니다.
|
|
105
87
|
|
|
106
88
|
```text
|
|
107
89
|
// Unable to derive source for WithInactiveColor
|
|
108
90
|
```
|
|
109
91
|
|
|
110
|
-
##
|
|
92
|
+
## 단계 상태
|
|
111
93
|
|
|
112
|
-
###
|
|
94
|
+
### 모든 단계 완료
|
|
113
95
|
|
|
114
|
-
|
|
96
|
+
`activeStep` 값이 단계 수보다 크면 모든 단계가 완료된 것으로 표시됩니다.
|
|
115
97
|
|
|
116
98
|
```text
|
|
117
99
|
// Unable to derive source for WithAllComplete
|
|
118
100
|
```
|
|
119
101
|
|
|
120
|
-
###
|
|
102
|
+
### 모든 단계 비활성
|
|
121
103
|
|
|
122
|
-
|
|
104
|
+
`activeStep` 값이 0이면 모든 단계가 비활성 상태로 표시됩니다.
|
|
123
105
|
|
|
124
106
|
```text
|
|
125
107
|
// Unable to derive source for WithAllInactive
|
|
126
108
|
```
|
|
127
|
-
|
|
128
|
-
## Common Use Cases
|
|
129
|
-
|
|
130
|
-
### Form Wizard
|
|
131
|
-
|
|
132
|
-
```tsx
|
|
133
|
-
function FormWizard() {
|
|
134
|
-
const [activeStep, setActiveStep] = useState(1);
|
|
135
|
-
|
|
136
|
-
const steps = [
|
|
137
|
-
{ indicatorContent: 1, label: 'Personal Info', extraContent: 'Name and contact' },
|
|
138
|
-
{ indicatorContent: 2, label: 'Address', extraContent: 'Shipping details' },
|
|
139
|
-
{ indicatorContent: 3, label: 'Payment', extraContent: 'Billing information' },
|
|
140
|
-
{ indicatorContent: 4, label: 'Confirm', extraContent: 'Review your order' },
|
|
141
|
-
];
|
|
142
|
-
|
|
143
|
-
return (
|
|
144
|
-
<Box>
|
|
145
|
-
<Stepper steps={steps} activeStep={activeStep} orientation="horizontal" />
|
|
146
|
-
<Box sx={{ mt: 3 }}>
|
|
147
|
-
{/* Step content rendered here based on activeStep */}
|
|
148
|
-
<Stack direction="row" gap={1} sx={{ mt: 2 }}>
|
|
149
|
-
<Button
|
|
150
|
-
disabled={activeStep <= 1}
|
|
151
|
-
onClick={() => setActiveStep((prev) => prev - 1)}
|
|
152
|
-
>
|
|
153
|
-
Back
|
|
154
|
-
</Button>
|
|
155
|
-
<Button onClick={() => setActiveStep((prev) => prev + 1)}>
|
|
156
|
-
{activeStep >= steps.length ? 'Finish' : 'Next'}
|
|
157
|
-
</Button>
|
|
158
|
-
</Stack>
|
|
159
|
-
</Box>
|
|
160
|
-
</Box>
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Order Tracking
|
|
166
|
-
|
|
167
|
-
```tsx
|
|
168
|
-
function OrderTracking({ currentStatus }) {
|
|
169
|
-
const statusToStep = { placed: 1, processing: 2, shipped: 3, delivered: 4 };
|
|
170
|
-
|
|
171
|
-
return (
|
|
172
|
-
<Stepper
|
|
173
|
-
orientation="vertical"
|
|
174
|
-
activeStep={statusToStep[currentStatus]}
|
|
175
|
-
activeColor="success.500"
|
|
176
|
-
activeLineColor="success.500"
|
|
177
|
-
steps={[
|
|
178
|
-
{ indicatorContent: 1, label: 'Order Placed', extraContent: 'Jan 15, 2025' },
|
|
179
|
-
{ indicatorContent: 2, label: 'Processing', extraContent: 'Jan 16, 2025' },
|
|
180
|
-
{ indicatorContent: 3, label: 'Shipped', extraContent: 'In transit' },
|
|
181
|
-
{ indicatorContent: 4, label: 'Delivered', extraContent: 'Estimated Jan 20' },
|
|
182
|
-
]}
|
|
183
|
-
/>
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
### Compact Progress Indicator
|
|
189
|
-
|
|
190
|
-
```tsx
|
|
191
|
-
function CompactProgress({ currentStep, totalSteps }) {
|
|
192
|
-
const steps = Array.from({ length: totalSteps }, (_, i) => ({
|
|
193
|
-
indicatorContent: i + 1,
|
|
194
|
-
}));
|
|
195
|
-
|
|
196
|
-
return (
|
|
197
|
-
<Stepper
|
|
198
|
-
steps={steps}
|
|
199
|
-
activeStep={currentStep}
|
|
200
|
-
orientation="horizontal"
|
|
201
|
-
stepOrientation="vertical"
|
|
202
|
-
/>
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
## Best Practices
|
|
208
|
-
|
|
209
|
-
1. **Keep step count manageable**: Limit the number of steps to 3-7 for optimal user comprehension. If more steps are needed, consider grouping them.
|
|
210
|
-
|
|
211
|
-
```tsx
|
|
212
|
-
// ✅ Good: Concise steps
|
|
213
|
-
<Stepper steps={[step1, step2, step3, step4]} activeStep={2} />
|
|
214
|
-
|
|
215
|
-
// ❌ Bad: Too many steps overwhelm users
|
|
216
|
-
<Stepper steps={[s1, s2, s3, s4, s5, s6, s7, s8, s9, s10]} activeStep={3} />
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
2. **Use descriptive labels**: Provide clear, concise labels that tell users what each step involves.
|
|
220
|
-
|
|
221
|
-
```tsx
|
|
222
|
-
// ✅ Good: Descriptive labels
|
|
223
|
-
{ label: 'Shipping Address', extraContent: 'Where should we deliver?' }
|
|
224
|
-
|
|
225
|
-
// ❌ Bad: Vague labels
|
|
226
|
-
{ label: 'Step 2', extraContent: 'Continue' }
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
3. **Choose the right orientation**: Use horizontal for wide layouts with few steps, and vertical for narrow layouts or many steps.
|
|
230
|
-
|
|
231
|
-
4. **Indicate completion clearly**: Use `activeStep` values accurately. Setting `activeStep` higher than the step count signals completion of the entire flow.
|
|
232
|
-
|
|
233
|
-
5. **Use color meaningfully**: Apply `activeColor` to match your application's semantic palette (e.g., success green for completed tasks, primary blue for in-progress).
|
|
234
|
-
|
|
235
|
-
## Accessibility
|
|
236
|
-
|
|
237
|
-
- The Stepper uses semantic list markup, making the step sequence understandable by screen readers.
|
|
238
|
-
- Each step indicator and label is accessible to assistive technology, conveying both position and state.
|
|
239
|
-
- Use descriptive `label` and `extraContent` values so that users relying on screen readers can understand what each step represents.
|
|
240
|
-
- Avoid relying solely on color to communicate step status. The structural difference between active, completed, and inactive steps is also conveyed through visual indicators.
|