@ceed/cds 1.34.1 → 1.36.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.
Files changed (120) 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/FilterableCheckboxGroup/FilterableCheckboxGroup.d.ts +1 -1
  22. package/dist/components/FormControl/FormControl.d.ts +1 -0
  23. package/dist/components/FormHelperText/FormHelperText.d.ts +1 -0
  24. package/dist/components/FormLabel/FormLabel.d.ts +1 -0
  25. package/dist/components/Grid/Grid.d.ts +1 -0
  26. package/dist/components/IconButton/IconButton.d.ts +3 -2
  27. package/dist/components/IconMenuButton/IconMenuButton.d.ts +7 -6
  28. package/dist/components/InfoSign/InfoSign.d.ts +3 -2
  29. package/dist/components/Input/Input.d.ts +8 -22
  30. package/dist/components/InsetDrawer/InsetDrawer.d.ts +1 -0
  31. package/dist/components/Markdown/Markdown.d.ts +9 -24
  32. package/dist/components/Menu/Menu.d.ts +2 -1
  33. package/dist/components/MenuButton/MenuButton.d.ts +10 -8
  34. package/dist/components/Modal/Modal.d.ts +4 -2
  35. package/dist/components/NavigationGroup/NavigationGroup.d.ts +3 -2
  36. package/dist/components/NavigationItem/NavigationItem.d.ts +3 -2
  37. package/dist/components/Navigator/Navigator.d.ts +5 -4
  38. package/dist/components/Pagination/Pagination.d.ts +2 -2
  39. package/dist/components/Radio/Radio.d.ts +1 -0
  40. package/dist/components/RadioList/RadioList.d.ts +3 -2
  41. package/dist/components/Select/Select.d.ts +12 -10
  42. package/dist/components/Sheet/Sheet.d.ts +1 -0
  43. package/dist/components/Stack/Stack.d.ts +1 -0
  44. package/dist/components/Stepper/Stepper.d.ts +2 -1
  45. package/dist/components/Switch/Switch.d.ts +1 -0
  46. package/dist/components/Table/Table.d.ts +7 -5
  47. package/dist/components/Tabs/Tabs.d.ts +1 -0
  48. package/dist/components/Textarea/Textarea.d.ts +8 -20
  49. package/dist/components/ThemeProvider/ThemeProvider.d.ts +15 -0
  50. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  51. package/dist/components/Typography/Typography.d.ts +1 -0
  52. package/dist/components/Uploader/Uploader.d.ts +18 -17
  53. package/dist/components/data-display/Avatar.md +60 -72
  54. package/dist/components/data-display/Badge.md +197 -181
  55. package/dist/components/data-display/Chip.md +164 -142
  56. package/dist/components/data-display/DataTable.md +843 -338
  57. package/dist/components/data-display/InfoSign.md +1 -3
  58. package/dist/components/data-display/Markdown.md +93 -125
  59. package/dist/components/data-display/Table.md +1453 -1007
  60. package/dist/components/data-display/Typography.md +113 -116
  61. package/dist/components/feedback/Alert.md +80 -86
  62. package/dist/components/feedback/CircularProgress.md +32 -36
  63. package/dist/components/feedback/Dialog.md +25 -17
  64. package/dist/components/feedback/Modal.md +296 -264
  65. package/dist/components/feedback/Skeleton.md +125 -89
  66. package/dist/components/index.d.ts +62 -2
  67. package/dist/components/inputs/Autocomplete.md +191 -95
  68. package/dist/components/inputs/Button.md +83 -83
  69. package/dist/components/inputs/ButtonGroup.md +195 -185
  70. package/dist/components/inputs/Calendar.md +25 -28
  71. package/dist/components/inputs/Checkbox.md +11 -29
  72. package/dist/components/inputs/CurrencyInput.md +4 -4
  73. package/dist/components/inputs/DatePicker.md +229 -110
  74. package/dist/components/inputs/DateRangePicker.md +248 -137
  75. package/dist/components/inputs/FilterableCheckboxGroup.md +115 -55
  76. package/dist/components/inputs/FormControl.md +75 -69
  77. package/dist/components/inputs/IconButton.md +229 -205
  78. package/dist/components/inputs/Input.md +131 -98
  79. package/dist/components/inputs/MonthPicker.md +186 -84
  80. package/dist/components/inputs/MonthRangePicker.md +73 -49
  81. package/dist/components/inputs/PercentageInput.md +15 -31
  82. package/dist/components/inputs/RadioButton.md +320 -256
  83. package/dist/components/inputs/RadioList.md +66 -50
  84. package/dist/components/inputs/RadioTileGroup.md +287 -170
  85. package/dist/components/inputs/SearchBar.md +82 -60
  86. package/dist/components/inputs/Select.md +106 -95
  87. package/dist/components/inputs/Slider.md +153 -102
  88. package/dist/components/inputs/Switch.md +193 -138
  89. package/dist/components/inputs/Textarea.md +15 -20
  90. package/dist/components/inputs/Uploader/Uploader.md +68 -39
  91. package/dist/components/layout/Box.md +841 -662
  92. package/dist/components/layout/Container.md +3 -11
  93. package/dist/components/layout/Grid.md +480 -394
  94. package/dist/components/layout/Stack.md +739 -566
  95. package/dist/components/navigation/Breadcrumbs.md +4 -4
  96. package/dist/components/navigation/Drawer.md +34 -25
  97. package/dist/components/navigation/Dropdown.md +745 -408
  98. package/dist/components/navigation/IconMenuButton.md +14 -6
  99. package/dist/components/navigation/InsetDrawer.md +8 -13
  100. package/dist/components/navigation/Link.md +1 -2
  101. package/dist/components/navigation/Menu.md +623 -502
  102. package/dist/components/navigation/MenuButton.md +18 -10
  103. package/dist/components/navigation/NavigationGroup.md +19 -50
  104. package/dist/components/navigation/NavigationItem.md +6 -6
  105. package/dist/components/navigation/Navigator.md +26 -28
  106. package/dist/components/navigation/Pagination.md +86 -75
  107. package/dist/components/navigation/Stepper.md +2 -12
  108. package/dist/components/navigation/Tabs.md +48 -36
  109. package/dist/components/surfaces/Accordions.md +89 -172
  110. package/dist/components/surfaces/Card.md +1094 -709
  111. package/dist/components/surfaces/Divider.md +562 -412
  112. package/dist/components/surfaces/Sheet.md +700 -518
  113. package/dist/guides/ThemeProvider.md +8 -8
  114. package/dist/index.browser.js +5 -5
  115. package/dist/index.browser.js.map +4 -4
  116. package/dist/index.cjs +1082 -1036
  117. package/dist/index.d.ts +2 -1
  118. package/dist/index.js +749 -695
  119. package/framer/index.js +1 -1
  120. package/package.json +34 -36
@@ -6,10 +6,10 @@ The Stack component is a layout component that arranges child elements in one di
6
6
 
7
7
  ```tsx
8
8
  <Stack {...args}>
9
- <StackItem>첫 번째 아이템</StackItem>
10
- <StackItem>두 번째 아이템</StackItem>
11
- <StackItem>세 번째 아이템</StackItem>
12
- </Stack>
9
+ <StackItem>첫 번째 아이템</StackItem>
10
+ <StackItem>두 번째 아이템</StackItem>
11
+ <StackItem>세 번째 아이템</StackItem>
12
+ </Stack>
13
13
  ```
14
14
 
15
15
  | Field | Description | Default |
@@ -42,37 +42,45 @@ function MyComponent() {
42
42
  The basic usage for vertical (`column`) and horizontal (`row`) layouts.
43
43
 
44
44
  ```tsx
45
- <div style={{
46
- display: 'flex',
47
- gap: '3rem',
48
- flexWrap: 'wrap'
49
- }}>
50
- <div>
51
- <Typography level="title-md" sx={{
52
- mb: 2
53
- }}>
54
- 세로 스택 (Column)
55
- </Typography>
56
- <Stack spacing={2}>
57
- <StackItem>Item 1</StackItem>
58
- <StackItem>Item 2</StackItem>
59
- <StackItem>Item 3</StackItem>
60
- </Stack>
61
- </div>
62
-
63
- <div>
64
- <Typography level="title-md" sx={{
65
- mb: 2
66
- }}>
67
- 가로 스택 (Row)
68
- </Typography>
69
- <Stack direction="row" spacing={2}>
70
- <StackItem>Item 1</StackItem>
71
- <StackItem>Item 2</StackItem>
72
- <StackItem>Item 3</StackItem>
73
- </Stack>
74
- </div>
75
- </div>
45
+ <div
46
+ style={{
47
+ display: "flex",
48
+ gap: "3rem",
49
+ flexWrap: "wrap"
50
+ }}
51
+ >
52
+ <div>
53
+ <Typography
54
+ level="title-md"
55
+ sx={{
56
+ mb: 2
57
+ }}
58
+ >
59
+ 세로 스택 (Column)
60
+ </Typography>
61
+ <Stack spacing={2}>
62
+ <StackItem>Item 1</StackItem>
63
+ <StackItem>Item 2</StackItem>
64
+ <StackItem>Item 3</StackItem>
65
+ </Stack>
66
+ </div>
67
+
68
+ <div>
69
+ <Typography
70
+ level="title-md"
71
+ sx={{
72
+ mb: 2
73
+ }}
74
+ >
75
+ 가로 스택 (Row)
76
+ </Typography>
77
+ <Stack direction="row" spacing={2}>
78
+ <StackItem>Item 1</StackItem>
79
+ <StackItem>Item 2</StackItem>
80
+ <StackItem>Item 3</StackItem>
81
+ </Stack>
82
+ </div>
83
+ </div>
76
84
  ```
77
85
 
78
86
  ### Directions
@@ -80,68 +88,84 @@ The basic usage for vertical (`column`) and horizontal (`row`) layouts.
80
88
  You can use different layout directions.
81
89
 
82
90
  ```tsx
83
- <div style={{
84
- display: 'flex',
85
- flexDirection: 'column',
86
- gap: '3rem'
87
- }}>
88
- <div>
89
- <Typography level="title-sm" sx={{
90
- mb: 1
91
- }}>
92
- Row (가로)
93
- </Typography>
94
- <Stack direction="row" spacing={2}>
95
- <StackItem>1</StackItem>
96
- <StackItem>2</StackItem>
97
- <StackItem>3</StackItem>
98
- </Stack>
99
- </div>
100
-
101
- <div>
102
- <Typography level="title-sm" sx={{
103
- mb: 1
104
- }}>
105
- Row Reverse (가로 역순)
106
- </Typography>
107
- <Stack direction="row-reverse" spacing={2}>
108
- <StackItem>1</StackItem>
109
- <StackItem>2</StackItem>
110
- <StackItem>3</StackItem>
111
- </Stack>
112
- </div>
113
-
114
- <div style={{
115
- display: 'flex',
116
- gap: '3rem'
117
- }}>
118
- <div>
119
- <Typography level="title-sm" sx={{
120
- mb: 1
121
- }}>
122
- Column (세로)
123
- </Typography>
124
- <Stack direction="column" spacing={2}>
125
- <StackItem>1</StackItem>
126
- <StackItem>2</StackItem>
127
- <StackItem>3</StackItem>
128
- </Stack>
129
- </div>
91
+ <div
92
+ style={{
93
+ display: "flex",
94
+ flexDirection: "column",
95
+ gap: "3rem"
96
+ }}
97
+ >
98
+ <div>
99
+ <Typography
100
+ level="title-sm"
101
+ sx={{
102
+ mb: 1
103
+ }}
104
+ >
105
+ Row (가로)
106
+ </Typography>
107
+ <Stack direction="row" spacing={2}>
108
+ <StackItem>1</StackItem>
109
+ <StackItem>2</StackItem>
110
+ <StackItem>3</StackItem>
111
+ </Stack>
112
+ </div>
113
+
114
+ <div>
115
+ <Typography
116
+ level="title-sm"
117
+ sx={{
118
+ mb: 1
119
+ }}
120
+ >
121
+ Row Reverse (가로 역순)
122
+ </Typography>
123
+ <Stack direction="row-reverse" spacing={2}>
124
+ <StackItem>1</StackItem>
125
+ <StackItem>2</StackItem>
126
+ <StackItem>3</StackItem>
127
+ </Stack>
128
+ </div>
130
129
 
131
- <div>
132
- <Typography level="title-sm" sx={{
133
- mb: 1
134
- }}>
135
- Column Reverse (세로 역순)
136
- </Typography>
137
- <Stack direction="column-reverse" spacing={2}>
138
- <StackItem>1</StackItem>
139
- <StackItem>2</StackItem>
140
- <StackItem>3</StackItem>
141
- </Stack>
142
- </div>
143
- </div>
144
- </div>
130
+ <div
131
+ style={{
132
+ display: "flex",
133
+ gap: "3rem"
134
+ }}
135
+ >
136
+ <div>
137
+ <Typography
138
+ level="title-sm"
139
+ sx={{
140
+ mb: 1
141
+ }}
142
+ >
143
+ Column (세로)
144
+ </Typography>
145
+ <Stack direction="column" spacing={2}>
146
+ <StackItem>1</StackItem>
147
+ <StackItem>2</StackItem>
148
+ <StackItem>3</StackItem>
149
+ </Stack>
150
+ </div>
151
+
152
+ <div>
153
+ <Typography
154
+ level="title-sm"
155
+ sx={{
156
+ mb: 1
157
+ }}
158
+ >
159
+ Column Reverse (세로 역순)
160
+ </Typography>
161
+ <Stack direction="column-reverse" spacing={2}>
162
+ <StackItem>1</StackItem>
163
+ <StackItem>2</StackItem>
164
+ <StackItem>3</StackItem>
165
+ </Stack>
166
+ </div>
167
+ </div>
168
+ </div>
145
169
  ```
146
170
 
147
171
  ### Different Spacing
@@ -149,63 +173,77 @@ You can use different layout directions.
149
173
  You can apply different spacing values.
150
174
 
151
175
  ```tsx
152
- <div style={{
153
- display: 'flex',
154
- flexDirection: 'column',
155
- gap: '3rem'
156
- }}>
157
- <div>
158
- <Typography level="title-sm" sx={{
159
- mb: 1
160
- }}>
161
- 간격 없음 (spacing=0)
162
- </Typography>
163
- <Stack direction="row" spacing={0}>
164
- <StackItem>Item 1</StackItem>
165
- <StackItem>Item 2</StackItem>
166
- <StackItem>Item 3</StackItem>
167
- </Stack>
168
- </div>
169
-
170
- <div>
171
- <Typography level="title-sm" sx={{
172
- mb: 1
173
- }}>
174
- 작은 간격 (spacing=1)
175
- </Typography>
176
- <Stack direction="row" spacing={1}>
177
- <StackItem>Item 1</StackItem>
178
- <StackItem>Item 2</StackItem>
179
- <StackItem>Item 3</StackItem>
180
- </Stack>
181
- </div>
182
-
183
- <div>
184
- <Typography level="title-sm" sx={{
185
- mb: 1
186
- }}>
187
- 중간 간격 (spacing=2)
188
- </Typography>
189
- <Stack direction="row" spacing={2}>
190
- <StackItem>Item 1</StackItem>
191
- <StackItem>Item 2</StackItem>
192
- <StackItem>Item 3</StackItem>
193
- </Stack>
194
- </div>
195
-
196
- <div>
197
- <Typography level="title-sm" sx={{
198
- mb: 1
199
- }}>
200
- 간격 (spacing=4)
201
- </Typography>
202
- <Stack direction="row" spacing={4}>
203
- <StackItem>Item 1</StackItem>
204
- <StackItem>Item 2</StackItem>
205
- <StackItem>Item 3</StackItem>
206
- </Stack>
207
- </div>
208
- </div>
176
+ <div
177
+ style={{
178
+ display: "flex",
179
+ flexDirection: "column",
180
+ gap: "3rem"
181
+ }}
182
+ >
183
+ <div>
184
+ <Typography
185
+ level="title-sm"
186
+ sx={{
187
+ mb: 1
188
+ }}
189
+ >
190
+ 간격 없음 (spacing=0)
191
+ </Typography>
192
+ <Stack direction="row" spacing={0}>
193
+ <StackItem>Item 1</StackItem>
194
+ <StackItem>Item 2</StackItem>
195
+ <StackItem>Item 3</StackItem>
196
+ </Stack>
197
+ </div>
198
+
199
+ <div>
200
+ <Typography
201
+ level="title-sm"
202
+ sx={{
203
+ mb: 1
204
+ }}
205
+ >
206
+ 작은 간격 (spacing=1)
207
+ </Typography>
208
+ <Stack direction="row" spacing={1}>
209
+ <StackItem>Item 1</StackItem>
210
+ <StackItem>Item 2</StackItem>
211
+ <StackItem>Item 3</StackItem>
212
+ </Stack>
213
+ </div>
214
+
215
+ <div>
216
+ <Typography
217
+ level="title-sm"
218
+ sx={{
219
+ mb: 1
220
+ }}
221
+ >
222
+ 중간 간격 (spacing=2)
223
+ </Typography>
224
+ <Stack direction="row" spacing={2}>
225
+ <StackItem>Item 1</StackItem>
226
+ <StackItem>Item 2</StackItem>
227
+ <StackItem>Item 3</StackItem>
228
+ </Stack>
229
+ </div>
230
+
231
+ <div>
232
+ <Typography
233
+ level="title-sm"
234
+ sx={{
235
+ mb: 1
236
+ }}
237
+ >
238
+ 큰 간격 (spacing=4)
239
+ </Typography>
240
+ <Stack direction="row" spacing={4}>
241
+ <StackItem>Item 1</StackItem>
242
+ <StackItem>Item 2</StackItem>
243
+ <StackItem>Item 3</StackItem>
244
+ </Stack>
245
+ </div>
246
+ </div>
209
247
  ```
210
248
 
211
249
  ### Alignment
@@ -213,68 +251,107 @@ You can apply different spacing values.
213
251
  You can control element alignment in different ways.
214
252
 
215
253
  ```tsx
216
- <div style={{
217
- display: 'flex',
218
- flexDirection: 'column',
219
- gap: '3rem'
220
- }}>
221
- <div>
222
- <Typography level="title-sm" sx={{
223
- mb: 1
224
- }}>
225
- Center Alignment
226
- </Typography>
227
- <Stack direction="row" spacing={2} alignItems="center" justifyContent="center" sx={{
228
- minHeight: 120,
229
- bgcolor: 'neutral.50',
230
- borderRadius: 'md',
231
- p: 2
232
- }}>
233
- <StackItem sx={{
234
- height: 40
235
- }}>짧은 아이템</StackItem>
236
- <StackItem sx={{
237
- height: 80
238
- }}>중간 아이템</StackItem>
239
- <StackItem sx={{
240
- height: 60
241
- }}>다른 아이템</StackItem>
242
- </Stack>
243
- </div>
244
-
245
- <div>
246
- <Typography level="title-sm" sx={{
247
- mb: 1
248
- }}>
249
- Space Between
250
- </Typography>
251
- <Stack direction="row" spacing={0} justifyContent="space-between" sx={{
252
- bgcolor: 'neutral.50',
253
- borderRadius: 'md',
254
- p: 2
255
- }}>
256
- <StackItem>왼쪽</StackItem>
257
- <StackItem>가운데</StackItem>
258
- <StackItem>오른쪽</StackItem>
259
- </Stack>
260
- </div>
261
-
262
- <div>
263
- <Typography level="title-sm" sx={{
264
- mb: 1
265
- }}>
266
- Flex End
267
- </Typography>
268
- <Stack direction="row" spacing={2} justifyContent="flex-end" sx={{
269
- bgcolor: 'neutral.50',
270
- borderRadius: 'md',
271
- p: 2
272
- }}>
273
- <StackItem>Item 1</StackItem>
274
- <StackItem>Item 2</StackItem>
275
- </Stack>
276
- </div>
277
- </div>
254
+ <div
255
+ style={{
256
+ display: "flex",
257
+ flexDirection: "column",
258
+ gap: "3rem"
259
+ }}
260
+ >
261
+ <div>
262
+ <Typography
263
+ level="title-sm"
264
+ sx={{
265
+ mb: 1
266
+ }}
267
+ >
268
+ Center Alignment
269
+ </Typography>
270
+ <Stack
271
+ direction="row"
272
+ spacing={2}
273
+ alignItems="center"
274
+ justifyContent="center"
275
+ sx={{
276
+ minHeight: 120,
277
+ bgcolor: "neutral.50",
278
+ borderRadius: "md",
279
+ p: 2
280
+ }}
281
+ >
282
+ <StackItem
283
+ sx={{
284
+ height: 40
285
+ }}
286
+ >
287
+ 짧은 아이템
288
+ </StackItem>
289
+ <StackItem
290
+ sx={{
291
+ height: 80
292
+ }}
293
+ >
294
+ 중간 아이템
295
+ </StackItem>
296
+ <StackItem
297
+ sx={{
298
+ height: 60
299
+ }}
300
+ >
301
+ 다른 아이템
302
+ </StackItem>
303
+ </Stack>
304
+ </div>
305
+
306
+ <div>
307
+ <Typography
308
+ level="title-sm"
309
+ sx={{
310
+ mb: 1
311
+ }}
312
+ >
313
+ Space Between
314
+ </Typography>
315
+ <Stack
316
+ direction="row"
317
+ spacing={0}
318
+ justifyContent="space-between"
319
+ sx={{
320
+ bgcolor: "neutral.50",
321
+ borderRadius: "md",
322
+ p: 2
323
+ }}
324
+ >
325
+ <StackItem>왼쪽</StackItem>
326
+ <StackItem>가운데</StackItem>
327
+ <StackItem>오른쪽</StackItem>
328
+ </Stack>
329
+ </div>
330
+
331
+ <div>
332
+ <Typography
333
+ level="title-sm"
334
+ sx={{
335
+ mb: 1
336
+ }}
337
+ >
338
+ Flex End
339
+ </Typography>
340
+ <Stack
341
+ direction="row"
342
+ spacing={2}
343
+ justifyContent="flex-end"
344
+ sx={{
345
+ bgcolor: "neutral.50",
346
+ borderRadius: "md",
347
+ p: 2
348
+ }}
349
+ >
350
+ <StackItem>Item 1</StackItem>
351
+ <StackItem>Item 2</StackItem>
352
+ </Stack>
353
+ </div>
354
+ </div>
278
355
  ```
279
356
 
280
357
  ### Responsive Direction
@@ -283,56 +360,69 @@ You can change the layout direction based on screen size.
283
360
 
284
361
  ```tsx
285
362
  <div>
286
- <Typography level="title-md" sx={{
287
- mb: 2
288
- }}>
289
- 반응형 방향 (화면 크기에 따라 세로↔가로 전환)
290
- </Typography>
291
- <Stack direction={{
292
- xs: 'column',
293
- sm: 'row'
294
- }} spacing={2} sx={{
295
- p: 2,
296
- bgcolor: 'background.level1',
297
- borderRadius: 'md'
298
- }}>
299
- <Box sx={{
300
- flex: 1,
301
- p: 2,
302
- bgcolor: 'primary.100',
303
- borderRadius: 'sm'
304
- }}>
305
- <Typography level="body-sm">
306
- 작은 화면: 세로 배치
307
- <br />큰 화면: 가로 배치
308
- </Typography>
309
- </Box>
310
- <Box sx={{
311
- flex: 1,
312
- p: 2,
313
- bgcolor: 'success.100',
314
- borderRadius: 'sm'
315
- }}>
316
- <Typography level="body-sm">
317
- 반응형 레이아웃으로
318
- <br />
319
- 자동 조정됩니다
320
- </Typography>
321
- </Box>
322
- <Box sx={{
323
- flex: 1,
324
- p: 2,
325
- bgcolor: 'warning.100',
326
- borderRadius: 'sm'
327
- }}>
328
- <Typography level="body-sm">
329
- 브라우저 크기를
330
- <br />
331
- 조절해보세요
332
- </Typography>
333
- </Box>
334
- </Stack>
335
- </div>
363
+ <Typography
364
+ level="title-md"
365
+ sx={{
366
+ mb: 2
367
+ }}
368
+ >
369
+ 반응형 방향 (화면 크기에 따라 세로↔가로 전환)
370
+ </Typography>
371
+ <Stack
372
+ direction={{
373
+ xs: "column",
374
+ sm: "row"
375
+ }}
376
+ spacing={2}
377
+ sx={{
378
+ p: 2,
379
+ bgcolor: "background.level1",
380
+ borderRadius: "md"
381
+ }}
382
+ >
383
+ <Box
384
+ sx={{
385
+ flex: 1,
386
+ p: 2,
387
+ bgcolor: "primary.100",
388
+ borderRadius: "sm"
389
+ }}
390
+ >
391
+ <Typography level="body-sm">
392
+ 작은 화면: 세로 배치
393
+ <br />큰 화면: 가로 배치
394
+ </Typography>
395
+ </Box>
396
+ <Box
397
+ sx={{
398
+ flex: 1,
399
+ p: 2,
400
+ bgcolor: "success.100",
401
+ borderRadius: "sm"
402
+ }}
403
+ >
404
+ <Typography level="body-sm">
405
+ 반응형 레이아웃으로
406
+ <br />
407
+ 자동 조정됩니다
408
+ </Typography>
409
+ </Box>
410
+ <Box
411
+ sx={{
412
+ flex: 1,
413
+ p: 2,
414
+ bgcolor: "warning.100",
415
+ borderRadius: "sm"
416
+ }}
417
+ >
418
+ <Typography level="body-sm">
419
+ 브라우저 크기를
420
+ <br />
421
+ 조절해보세요
422
+ </Typography>
423
+ </Box>
424
+ </Stack>
425
+ </div>
336
426
  ```
337
427
 
338
428
  ### Nested Stacks
@@ -341,56 +431,89 @@ You can nest Stack components to build more complex layouts.
341
431
 
342
432
  ```tsx
343
433
  <div>
344
- <Typography level="title-md" sx={{
345
- mb: 2
346
- }}>
347
- 중첩된 스택
348
- </Typography>
349
- <Stack spacing={3}>
350
- <Box sx={{
351
- p: 2,
352
- bgcolor: 'primary.50',
353
- borderRadius: 'md'
354
- }}>
355
- <Typography level="title-sm" sx={{
356
- mb: 2
357
- }}>
358
- 세로 스택 안의 가로 스택
359
- </Typography>
360
- <Stack direction="row" spacing={2}>
361
- <StackItem sx={{
362
- bgcolor: 'primary.200'
363
- }}>Item 1</StackItem>
364
- <StackItem sx={{
365
- bgcolor: 'primary.200'
366
- }}>Item 2</StackItem>
367
- <StackItem sx={{
368
- bgcolor: 'primary.200'
369
- }}>Item 3</StackItem>
370
- </Stack>
371
- </Box>
372
-
373
- <Box sx={{
374
- p: 2,
375
- bgcolor: 'success.50',
376
- borderRadius: 'md'
377
- }}>
378
- <Typography level="title-sm" sx={{
379
- mb: 2
380
- }}>
381
- 다른 가로 스택
382
- </Typography>
383
- <Stack direction="row" spacing={2} justifyContent="center">
384
- <StackItem sx={{
385
- bgcolor: 'success.200'
386
- }}>중앙</StackItem>
387
- <StackItem sx={{
388
- bgcolor: 'success.200'
389
- }}>정렬</StackItem>
390
- </Stack>
391
- </Box>
392
- </Stack>
393
- </div>
434
+ <Typography
435
+ level="title-md"
436
+ sx={{
437
+ mb: 2
438
+ }}
439
+ >
440
+ 중첩된 스택
441
+ </Typography>
442
+ <Stack spacing={3}>
443
+ <Box
444
+ sx={{
445
+ p: 2,
446
+ bgcolor: "primary.50",
447
+ borderRadius: "md"
448
+ }}
449
+ >
450
+ <Typography
451
+ level="title-sm"
452
+ sx={{
453
+ mb: 2
454
+ }}
455
+ >
456
+ 세로 스택 안의 가로 스택
457
+ </Typography>
458
+ <Stack direction="row" spacing={2}>
459
+ <StackItem
460
+ sx={{
461
+ bgcolor: "primary.200"
462
+ }}
463
+ >
464
+ Item 1
465
+ </StackItem>
466
+ <StackItem
467
+ sx={{
468
+ bgcolor: "primary.200"
469
+ }}
470
+ >
471
+ Item 2
472
+ </StackItem>
473
+ <StackItem
474
+ sx={{
475
+ bgcolor: "primary.200"
476
+ }}
477
+ >
478
+ Item 3
479
+ </StackItem>
480
+ </Stack>
481
+ </Box>
482
+
483
+ <Box
484
+ sx={{
485
+ p: 2,
486
+ bgcolor: "success.50",
487
+ borderRadius: "md"
488
+ }}
489
+ >
490
+ <Typography
491
+ level="title-sm"
492
+ sx={{
493
+ mb: 2
494
+ }}
495
+ >
496
+ 또 다른 가로 스택
497
+ </Typography>
498
+ <Stack direction="row" spacing={2} justifyContent="center">
499
+ <StackItem
500
+ sx={{
501
+ bgcolor: "success.200"
502
+ }}
503
+ >
504
+ 중앙
505
+ </StackItem>
506
+ <StackItem
507
+ sx={{
508
+ bgcolor: "success.200"
509
+ }}
510
+ >
511
+ 정렬
512
+ </StackItem>
513
+ </Stack>
514
+ </Box>
515
+ </Stack>
516
+ </div>
394
517
  ```
395
518
 
396
519
  ### Real World Examples
@@ -398,242 +521,293 @@ You can nest Stack components to build more complex layouts.
398
521
  Examples that demonstrate real-world use cases.
399
522
 
400
523
  ```tsx
401
- <div style={{
402
- display: 'flex',
403
- flexDirection: 'column',
404
- gap: '3rem',
405
- maxWidth: 600
406
- }}>
407
- {/* Navigation Bar */}
408
- <div>
409
- <Typography level="title-sm" sx={{
410
- mb: 2
411
- }}>
412
- 내비게이션 바
413
- </Typography>
414
- <Stack direction="row" spacing={0} justifyContent="space-between" alignItems="center" sx={{
415
- p: 2,
416
- bgcolor: 'background.body',
417
- border: '1px solid',
418
- borderColor: 'divider',
419
- borderRadius: 'md'
420
- }}>
421
- <Typography level="title-md">로고</Typography>
422
- <Stack direction="row" spacing={2}>
423
- <Button variant="plain" size="sm">
424
-
425
- </Button>
426
- <Button variant="plain" size="sm">
427
- 소개
428
- </Button>
429
- <Button variant="plain" size="sm">
430
- 연락처
431
- </Button>
432
- </Stack>
433
- <Button size="sm">로그인</Button>
434
- </Stack>
435
- </div>
436
-
437
- {/* Profile Card */}
438
- <div>
439
- <Typography level="title-sm" sx={{
440
- mb: 2
441
- }}>
442
- 프로필 카드
443
- </Typography>
444
- <Box sx={{
445
- p: 3,
446
- bgcolor: 'background.body',
447
- border: '1px solid',
448
- borderColor: 'divider',
449
- borderRadius: 'lg'
450
- }}>
451
- <Stack spacing={2}>
452
- <Stack direction="row" spacing={2} alignItems="center">
453
- <Avatar size="lg" />
454
- <Stack spacing={0.5}>
455
- <Typography level="title-md">홍길동</Typography>
456
- <Typography level="body-sm" sx={{
457
- color: 'text.secondary'
458
- }}>
459
- 프론트엔드 개발자
460
- </Typography>
461
- </Stack>
462
- </Stack>
463
-
464
- <Typography level="body-md">
465
- 사용자 경험을 중시하는 프론트엔드 개발자입니다. React와 TypeScript를 주로 사용합니다.
466
- </Typography>
467
-
468
- <Stack direction="row" spacing={1}>
469
- <Chip size="sm" variant="soft">
470
- React
471
- </Chip>
472
- <Chip size="sm" variant="soft">
473
- TypeScript
474
- </Chip>
475
- <Chip size="sm" variant="soft">
476
- Next.js
477
- </Chip>
478
- </Stack>
479
-
480
- <Stack direction="row" spacing={1} justifyContent="flex-end">
481
- <Button size="sm" variant="outlined" startDecorator={<BookmarkIcon />}>
482
- 저장
483
- </Button>
484
- <Button size="sm" variant="outlined" startDecorator={<ShareIcon />}>
485
- 공유
486
- </Button>
487
- </Stack>
488
- </Stack>
489
- </Box>
490
- </div>
491
-
492
- {/* Article Card */}
493
- <div>
494
- <Typography level="title-sm" sx={{
495
- mb: 2
496
- }}>
497
- 아티클 카드
498
- </Typography>
499
- <Box sx={{
500
- p: 3,
501
- bgcolor: 'background.body',
502
- border: '1px solid',
503
- borderColor: 'divider',
504
- borderRadius: 'lg'
505
- }}>
506
- <Stack spacing={2}>
507
- <Stack direction="row" justifyContent="space-between" alignItems="flex-start">
508
- <Stack spacing={1}>
509
- <Typography level="title-lg">React 18의 새로운 기능들</Typography>
510
- <Typography level="body-sm" sx={{
511
- color: 'text.secondary'
512
- }}>
513
- 2024년 1월 15일 • 5분 읽기
514
- </Typography>
515
- </Stack>
516
- <Button variant="plain" size="sm" sx={{
517
- color: 'warning.500'
518
- }}>
519
- <StarIcon />
520
- </Button>
521
- </Stack>
522
-
523
- <Typography level="body-md">
524
- React 18에서 도입된 Concurrent Features와 새로운 Hooks에 대해 자세히 알아보겠습니다. Suspense,
525
- useTransition, useDeferredValue 등...
526
- </Typography>
527
-
528
- <Stack direction="row" spacing={1}>
529
- <Chip size="sm" variant="outlined">
530
- React
531
- </Chip>
532
- <Chip size="sm" variant="outlined">
533
- JavaScript
534
- </Chip>
535
- <Chip size="sm" variant="outlined">
536
- 개발
537
- </Chip>
538
- </Stack>
539
-
540
- <Stack direction="row" justifyContent="space-between" alignItems="center">
541
- <Stack direction="row" spacing={1} alignItems="center">
542
- <Avatar size="sm" />
543
- <Typography level="body-sm">김개발</Typography>
544
- </Stack>
545
- <Stack direction="row" spacing={1}>
546
- <Button size="sm" variant="plain">
547
- 좋아요 24
548
- </Button>
549
- <Button size="sm" variant="plain">
550
- 댓글 5
551
- </Button>
552
- </Stack>
553
- </Stack>
554
- </Stack>
555
- </Box>
556
- </div>
557
-
558
- {/* Form Layout */}
559
- <div>
560
- <Typography level="title-sm" sx={{
561
- mb: 2
562
- }}>
563
- 폼 레이아웃
564
- </Typography>
565
- <Box sx={{
566
- p: 3,
567
- bgcolor: 'background.body',
568
- border: '1px solid',
569
- borderColor: 'divider',
570
- borderRadius: 'lg'
571
- }}>
572
- <Stack spacing={3}>
573
- <Typography level="title-md">문의하기</Typography>
574
-
575
- <Stack spacing={2}>
576
- <Stack spacing={1}>
577
- <Typography level="body-sm" fontWeight="500">
578
- 이름
524
+ <div
525
+ style={{
526
+ display: "flex",
527
+ flexDirection: "column",
528
+ gap: "3rem",
529
+ maxWidth: 600
530
+ }}
531
+ >
532
+ {/* Navigation Bar */}
533
+ <div>
534
+ <Typography
535
+ level="title-sm"
536
+ sx={{
537
+ mb: 2
538
+ }}
539
+ >
540
+ 내비게이션
579
541
  </Typography>
580
- <Box sx={{
581
- p: 1.5,
582
- bgcolor: 'background.level1',
583
- borderRadius: 'sm'
584
- }}>
585
- <Typography level="body-sm" sx={{
586
- color: 'text.secondary'
587
- }}>
588
- 이름을 입력하세요
589
- </Typography>
590
- </Box>
591
- </Stack>
592
-
593
- <Stack spacing={1}>
594
- <Typography level="body-sm" fontWeight="500">
595
- 이메일
596
- </Typography>
597
- <Box sx={{
598
- p: 1.5,
599
- bgcolor: 'background.level1',
600
- borderRadius: 'sm'
601
- }}>
602
- <Typography level="body-sm" sx={{
603
- color: 'text.secondary'
604
- }}>
605
- 이메일을 입력하세요
606
- </Typography>
607
- </Box>
608
- </Stack>
609
-
610
- <Stack spacing={1}>
611
- <Typography level="body-sm" fontWeight="500">
612
- 메시지
613
- </Typography>
614
- <Box sx={{
615
- p: 1.5,
616
- minHeight: 80,
617
- bgcolor: 'background.level1',
618
- borderRadius: 'sm'
619
- }}>
620
- <Typography level="body-sm" sx={{
621
- color: 'text.secondary'
622
- }}>
623
- 메시지를 입력하세요
624
- </Typography>
625
- </Box>
626
- </Stack>
627
- </Stack>
628
-
629
- <Stack direction="row" spacing={2} justifyContent="flex-end">
630
- <Button variant="outlined">취소</Button>
631
- <Button>전송</Button>
632
- </Stack>
633
- </Stack>
634
- </Box>
635
- </div>
636
- </div>
542
+ <Stack
543
+ direction="row"
544
+ spacing={0}
545
+ justifyContent="space-between"
546
+ alignItems="center"
547
+ sx={{
548
+ p: 2,
549
+ bgcolor: "background.body",
550
+ border: "1px solid",
551
+ borderColor: "divider",
552
+ borderRadius: "md"
553
+ }}
554
+ >
555
+ <Typography level="title-md">로고</Typography>
556
+ <Stack direction="row" spacing={2}>
557
+ <Button variant="plain" size="sm">
558
+
559
+ </Button>
560
+ <Button variant="plain" size="sm">
561
+ 소개
562
+ </Button>
563
+ <Button variant="plain" size="sm">
564
+ 연락처
565
+ </Button>
566
+ </Stack>
567
+ <Button size="sm">로그인</Button>
568
+ </Stack>
569
+ </div>
570
+
571
+ {/* Profile Card */}
572
+ <div>
573
+ <Typography
574
+ level="title-sm"
575
+ sx={{
576
+ mb: 2
577
+ }}
578
+ >
579
+ 프로필 카드
580
+ </Typography>
581
+ <Box
582
+ sx={{
583
+ p: 3,
584
+ bgcolor: "background.body",
585
+ border: "1px solid",
586
+ borderColor: "divider",
587
+ borderRadius: "lg"
588
+ }}
589
+ >
590
+ <Stack spacing={2}>
591
+ <Stack direction="row" spacing={2} alignItems="center">
592
+ <Avatar size="lg" />
593
+ <Stack spacing={0.5}>
594
+ <Typography level="title-md">홍길동</Typography>
595
+ <Typography
596
+ level="body-sm"
597
+ sx={{
598
+ color: "text.secondary"
599
+ }}
600
+ >
601
+ 프론트엔드 개발자
602
+ </Typography>
603
+ </Stack>
604
+ </Stack>
605
+
606
+ <Typography level="body-md">
607
+ 사용자 경험을 중시하는 프론트엔드 개발자입니다. React와 TypeScript를 주로 사용합니다.
608
+ </Typography>
609
+
610
+ <Stack direction="row" spacing={1}>
611
+ <Chip size="sm" variant="soft">
612
+ React
613
+ </Chip>
614
+ <Chip size="sm" variant="soft">
615
+ TypeScript
616
+ </Chip>
617
+ <Chip size="sm" variant="soft">
618
+ Next.js
619
+ </Chip>
620
+ </Stack>
621
+
622
+ <Stack direction="row" spacing={1} justifyContent="flex-end">
623
+ <Button size="sm" variant="outlined" startDecorator={<BookmarkIcon />}>
624
+ 저장
625
+ </Button>
626
+ <Button size="sm" variant="outlined" startDecorator={<ShareIcon />}>
627
+ 공유
628
+ </Button>
629
+ </Stack>
630
+ </Stack>
631
+ </Box>
632
+ </div>
633
+
634
+ {/* Article Card */}
635
+ <div>
636
+ <Typography
637
+ level="title-sm"
638
+ sx={{
639
+ mb: 2
640
+ }}
641
+ >
642
+ 아티클 카드
643
+ </Typography>
644
+ <Box
645
+ sx={{
646
+ p: 3,
647
+ bgcolor: "background.body",
648
+ border: "1px solid",
649
+ borderColor: "divider",
650
+ borderRadius: "lg"
651
+ }}
652
+ >
653
+ <Stack spacing={2}>
654
+ <Stack direction="row" justifyContent="space-between" alignItems="flex-start">
655
+ <Stack spacing={1}>
656
+ <Typography level="title-lg">React 18의 새로운 기능들</Typography>
657
+ <Typography
658
+ level="body-sm"
659
+ sx={{
660
+ color: "text.secondary"
661
+ }}
662
+ >
663
+ 2024년 1월 15일 • 5분 읽기
664
+ </Typography>
665
+ </Stack>
666
+ <Button
667
+ variant="plain"
668
+ size="sm"
669
+ sx={{
670
+ color: "warning.500"
671
+ }}
672
+ >
673
+ <StarIcon />
674
+ </Button>
675
+ </Stack>
676
+
677
+ <Typography level="body-md">
678
+ React 18에서 도입된 Concurrent Features와 새로운 Hooks에 대해 자세히 알아보겠습니다.
679
+ Suspense, useTransition, useDeferredValue 등...
680
+ </Typography>
681
+
682
+ <Stack direction="row" spacing={1}>
683
+ <Chip size="sm" variant="outlined">
684
+ React
685
+ </Chip>
686
+ <Chip size="sm" variant="outlined">
687
+ JavaScript
688
+ </Chip>
689
+ <Chip size="sm" variant="outlined">
690
+ 개발
691
+ </Chip>
692
+ </Stack>
693
+
694
+ <Stack direction="row" justifyContent="space-between" alignItems="center">
695
+ <Stack direction="row" spacing={1} alignItems="center">
696
+ <Avatar size="sm" />
697
+ <Typography level="body-sm">김개발</Typography>
698
+ </Stack>
699
+ <Stack direction="row" spacing={1}>
700
+ <Button size="sm" variant="plain">
701
+ 좋아요 24
702
+ </Button>
703
+ <Button size="sm" variant="plain">
704
+ 댓글 5
705
+ </Button>
706
+ </Stack>
707
+ </Stack>
708
+ </Stack>
709
+ </Box>
710
+ </div>
711
+
712
+ {/* Form Layout */}
713
+ <div>
714
+ <Typography
715
+ level="title-sm"
716
+ sx={{
717
+ mb: 2
718
+ }}
719
+ >
720
+ 폼 레이아웃
721
+ </Typography>
722
+ <Box
723
+ sx={{
724
+ p: 3,
725
+ bgcolor: "background.body",
726
+ border: "1px solid",
727
+ borderColor: "divider",
728
+ borderRadius: "lg"
729
+ }}
730
+ >
731
+ <Stack spacing={3}>
732
+ <Typography level="title-md">문의하기</Typography>
733
+
734
+ <Stack spacing={2}>
735
+ <Stack spacing={1}>
736
+ <Typography level="body-sm" fontWeight="500">
737
+ 이름
738
+ </Typography>
739
+ <Box
740
+ sx={{
741
+ p: 1.5,
742
+ bgcolor: "background.level1",
743
+ borderRadius: "sm"
744
+ }}
745
+ >
746
+ <Typography
747
+ level="body-sm"
748
+ sx={{
749
+ color: "text.secondary"
750
+ }}
751
+ >
752
+ 이름을 입력하세요
753
+ </Typography>
754
+ </Box>
755
+ </Stack>
756
+
757
+ <Stack spacing={1}>
758
+ <Typography level="body-sm" fontWeight="500">
759
+ 이메일
760
+ </Typography>
761
+ <Box
762
+ sx={{
763
+ p: 1.5,
764
+ bgcolor: "background.level1",
765
+ borderRadius: "sm"
766
+ }}
767
+ >
768
+ <Typography
769
+ level="body-sm"
770
+ sx={{
771
+ color: "text.secondary"
772
+ }}
773
+ >
774
+ 이메일을 입력하세요
775
+ </Typography>
776
+ </Box>
777
+ </Stack>
778
+
779
+ <Stack spacing={1}>
780
+ <Typography level="body-sm" fontWeight="500">
781
+ 메시지
782
+ </Typography>
783
+ <Box
784
+ sx={{
785
+ p: 1.5,
786
+ minHeight: 80,
787
+ bgcolor: "background.level1",
788
+ borderRadius: "sm"
789
+ }}
790
+ >
791
+ <Typography
792
+ level="body-sm"
793
+ sx={{
794
+ color: "text.secondary"
795
+ }}
796
+ >
797
+ 메시지를 입력하세요
798
+ </Typography>
799
+ </Box>
800
+ </Stack>
801
+ </Stack>
802
+
803
+ <Stack direction="row" spacing={2} justifyContent="flex-end">
804
+ <Button variant="outlined">취소</Button>
805
+ <Button>전송</Button>
806
+ </Stack>
807
+ </Stack>
808
+ </Box>
809
+ </div>
810
+ </div>
637
811
  ```
638
812
 
639
813
  ## Key Props
@@ -724,12 +898,7 @@ Stack supports responsive values for all props:
724
898
  ### Navigation Bar
725
899
 
726
900
  ```tsx
727
- <Stack
728
- direction="row"
729
- justifyContent="space-between"
730
- alignItems="center"
731
- sx={{ p: 2 }}
732
- >
901
+ <Stack direction="row" justifyContent="space-between" alignItems="center" sx={{ p: 2 }}>
733
902
  <Typography level="title-lg">Logo</Typography>
734
903
  <Stack direction="row" spacing={2}>
735
904
  <Button variant="plain">Home</Button>
@@ -781,17 +950,21 @@ Stack supports responsive values for all props:
781
950
  <Chip variant="soft">New</Chip>
782
951
  </Stack>
783
952
 
784
- <Typography level="body-md">
785
- Product description goes here...
786
- </Typography>
953
+ <Typography level="body-md">Product description goes here...</Typography>
787
954
 
788
955
  <Stack direction="row" spacing={1}>
789
- <Chip size="sm" variant="outlined">Tag 1</Chip>
790
- <Chip size="sm" variant="outlined">Tag 2</Chip>
956
+ <Chip size="sm" variant="outlined">
957
+ Tag 1
958
+ </Chip>
959
+ <Chip size="sm" variant="outlined">
960
+ Tag 2
961
+ </Chip>
791
962
  </Stack>
792
963
 
793
964
  <Stack direction="row" justifyContent="space-between" alignItems="center">
794
- <Typography level="title-lg" color="primary">$99.99</Typography>
965
+ <Typography level="title-lg" color="primary">
966
+ $99.99
967
+ </Typography>
795
968
  <Button>Add to Cart</Button>
796
969
  </Stack>
797
970
  </Stack>
@@ -813,9 +986,7 @@ Stack supports responsive values for all props:
813
986
  </Stack>
814
987
  </Stack>
815
988
 
816
- <Typography level="body-md">
817
- Passionate about creating great user experiences...
818
- </Typography>
989
+ <Typography level="body-md">Passionate about creating great user experiences...</Typography>
819
990
 
820
991
  <Stack direction="row" spacing={1}>
821
992
  <Chip variant="soft">React</Chip>
@@ -824,7 +995,9 @@ Stack supports responsive values for all props:
824
995
  </Stack>
825
996
 
826
997
  <Stack direction="row" spacing={2}>
827
- <Button variant="outlined" fullWidth>Follow</Button>
998
+ <Button variant="outlined" fullWidth>
999
+ Follow
1000
+ </Button>
828
1001
  <Button fullWidth>Message</Button>
829
1002
  </Stack>
830
1003
  </Stack>