@ceed/ads 1.35.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.
- package/README.md +85 -95
- package/dist/components/Accordions/Accordions.d.ts +1 -0
- package/dist/components/Alert/Alert.d.ts +5 -5
- package/dist/components/Autocomplete/Autocomplete.d.ts +2 -2
- package/dist/components/Avatar/Avatar.d.ts +7 -17
- package/dist/components/Box/Box.d.ts +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +6 -5
- package/dist/components/Button/Button.d.ts +3 -2
- package/dist/components/Calendar/Calendar.d.ts +1 -0
- package/dist/components/Card/Card.d.ts +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +1 -0
- package/dist/components/Chip/Chip.d.ts +1 -0
- package/dist/components/Container/Container.d.ts +6 -1
- package/dist/components/DialogActions/DialogActions.d.ts +1 -0
- package/dist/components/DialogContent/DialogContent.d.ts +1 -0
- package/dist/components/DialogFrame/DialogFrame.d.ts +1 -1
- package/dist/components/DialogTitle/DialogTitle.d.ts +1 -0
- package/dist/components/Divider/Divider.d.ts +1 -0
- package/dist/components/Dropdown/Dropdown.d.ts +28 -1
- package/dist/components/FilterMenu/components/MonthRange.d.ts +11 -0
- package/dist/components/FilterMenu/types.d.ts +5 -1
- package/dist/components/FormControl/FormControl.d.ts +1 -0
- package/dist/components/FormHelperText/FormHelperText.d.ts +1 -0
- package/dist/components/FormLabel/FormLabel.d.ts +1 -0
- package/dist/components/Grid/Grid.d.ts +1 -0
- package/dist/components/IconButton/IconButton.d.ts +3 -2
- package/dist/components/IconMenuButton/IconMenuButton.d.ts +7 -6
- package/dist/components/InfoSign/InfoSign.d.ts +3 -2
- package/dist/components/Input/Input.d.ts +8 -22
- package/dist/components/InsetDrawer/InsetDrawer.d.ts +1 -0
- package/dist/components/Markdown/Markdown.d.ts +9 -24
- package/dist/components/Menu/Menu.d.ts +2 -1
- package/dist/components/MenuButton/MenuButton.d.ts +10 -8
- package/dist/components/Modal/Modal.d.ts +4 -2
- package/dist/components/NavigationGroup/NavigationGroup.d.ts +3 -2
- package/dist/components/NavigationItem/NavigationItem.d.ts +3 -2
- package/dist/components/Navigator/Navigator.d.ts +5 -4
- package/dist/components/Pagination/Pagination.d.ts +1 -1
- package/dist/components/ProfileMenu/ProfileMenu.d.ts +2 -2
- package/dist/components/Radio/Radio.d.ts +1 -0
- package/dist/components/RadioList/RadioList.d.ts +3 -2
- package/dist/components/Select/Select.d.ts +12 -10
- package/dist/components/Sheet/Sheet.d.ts +1 -0
- package/dist/components/Stack/Stack.d.ts +1 -0
- package/dist/components/Stepper/Stepper.d.ts +2 -1
- package/dist/components/Switch/Switch.d.ts +1 -0
- package/dist/components/Table/Table.d.ts +7 -5
- package/dist/components/Tabs/Tabs.d.ts +1 -0
- package/dist/components/Textarea/Textarea.d.ts +8 -20
- package/dist/components/ThemeProvider/ThemeProvider.d.ts +4 -2
- package/dist/components/Tooltip/Tooltip.d.ts +1 -0
- package/dist/components/Typography/Typography.d.ts +1 -0
- package/dist/components/Uploader/Uploader.d.ts +18 -17
- package/dist/components/data-display/Avatar.md +60 -72
- package/dist/components/data-display/Badge.md +197 -181
- package/dist/components/data-display/Chip.md +164 -142
- package/dist/components/data-display/DataTable.md +843 -338
- package/dist/components/data-display/InfoSign.md +1 -3
- package/dist/components/data-display/Markdown.md +93 -125
- package/dist/components/data-display/Table.md +1453 -1007
- package/dist/components/data-display/Typography.md +101 -104
- package/dist/components/feedback/Alert.md +80 -86
- package/dist/components/feedback/CircularProgress.md +32 -36
- package/dist/components/feedback/Dialog.md +25 -17
- package/dist/components/feedback/Modal.md +296 -265
- package/dist/components/feedback/Skeleton.md +125 -89
- package/dist/components/index.d.ts +60 -1
- package/dist/components/inputs/Autocomplete.md +191 -95
- package/dist/components/inputs/Button.md +83 -83
- package/dist/components/inputs/ButtonGroup.md +195 -185
- package/dist/components/inputs/Calendar.md +25 -28
- package/dist/components/inputs/Checkbox.md +11 -29
- package/dist/components/inputs/CurrencyInput.md +4 -4
- package/dist/components/inputs/DatePicker.md +229 -110
- package/dist/components/inputs/DateRangePicker.md +248 -137
- package/dist/components/inputs/FilterMenu.md +138 -8
- package/dist/components/inputs/FilterableCheckboxGroup.md +115 -55
- package/dist/components/inputs/FormControl.md +75 -69
- package/dist/components/inputs/IconButton.md +229 -205
- package/dist/components/inputs/Input.md +131 -98
- package/dist/components/inputs/MonthPicker.md +186 -84
- package/dist/components/inputs/MonthRangePicker.md +73 -49
- package/dist/components/inputs/PercentageInput.md +15 -31
- package/dist/components/inputs/RadioButton.md +320 -256
- package/dist/components/inputs/RadioList.md +66 -50
- package/dist/components/inputs/RadioTileGroup.md +287 -170
- package/dist/components/inputs/SearchBar.md +82 -60
- package/dist/components/inputs/Select.md +106 -95
- package/dist/components/inputs/Slider.md +153 -102
- package/dist/components/inputs/Switch.md +193 -138
- package/dist/components/inputs/Textarea.md +15 -20
- package/dist/components/inputs/Uploader/Uploader.md +68 -39
- package/dist/components/layout/Box.md +841 -662
- package/dist/components/layout/Container.md +3 -11
- package/dist/components/layout/Grid.md +480 -394
- package/dist/components/layout/Stack.md +739 -566
- package/dist/components/navigation/Breadcrumbs.md +182 -116
- package/dist/components/navigation/Dropdown.md +732 -391
- package/dist/components/navigation/IconMenuButton.md +14 -6
- package/dist/components/navigation/InsetDrawer.md +550 -378
- package/dist/components/navigation/Link.md +104 -94
- package/dist/components/navigation/Menu.md +623 -502
- package/dist/components/navigation/MenuButton.md +18 -10
- package/dist/components/navigation/NavigationGroup.md +19 -50
- package/dist/components/navigation/NavigationItem.md +6 -6
- package/dist/components/navigation/Navigator.md +26 -28
- package/dist/components/navigation/Pagination.md +86 -75
- package/dist/components/navigation/ProfileMenu.md +65 -43
- package/dist/components/navigation/Stepper.md +2 -12
- package/dist/components/navigation/Tabs.md +209 -183
- package/dist/components/surfaces/Accordions.md +89 -172
- package/dist/components/surfaces/Card.md +1094 -709
- package/dist/components/surfaces/Divider.md +562 -412
- package/dist/components/surfaces/Sheet.md +700 -518
- package/dist/guides/ThemeProvider.md +65 -40
- package/dist/index.browser.js +4 -4
- package/dist/index.browser.js.map +4 -4
- package/dist/index.cjs +1643 -1550
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1303 -1202
- package/framer/index.js +1 -1
- package/package.json +32 -35
|
@@ -7,14 +7,19 @@ The Card component is a UI element that groups related content and actions withi
|
|
|
7
7
|
Card is composed of five subcomponents: `Card`, `CardContent`, `CardCover`, `CardActions`, and `CardOverflow`.
|
|
8
8
|
|
|
9
9
|
```tsx
|
|
10
|
-
<Card
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
</
|
|
10
|
+
<Card
|
|
11
|
+
{...args}
|
|
12
|
+
sx={{
|
|
13
|
+
maxWidth: 320
|
|
14
|
+
}}
|
|
15
|
+
>
|
|
16
|
+
<CardContent>
|
|
17
|
+
<Typography level="title-md">Card Title</Typography>
|
|
18
|
+
<Typography level="body-sm">
|
|
19
|
+
이것은 카드의 내용입니다. 여기에 다양한 정보를 표시할 수 있습니다.
|
|
20
|
+
</Typography>
|
|
21
|
+
</CardContent>
|
|
22
|
+
</Card>
|
|
18
23
|
```
|
|
19
24
|
|
|
20
25
|
| Field | Description | Default |
|
|
@@ -45,16 +50,18 @@ function MyComponent() {
|
|
|
45
50
|
The most basic card with a title and body text.
|
|
46
51
|
|
|
47
52
|
```tsx
|
|
48
|
-
<Card
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
</
|
|
53
|
+
<Card
|
|
54
|
+
sx={{
|
|
55
|
+
maxWidth: 300
|
|
56
|
+
}}
|
|
57
|
+
>
|
|
58
|
+
<CardContent>
|
|
59
|
+
<Typography level="title-lg">기본 카드</Typography>
|
|
60
|
+
<Typography level="body-md">
|
|
61
|
+
이것은 가장 기본적인 카드 형태입니다. 제목과 내용으로 구성되어 있습니다.
|
|
62
|
+
</Typography>
|
|
63
|
+
</CardContent>
|
|
64
|
+
</Card>
|
|
58
65
|
```
|
|
59
66
|
|
|
60
67
|
## Variants
|
|
@@ -63,19 +70,28 @@ Four visual styles are available: `solid`, `soft`, `outlined` (default), and `pl
|
|
|
63
70
|
|
|
64
71
|
```tsx
|
|
65
72
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
{(["solid", "soft", "outlined", "plain"] as const).map((variant) => (
|
|
74
|
+
<Card
|
|
75
|
+
key={variant}
|
|
76
|
+
variant={variant}
|
|
77
|
+
sx={{
|
|
78
|
+
width: 200
|
|
79
|
+
}}
|
|
80
|
+
>
|
|
81
|
+
<CardContent>
|
|
82
|
+
<Typography
|
|
83
|
+
level="title-md"
|
|
84
|
+
sx={{
|
|
85
|
+
textTransform: "capitalize"
|
|
86
|
+
}}
|
|
87
|
+
>
|
|
88
|
+
{variant}
|
|
89
|
+
</Typography>
|
|
90
|
+
<Typography level="body-sm">{variant} 스타일 카드</Typography>
|
|
91
|
+
</CardContent>
|
|
92
|
+
</Card>
|
|
93
|
+
))}
|
|
94
|
+
</Stack>
|
|
79
95
|
```
|
|
80
96
|
|
|
81
97
|
## Colors
|
|
@@ -84,19 +100,29 @@ Apply a color scheme to match your UI context.
|
|
|
84
100
|
|
|
85
101
|
```tsx
|
|
86
102
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
{(["primary", "neutral", "danger", "success", "warning"] as const).map((color) => (
|
|
104
|
+
<Card
|
|
105
|
+
key={color}
|
|
106
|
+
color={color}
|
|
107
|
+
variant="soft"
|
|
108
|
+
sx={{
|
|
109
|
+
width: 180
|
|
110
|
+
}}
|
|
111
|
+
>
|
|
112
|
+
<CardContent>
|
|
113
|
+
<Typography
|
|
114
|
+
level="title-md"
|
|
115
|
+
sx={{
|
|
116
|
+
textTransform: "capitalize"
|
|
117
|
+
}}
|
|
118
|
+
>
|
|
119
|
+
{color}
|
|
120
|
+
</Typography>
|
|
121
|
+
<Typography level="body-sm">{color} 색상 카드</Typography>
|
|
122
|
+
</CardContent>
|
|
123
|
+
</Card>
|
|
124
|
+
))}
|
|
125
|
+
</Stack>
|
|
100
126
|
```
|
|
101
127
|
|
|
102
128
|
## Sizes
|
|
@@ -105,31 +131,40 @@ Three sizes control the card's internal padding: `sm`, `md` (default), and `lg`.
|
|
|
105
131
|
|
|
106
132
|
```tsx
|
|
107
133
|
<Stack direction="row" spacing={2} alignItems="flex-start" flexWrap="wrap">
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
</
|
|
116
|
-
<
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
<
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
134
|
+
<Card
|
|
135
|
+
size="sm"
|
|
136
|
+
sx={{
|
|
137
|
+
width: 220
|
|
138
|
+
}}
|
|
139
|
+
>
|
|
140
|
+
<CardContent>
|
|
141
|
+
<Typography level="title-sm">Small</Typography>
|
|
142
|
+
<Typography level="body-xs">작은 크기의 카드입니다.</Typography>
|
|
143
|
+
</CardContent>
|
|
144
|
+
</Card>
|
|
145
|
+
<Card
|
|
146
|
+
size="md"
|
|
147
|
+
sx={{
|
|
148
|
+
width: 260
|
|
149
|
+
}}
|
|
150
|
+
>
|
|
151
|
+
<CardContent>
|
|
152
|
+
<Typography level="title-md">Medium</Typography>
|
|
153
|
+
<Typography level="body-sm">중간 크기의 카드입니다.</Typography>
|
|
154
|
+
</CardContent>
|
|
155
|
+
</Card>
|
|
156
|
+
<Card
|
|
157
|
+
size="lg"
|
|
158
|
+
sx={{
|
|
159
|
+
width: 300
|
|
160
|
+
}}
|
|
161
|
+
>
|
|
162
|
+
<CardContent>
|
|
163
|
+
<Typography level="title-lg">Large</Typography>
|
|
164
|
+
<Typography level="body-md">큰 크기의 카드입니다.</Typography>
|
|
165
|
+
</CardContent>
|
|
166
|
+
</Card>
|
|
167
|
+
</Stack>
|
|
133
168
|
```
|
|
134
169
|
|
|
135
170
|
## Horizontal Layout
|
|
@@ -137,57 +172,92 @@ Three sizes control the card's internal padding: `sm`, `md` (default), and `lg`.
|
|
|
137
172
|
Set `orientation="horizontal"` to arrange the card's children in a row. Combine with `CardOverflow` for a side-by-side image and text layout.
|
|
138
173
|
|
|
139
174
|
```tsx
|
|
140
|
-
<Stack
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
</
|
|
160
|
-
</
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
175
|
+
<Stack
|
|
176
|
+
spacing={2}
|
|
177
|
+
sx={{
|
|
178
|
+
maxWidth: 500
|
|
179
|
+
}}
|
|
180
|
+
>
|
|
181
|
+
<Card orientation="horizontal" variant="outlined">
|
|
182
|
+
<CardOverflow>
|
|
183
|
+
<AspectRatio
|
|
184
|
+
ratio="1"
|
|
185
|
+
sx={{
|
|
186
|
+
width: 140
|
|
187
|
+
}}
|
|
188
|
+
>
|
|
189
|
+
<img
|
|
190
|
+
src="https://images.unsplash.com/photo-1542291026-7eec264c27ff?auto=format&fit=crop&w=280"
|
|
191
|
+
loading="lazy"
|
|
192
|
+
alt="Shoes"
|
|
193
|
+
/>
|
|
194
|
+
</AspectRatio>
|
|
195
|
+
</CardOverflow>
|
|
196
|
+
<CardContent>
|
|
197
|
+
<Typography level="title-md">운동화</Typography>
|
|
198
|
+
<Typography level="body-sm">편안하고 스타일리시한 운동화입니다.</Typography>
|
|
199
|
+
<Stack
|
|
200
|
+
direction="row"
|
|
201
|
+
spacing={1}
|
|
202
|
+
alignItems="center"
|
|
203
|
+
sx={{
|
|
204
|
+
mt: "auto"
|
|
205
|
+
}}
|
|
206
|
+
>
|
|
207
|
+
<Chip variant="outlined" color="primary" size="sm">
|
|
208
|
+
무료배송
|
|
209
|
+
</Chip>
|
|
210
|
+
<Typography level="title-sm" color="primary">
|
|
211
|
+
₩129,000
|
|
212
|
+
</Typography>
|
|
213
|
+
</Stack>
|
|
214
|
+
</CardContent>
|
|
215
|
+
<CardActions
|
|
216
|
+
sx={{
|
|
217
|
+
flexDirection: "column",
|
|
218
|
+
gap: 0.5
|
|
219
|
+
}}
|
|
220
|
+
>
|
|
221
|
+
<Button size="sm" variant="solid" color="primary">
|
|
222
|
+
구매
|
|
223
|
+
</Button>
|
|
224
|
+
<IconButton size="sm" variant="outlined" color="neutral">
|
|
225
|
+
<BookmarkAddIcon />
|
|
226
|
+
</IconButton>
|
|
227
|
+
</CardActions>
|
|
228
|
+
</Card>
|
|
171
229
|
|
|
172
|
-
<Card orientation="horizontal" variant="outlined">
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
<
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
230
|
+
<Card orientation="horizontal" variant="outlined">
|
|
231
|
+
<CardOverflow>
|
|
232
|
+
<AspectRatio
|
|
233
|
+
ratio="1"
|
|
234
|
+
sx={{
|
|
235
|
+
width: 120
|
|
236
|
+
}}
|
|
237
|
+
>
|
|
238
|
+
<img
|
|
239
|
+
src="https://images.unsplash.com/photo-1551963831-b3b1ca40c98e?auto=format&fit=crop&w=240"
|
|
240
|
+
loading="lazy"
|
|
241
|
+
alt="Breakfast"
|
|
242
|
+
/>
|
|
243
|
+
</AspectRatio>
|
|
244
|
+
</CardOverflow>
|
|
245
|
+
<CardContent>
|
|
246
|
+
<Typography level="title-sm">맛있는 아침식사</Typography>
|
|
247
|
+
<Typography level="body-xs" startDecorator={<LocationOnIcon />}>
|
|
248
|
+
서울, 한국
|
|
249
|
+
</Typography>
|
|
250
|
+
<Typography
|
|
251
|
+
level="body-xs"
|
|
252
|
+
sx={{
|
|
253
|
+
mt: 0.5
|
|
254
|
+
}}
|
|
255
|
+
>
|
|
256
|
+
건강하고 맛있는 아침 식사로 하루를 시작해보세요.
|
|
257
|
+
</Typography>
|
|
258
|
+
</CardContent>
|
|
259
|
+
</Card>
|
|
260
|
+
</Stack>
|
|
191
261
|
```
|
|
192
262
|
|
|
193
263
|
## Inverted Colors
|
|
@@ -196,25 +266,40 @@ The `invertedColors` prop automatically applies an inverted color scheme to chil
|
|
|
196
266
|
|
|
197
267
|
```tsx
|
|
198
268
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
</
|
|
269
|
+
{(["primary", "neutral", "danger"] as const).map((color) => (
|
|
270
|
+
<Card
|
|
271
|
+
key={color}
|
|
272
|
+
variant="solid"
|
|
273
|
+
color={color}
|
|
274
|
+
invertedColors
|
|
275
|
+
sx={{
|
|
276
|
+
width: 260
|
|
277
|
+
}}
|
|
278
|
+
>
|
|
279
|
+
<CardContent>
|
|
280
|
+
<Typography
|
|
281
|
+
level="title-md"
|
|
282
|
+
sx={{
|
|
283
|
+
textTransform: "capitalize"
|
|
284
|
+
}}
|
|
285
|
+
>
|
|
286
|
+
{color}
|
|
287
|
+
</Typography>
|
|
288
|
+
<Typography level="body-sm">
|
|
289
|
+
invertedColors를 사용하면 자식 컴포넌트가 자동으로 반전된 색상을 적용받습니다.
|
|
290
|
+
</Typography>
|
|
291
|
+
</CardContent>
|
|
292
|
+
<CardActions>
|
|
293
|
+
<Button variant="soft" size="sm">
|
|
294
|
+
Action
|
|
295
|
+
</Button>
|
|
296
|
+
<IconButton variant="soft" size="sm">
|
|
297
|
+
<OpenInNewIcon />
|
|
298
|
+
</IconButton>
|
|
299
|
+
</CardActions>
|
|
300
|
+
</Card>
|
|
301
|
+
))}
|
|
302
|
+
</Stack>
|
|
218
303
|
```
|
|
219
304
|
|
|
220
305
|
## Full Image Card
|
|
@@ -223,74 +308,100 @@ Use `CardOverflow` to fill the entire card with an image, then overlay `CardCont
|
|
|
223
308
|
|
|
224
309
|
```tsx
|
|
225
310
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
311
|
+
<Card
|
|
312
|
+
component="a"
|
|
313
|
+
href="#"
|
|
314
|
+
sx={{
|
|
315
|
+
width: 280,
|
|
316
|
+
height: 360,
|
|
317
|
+
boxShadow: "lg",
|
|
318
|
+
textDecoration: "none",
|
|
319
|
+
"&:hover img": {
|
|
320
|
+
transform: "scale(1.05)"
|
|
321
|
+
},
|
|
322
|
+
transition: "box-shadow 0.3s",
|
|
323
|
+
"&:hover": {
|
|
324
|
+
boxShadow: "xl"
|
|
325
|
+
}
|
|
326
|
+
}}
|
|
327
|
+
onClick={(e) => e.preventDefault()}
|
|
328
|
+
>
|
|
329
|
+
<CardCover>
|
|
330
|
+
<img
|
|
331
|
+
src="https://images.unsplash.com/photo-1527549993586-dff825b37782?auto=format&fit=crop&w=560&h=720"
|
|
332
|
+
loading="lazy"
|
|
333
|
+
alt="Mountain Peak"
|
|
334
|
+
style={{
|
|
335
|
+
transition: "transform 0.4s"
|
|
336
|
+
}}
|
|
337
|
+
/>
|
|
338
|
+
</CardCover>
|
|
339
|
+
<CardCover
|
|
340
|
+
sx={{
|
|
341
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.7) 30%, rgba(0,0,0,0) 60%)"
|
|
342
|
+
}}
|
|
343
|
+
/>
|
|
344
|
+
<CardContent
|
|
345
|
+
sx={{
|
|
346
|
+
justifyContent: "flex-end"
|
|
347
|
+
}}
|
|
348
|
+
>
|
|
349
|
+
<Typography level="title-lg" textColor="#fff">
|
|
350
|
+
Mountain Peak
|
|
351
|
+
</Typography>
|
|
352
|
+
<Typography level="body-sm" textColor="neutral.300">
|
|
353
|
+
Majestic mountain landscape
|
|
354
|
+
</Typography>
|
|
355
|
+
</CardContent>
|
|
356
|
+
</Card>
|
|
258
357
|
|
|
259
|
-
<Card
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
}}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
358
|
+
<Card
|
|
359
|
+
component="button"
|
|
360
|
+
sx={{
|
|
361
|
+
width: 280,
|
|
362
|
+
height: 360,
|
|
363
|
+
border: "none",
|
|
364
|
+
boxShadow: "lg",
|
|
365
|
+
"&:hover img": {
|
|
366
|
+
transform: "scale(1.05)"
|
|
367
|
+
},
|
|
368
|
+
"&:focus-visible": {
|
|
369
|
+
outline: "3px solid",
|
|
370
|
+
outlineColor: "primary.500",
|
|
371
|
+
outlineOffset: 2
|
|
372
|
+
},
|
|
373
|
+
cursor: "pointer"
|
|
374
|
+
}}
|
|
375
|
+
>
|
|
376
|
+
<CardCover>
|
|
377
|
+
<img
|
|
378
|
+
src="https://images.unsplash.com/photo-1502657877623-f66bf489d236?auto=format&fit=crop&w=560&h=720"
|
|
379
|
+
loading="lazy"
|
|
380
|
+
alt="Night view"
|
|
381
|
+
style={{
|
|
382
|
+
transition: "transform 0.4s"
|
|
383
|
+
}}
|
|
384
|
+
/>
|
|
385
|
+
</CardCover>
|
|
386
|
+
<CardCover
|
|
387
|
+
sx={{
|
|
388
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.8) 20%, rgba(0,0,0,0) 50%)"
|
|
389
|
+
}}
|
|
390
|
+
/>
|
|
391
|
+
<CardContent
|
|
392
|
+
sx={{
|
|
393
|
+
justifyContent: "flex-end"
|
|
394
|
+
}}
|
|
395
|
+
>
|
|
396
|
+
<Typography level="title-lg" textColor="#fff">
|
|
397
|
+
Night View
|
|
398
|
+
</Typography>
|
|
399
|
+
<Typography level="body-sm" textColor="neutral.300">
|
|
400
|
+
A stunning cityscape
|
|
401
|
+
</Typography>
|
|
402
|
+
</CardContent>
|
|
403
|
+
</Card>
|
|
404
|
+
</Stack>
|
|
294
405
|
```
|
|
295
406
|
|
|
296
407
|
## CardContent
|
|
@@ -312,50 +423,70 @@ Use `CardOverflow` to fill the entire card with an image, then overlay `CardCont
|
|
|
312
423
|
|
|
313
424
|
```tsx
|
|
314
425
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
426
|
+
<Card
|
|
427
|
+
sx={{
|
|
428
|
+
width: 320,
|
|
429
|
+
boxShadow: "lg"
|
|
430
|
+
}}
|
|
431
|
+
>
|
|
432
|
+
<CardCover>
|
|
433
|
+
<img
|
|
434
|
+
src="https://images.unsplash.com/photo-1502657877623-f66bf489d236?auto=format&fit=crop&w=640"
|
|
435
|
+
loading="lazy"
|
|
436
|
+
alt="Night view"
|
|
437
|
+
/>
|
|
438
|
+
</CardCover>
|
|
439
|
+
<CardCover
|
|
440
|
+
sx={{
|
|
441
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0) 200px)"
|
|
442
|
+
}}
|
|
443
|
+
/>
|
|
444
|
+
<CardContent
|
|
445
|
+
sx={{
|
|
446
|
+
justifyContent: "flex-end"
|
|
447
|
+
}}
|
|
448
|
+
>
|
|
449
|
+
<Typography level="title-lg" textColor="#fff">
|
|
450
|
+
Beautiful Night View
|
|
451
|
+
</Typography>
|
|
452
|
+
<Typography level="body-sm" textColor="neutral.300">
|
|
453
|
+
A stunning cityscape at night
|
|
454
|
+
</Typography>
|
|
455
|
+
</CardContent>
|
|
456
|
+
</Card>
|
|
336
457
|
|
|
337
|
-
<Card
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
<
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
<
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
458
|
+
<Card
|
|
459
|
+
sx={{
|
|
460
|
+
width: 320,
|
|
461
|
+
boxShadow: "lg"
|
|
462
|
+
}}
|
|
463
|
+
>
|
|
464
|
+
<CardCover>
|
|
465
|
+
<img
|
|
466
|
+
src="https://images.unsplash.com/photo-1527549993586-dff825b37782?auto=format&fit=crop&w=640"
|
|
467
|
+
loading="lazy"
|
|
468
|
+
alt="Mountain"
|
|
469
|
+
/>
|
|
470
|
+
</CardCover>
|
|
471
|
+
<CardCover
|
|
472
|
+
sx={{
|
|
473
|
+
background: "linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0) 200px)"
|
|
474
|
+
}}
|
|
475
|
+
/>
|
|
476
|
+
<CardContent
|
|
477
|
+
sx={{
|
|
478
|
+
justifyContent: "flex-end"
|
|
479
|
+
}}
|
|
480
|
+
>
|
|
481
|
+
<Typography level="title-lg" textColor="#fff">
|
|
482
|
+
Mountain Peak
|
|
483
|
+
</Typography>
|
|
484
|
+
<Typography level="body-sm" textColor="neutral.300">
|
|
485
|
+
Majestic mountain landscape
|
|
486
|
+
</Typography>
|
|
487
|
+
</CardContent>
|
|
488
|
+
</Card>
|
|
489
|
+
</Stack>
|
|
359
490
|
```
|
|
360
491
|
|
|
361
492
|
```tsx
|
|
@@ -375,53 +506,63 @@ Use `CardOverflow` to fill the entire card with an image, then overlay `CardCont
|
|
|
375
506
|
|
|
376
507
|
```tsx
|
|
377
508
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
</
|
|
509
|
+
<Card
|
|
510
|
+
sx={{
|
|
511
|
+
width: 320
|
|
512
|
+
}}
|
|
513
|
+
>
|
|
514
|
+
<CardContent>
|
|
515
|
+
<Typography level="title-lg">게시물</Typography>
|
|
516
|
+
<Typography level="body-md">
|
|
517
|
+
이것은 액션 버튼이 있는 카드입니다. 하단에 다양한 액션을 수행할 수 있는 버튼들이 있습니다.
|
|
518
|
+
</Typography>
|
|
519
|
+
</CardContent>
|
|
520
|
+
<CardActions>
|
|
521
|
+
<Button variant="soft" size="sm">
|
|
522
|
+
좋아요
|
|
523
|
+
</Button>
|
|
524
|
+
<Button variant="soft" size="sm">
|
|
525
|
+
공유하기
|
|
526
|
+
</Button>
|
|
527
|
+
<Button variant="soft" size="sm">
|
|
528
|
+
더보기
|
|
529
|
+
</Button>
|
|
530
|
+
</CardActions>
|
|
531
|
+
</Card>
|
|
399
532
|
|
|
400
|
-
<Card
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
<
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
</
|
|
415
|
-
|
|
416
|
-
|
|
533
|
+
<Card
|
|
534
|
+
sx={{
|
|
535
|
+
width: 320
|
|
536
|
+
}}
|
|
537
|
+
>
|
|
538
|
+
<CardContent>
|
|
539
|
+
<Typography level="title-lg">설정</Typography>
|
|
540
|
+
<Typography level="body-md">
|
|
541
|
+
설정을 변경하시겠습니까? 이 작업은 되돌릴 수 없습니다.
|
|
542
|
+
</Typography>
|
|
543
|
+
</CardContent>
|
|
544
|
+
<CardActions buttonFlex={1}>
|
|
545
|
+
<Button variant="outlined" color="neutral">
|
|
546
|
+
취소
|
|
547
|
+
</Button>
|
|
548
|
+
<Button variant="solid" color="primary">
|
|
549
|
+
확인
|
|
550
|
+
</Button>
|
|
551
|
+
</CardActions>
|
|
552
|
+
</Card>
|
|
553
|
+
</Stack>
|
|
417
554
|
```
|
|
418
555
|
|
|
419
556
|
```tsx
|
|
420
557
|
<Card>
|
|
421
558
|
<CardContent>...</CardContent>
|
|
422
559
|
<CardActions buttonFlex={1}>
|
|
423
|
-
<Button variant="outlined" color="neutral">
|
|
424
|
-
|
|
560
|
+
<Button variant="outlined" color="neutral">
|
|
561
|
+
Cancel
|
|
562
|
+
</Button>
|
|
563
|
+
<Button variant="solid" color="primary">
|
|
564
|
+
Confirm
|
|
565
|
+
</Button>
|
|
425
566
|
</CardActions>
|
|
426
567
|
</Card>
|
|
427
568
|
```
|
|
@@ -432,113 +573,164 @@ Use `CardOverflow` to fill the entire card with an image, then overlay `CardCont
|
|
|
432
573
|
|
|
433
574
|
```tsx
|
|
434
575
|
<Stack direction="row" spacing={3} alignItems="flex-start" flexWrap="wrap">
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
</Typography>
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
</
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
<
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
</
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
<
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
<
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
<
|
|
524
|
-
|
|
525
|
-
</
|
|
526
|
-
</
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
<
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
</
|
|
541
|
-
|
|
576
|
+
<Box>
|
|
577
|
+
<Typography
|
|
578
|
+
level="body-sm"
|
|
579
|
+
sx={{
|
|
580
|
+
mb: 2,
|
|
581
|
+
textAlign: "center"
|
|
582
|
+
}}
|
|
583
|
+
>
|
|
584
|
+
일반 Card (패딩 있음)
|
|
585
|
+
</Typography>
|
|
586
|
+
<Card
|
|
587
|
+
variant="outlined"
|
|
588
|
+
sx={{
|
|
589
|
+
width: 260
|
|
590
|
+
}}
|
|
591
|
+
>
|
|
592
|
+
<CardContent
|
|
593
|
+
sx={{
|
|
594
|
+
bgcolor: "background.level1"
|
|
595
|
+
}}
|
|
596
|
+
>
|
|
597
|
+
<AspectRatio
|
|
598
|
+
ratio="16/9"
|
|
599
|
+
sx={{
|
|
600
|
+
borderRadius: "xs"
|
|
601
|
+
}}
|
|
602
|
+
>
|
|
603
|
+
<img
|
|
604
|
+
src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=520"
|
|
605
|
+
loading="lazy"
|
|
606
|
+
alt="Profile"
|
|
607
|
+
/>
|
|
608
|
+
</AspectRatio>
|
|
609
|
+
</CardContent>
|
|
610
|
+
<CardContent>
|
|
611
|
+
<Typography level="title-md">John Doe</Typography>
|
|
612
|
+
<Typography level="body-sm">Software Engineer</Typography>
|
|
613
|
+
</CardContent>
|
|
614
|
+
<CardActions>
|
|
615
|
+
<Button size="sm" variant="soft">
|
|
616
|
+
팔로우
|
|
617
|
+
</Button>
|
|
618
|
+
<Button size="sm" variant="solid">
|
|
619
|
+
메시지
|
|
620
|
+
</Button>
|
|
621
|
+
</CardActions>
|
|
622
|
+
</Card>
|
|
623
|
+
</Box>
|
|
624
|
+
|
|
625
|
+
<Box>
|
|
626
|
+
<Typography
|
|
627
|
+
level="body-sm"
|
|
628
|
+
sx={{
|
|
629
|
+
mb: 2,
|
|
630
|
+
textAlign: "center"
|
|
631
|
+
}}
|
|
632
|
+
>
|
|
633
|
+
CardOverflow 사용 (패딩 무시)
|
|
634
|
+
</Typography>
|
|
635
|
+
<Card
|
|
636
|
+
variant="outlined"
|
|
637
|
+
sx={{
|
|
638
|
+
width: 260
|
|
639
|
+
}}
|
|
640
|
+
>
|
|
641
|
+
<CardOverflow>
|
|
642
|
+
<AspectRatio ratio="16/9">
|
|
643
|
+
<img
|
|
644
|
+
src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&w=520"
|
|
645
|
+
loading="lazy"
|
|
646
|
+
alt="Profile"
|
|
647
|
+
/>
|
|
648
|
+
</AspectRatio>
|
|
649
|
+
</CardOverflow>
|
|
650
|
+
<CardContent>
|
|
651
|
+
<Typography level="title-md">John Doe</Typography>
|
|
652
|
+
<Typography level="body-sm">Software Engineer</Typography>
|
|
653
|
+
</CardContent>
|
|
654
|
+
<CardOverflow
|
|
655
|
+
variant="soft"
|
|
656
|
+
sx={{
|
|
657
|
+
bgcolor: "background.level1"
|
|
658
|
+
}}
|
|
659
|
+
>
|
|
660
|
+
<CardActions buttonFlex={1}>
|
|
661
|
+
<Button size="sm" variant="soft">
|
|
662
|
+
팔로우
|
|
663
|
+
</Button>
|
|
664
|
+
<Button size="sm" variant="solid">
|
|
665
|
+
메시지
|
|
666
|
+
</Button>
|
|
667
|
+
</CardActions>
|
|
668
|
+
</CardOverflow>
|
|
669
|
+
</Card>
|
|
670
|
+
</Box>
|
|
671
|
+
|
|
672
|
+
<Box>
|
|
673
|
+
<Typography
|
|
674
|
+
level="body-sm"
|
|
675
|
+
sx={{
|
|
676
|
+
mb: 2,
|
|
677
|
+
textAlign: "center"
|
|
678
|
+
}}
|
|
679
|
+
>
|
|
680
|
+
다양한 CardOverflow 활용
|
|
681
|
+
</Typography>
|
|
682
|
+
<Card
|
|
683
|
+
variant="outlined"
|
|
684
|
+
sx={{
|
|
685
|
+
width: 260
|
|
686
|
+
}}
|
|
687
|
+
>
|
|
688
|
+
<CardOverflow>
|
|
689
|
+
<AspectRatio ratio="3">
|
|
690
|
+
<Box
|
|
691
|
+
sx={{
|
|
692
|
+
background: "linear-gradient(45deg, #2196F3 30%, #21CBF3 90%)",
|
|
693
|
+
display: "flex",
|
|
694
|
+
alignItems: "center",
|
|
695
|
+
justifyContent: "center"
|
|
696
|
+
}}
|
|
697
|
+
>
|
|
698
|
+
<Typography level="title-lg" textColor="white">
|
|
699
|
+
HEADER OVERFLOW
|
|
700
|
+
</Typography>
|
|
701
|
+
</Box>
|
|
702
|
+
</AspectRatio>
|
|
703
|
+
</CardOverflow>
|
|
704
|
+
<CardContent
|
|
705
|
+
sx={{
|
|
706
|
+
textAlign: "center"
|
|
707
|
+
}}
|
|
708
|
+
>
|
|
709
|
+
<Typography level="title-md">카드 제목</Typography>
|
|
710
|
+
<Typography level="body-sm">
|
|
711
|
+
CardOverflow를 사용하면 카드의 패딩을 무시하고 전체 너비를 활용할 수 있습니다.
|
|
712
|
+
</Typography>
|
|
713
|
+
</CardContent>
|
|
714
|
+
<CardOverflow
|
|
715
|
+
variant="plain"
|
|
716
|
+
sx={{
|
|
717
|
+
bgcolor: "warning.50"
|
|
718
|
+
}}
|
|
719
|
+
>
|
|
720
|
+
<Divider inset="context" />
|
|
721
|
+
<CardContent
|
|
722
|
+
sx={{
|
|
723
|
+
py: 1.5
|
|
724
|
+
}}
|
|
725
|
+
>
|
|
726
|
+
<Typography level="body-xs" textAlign="center" color="warning">
|
|
727
|
+
이 영역도 CardOverflow로 만들어졌습니다
|
|
728
|
+
</Typography>
|
|
729
|
+
</CardContent>
|
|
730
|
+
</CardOverflow>
|
|
731
|
+
</Card>
|
|
732
|
+
</Box>
|
|
733
|
+
</Stack>
|
|
542
734
|
```
|
|
543
735
|
|
|
544
736
|
```tsx
|
|
@@ -558,36 +750,45 @@ Clickable cards with hover effects using CSS transitions.
|
|
|
558
750
|
|
|
559
751
|
```tsx
|
|
560
752
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
753
|
+
<Card
|
|
754
|
+
variant="outlined"
|
|
755
|
+
sx={{
|
|
756
|
+
width: 320,
|
|
757
|
+
cursor: "pointer",
|
|
758
|
+
transition: "box-shadow 0.2s, border-color 0.2s",
|
|
759
|
+
"&:hover": {
|
|
760
|
+
boxShadow: "md",
|
|
761
|
+
borderColor: "primary.outlinedHoverBorder"
|
|
762
|
+
}
|
|
763
|
+
}}
|
|
764
|
+
>
|
|
765
|
+
<CardContent>
|
|
766
|
+
<Typography level="title-md">클릭 가능한 카드</Typography>
|
|
767
|
+
<Typography level="body-sm">
|
|
768
|
+
이 카드를 클릭하면 액션이 실행됩니다. 호버 효과도 확인해보세요.
|
|
769
|
+
</Typography>
|
|
770
|
+
</CardContent>
|
|
771
|
+
</Card>
|
|
575
772
|
|
|
576
|
-
<Card
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
773
|
+
<Card
|
|
774
|
+
variant="soft"
|
|
775
|
+
color="primary"
|
|
776
|
+
sx={{
|
|
777
|
+
width: 320,
|
|
778
|
+
cursor: "pointer",
|
|
779
|
+
transition: "transform 0.2s, box-shadow 0.2s",
|
|
780
|
+
"&:hover": {
|
|
781
|
+
transform: "translateY(-2px)",
|
|
782
|
+
boxShadow: "md"
|
|
783
|
+
}
|
|
784
|
+
}}
|
|
785
|
+
>
|
|
786
|
+
<CardContent>
|
|
787
|
+
<Typography level="title-md">호버 애니메이션</Typography>
|
|
788
|
+
<Typography level="body-sm">마우스를 올리면 카드가 살짝 올라갑니다.</Typography>
|
|
789
|
+
</CardContent>
|
|
790
|
+
</Card>
|
|
791
|
+
</Stack>
|
|
591
792
|
```
|
|
592
793
|
|
|
593
794
|
## Media Cards
|
|
@@ -596,93 +797,145 @@ Product and food cards combining `CardOverflow`, `CardContent`, and `CardActions
|
|
|
596
797
|
|
|
597
798
|
```tsx
|
|
598
799
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
</
|
|
618
|
-
|
|
619
|
-
<
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
800
|
+
<Card
|
|
801
|
+
sx={{
|
|
802
|
+
width: 320,
|
|
803
|
+
boxShadow: "lg"
|
|
804
|
+
}}
|
|
805
|
+
>
|
|
806
|
+
<CardOverflow>
|
|
807
|
+
<AspectRatio
|
|
808
|
+
sx={{
|
|
809
|
+
minWidth: 200
|
|
810
|
+
}}
|
|
811
|
+
>
|
|
812
|
+
<img
|
|
813
|
+
src="https://images.unsplash.com/photo-1542291026-7eec264c27ff?auto=format&fit=crop&w=640"
|
|
814
|
+
loading="lazy"
|
|
815
|
+
alt="Shoes"
|
|
816
|
+
/>
|
|
817
|
+
</AspectRatio>
|
|
818
|
+
</CardOverflow>
|
|
819
|
+
<CardContent>
|
|
820
|
+
<Typography level="title-lg">운동화</Typography>
|
|
821
|
+
<Typography level="body-sm">편안하고 스타일리시한 운동화입니다.</Typography>
|
|
822
|
+
<Typography
|
|
823
|
+
level="title-lg"
|
|
824
|
+
color="primary"
|
|
825
|
+
sx={{
|
|
826
|
+
mt: 0.5
|
|
827
|
+
}}
|
|
828
|
+
>
|
|
829
|
+
₩129,000
|
|
830
|
+
</Typography>
|
|
831
|
+
</CardContent>
|
|
832
|
+
<CardOverflow>
|
|
833
|
+
<Divider inset="context" />
|
|
834
|
+
<CardContent
|
|
835
|
+
orientation="horizontal"
|
|
836
|
+
sx={{
|
|
837
|
+
justifyContent: "space-between"
|
|
838
|
+
}}
|
|
839
|
+
>
|
|
840
|
+
<Typography level="body-xs" color="neutral">
|
|
841
|
+
무료배송
|
|
842
|
+
</Typography>
|
|
843
|
+
<Typography level="body-xs" color="neutral">
|
|
844
|
+
1,204 리뷰
|
|
845
|
+
</Typography>
|
|
846
|
+
</CardContent>
|
|
847
|
+
</CardOverflow>
|
|
848
|
+
</Card>
|
|
629
849
|
|
|
630
|
-
<Card
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
<
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
850
|
+
<Card
|
|
851
|
+
sx={{
|
|
852
|
+
width: 320,
|
|
853
|
+
boxShadow: "lg"
|
|
854
|
+
}}
|
|
855
|
+
>
|
|
856
|
+
<CardOverflow>
|
|
857
|
+
<AspectRatio
|
|
858
|
+
sx={{
|
|
859
|
+
minWidth: 200
|
|
860
|
+
}}
|
|
861
|
+
>
|
|
862
|
+
<img
|
|
863
|
+
src="https://images.unsplash.com/photo-1551963831-b3b1ca40c98e?auto=format&fit=crop&w=640"
|
|
864
|
+
loading="lazy"
|
|
865
|
+
alt="Breakfast"
|
|
866
|
+
/>
|
|
867
|
+
</AspectRatio>
|
|
868
|
+
<IconButton
|
|
869
|
+
variant="solid"
|
|
870
|
+
color="danger"
|
|
871
|
+
size="md"
|
|
872
|
+
sx={{
|
|
873
|
+
position: "absolute",
|
|
874
|
+
zIndex: 2,
|
|
875
|
+
borderRadius: "50%",
|
|
876
|
+
right: "1rem",
|
|
877
|
+
bottom: 0,
|
|
878
|
+
transform: "translateY(50%)"
|
|
879
|
+
}}
|
|
880
|
+
>
|
|
881
|
+
<FavoriteIcon />
|
|
882
|
+
</IconButton>
|
|
883
|
+
</CardOverflow>
|
|
884
|
+
<CardContent>
|
|
885
|
+
<Stack direction="row" justifyContent="space-between" alignItems="center">
|
|
886
|
+
<Typography level="title-lg">맛있는 아침식사</Typography>
|
|
887
|
+
<IconButton variant="plain" color="neutral" size="sm">
|
|
888
|
+
<MoreVertIcon />
|
|
889
|
+
</IconButton>
|
|
890
|
+
</Stack>
|
|
891
|
+
<Typography level="body-xs" startDecorator={<LocationOnIcon />}>
|
|
892
|
+
서울, 한국
|
|
893
|
+
</Typography>
|
|
894
|
+
<Typography
|
|
895
|
+
level="body-sm"
|
|
896
|
+
sx={{
|
|
897
|
+
mt: 0.5
|
|
898
|
+
}}
|
|
899
|
+
>
|
|
900
|
+
건강하고 맛있는 아침 식사로 하루를 시작해보세요.
|
|
901
|
+
</Typography>
|
|
902
|
+
</CardContent>
|
|
903
|
+
<CardOverflow>
|
|
904
|
+
<Divider inset="context" />
|
|
905
|
+
<CardContent
|
|
906
|
+
orientation="horizontal"
|
|
907
|
+
sx={{
|
|
908
|
+
justifyContent: "space-between"
|
|
909
|
+
}}
|
|
910
|
+
>
|
|
911
|
+
<Typography
|
|
912
|
+
level="body-xs"
|
|
913
|
+
startDecorator={
|
|
914
|
+
<FavoriteIcon
|
|
915
|
+
sx={{
|
|
916
|
+
fontSize: 16
|
|
917
|
+
}}
|
|
918
|
+
/>
|
|
919
|
+
}
|
|
920
|
+
>
|
|
921
|
+
1.2K
|
|
922
|
+
</Typography>
|
|
923
|
+
<Typography
|
|
924
|
+
level="body-xs"
|
|
925
|
+
startDecorator={
|
|
926
|
+
<ShareIcon
|
|
927
|
+
sx={{
|
|
928
|
+
fontSize: 16
|
|
929
|
+
}}
|
|
930
|
+
/>
|
|
931
|
+
}
|
|
932
|
+
>
|
|
933
|
+
공유
|
|
934
|
+
</Typography>
|
|
935
|
+
</CardContent>
|
|
936
|
+
</CardOverflow>
|
|
937
|
+
</Card>
|
|
657
938
|
</Stack>
|
|
658
|
-
<Typography level="body-xs" startDecorator={<LocationOnIcon />}>
|
|
659
|
-
서울, 한국
|
|
660
|
-
</Typography>
|
|
661
|
-
<Typography level="body-sm" sx={{
|
|
662
|
-
mt: 0.5
|
|
663
|
-
}}>
|
|
664
|
-
건강하고 맛있는 아침 식사로 하루를 시작해보세요.
|
|
665
|
-
</Typography>
|
|
666
|
-
</CardContent>
|
|
667
|
-
<CardOverflow>
|
|
668
|
-
<Divider inset="context" />
|
|
669
|
-
<CardContent orientation="horizontal" sx={{
|
|
670
|
-
justifyContent: 'space-between'
|
|
671
|
-
}}>
|
|
672
|
-
<Typography level="body-xs" startDecorator={<FavoriteIcon sx={{
|
|
673
|
-
fontSize: 16
|
|
674
|
-
}} />}>
|
|
675
|
-
1.2K
|
|
676
|
-
</Typography>
|
|
677
|
-
<Typography level="body-xs" startDecorator={<ShareIcon sx={{
|
|
678
|
-
fontSize: 16
|
|
679
|
-
}} />}>
|
|
680
|
-
공유
|
|
681
|
-
</Typography>
|
|
682
|
-
</CardContent>
|
|
683
|
-
</CardOverflow>
|
|
684
|
-
</Card>
|
|
685
|
-
</Stack>
|
|
686
939
|
```
|
|
687
940
|
|
|
688
941
|
## Complex Layout
|
|
@@ -690,227 +943,359 @@ Product and food cards combining `CardOverflow`, `CardContent`, and `CardActions
|
|
|
690
943
|
A social-media-style card with avatar, text, inline image, and engagement buttons.
|
|
691
944
|
|
|
692
945
|
```tsx
|
|
693
|
-
<Card
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
<
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
</
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
<
|
|
729
|
-
<
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
</
|
|
736
|
-
</
|
|
946
|
+
<Card
|
|
947
|
+
sx={{
|
|
948
|
+
width: 400,
|
|
949
|
+
maxWidth: "100%"
|
|
950
|
+
}}
|
|
951
|
+
>
|
|
952
|
+
<CardContent>
|
|
953
|
+
<Stack
|
|
954
|
+
direction="row"
|
|
955
|
+
spacing={1.5}
|
|
956
|
+
alignItems="center"
|
|
957
|
+
sx={{
|
|
958
|
+
mb: 1.5
|
|
959
|
+
}}
|
|
960
|
+
>
|
|
961
|
+
<Avatar size="sm" src="https://i.pravatar.cc/40?img=1" />
|
|
962
|
+
<Box
|
|
963
|
+
sx={{
|
|
964
|
+
flex: 1
|
|
965
|
+
}}
|
|
966
|
+
>
|
|
967
|
+
<Typography level="title-sm">김철수</Typography>
|
|
968
|
+
<Typography level="body-xs" color="neutral">
|
|
969
|
+
5분 전
|
|
970
|
+
</Typography>
|
|
971
|
+
</Box>
|
|
972
|
+
<IconButton variant="plain" color="neutral" size="sm">
|
|
973
|
+
<MoreVertIcon />
|
|
974
|
+
</IconButton>
|
|
975
|
+
</Stack>
|
|
976
|
+
<Typography level="body-md">
|
|
977
|
+
오늘 정말 좋은 하루였습니다! 새로운 프로젝트를 시작했는데 너무 흥미진진해요. 팀원들과의
|
|
978
|
+
협업도 잘 되고 있고, 앞으로가 기대됩니다.
|
|
979
|
+
</Typography>
|
|
980
|
+
</CardContent>
|
|
981
|
+
<CardOverflow>
|
|
982
|
+
<AspectRatio ratio="2">
|
|
983
|
+
<img
|
|
984
|
+
src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800"
|
|
985
|
+
loading="lazy"
|
|
986
|
+
alt="Team work"
|
|
987
|
+
/>
|
|
988
|
+
</AspectRatio>
|
|
989
|
+
</CardOverflow>
|
|
990
|
+
<CardContent>
|
|
991
|
+
<Stack direction="row" spacing={1} alignItems="center">
|
|
992
|
+
<IconButton variant="plain" color="neutral" size="sm">
|
|
993
|
+
<FavoriteIcon />
|
|
994
|
+
</IconButton>
|
|
995
|
+
<Typography level="body-xs">12</Typography>
|
|
996
|
+
<IconButton variant="plain" color="neutral" size="sm">
|
|
997
|
+
<ShareIcon />
|
|
998
|
+
</IconButton>
|
|
999
|
+
<Typography
|
|
1000
|
+
level="body-xs"
|
|
1001
|
+
sx={{
|
|
1002
|
+
ml: "auto"
|
|
1003
|
+
}}
|
|
1004
|
+
color="neutral"
|
|
1005
|
+
>
|
|
1006
|
+
댓글 3개
|
|
1007
|
+
</Typography>
|
|
1008
|
+
</Stack>
|
|
1009
|
+
</CardContent>
|
|
1010
|
+
</Card>
|
|
737
1011
|
```
|
|
738
1012
|
|
|
739
1013
|
## Product Card
|
|
740
1014
|
|
|
741
1015
|
```tsx
|
|
742
|
-
<Card
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
</
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
1016
|
+
<Card
|
|
1017
|
+
sx={{
|
|
1018
|
+
width: 320,
|
|
1019
|
+
maxWidth: "100%",
|
|
1020
|
+
boxShadow: "lg"
|
|
1021
|
+
}}
|
|
1022
|
+
>
|
|
1023
|
+
<CardOverflow>
|
|
1024
|
+
<AspectRatio
|
|
1025
|
+
sx={{
|
|
1026
|
+
minWidth: 200
|
|
1027
|
+
}}
|
|
1028
|
+
>
|
|
1029
|
+
<img
|
|
1030
|
+
src="https://images.unsplash.com/photo-1542291026-7eec264c27ff?auto=format&fit=crop&w=640"
|
|
1031
|
+
loading="lazy"
|
|
1032
|
+
alt="Shoes"
|
|
1033
|
+
/>
|
|
1034
|
+
</AspectRatio>
|
|
1035
|
+
</CardOverflow>
|
|
1036
|
+
<CardContent>
|
|
1037
|
+
<Stack direction="row" justifyContent="space-between" alignItems="flex-start">
|
|
1038
|
+
<Typography level="title-lg">운동화</Typography>
|
|
1039
|
+
<IconButton variant="plain" color="neutral" size="sm">
|
|
1040
|
+
<BookmarkAddIcon />
|
|
1041
|
+
</IconButton>
|
|
1042
|
+
</Stack>
|
|
1043
|
+
<Typography level="body-sm">편안하고 스타일리시한 운동화입니다.</Typography>
|
|
1044
|
+
<Typography
|
|
1045
|
+
level="title-lg"
|
|
1046
|
+
color="primary"
|
|
1047
|
+
sx={{
|
|
1048
|
+
mt: 1
|
|
1049
|
+
}}
|
|
1050
|
+
>
|
|
1051
|
+
₩129,000
|
|
1052
|
+
</Typography>
|
|
1053
|
+
</CardContent>
|
|
1054
|
+
<CardOverflow>
|
|
1055
|
+
<Button
|
|
1056
|
+
variant="solid"
|
|
1057
|
+
color="primary"
|
|
1058
|
+
size="lg"
|
|
1059
|
+
sx={{
|
|
1060
|
+
borderRadius: 0
|
|
1061
|
+
}}
|
|
1062
|
+
>
|
|
1063
|
+
구매하기
|
|
1064
|
+
</Button>
|
|
1065
|
+
</CardOverflow>
|
|
1066
|
+
</Card>
|
|
776
1067
|
```
|
|
777
1068
|
|
|
778
1069
|
## Profile Card
|
|
779
1070
|
|
|
780
1071
|
```tsx
|
|
781
|
-
<Card
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
<
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
}}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
<Typography
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
1072
|
+
<Card
|
|
1073
|
+
sx={{
|
|
1074
|
+
width: 300,
|
|
1075
|
+
maxWidth: "100%",
|
|
1076
|
+
boxShadow: "lg"
|
|
1077
|
+
}}
|
|
1078
|
+
>
|
|
1079
|
+
<CardOverflow>
|
|
1080
|
+
<AspectRatio ratio="3">
|
|
1081
|
+
<Box
|
|
1082
|
+
sx={{
|
|
1083
|
+
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
|
|
1084
|
+
}}
|
|
1085
|
+
/>
|
|
1086
|
+
</AspectRatio>
|
|
1087
|
+
</CardOverflow>
|
|
1088
|
+
<CardContent
|
|
1089
|
+
sx={{
|
|
1090
|
+
alignItems: "center",
|
|
1091
|
+
textAlign: "center",
|
|
1092
|
+
mt: -5
|
|
1093
|
+
}}
|
|
1094
|
+
>
|
|
1095
|
+
<Avatar
|
|
1096
|
+
size="lg"
|
|
1097
|
+
src="https://i.pravatar.cc/80?img=3"
|
|
1098
|
+
sx={{
|
|
1099
|
+
"--Avatar-size": "64px",
|
|
1100
|
+
border: "3px solid",
|
|
1101
|
+
borderColor: "background.surface"
|
|
1102
|
+
}}
|
|
1103
|
+
/>
|
|
1104
|
+
<Typography
|
|
1105
|
+
level="title-lg"
|
|
1106
|
+
sx={{
|
|
1107
|
+
mt: 1
|
|
1108
|
+
}}
|
|
1109
|
+
>
|
|
1110
|
+
Jane Smith
|
|
1111
|
+
</Typography>
|
|
1112
|
+
<Typography level="body-sm" color="neutral">
|
|
1113
|
+
Product Designer
|
|
1114
|
+
</Typography>
|
|
1115
|
+
<Stack
|
|
1116
|
+
direction="row"
|
|
1117
|
+
spacing={3}
|
|
1118
|
+
sx={{
|
|
1119
|
+
mt: 1
|
|
1120
|
+
}}
|
|
1121
|
+
>
|
|
1122
|
+
<Box
|
|
1123
|
+
sx={{
|
|
1124
|
+
textAlign: "center"
|
|
1125
|
+
}}
|
|
1126
|
+
>
|
|
1127
|
+
<Typography level="title-sm">128</Typography>
|
|
1128
|
+
<Typography level="body-xs" color="neutral">
|
|
1129
|
+
게시물
|
|
1130
|
+
</Typography>
|
|
1131
|
+
</Box>
|
|
1132
|
+
<Box
|
|
1133
|
+
sx={{
|
|
1134
|
+
textAlign: "center"
|
|
1135
|
+
}}
|
|
1136
|
+
>
|
|
1137
|
+
<Typography level="title-sm">1.2K</Typography>
|
|
1138
|
+
<Typography level="body-xs" color="neutral">
|
|
1139
|
+
팔로워
|
|
1140
|
+
</Typography>
|
|
1141
|
+
</Box>
|
|
1142
|
+
<Box
|
|
1143
|
+
sx={{
|
|
1144
|
+
textAlign: "center"
|
|
1145
|
+
}}
|
|
1146
|
+
>
|
|
1147
|
+
<Typography level="title-sm">342</Typography>
|
|
1148
|
+
<Typography level="body-xs" color="neutral">
|
|
1149
|
+
팔로잉
|
|
1150
|
+
</Typography>
|
|
1151
|
+
</Box>
|
|
1152
|
+
</Stack>
|
|
1153
|
+
</CardContent>
|
|
1154
|
+
<CardActions buttonFlex={1}>
|
|
1155
|
+
<Button size="sm" variant="soft">
|
|
1156
|
+
팔로우
|
|
1157
|
+
</Button>
|
|
1158
|
+
<Button size="sm" variant="solid">
|
|
1159
|
+
메시지
|
|
1160
|
+
</Button>
|
|
1161
|
+
</CardActions>
|
|
1162
|
+
</Card>
|
|
835
1163
|
```
|
|
836
1164
|
|
|
837
1165
|
## News Card
|
|
838
1166
|
|
|
839
1167
|
```tsx
|
|
840
|
-
<Card
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
<
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
<
|
|
864
|
-
|
|
865
|
-
</
|
|
866
|
-
|
|
867
|
-
|
|
1168
|
+
<Card
|
|
1169
|
+
sx={{
|
|
1170
|
+
width: 400,
|
|
1171
|
+
maxWidth: "100%"
|
|
1172
|
+
}}
|
|
1173
|
+
>
|
|
1174
|
+
<CardOverflow>
|
|
1175
|
+
<AspectRatio ratio="2">
|
|
1176
|
+
<img
|
|
1177
|
+
src="https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800"
|
|
1178
|
+
loading="lazy"
|
|
1179
|
+
alt="Tech news"
|
|
1180
|
+
/>
|
|
1181
|
+
</AspectRatio>
|
|
1182
|
+
</CardOverflow>
|
|
1183
|
+
<CardContent>
|
|
1184
|
+
<Stack
|
|
1185
|
+
direction="row"
|
|
1186
|
+
spacing={1}
|
|
1187
|
+
sx={{
|
|
1188
|
+
mb: 0.5
|
|
1189
|
+
}}
|
|
1190
|
+
>
|
|
1191
|
+
<Chip variant="soft" color="primary" size="sm">
|
|
1192
|
+
Tech
|
|
1193
|
+
</Chip>
|
|
1194
|
+
<Typography
|
|
1195
|
+
level="body-xs"
|
|
1196
|
+
color="neutral"
|
|
1197
|
+
sx={{
|
|
1198
|
+
alignSelf: "center"
|
|
1199
|
+
}}
|
|
1200
|
+
>
|
|
1201
|
+
2 hours ago
|
|
1202
|
+
</Typography>
|
|
1203
|
+
</Stack>
|
|
1204
|
+
<Typography level="title-md">
|
|
1205
|
+
<Link overlay underline="none" color="neutral" href="#" onClick={(e) => e.preventDefault()}>
|
|
1206
|
+
새로운 프로젝트 시작
|
|
1207
|
+
</Link>
|
|
1208
|
+
</Typography>
|
|
1209
|
+
<Typography level="body-sm">
|
|
1210
|
+
팀원들과 협업하며 새로운 기술을 도입한 프로젝트가 성공적으로 시작되었습니다.
|
|
1211
|
+
</Typography>
|
|
1212
|
+
</CardContent>
|
|
1213
|
+
</Card>
|
|
868
1214
|
```
|
|
869
1215
|
|
|
870
1216
|
## Dashboard Widget
|
|
871
1217
|
|
|
872
1218
|
```tsx
|
|
873
1219
|
<Stack direction="row" spacing={2} flexWrap="wrap">
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
</Chip>
|
|
898
|
-
</CardContent>
|
|
899
|
-
</Card>
|
|
900
|
-
<Card
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
1220
|
+
<Card
|
|
1221
|
+
variant="soft"
|
|
1222
|
+
color="primary"
|
|
1223
|
+
sx={{
|
|
1224
|
+
width: 200
|
|
1225
|
+
}}
|
|
1226
|
+
>
|
|
1227
|
+
<CardContent>
|
|
1228
|
+
<Typography level="body-sm">총 사용자</Typography>
|
|
1229
|
+
<Typography level="h2">1,234</Typography>
|
|
1230
|
+
<Chip
|
|
1231
|
+
variant="soft"
|
|
1232
|
+
color="success"
|
|
1233
|
+
size="sm"
|
|
1234
|
+
startDecorator={
|
|
1235
|
+
<TrendingUpIcon
|
|
1236
|
+
sx={{
|
|
1237
|
+
fontSize: 16
|
|
1238
|
+
}}
|
|
1239
|
+
/>
|
|
1240
|
+
}
|
|
1241
|
+
>
|
|
1242
|
+
+12%
|
|
1243
|
+
</Chip>
|
|
1244
|
+
</CardContent>
|
|
1245
|
+
</Card>
|
|
1246
|
+
<Card
|
|
1247
|
+
variant="soft"
|
|
1248
|
+
color="success"
|
|
1249
|
+
sx={{
|
|
1250
|
+
width: 200
|
|
1251
|
+
}}
|
|
1252
|
+
>
|
|
1253
|
+
<CardContent>
|
|
1254
|
+
<Typography level="body-sm">완료된 주문</Typography>
|
|
1255
|
+
<Typography level="h2">856</Typography>
|
|
1256
|
+
<Chip
|
|
1257
|
+
variant="soft"
|
|
1258
|
+
color="success"
|
|
1259
|
+
size="sm"
|
|
1260
|
+
startDecorator={
|
|
1261
|
+
<TrendingUpIcon
|
|
1262
|
+
sx={{
|
|
1263
|
+
fontSize: 16
|
|
1264
|
+
}}
|
|
1265
|
+
/>
|
|
1266
|
+
}
|
|
1267
|
+
>
|
|
1268
|
+
+5%
|
|
1269
|
+
</Chip>
|
|
1270
|
+
</CardContent>
|
|
1271
|
+
</Card>
|
|
1272
|
+
<Card
|
|
1273
|
+
variant="soft"
|
|
1274
|
+
color="warning"
|
|
1275
|
+
sx={{
|
|
1276
|
+
width: 200
|
|
1277
|
+
}}
|
|
1278
|
+
>
|
|
1279
|
+
<CardContent>
|
|
1280
|
+
<Typography level="body-sm">대기 중</Typography>
|
|
1281
|
+
<Typography level="h2">42</Typography>
|
|
1282
|
+
<Chip
|
|
1283
|
+
variant="soft"
|
|
1284
|
+
color="danger"
|
|
1285
|
+
size="sm"
|
|
1286
|
+
startDecorator={
|
|
1287
|
+
<TrendingDownIcon
|
|
1288
|
+
sx={{
|
|
1289
|
+
fontSize: 16
|
|
1290
|
+
}}
|
|
1291
|
+
/>
|
|
1292
|
+
}
|
|
1293
|
+
>
|
|
1294
|
+
-3%
|
|
1295
|
+
</Chip>
|
|
1296
|
+
</CardContent>
|
|
1297
|
+
</Card>
|
|
1298
|
+
</Stack>
|
|
914
1299
|
```
|
|
915
1300
|
|
|
916
1301
|
## Props and Customization
|