@ceed/cds 1.34.1 → 1.36.0

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 (118) hide show
  1. package/dist/components/Accordions/Accordions.d.ts +1 -0
  2. package/dist/components/Alert/Alert.d.ts +5 -5
  3. package/dist/components/Autocomplete/Autocomplete.d.ts +2 -2
  4. package/dist/components/Avatar/Avatar.d.ts +7 -17
  5. package/dist/components/Box/Box.d.ts +1 -0
  6. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +6 -5
  7. package/dist/components/Button/Button.d.ts +3 -2
  8. package/dist/components/Calendar/Calendar.d.ts +1 -0
  9. package/dist/components/Card/Card.d.ts +1 -0
  10. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  11. package/dist/components/Chip/Chip.d.ts +1 -0
  12. package/dist/components/Container/Container.d.ts +6 -1
  13. package/dist/components/CurrencyInput/CurrencyInput.d.ts +1 -1
  14. package/dist/components/DialogActions/DialogActions.d.ts +1 -0
  15. package/dist/components/DialogContent/DialogContent.d.ts +1 -0
  16. package/dist/components/DialogFrame/DialogFrame.d.ts +1 -1
  17. package/dist/components/DialogTitle/DialogTitle.d.ts +1 -0
  18. package/dist/components/Divider/Divider.d.ts +1 -0
  19. package/dist/components/Drawer/Drawer.d.ts +1 -0
  20. package/dist/components/Dropdown/Dropdown.d.ts +28 -1
  21. package/dist/components/FormControl/FormControl.d.ts +1 -0
  22. package/dist/components/FormHelperText/FormHelperText.d.ts +1 -0
  23. package/dist/components/FormLabel/FormLabel.d.ts +1 -0
  24. package/dist/components/Grid/Grid.d.ts +1 -0
  25. package/dist/components/IconButton/IconButton.d.ts +3 -2
  26. package/dist/components/IconMenuButton/IconMenuButton.d.ts +7 -6
  27. package/dist/components/InfoSign/InfoSign.d.ts +3 -2
  28. package/dist/components/Input/Input.d.ts +8 -22
  29. package/dist/components/InsetDrawer/InsetDrawer.d.ts +1 -0
  30. package/dist/components/Markdown/Markdown.d.ts +9 -24
  31. package/dist/components/Menu/Menu.d.ts +2 -1
  32. package/dist/components/MenuButton/MenuButton.d.ts +10 -8
  33. package/dist/components/Modal/Modal.d.ts +4 -2
  34. package/dist/components/NavigationGroup/NavigationGroup.d.ts +3 -2
  35. package/dist/components/NavigationItem/NavigationItem.d.ts +3 -2
  36. package/dist/components/Navigator/Navigator.d.ts +5 -4
  37. package/dist/components/Pagination/Pagination.d.ts +1 -1
  38. package/dist/components/Radio/Radio.d.ts +1 -0
  39. package/dist/components/RadioList/RadioList.d.ts +3 -2
  40. package/dist/components/Select/Select.d.ts +20 -10
  41. package/dist/components/Sheet/Sheet.d.ts +1 -0
  42. package/dist/components/Stack/Stack.d.ts +1 -0
  43. package/dist/components/Stepper/Stepper.d.ts +2 -1
  44. package/dist/components/Switch/Switch.d.ts +1 -0
  45. package/dist/components/Table/Table.d.ts +7 -5
  46. package/dist/components/Tabs/Tabs.d.ts +1 -0
  47. package/dist/components/Textarea/Textarea.d.ts +8 -20
  48. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  49. package/dist/components/Typography/Typography.d.ts +1 -0
  50. package/dist/components/Uploader/Uploader.d.ts +18 -17
  51. package/dist/components/data-display/Avatar.md +60 -72
  52. package/dist/components/data-display/Badge.md +197 -181
  53. package/dist/components/data-display/Chip.md +164 -142
  54. package/dist/components/data-display/DataTable.md +843 -338
  55. package/dist/components/data-display/InfoSign.md +1 -3
  56. package/dist/components/data-display/Markdown.md +93 -125
  57. package/dist/components/data-display/Table.md +1453 -1007
  58. package/dist/components/data-display/Typography.md +113 -116
  59. package/dist/components/feedback/Alert.md +80 -86
  60. package/dist/components/feedback/CircularProgress.md +32 -36
  61. package/dist/components/feedback/Dialog.md +25 -17
  62. package/dist/components/feedback/Modal.md +296 -264
  63. package/dist/components/feedback/Skeleton.md +125 -89
  64. package/dist/components/index.d.ts +62 -2
  65. package/dist/components/inputs/Autocomplete.md +191 -95
  66. package/dist/components/inputs/Button.md +83 -83
  67. package/dist/components/inputs/ButtonGroup.md +195 -185
  68. package/dist/components/inputs/Calendar.md +25 -28
  69. package/dist/components/inputs/Checkbox.md +11 -29
  70. package/dist/components/inputs/CurrencyInput.md +4 -4
  71. package/dist/components/inputs/DatePicker.md +229 -110
  72. package/dist/components/inputs/DateRangePicker.md +248 -137
  73. package/dist/components/inputs/FilterableCheckboxGroup.md +115 -55
  74. package/dist/components/inputs/FormControl.md +75 -69
  75. package/dist/components/inputs/IconButton.md +229 -205
  76. package/dist/components/inputs/Input.md +131 -98
  77. package/dist/components/inputs/MonthPicker.md +186 -84
  78. package/dist/components/inputs/MonthRangePicker.md +73 -49
  79. package/dist/components/inputs/PercentageInput.md +15 -31
  80. package/dist/components/inputs/RadioButton.md +320 -256
  81. package/dist/components/inputs/RadioList.md +66 -50
  82. package/dist/components/inputs/RadioTileGroup.md +287 -170
  83. package/dist/components/inputs/SearchBar.md +82 -60
  84. package/dist/components/inputs/Select.md +184 -120
  85. package/dist/components/inputs/Slider.md +153 -102
  86. package/dist/components/inputs/Switch.md +193 -138
  87. package/dist/components/inputs/Textarea.md +15 -20
  88. package/dist/components/inputs/Uploader/Uploader.md +68 -39
  89. package/dist/components/layout/Box.md +841 -662
  90. package/dist/components/layout/Container.md +3 -11
  91. package/dist/components/layout/Grid.md +480 -394
  92. package/dist/components/layout/Stack.md +739 -566
  93. package/dist/components/navigation/Breadcrumbs.md +4 -4
  94. package/dist/components/navigation/Drawer.md +34 -25
  95. package/dist/components/navigation/Dropdown.md +745 -408
  96. package/dist/components/navigation/IconMenuButton.md +14 -6
  97. package/dist/components/navigation/InsetDrawer.md +8 -13
  98. package/dist/components/navigation/Link.md +1 -2
  99. package/dist/components/navigation/Menu.md +623 -502
  100. package/dist/components/navigation/MenuButton.md +18 -10
  101. package/dist/components/navigation/NavigationGroup.md +19 -50
  102. package/dist/components/navigation/NavigationItem.md +6 -6
  103. package/dist/components/navigation/Navigator.md +26 -28
  104. package/dist/components/navigation/Pagination.md +86 -75
  105. package/dist/components/navigation/Stepper.md +2 -12
  106. package/dist/components/navigation/Tabs.md +48 -36
  107. package/dist/components/surfaces/Accordions.md +89 -172
  108. package/dist/components/surfaces/Card.md +1094 -709
  109. package/dist/components/surfaces/Divider.md +562 -412
  110. package/dist/components/surfaces/Sheet.md +700 -518
  111. package/dist/guides/ThemeProvider.md +8 -8
  112. package/dist/index.browser.js +4 -4
  113. package/dist/index.browser.js.map +4 -4
  114. package/dist/index.cjs +1074 -1033
  115. package/dist/index.d.ts +2 -1
  116. package/dist/index.js +720 -671
  117. package/framer/index.js +1 -1
  118. package/package.json +32 -35
@@ -46,27 +46,29 @@ function MyComponent() {
46
46
  IconButton supports five semantic colors: `primary` (default), `neutral`, `danger`, `success`, and `warning`. Choose a color that reflects the nature of the action.
47
47
 
48
48
  ```tsx
49
- <div style={{
50
- display: 'flex',
51
- gap: '1rem',
52
- alignItems: 'center'
53
- }}>
54
- <IconButton color="primary">
55
- <Add />
56
- </IconButton>
57
- <IconButton color="neutral">
58
- <Edit />
59
- </IconButton>
60
- <IconButton color="danger">
61
- <Delete />
62
- </IconButton>
63
- <IconButton color="success">
64
- <FavoriteIcon />
65
- </IconButton>
66
- <IconButton color="warning">
67
- <Settings />
68
- </IconButton>
69
- </div>
49
+ <div
50
+ style={{
51
+ display: "flex",
52
+ gap: "1rem",
53
+ alignItems: "center"
54
+ }}
55
+ >
56
+ <IconButton color="primary">
57
+ <Add />
58
+ </IconButton>
59
+ <IconButton color="neutral">
60
+ <Edit />
61
+ </IconButton>
62
+ <IconButton color="danger">
63
+ <Delete />
64
+ </IconButton>
65
+ <IconButton color="success">
66
+ <FavoriteIcon />
67
+ </IconButton>
68
+ <IconButton color="warning">
69
+ <Settings />
70
+ </IconButton>
71
+ </div>
70
72
  ```
71
73
 
72
74
  ## Variants
@@ -74,24 +76,26 @@ IconButton supports five semantic colors: `primary` (default), `neutral`, `dange
74
76
  Four visual variants are available: `solid` (filled background), `soft` (tinted background), `outlined` (border only), and `plain` (no background). Use `outlined` or `plain` for secondary actions, and `solid` for primary or high-emphasis actions.
75
77
 
76
78
  ```tsx
77
- <div style={{
78
- display: 'flex',
79
- gap: '1rem',
80
- alignItems: 'center'
81
- }}>
82
- <IconButton variant="solid">
83
- <Add />
84
- </IconButton>
85
- <IconButton variant="soft">
86
- <Add />
87
- </IconButton>
88
- <IconButton variant="outlined">
89
- <Add />
90
- </IconButton>
91
- <IconButton variant="plain">
92
- <Add />
93
- </IconButton>
94
- </div>
79
+ <div
80
+ style={{
81
+ display: "flex",
82
+ gap: "1rem",
83
+ alignItems: "center"
84
+ }}
85
+ >
86
+ <IconButton variant="solid">
87
+ <Add />
88
+ </IconButton>
89
+ <IconButton variant="soft">
90
+ <Add />
91
+ </IconButton>
92
+ <IconButton variant="outlined">
93
+ <Add />
94
+ </IconButton>
95
+ <IconButton variant="plain">
96
+ <Add />
97
+ </IconButton>
98
+ </div>
95
99
  ```
96
100
 
97
101
  ## Sizes
@@ -99,21 +103,23 @@ Four visual variants are available: `solid` (filled background), `soft` (tinted
99
103
  The `size` prop controls the button dimensions. Available sizes are `sm`, `md` (default), and `lg`. Ensure touch targets meet the minimum 44px recommended size for touch interfaces.
100
104
 
101
105
  ```tsx
102
- <div style={{
103
- display: 'flex',
104
- gap: '1rem',
105
- alignItems: 'center'
106
- }}>
107
- <IconButton size="sm">
108
- <Add />
109
- </IconButton>
110
- <IconButton size="md">
111
- <Add />
112
- </IconButton>
113
- <IconButton size="lg">
114
- <Add />
115
- </IconButton>
116
- </div>
106
+ <div
107
+ style={{
108
+ display: "flex",
109
+ gap: "1rem",
110
+ alignItems: "center"
111
+ }}
112
+ >
113
+ <IconButton size="sm">
114
+ <Add />
115
+ </IconButton>
116
+ <IconButton size="md">
117
+ <Add />
118
+ </IconButton>
119
+ <IconButton size="lg">
120
+ <Add />
121
+ </IconButton>
122
+ </div>
117
123
  ```
118
124
 
119
125
  ## States
@@ -121,57 +127,65 @@ The `size` prop controls the button dimensions. Available sizes are `sm`, `md` (
121
127
  IconButton supports multiple interactive states including normal, disabled, and loading. Use `disabled` to prevent interaction and `loading` to indicate an in-progress async operation.
122
128
 
123
129
  ```tsx
124
- <div style={{
125
- display: 'flex',
126
- gap: '2rem',
127
- alignItems: 'center'
128
- }}>
129
- <div>
130
- <h4>Normal</h4>
131
- <div style={{
132
- display: 'flex',
133
- gap: '1rem',
134
- alignItems: 'center'
135
- }}>
136
- <IconButton>
137
- <Add />
138
- </IconButton>
139
- <IconButton color="danger">
140
- <Delete />
141
- </IconButton>
142
- </div>
143
- </div>
144
- <div>
145
- <h4>Disabled</h4>
146
- <div style={{
147
- display: 'flex',
148
- gap: '1rem',
149
- alignItems: 'center'
150
- }}>
151
- <IconButton disabled>
152
- <Add />
153
- </IconButton>
154
- <IconButton disabled color="danger">
155
- <Delete />
156
- </IconButton>
157
- </div>
158
- </div>
159
- <div>
160
- <h4>Loading</h4>
161
- <div style={{
162
- display: 'flex',
163
- gap: '1rem',
164
- alignItems: 'center'
165
- }}>
166
- <IconButton loading>
167
- <Add />
168
- </IconButton>
169
- <IconButton loading color="danger">
170
- <Delete />
171
- </IconButton>
172
- </div>
173
- </div>
174
- </div>
130
+ <div
131
+ style={{
132
+ display: "flex",
133
+ gap: "2rem",
134
+ alignItems: "center"
135
+ }}
136
+ >
137
+ <div>
138
+ <h4>Normal</h4>
139
+ <div
140
+ style={{
141
+ display: "flex",
142
+ gap: "1rem",
143
+ alignItems: "center"
144
+ }}
145
+ >
146
+ <IconButton>
147
+ <Add />
148
+ </IconButton>
149
+ <IconButton color="danger">
150
+ <Delete />
151
+ </IconButton>
152
+ </div>
153
+ </div>
154
+ <div>
155
+ <h4>Disabled</h4>
156
+ <div
157
+ style={{
158
+ display: "flex",
159
+ gap: "1rem",
160
+ alignItems: "center"
161
+ }}
162
+ >
163
+ <IconButton disabled>
164
+ <Add />
165
+ </IconButton>
166
+ <IconButton disabled color="danger">
167
+ <Delete />
168
+ </IconButton>
169
+ </div>
170
+ </div>
171
+ <div>
172
+ <h4>Loading</h4>
173
+ <div
174
+ style={{
175
+ display: "flex",
176
+ gap: "1rem",
177
+ alignItems: "center"
178
+ }}
179
+ >
180
+ <IconButton loading>
181
+ <Add />
182
+ </IconButton>
183
+ <IconButton loading color="danger">
184
+ <Delete />
185
+ </IconButton>
186
+ </div>
187
+ </div>
188
+ </div>
175
189
  ```
176
190
 
177
191
  ## With Badge
@@ -179,27 +193,29 @@ IconButton supports multiple interactive states including normal, disabled, and
179
193
  Combine IconButton with Badge to display notification counts, status indicators, or unread markers alongside the button.
180
194
 
181
195
  ```tsx
182
- <div style={{
183
- display: 'flex',
184
- gap: '1rem',
185
- alignItems: 'center'
186
- }}>
187
- <Badge badgeContent={4} color="danger">
188
- <IconButton>
189
- <Settings />
190
- </IconButton>
191
- </Badge>
192
- <Badge badgeContent="99+" color="warning">
193
- <IconButton color="neutral">
194
- <MoreVertIcon />
195
- </IconButton>
196
- </Badge>
197
- <Badge variant="solid" color="success">
198
- <IconButton color="primary">
199
- <FavoriteIcon />
200
- </IconButton>
201
- </Badge>
202
- </div>
196
+ <div
197
+ style={{
198
+ display: "flex",
199
+ gap: "1rem",
200
+ alignItems: "center"
201
+ }}
202
+ >
203
+ <Badge badgeContent={4} color="danger">
204
+ <IconButton>
205
+ <Settings />
206
+ </IconButton>
207
+ </Badge>
208
+ <Badge badgeContent="99+" color="warning">
209
+ <IconButton color="neutral">
210
+ <MoreVertIcon />
211
+ </IconButton>
212
+ </Badge>
213
+ <Badge variant="solid" color="success">
214
+ <IconButton color="primary">
215
+ <FavoriteIcon />
216
+ </IconButton>
217
+ </Badge>
218
+ </div>
203
219
  ```
204
220
 
205
221
  ## With Tooltip
@@ -207,32 +223,34 @@ Combine IconButton with Badge to display notification counts, status indicators,
207
223
  Wrap IconButton in a Tooltip to provide a text description on hover. This is especially important for icon-only buttons since the icon alone may not be self-explanatory for all users.
208
224
 
209
225
  ```tsx
210
- <div style={{
211
- display: 'flex',
212
- gap: '1rem',
213
- alignItems: 'center'
214
- }}>
215
- <Tooltip title="새 항목 추가">
216
- <IconButton>
217
- <Add />
218
- </IconButton>
219
- </Tooltip>
220
- <Tooltip title="편집">
221
- <IconButton color="neutral">
222
- <Edit />
223
- </IconButton>
224
- </Tooltip>
225
- <Tooltip title="삭제">
226
- <IconButton color="danger">
227
- <Delete />
228
- </IconButton>
229
- </Tooltip>
230
- <Tooltip title="공유">
231
- <IconButton color="success">
232
- <ShareIcon />
233
- </IconButton>
234
- </Tooltip>
235
- </div>
226
+ <div
227
+ style={{
228
+ display: "flex",
229
+ gap: "1rem",
230
+ alignItems: "center"
231
+ }}
232
+ >
233
+ <Tooltip title="새 항목 추가">
234
+ <IconButton>
235
+ <Add />
236
+ </IconButton>
237
+ </Tooltip>
238
+ <Tooltip title="편집">
239
+ <IconButton color="neutral">
240
+ <Edit />
241
+ </IconButton>
242
+ </Tooltip>
243
+ <Tooltip title="삭제">
244
+ <IconButton color="danger">
245
+ <Delete />
246
+ </IconButton>
247
+ </Tooltip>
248
+ <Tooltip title="공유">
249
+ <IconButton color="success">
250
+ <ShareIcon />
251
+ </IconButton>
252
+ </Tooltip>
253
+ </div>
236
254
  ```
237
255
 
238
256
  ## Circular Variants
@@ -240,30 +258,34 @@ Wrap IconButton in a Tooltip to provide a text description on hover. This is esp
240
258
  IconButton renders as a circular shape by default, making it visually distinct from rectangular text buttons and well-suited for floating action buttons and compact action rows.
241
259
 
242
260
  ```tsx
243
- <div style={{
244
- display: 'flex',
245
- gap: '2rem',
246
- alignItems: 'center'
247
- }}>
248
- <div>
249
- <h4>Default</h4>
250
- <div style={{
251
- display: 'flex',
252
- gap: '1rem',
253
- alignItems: 'center'
254
- }}>
255
- <IconButton>
256
- <Add />
257
- </IconButton>
258
- <IconButton variant="outlined">
259
- <Edit />
260
- </IconButton>
261
- <IconButton variant="soft">
262
- <Delete />
263
- </IconButton>
264
- </div>
265
- </div>
266
- </div>
261
+ <div
262
+ style={{
263
+ display: "flex",
264
+ gap: "2rem",
265
+ alignItems: "center"
266
+ }}
267
+ >
268
+ <div>
269
+ <h4>Default</h4>
270
+ <div
271
+ style={{
272
+ display: "flex",
273
+ gap: "1rem",
274
+ alignItems: "center"
275
+ }}
276
+ >
277
+ <IconButton>
278
+ <Add />
279
+ </IconButton>
280
+ <IconButton variant="outlined">
281
+ <Edit />
282
+ </IconButton>
283
+ <IconButton variant="soft">
284
+ <Delete />
285
+ </IconButton>
286
+ </div>
287
+ </div>
288
+ </div>
267
289
  ```
268
290
 
269
291
  ## Action Buttons
@@ -271,27 +293,34 @@ IconButton renders as a circular shape by default, making it visually distinct f
271
293
  A practical example of IconButton used for common CRUD operations with distinct colors signaling the nature of each action.
272
294
 
273
295
  ```tsx
274
- <div style={{
275
- display: 'flex',
276
- gap: '1rem',
277
- alignItems: 'center'
278
- }}>
279
- <IconButton onClick={() => alert('Add clicked!')} title="Add new item">
280
- <Add />
281
- </IconButton>
282
- <IconButton onClick={() => alert('Edit clicked!')} color="neutral" title="Edit item">
283
- <Edit />
284
- </IconButton>
285
- <IconButton onClick={() => alert('Delete clicked!')} color="danger" title="Delete item">
286
- <Delete />
287
- </IconButton>
288
- <IconButton onClick={() => alert('Share clicked!')} color="success" title="Share item">
289
- <ShareIcon />
290
- </IconButton>
291
- <IconButton onClick={() => alert('Settings clicked!')} color="neutral" variant="outlined" title="Settings">
292
- <Settings />
293
- </IconButton>
294
- </div>
296
+ <div
297
+ style={{
298
+ display: "flex",
299
+ gap: "1rem",
300
+ alignItems: "center"
301
+ }}
302
+ >
303
+ <IconButton onClick={() => alert("Add clicked!")} title="Add new item">
304
+ <Add />
305
+ </IconButton>
306
+ <IconButton onClick={() => alert("Edit clicked!")} color="neutral" title="Edit item">
307
+ <Edit />
308
+ </IconButton>
309
+ <IconButton onClick={() => alert("Delete clicked!")} color="danger" title="Delete item">
310
+ <Delete />
311
+ </IconButton>
312
+ <IconButton onClick={() => alert("Share clicked!")} color="success" title="Share item">
313
+ <ShareIcon />
314
+ </IconButton>
315
+ <IconButton
316
+ onClick={() => alert("Settings clicked!")}
317
+ color="neutral"
318
+ variant="outlined"
319
+ title="Settings"
320
+ >
321
+ <Settings />
322
+ </IconButton>
323
+ </div>
295
324
  ```
296
325
 
297
326
  ## Common Use Cases
@@ -341,7 +370,7 @@ import CloseIcon from '@mui/icons-material/Close';
341
370
  sx={{ position: 'absolute', top: 8, right: 8 }}
342
371
  >
343
372
  <CloseIcon />
344
- </IconButton>
373
+ </IconButton>;
345
374
  ```
346
375
 
347
376
  ### Navigation Back Button
@@ -349,14 +378,9 @@ import CloseIcon from '@mui/icons-material/Close';
349
378
  ```tsx
350
379
  import ArrowBackIcon from '@mui/icons-material/ArrowBack';
351
380
 
352
- <IconButton
353
- variant="outlined"
354
- color="neutral"
355
- aria-label="Go back"
356
- onClick={() => router.back()}
357
- >
381
+ <IconButton variant="outlined" color="neutral" aria-label="Go back" onClick={() => router.back()}>
358
382
  <ArrowBackIcon />
359
- </IconButton>
383
+ </IconButton>;
360
384
  ```
361
385
 
362
386
  ## Best Practices