@ceed/cds 1.21.0 → 1.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/RadioTileGroup/RadioTileGroup.d.ts +56 -0
- package/dist/components/RadioTileGroup/index.d.ts +3 -0
- package/dist/components/data-display/Typography.md +63 -63
- package/dist/components/feedback/Dialog.md +72 -62
- package/dist/components/feedback/Modal.md +426 -138
- package/dist/components/index.d.ts +1 -0
- package/dist/components/inputs/RadioTileGroup.md +418 -0
- package/dist/components/inputs/llms.txt +1 -0
- package/dist/index.browser.js +5 -5
- package/dist/index.browser.js.map +4 -4
- package/dist/index.cjs +345 -181
- package/dist/index.d.ts +1 -1
- package/dist/index.js +212 -48
- package/dist/llms.txt +1 -0
- package/framer/index.js +39 -39
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -85,26 +85,26 @@ __export(index_exports, {
|
|
|
85
85
|
AccordionSummary: () => AccordionSummary,
|
|
86
86
|
Accordions: () => Accordions,
|
|
87
87
|
Alert: () => Alert,
|
|
88
|
-
AspectRatio: () =>
|
|
88
|
+
AspectRatio: () => import_joy61.AspectRatio,
|
|
89
89
|
Autocomplete: () => Autocomplete,
|
|
90
|
-
AutocompleteListbox: () =>
|
|
91
|
-
AutocompleteOption: () =>
|
|
90
|
+
AutocompleteListbox: () => import_joy61.AutocompleteListbox,
|
|
91
|
+
AutocompleteOption: () => import_joy61.AutocompleteOption,
|
|
92
92
|
Avatar: () => Avatar,
|
|
93
93
|
AvatarGroup: () => import_joy11.AvatarGroup,
|
|
94
|
-
Badge: () =>
|
|
94
|
+
Badge: () => import_joy61.Badge,
|
|
95
95
|
Box: () => Box,
|
|
96
96
|
Breadcrumbs: () => Breadcrumbs,
|
|
97
97
|
Button: () => Button,
|
|
98
|
-
ButtonGroup: () =>
|
|
98
|
+
ButtonGroup: () => import_joy61.ButtonGroup,
|
|
99
99
|
Calendar: () => Calendar,
|
|
100
|
-
Card: () =>
|
|
101
|
-
CardActions: () =>
|
|
102
|
-
CardContent: () =>
|
|
103
|
-
CardCover: () =>
|
|
104
|
-
CardOverflow: () =>
|
|
100
|
+
Card: () => import_joy61.Card,
|
|
101
|
+
CardActions: () => import_joy61.CardActions,
|
|
102
|
+
CardContent: () => import_joy61.CardContent,
|
|
103
|
+
CardCover: () => import_joy61.CardCover,
|
|
104
|
+
CardOverflow: () => import_joy61.CardOverflow,
|
|
105
105
|
Checkbox: () => Checkbox,
|
|
106
|
-
Chip: () =>
|
|
107
|
-
CircularProgress: () =>
|
|
106
|
+
Chip: () => import_joy61.Chip,
|
|
107
|
+
CircularProgress: () => import_joy61.CircularProgress,
|
|
108
108
|
Container: () => Container,
|
|
109
109
|
CurrencyInput: () => CurrencyInput,
|
|
110
110
|
DataTable: () => DataTable,
|
|
@@ -127,15 +127,15 @@ __export(index_exports, {
|
|
|
127
127
|
InfoSign: () => InfoSign,
|
|
128
128
|
Input: () => Input,
|
|
129
129
|
InsetDrawer: () => InsetDrawer,
|
|
130
|
-
LinearProgress: () =>
|
|
131
|
-
Link: () =>
|
|
132
|
-
List: () =>
|
|
133
|
-
ListDivider: () =>
|
|
134
|
-
ListItem: () =>
|
|
135
|
-
ListItemButton: () =>
|
|
136
|
-
ListItemContent: () =>
|
|
137
|
-
ListItemDecorator: () =>
|
|
138
|
-
ListSubheader: () =>
|
|
130
|
+
LinearProgress: () => import_joy61.LinearProgress,
|
|
131
|
+
Link: () => import_joy61.Link,
|
|
132
|
+
List: () => import_joy61.List,
|
|
133
|
+
ListDivider: () => import_joy61.ListDivider,
|
|
134
|
+
ListItem: () => import_joy61.ListItem,
|
|
135
|
+
ListItemButton: () => import_joy61.ListItemButton,
|
|
136
|
+
ListItemContent: () => import_joy61.ListItemContent,
|
|
137
|
+
ListItemDecorator: () => import_joy61.ListItemDecorator,
|
|
138
|
+
ListSubheader: () => import_joy61.ListSubheader,
|
|
139
139
|
Markdown: () => Markdown,
|
|
140
140
|
Menu: () => Menu,
|
|
141
141
|
MenuButton: () => MenuButton,
|
|
@@ -156,13 +156,14 @@ __export(index_exports, {
|
|
|
156
156
|
Radio: () => Radio,
|
|
157
157
|
RadioGroup: () => RadioGroup,
|
|
158
158
|
RadioList: () => RadioList,
|
|
159
|
+
RadioTileGroup: () => RadioTileGroup,
|
|
159
160
|
Select: () => Select,
|
|
160
161
|
Sheet: () => Sheet,
|
|
161
|
-
Skeleton: () =>
|
|
162
|
-
Slider: () =>
|
|
162
|
+
Skeleton: () => import_joy61.Skeleton,
|
|
163
|
+
Slider: () => import_joy61.Slider,
|
|
163
164
|
Stack: () => import_joy3.Stack,
|
|
164
165
|
Step: () => Step,
|
|
165
|
-
StepButton: () =>
|
|
166
|
+
StepButton: () => import_joy61.StepButton,
|
|
166
167
|
StepIndicator: () => StepIndicator,
|
|
167
168
|
Stepper: () => Stepper,
|
|
168
169
|
Switch: () => Switch,
|
|
@@ -178,84 +179,84 @@ __export(index_exports, {
|
|
|
178
179
|
Tooltip: () => Tooltip,
|
|
179
180
|
Typography: () => Typography,
|
|
180
181
|
Uploader: () => Uploader,
|
|
181
|
-
accordionClasses: () =>
|
|
182
|
-
accordionDetailsClasses: () =>
|
|
183
|
-
accordionSummaryClasses: () =>
|
|
184
|
-
accordionsClasses: () =>
|
|
185
|
-
alertClasses: () =>
|
|
186
|
-
aspectRatioClasses: () =>
|
|
187
|
-
autocompleteClasses: () =>
|
|
188
|
-
autocompleteListboxClasses: () =>
|
|
189
|
-
autocompleteOptionClasses: () =>
|
|
190
|
-
avatarClasses: () =>
|
|
191
|
-
avatarGroupClasses: () =>
|
|
192
|
-
badgeClasses: () =>
|
|
193
|
-
boxClasses: () =>
|
|
194
|
-
breadcrumbsClasses: () =>
|
|
195
|
-
buttonClasses: () =>
|
|
196
|
-
cardActionsClasses: () =>
|
|
197
|
-
cardClasses: () =>
|
|
198
|
-
cardContentClasses: () =>
|
|
199
|
-
cardCoverClasses: () =>
|
|
200
|
-
cardOverflowClasses: () =>
|
|
201
|
-
checkboxClasses: () =>
|
|
202
|
-
chipClasses: () =>
|
|
203
|
-
circularProgressClasses: () =>
|
|
204
|
-
dialogActionsClasses: () =>
|
|
205
|
-
dialogContentClasses: () =>
|
|
206
|
-
dialogTitleClasses: () =>
|
|
207
|
-
dividerClasses: () =>
|
|
208
|
-
drawerClasses: () =>
|
|
209
|
-
extendTheme: () =>
|
|
210
|
-
formControlClasses: () =>
|
|
211
|
-
formHelperTextClasses: () =>
|
|
212
|
-
formLabelClasses: () =>
|
|
213
|
-
gridClasses: () =>
|
|
214
|
-
iconButtonClasses: () =>
|
|
215
|
-
inputClasses: () =>
|
|
216
|
-
linearProgressClasses: () =>
|
|
217
|
-
linkClasses: () =>
|
|
218
|
-
listClasses: () =>
|
|
219
|
-
listDividerClasses: () =>
|
|
220
|
-
listItemButtonClasses: () =>
|
|
221
|
-
listItemClasses: () =>
|
|
222
|
-
listItemContentClasses: () =>
|
|
223
|
-
listItemDecoratorClasses: () =>
|
|
224
|
-
listSubheaderClasses: () =>
|
|
225
|
-
menuButtonClasses: () =>
|
|
226
|
-
menuClasses: () =>
|
|
227
|
-
menuItemClasses: () =>
|
|
228
|
-
modalClasses: () =>
|
|
229
|
-
modalCloseClasses: () =>
|
|
230
|
-
modalDialogClasses: () =>
|
|
231
|
-
modalOverflowClasses: () =>
|
|
232
|
-
optionClasses: () =>
|
|
233
|
-
radioClasses: () =>
|
|
234
|
-
radioGroupClasses: () =>
|
|
235
|
-
selectClasses: () =>
|
|
236
|
-
sheetClasses: () =>
|
|
237
|
-
skeletonClasses: () =>
|
|
238
|
-
sliderClasses: () =>
|
|
239
|
-
stackClasses: () =>
|
|
240
|
-
stepButtonClasses: () =>
|
|
241
|
-
stepClasses: () =>
|
|
242
|
-
stepperClasses: () =>
|
|
243
|
-
styled: () =>
|
|
244
|
-
switchClasses: () =>
|
|
245
|
-
tabListClasses: () =>
|
|
246
|
-
tabPanelClasses: () =>
|
|
247
|
-
tableClasses: () =>
|
|
248
|
-
tabsClasses: () =>
|
|
249
|
-
textareaClasses: () =>
|
|
182
|
+
accordionClasses: () => import_joy61.accordionClasses,
|
|
183
|
+
accordionDetailsClasses: () => import_joy61.accordionDetailsClasses,
|
|
184
|
+
accordionSummaryClasses: () => import_joy61.accordionSummaryClasses,
|
|
185
|
+
accordionsClasses: () => import_joy61.accordionGroupClasses,
|
|
186
|
+
alertClasses: () => import_joy61.alertClasses,
|
|
187
|
+
aspectRatioClasses: () => import_joy61.aspectRatioClasses,
|
|
188
|
+
autocompleteClasses: () => import_joy61.autocompleteClasses,
|
|
189
|
+
autocompleteListboxClasses: () => import_joy61.autocompleteListboxClasses,
|
|
190
|
+
autocompleteOptionClasses: () => import_joy61.autocompleteOptionClasses,
|
|
191
|
+
avatarClasses: () => import_joy61.avatarClasses,
|
|
192
|
+
avatarGroupClasses: () => import_joy61.avatarGroupClasses,
|
|
193
|
+
badgeClasses: () => import_joy61.badgeClasses,
|
|
194
|
+
boxClasses: () => import_joy61.boxClasses,
|
|
195
|
+
breadcrumbsClasses: () => import_joy61.breadcrumbsClasses,
|
|
196
|
+
buttonClasses: () => import_joy61.buttonClasses,
|
|
197
|
+
cardActionsClasses: () => import_joy61.cardActionsClasses,
|
|
198
|
+
cardClasses: () => import_joy61.cardClasses,
|
|
199
|
+
cardContentClasses: () => import_joy61.cardContentClasses,
|
|
200
|
+
cardCoverClasses: () => import_joy61.cardCoverClasses,
|
|
201
|
+
cardOverflowClasses: () => import_joy61.cardOverflowClasses,
|
|
202
|
+
checkboxClasses: () => import_joy61.checkboxClasses,
|
|
203
|
+
chipClasses: () => import_joy61.chipClasses,
|
|
204
|
+
circularProgressClasses: () => import_joy61.circularProgressClasses,
|
|
205
|
+
dialogActionsClasses: () => import_joy61.dialogActionsClasses,
|
|
206
|
+
dialogContentClasses: () => import_joy61.dialogContentClasses,
|
|
207
|
+
dialogTitleClasses: () => import_joy61.dialogTitleClasses,
|
|
208
|
+
dividerClasses: () => import_joy61.dividerClasses,
|
|
209
|
+
drawerClasses: () => import_joy61.drawerClasses,
|
|
210
|
+
extendTheme: () => import_joy59.extendTheme,
|
|
211
|
+
formControlClasses: () => import_joy61.formControlClasses,
|
|
212
|
+
formHelperTextClasses: () => import_joy61.formHelperTextClasses,
|
|
213
|
+
formLabelClasses: () => import_joy61.formLabelClasses,
|
|
214
|
+
gridClasses: () => import_joy61.gridClasses,
|
|
215
|
+
iconButtonClasses: () => import_joy61.iconButtonClasses,
|
|
216
|
+
inputClasses: () => import_joy61.inputClasses,
|
|
217
|
+
linearProgressClasses: () => import_joy61.linearProgressClasses,
|
|
218
|
+
linkClasses: () => import_joy61.linkClasses,
|
|
219
|
+
listClasses: () => import_joy61.listClasses,
|
|
220
|
+
listDividerClasses: () => import_joy61.listDividerClasses,
|
|
221
|
+
listItemButtonClasses: () => import_joy61.listItemButtonClasses,
|
|
222
|
+
listItemClasses: () => import_joy61.listItemClasses,
|
|
223
|
+
listItemContentClasses: () => import_joy61.listItemContentClasses,
|
|
224
|
+
listItemDecoratorClasses: () => import_joy61.listItemDecoratorClasses,
|
|
225
|
+
listSubheaderClasses: () => import_joy61.listSubheaderClasses,
|
|
226
|
+
menuButtonClasses: () => import_joy61.menuButtonClasses,
|
|
227
|
+
menuClasses: () => import_joy61.menuClasses,
|
|
228
|
+
menuItemClasses: () => import_joy61.menuItemClasses,
|
|
229
|
+
modalClasses: () => import_joy61.modalClasses,
|
|
230
|
+
modalCloseClasses: () => import_joy61.modalCloseClasses,
|
|
231
|
+
modalDialogClasses: () => import_joy61.modalDialogClasses,
|
|
232
|
+
modalOverflowClasses: () => import_joy61.modalOverflowClasses,
|
|
233
|
+
optionClasses: () => import_joy61.optionClasses,
|
|
234
|
+
radioClasses: () => import_joy61.radioClasses,
|
|
235
|
+
radioGroupClasses: () => import_joy61.radioGroupClasses,
|
|
236
|
+
selectClasses: () => import_joy61.selectClasses,
|
|
237
|
+
sheetClasses: () => import_joy61.sheetClasses,
|
|
238
|
+
skeletonClasses: () => import_joy61.skeletonClasses,
|
|
239
|
+
sliderClasses: () => import_joy61.sliderClasses,
|
|
240
|
+
stackClasses: () => import_joy61.stackClasses,
|
|
241
|
+
stepButtonClasses: () => import_joy61.stepButtonClasses,
|
|
242
|
+
stepClasses: () => import_joy61.stepClasses,
|
|
243
|
+
stepperClasses: () => import_joy61.stepperClasses,
|
|
244
|
+
styled: () => import_joy61.styled,
|
|
245
|
+
switchClasses: () => import_joy61.switchClasses,
|
|
246
|
+
tabListClasses: () => import_joy61.tabListClasses,
|
|
247
|
+
tabPanelClasses: () => import_joy61.tabPanelClasses,
|
|
248
|
+
tableClasses: () => import_joy61.tableClasses,
|
|
249
|
+
tabsClasses: () => import_joy61.tabsClasses,
|
|
250
|
+
textareaClasses: () => import_joy61.textareaClasses,
|
|
250
251
|
theme: () => defaultTheme,
|
|
251
|
-
tooltipClasses: () =>
|
|
252
|
-
typographyClasses: () =>
|
|
253
|
-
useColorScheme: () =>
|
|
254
|
-
useTheme: () =>
|
|
255
|
-
useThemeProps: () =>
|
|
252
|
+
tooltipClasses: () => import_joy61.tooltipClasses,
|
|
253
|
+
typographyClasses: () => import_joy61.typographyClasses,
|
|
254
|
+
useColorScheme: () => import_joy61.useColorScheme,
|
|
255
|
+
useTheme: () => import_joy61.useTheme,
|
|
256
|
+
useThemeProps: () => import_joy61.useThemeProps
|
|
256
257
|
});
|
|
257
258
|
module.exports = __toCommonJS(index_exports);
|
|
258
|
-
var
|
|
259
|
+
var import_joy61 = require("@mui/joy");
|
|
259
260
|
|
|
260
261
|
// src/components/Accordions/Accordions.tsx
|
|
261
262
|
var import_react = __toESM(require("react"));
|
|
@@ -5968,28 +5969,191 @@ var MotionRadioGroup = (0, import_framer_motion27.motion)(import_joy54.RadioGrou
|
|
|
5968
5969
|
var RadioGroup = MotionRadioGroup;
|
|
5969
5970
|
RadioGroup.displayName = "RadioGroup";
|
|
5970
5971
|
|
|
5971
|
-
// src/components/
|
|
5972
|
+
// src/components/RadioTileGroup/RadioTileGroup.tsx
|
|
5972
5973
|
var import_react44 = __toESM(require("react"));
|
|
5974
|
+
var import_joy55 = require("@mui/joy");
|
|
5975
|
+
var RadioTileGroupRoot = (0, import_joy55.styled)(RadioGroup, {
|
|
5976
|
+
name: "RadioTileGroup",
|
|
5977
|
+
slot: "root",
|
|
5978
|
+
shouldForwardProp: (prop) => prop !== "flex" && prop !== "columns"
|
|
5979
|
+
})(({ theme, flex, columns }) => ({
|
|
5980
|
+
flexDirection: "row",
|
|
5981
|
+
gap: theme.spacing(2),
|
|
5982
|
+
...flex && { flex: 1 },
|
|
5983
|
+
...columns && {
|
|
5984
|
+
display: "grid",
|
|
5985
|
+
gridTemplateColumns: `repeat(${columns}, 1fr)`
|
|
5986
|
+
},
|
|
5987
|
+
[`& .${import_joy55.sheetClasses.root}.${import_joy55.radioClasses.disabled}`]: {
|
|
5988
|
+
borderColor: theme.palette.neutral.outlinedDisabledBorder
|
|
5989
|
+
},
|
|
5990
|
+
[`& .${import_joy55.radioClasses.root}`]: {
|
|
5991
|
+
[`& .${import_joy55.radioClasses.action}`]: {
|
|
5992
|
+
borderRadius: theme.radius.md
|
|
5993
|
+
},
|
|
5994
|
+
[`&.${import_joy55.radioClasses.checked}`]: {
|
|
5995
|
+
[`& .${import_joy55.radioClasses.action}`]: {
|
|
5996
|
+
inset: -1,
|
|
5997
|
+
border: "2px solid",
|
|
5998
|
+
borderColor: theme.palette.primary.outlinedColor
|
|
5999
|
+
},
|
|
6000
|
+
[`&.${import_joy55.radioClasses.disabled}`]: {
|
|
6001
|
+
[`& .${import_joy55.radioClasses.action}`]: {
|
|
6002
|
+
borderColor: theme.palette.neutral.outlinedBorder
|
|
6003
|
+
}
|
|
6004
|
+
}
|
|
6005
|
+
}
|
|
6006
|
+
}
|
|
6007
|
+
}));
|
|
6008
|
+
var RadioTileSheet = (0, import_joy55.styled)(Sheet, {
|
|
6009
|
+
name: "RadioTileGroup",
|
|
6010
|
+
slot: "tile",
|
|
6011
|
+
shouldForwardProp: (prop) => prop !== "disabled" && prop !== "size" && prop !== "flex" && prop !== "textAlign"
|
|
6012
|
+
})(({
|
|
6013
|
+
theme,
|
|
6014
|
+
disabled,
|
|
6015
|
+
size = "sm",
|
|
6016
|
+
flex,
|
|
6017
|
+
textAlign
|
|
6018
|
+
}) => {
|
|
6019
|
+
const px = { sm: theme.spacing(3), md: theme.spacing(3), lg: theme.spacing(4) }[size];
|
|
6020
|
+
const py = { sm: theme.spacing(3), md: theme.spacing(4), lg: theme.spacing(4) }[size];
|
|
6021
|
+
return {
|
|
6022
|
+
borderRadius: theme.radius.md,
|
|
6023
|
+
display: "flex",
|
|
6024
|
+
gap: { sm: theme.spacing(2), md: theme.spacing(3), lg: theme.spacing(4) }[size],
|
|
6025
|
+
padding: `${py} ${px}`,
|
|
6026
|
+
// NOTE: Radio에도 Label과의 정렬을 맞추기 위해 중복 코드가 있지만 Icon과 RadioButton 의 정렬도 일치시켜야 해서 코드가 중복으로 존재할수밖에 없다.
|
|
6027
|
+
flexDirection: textAlign === "start" ? "row-reverse" : "column-reverse",
|
|
6028
|
+
justifyContent: textAlign === "start" ? "space-between" : "center",
|
|
6029
|
+
alignItems: "center",
|
|
6030
|
+
...flex ? { flex: 1 } : {},
|
|
6031
|
+
...disabled ? { borderColor: theme.palette.neutral.outlinedDisabledBorder } : {
|
|
6032
|
+
":hover": {
|
|
6033
|
+
backgroundColor: theme.palette.neutral.outlinedHoverBg
|
|
6034
|
+
},
|
|
6035
|
+
":active": {
|
|
6036
|
+
backgroundColor: theme.palette.neutral.outlinedActiveBg
|
|
6037
|
+
}
|
|
6038
|
+
}
|
|
6039
|
+
};
|
|
6040
|
+
});
|
|
6041
|
+
function RadioTileGroup(props) {
|
|
6042
|
+
const {
|
|
6043
|
+
options,
|
|
6044
|
+
value,
|
|
6045
|
+
defaultValue,
|
|
6046
|
+
onChange,
|
|
6047
|
+
name,
|
|
6048
|
+
disabled: allDisabled,
|
|
6049
|
+
sx,
|
|
6050
|
+
className,
|
|
6051
|
+
useIndicator,
|
|
6052
|
+
textAlign = "center",
|
|
6053
|
+
size = "sm",
|
|
6054
|
+
flex,
|
|
6055
|
+
columns,
|
|
6056
|
+
label,
|
|
6057
|
+
helperText,
|
|
6058
|
+
error,
|
|
6059
|
+
required
|
|
6060
|
+
} = props;
|
|
6061
|
+
const radioGroup = /* @__PURE__ */ import_react44.default.createElement(
|
|
6062
|
+
RadioTileGroupRoot,
|
|
6063
|
+
{
|
|
6064
|
+
overlay: true,
|
|
6065
|
+
name,
|
|
6066
|
+
value,
|
|
6067
|
+
defaultValue,
|
|
6068
|
+
onChange,
|
|
6069
|
+
flex,
|
|
6070
|
+
columns
|
|
6071
|
+
},
|
|
6072
|
+
options.map((option) => /* @__PURE__ */ import_react44.default.createElement(
|
|
6073
|
+
RadioTileSheet,
|
|
6074
|
+
{
|
|
6075
|
+
key: option.value,
|
|
6076
|
+
variant: "outlined",
|
|
6077
|
+
disabled: allDisabled ?? option.disabled,
|
|
6078
|
+
size,
|
|
6079
|
+
flex,
|
|
6080
|
+
textAlign
|
|
6081
|
+
},
|
|
6082
|
+
/* @__PURE__ */ import_react44.default.createElement(
|
|
6083
|
+
Radio,
|
|
6084
|
+
{
|
|
6085
|
+
id: `${option.value}`,
|
|
6086
|
+
value: option.value,
|
|
6087
|
+
label: option.label,
|
|
6088
|
+
disableIcon: !useIndicator,
|
|
6089
|
+
disabled: allDisabled ?? option.disabled,
|
|
6090
|
+
size,
|
|
6091
|
+
slotProps: {
|
|
6092
|
+
root: {
|
|
6093
|
+
sx: {
|
|
6094
|
+
width: "100%",
|
|
6095
|
+
flexDirection: textAlign === "start" ? "row-reverse" : "column-reverse",
|
|
6096
|
+
justifyContent: textAlign === "start" ? "space-between" : "center",
|
|
6097
|
+
alignItems: "center",
|
|
6098
|
+
gap: { sm: 2, md: 3, lg: 4 }[size]
|
|
6099
|
+
}
|
|
6100
|
+
},
|
|
6101
|
+
label: ({ disabled }) => ({
|
|
6102
|
+
sx: (theme) => ({
|
|
6103
|
+
...theme.typography[{ sm: "body-sm", md: "body-md", lg: "body-lg" }[size]],
|
|
6104
|
+
color: disabled ? theme.palette.neutral.outlinedDisabledColor : theme.palette.neutral.outlinedColor
|
|
6105
|
+
})
|
|
6106
|
+
})
|
|
6107
|
+
}
|
|
6108
|
+
}
|
|
6109
|
+
),
|
|
6110
|
+
option.startDecorator && /* @__PURE__ */ import_react44.default.createElement(
|
|
6111
|
+
Box_default,
|
|
6112
|
+
{
|
|
6113
|
+
sx: {
|
|
6114
|
+
zIndex: 2,
|
|
6115
|
+
// HACK: Radio의 overlay가 decorator를 덮어버리기 때문에 문제 예방을 위해 적용해야 한다.
|
|
6116
|
+
width: { sm: "20px", md: "24px", lg: "24px" }[size],
|
|
6117
|
+
height: { sm: "20px", md: "24px", lg: "24px" }[size],
|
|
6118
|
+
color: "inherit",
|
|
6119
|
+
"& > .MuiSvgIcon-root": {
|
|
6120
|
+
width: "inherit",
|
|
6121
|
+
height: "inherit",
|
|
6122
|
+
fill: "currentColor",
|
|
6123
|
+
color: "inherit"
|
|
6124
|
+
}
|
|
6125
|
+
}
|
|
6126
|
+
},
|
|
6127
|
+
option.startDecorator
|
|
6128
|
+
)
|
|
6129
|
+
))
|
|
6130
|
+
);
|
|
6131
|
+
return /* @__PURE__ */ import_react44.default.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ import_react44.default.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ import_react44.default.createElement(FormHelperText_default, null, helperText));
|
|
6132
|
+
}
|
|
6133
|
+
RadioTileGroup.displayName = "RadioTileGroup";
|
|
6134
|
+
|
|
6135
|
+
// src/components/RadioList/RadioList.tsx
|
|
6136
|
+
var import_react45 = __toESM(require("react"));
|
|
5973
6137
|
function RadioList(props) {
|
|
5974
6138
|
const { items, ...innerProps } = props;
|
|
5975
|
-
return /* @__PURE__ */
|
|
6139
|
+
return /* @__PURE__ */ import_react45.default.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ import_react45.default.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
|
|
5976
6140
|
}
|
|
5977
6141
|
RadioList.displayName = "RadioList";
|
|
5978
6142
|
|
|
5979
6143
|
// src/components/Stepper/Stepper.tsx
|
|
5980
|
-
var
|
|
5981
|
-
var
|
|
6144
|
+
var import_react46 = __toESM(require("react"));
|
|
6145
|
+
var import_joy56 = require("@mui/joy");
|
|
5982
6146
|
var import_Check = __toESM(require("@mui/icons-material/Check"));
|
|
5983
6147
|
var import_framer_motion28 = require("framer-motion");
|
|
5984
|
-
var Step = (0,
|
|
6148
|
+
var Step = (0, import_joy56.styled)(import_joy56.Step)({});
|
|
5985
6149
|
Step.displayName = "Step";
|
|
5986
|
-
var StepIndicator = (0,
|
|
6150
|
+
var StepIndicator = (0, import_joy56.styled)(import_joy56.StepIndicator)({});
|
|
5987
6151
|
StepIndicator.displayName = "StepIndicator";
|
|
5988
|
-
var StyledStepper = (0,
|
|
6152
|
+
var StyledStepper = (0, import_joy56.styled)(import_joy56.Stepper)(({ theme }) => ({
|
|
5989
6153
|
"--StepIndicator-size": "24px",
|
|
5990
6154
|
"--Step-gap": theme.spacing(2),
|
|
5991
6155
|
"--joy-palette-success-solidBg": "var(--joy-palette-success-400)",
|
|
5992
|
-
[`& .${
|
|
6156
|
+
[`& .${import_joy56.stepIndicatorClasses.root}`]: {
|
|
5993
6157
|
fontSize: "var(--ceed-fontSize-xs)"
|
|
5994
6158
|
}
|
|
5995
6159
|
}));
|
|
@@ -6006,31 +6170,31 @@ function Stepper(props) {
|
|
|
6006
6170
|
stepOrientation = "horizontal"
|
|
6007
6171
|
} = props;
|
|
6008
6172
|
const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
|
|
6009
|
-
return /* @__PURE__ */
|
|
6173
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
6010
6174
|
MotionStepper,
|
|
6011
6175
|
{
|
|
6012
6176
|
orientation,
|
|
6013
6177
|
sx: (theme) => ({
|
|
6014
6178
|
"--StepIndicator-size": "24px",
|
|
6015
6179
|
"--Step-gap": theme.spacing(2),
|
|
6016
|
-
[`& .${
|
|
6180
|
+
[`& .${import_joy56.stepIndicatorClasses.root}`]: {
|
|
6017
6181
|
fontSize: "var(--ceed-fontSize-xs)"
|
|
6018
6182
|
},
|
|
6019
|
-
[`& .${
|
|
6183
|
+
[`& .${import_joy56.stepClasses.completed}`]: {
|
|
6020
6184
|
"&::after": { bgcolor: activeLineColor },
|
|
6021
|
-
[`& .${
|
|
6185
|
+
[`& .${import_joy56.stepIndicatorClasses.root}`]: {
|
|
6022
6186
|
bgcolor: activeColor
|
|
6023
6187
|
}
|
|
6024
6188
|
},
|
|
6025
|
-
[`& .${
|
|
6189
|
+
[`& .${import_joy56.stepClasses.active}`]: {
|
|
6026
6190
|
"&::after": { bgcolor: inactiveLineColor },
|
|
6027
|
-
[`& .${
|
|
6191
|
+
[`& .${import_joy56.stepIndicatorClasses.root}`]: {
|
|
6028
6192
|
bgcolor: activeColor
|
|
6029
6193
|
}
|
|
6030
6194
|
},
|
|
6031
|
-
[`& .${
|
|
6195
|
+
[`& .${import_joy56.stepClasses.disabled}`]: {
|
|
6032
6196
|
"&::after": { bgcolor: inactiveLineColor },
|
|
6033
|
-
[`& .${
|
|
6197
|
+
[`& .${import_joy56.stepIndicatorClasses.root}`]: {
|
|
6034
6198
|
bgcolor: theme.vars.palette.background.surface,
|
|
6035
6199
|
borderColor: theme.vars.palette.neutral.outlinedBorder,
|
|
6036
6200
|
borderWidth: "1px",
|
|
@@ -6045,23 +6209,23 @@ function Stepper(props) {
|
|
|
6045
6209
|
const completed = activeStep > i + 1;
|
|
6046
6210
|
const disabled = activeStep < i + 1;
|
|
6047
6211
|
const hasContent = step.label || step.extraContent;
|
|
6048
|
-
return /* @__PURE__ */
|
|
6212
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
6049
6213
|
Step,
|
|
6050
6214
|
{
|
|
6051
6215
|
key: `step-${i}`,
|
|
6052
|
-
indicator: /* @__PURE__ */
|
|
6216
|
+
indicator: /* @__PURE__ */ import_react46.default.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ import_react46.default.createElement(import_Check.default, null) : step.indicatorContent),
|
|
6053
6217
|
active,
|
|
6054
6218
|
completed,
|
|
6055
6219
|
disabled,
|
|
6056
6220
|
orientation: effectiveStepOrientation
|
|
6057
6221
|
},
|
|
6058
|
-
hasContent && /* @__PURE__ */
|
|
6222
|
+
hasContent && /* @__PURE__ */ import_react46.default.createElement(
|
|
6059
6223
|
Stack_default,
|
|
6060
6224
|
{
|
|
6061
6225
|
sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
|
|
6062
6226
|
},
|
|
6063
|
-
step.label && /* @__PURE__ */
|
|
6064
|
-
step.extraContent && /* @__PURE__ */
|
|
6227
|
+
step.label && /* @__PURE__ */ import_react46.default.createElement(Typography_default, { level: "title-sm" }, step.label),
|
|
6228
|
+
step.extraContent && /* @__PURE__ */ import_react46.default.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
|
|
6065
6229
|
)
|
|
6066
6230
|
);
|
|
6067
6231
|
})
|
|
@@ -6070,11 +6234,11 @@ function Stepper(props) {
|
|
|
6070
6234
|
Stepper.displayName = "Stepper";
|
|
6071
6235
|
|
|
6072
6236
|
// src/components/Switch/Switch.tsx
|
|
6073
|
-
var
|
|
6074
|
-
var
|
|
6237
|
+
var import_react47 = __toESM(require("react"));
|
|
6238
|
+
var import_joy57 = require("@mui/joy");
|
|
6075
6239
|
var import_framer_motion29 = require("framer-motion");
|
|
6076
|
-
var MotionSwitch = (0, import_framer_motion29.motion)(
|
|
6077
|
-
var StyledThumb = (0,
|
|
6240
|
+
var MotionSwitch = (0, import_framer_motion29.motion)(import_joy57.Switch);
|
|
6241
|
+
var StyledThumb = (0, import_joy57.styled)(import_framer_motion29.motion.div)({
|
|
6078
6242
|
"--Icon-fontSize": "calc(var(--Switch-thumbSize) * 0.75)",
|
|
6079
6243
|
display: "inline-flex",
|
|
6080
6244
|
justifyContent: "center",
|
|
@@ -6087,19 +6251,19 @@ var StyledThumb = (0, import_joy56.styled)(import_framer_motion29.motion.div)({
|
|
|
6087
6251
|
boxShadow: "var(--Switch-thumbShadow)",
|
|
6088
6252
|
color: "var(--Switch-thumbColor)",
|
|
6089
6253
|
backgroundColor: "var(--Switch-thumbBackground)",
|
|
6090
|
-
[`&.${
|
|
6254
|
+
[`&.${import_joy57.switchClasses.checked}`]: {
|
|
6091
6255
|
left: "unset",
|
|
6092
6256
|
right: "var(--Switch-thumbOffset)"
|
|
6093
6257
|
}
|
|
6094
6258
|
});
|
|
6095
|
-
var Thumb = (props) => /* @__PURE__ */
|
|
6259
|
+
var Thumb = (props) => /* @__PURE__ */ import_react47.default.createElement(StyledThumb, { ...props, layout: true, transition: spring });
|
|
6096
6260
|
var spring = {
|
|
6097
6261
|
type: "spring",
|
|
6098
6262
|
stiffness: 700,
|
|
6099
6263
|
damping: 30
|
|
6100
6264
|
};
|
|
6101
6265
|
var Switch = (props) => {
|
|
6102
|
-
return /* @__PURE__ */
|
|
6266
|
+
return /* @__PURE__ */ import_react47.default.createElement(
|
|
6103
6267
|
MotionSwitch,
|
|
6104
6268
|
{
|
|
6105
6269
|
...props,
|
|
@@ -6113,32 +6277,32 @@ var Switch = (props) => {
|
|
|
6113
6277
|
Switch.displayName = "Switch";
|
|
6114
6278
|
|
|
6115
6279
|
// src/components/Tabs/Tabs.tsx
|
|
6116
|
-
var
|
|
6117
|
-
var
|
|
6118
|
-
var StyledTabs = (0,
|
|
6280
|
+
var import_react48 = __toESM(require("react"));
|
|
6281
|
+
var import_joy58 = require("@mui/joy");
|
|
6282
|
+
var StyledTabs = (0, import_joy58.styled)(import_joy58.Tabs)(({ theme }) => ({
|
|
6119
6283
|
backgroundColor: theme.palette.background.body
|
|
6120
6284
|
}));
|
|
6121
6285
|
var Tabs = StyledTabs;
|
|
6122
6286
|
Tabs.displayName = "Tabs";
|
|
6123
|
-
var StyledTab = (0,
|
|
6287
|
+
var StyledTab = (0, import_joy58.styled)(import_joy58.Tab)(({ theme }) => ({
|
|
6124
6288
|
gap: theme.spacing(2),
|
|
6125
|
-
[`&:not(.${
|
|
6289
|
+
[`&:not(.${import_joy58.tabClasses.selected})`]: {
|
|
6126
6290
|
color: theme.palette.neutral[700]
|
|
6127
6291
|
},
|
|
6128
|
-
[`&.${
|
|
6292
|
+
[`&.${import_joy58.tabClasses.variantPlain}`]: {
|
|
6129
6293
|
backgroundColor: theme.palette.background.body
|
|
6130
6294
|
}
|
|
6131
6295
|
}));
|
|
6132
|
-
var Tab = (0,
|
|
6133
|
-
return /* @__PURE__ */
|
|
6296
|
+
var Tab = (0, import_react48.forwardRef)(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
|
|
6297
|
+
return /* @__PURE__ */ import_react48.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
|
|
6134
6298
|
});
|
|
6135
6299
|
Tab.displayName = "Tab";
|
|
6136
|
-
var TabList =
|
|
6137
|
-
var TabPanel =
|
|
6300
|
+
var TabList = import_joy58.TabList;
|
|
6301
|
+
var TabPanel = import_joy58.TabPanel;
|
|
6138
6302
|
|
|
6139
6303
|
// src/components/ThemeProvider/ThemeProvider.tsx
|
|
6140
|
-
var
|
|
6141
|
-
var
|
|
6304
|
+
var import_react49 = __toESM(require("react"));
|
|
6305
|
+
var import_joy59 = require("@mui/joy");
|
|
6142
6306
|
var colorScheme = {
|
|
6143
6307
|
palette: {
|
|
6144
6308
|
danger: {
|
|
@@ -6191,7 +6355,7 @@ var colorScheme = {
|
|
|
6191
6355
|
}
|
|
6192
6356
|
}
|
|
6193
6357
|
};
|
|
6194
|
-
var defaultTheme = (0,
|
|
6358
|
+
var defaultTheme = (0, import_joy59.extendTheme)({
|
|
6195
6359
|
cssVarPrefix: "ceed",
|
|
6196
6360
|
spacing: 4,
|
|
6197
6361
|
breakpoints: {
|
|
@@ -6243,7 +6407,7 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6243
6407
|
},
|
|
6244
6408
|
styleOverrides: {
|
|
6245
6409
|
root: {
|
|
6246
|
-
[`.${
|
|
6410
|
+
[`.${import_joy59.inputClasses.root}`]: {
|
|
6247
6411
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6248
6412
|
"font-family": "monospace"
|
|
6249
6413
|
}
|
|
@@ -6256,7 +6420,7 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6256
6420
|
},
|
|
6257
6421
|
styleOverrides: {
|
|
6258
6422
|
root: {
|
|
6259
|
-
[`.${
|
|
6423
|
+
[`.${import_joy59.inputClasses.root}`]: {
|
|
6260
6424
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6261
6425
|
"font-family": "monospace"
|
|
6262
6426
|
}
|
|
@@ -6269,7 +6433,7 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6269
6433
|
},
|
|
6270
6434
|
styleOverrides: {
|
|
6271
6435
|
root: {
|
|
6272
|
-
[`.${
|
|
6436
|
+
[`.${import_joy59.inputClasses.root}`]: {
|
|
6273
6437
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6274
6438
|
"font-family": "monospace"
|
|
6275
6439
|
}
|
|
@@ -6282,7 +6446,7 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6282
6446
|
},
|
|
6283
6447
|
styleOverrides: {
|
|
6284
6448
|
root: {
|
|
6285
|
-
[`.${
|
|
6449
|
+
[`.${import_joy59.inputClasses.root}`]: {
|
|
6286
6450
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6287
6451
|
"font-family": "monospace"
|
|
6288
6452
|
}
|
|
@@ -6295,7 +6459,7 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6295
6459
|
},
|
|
6296
6460
|
styleOverrides: {
|
|
6297
6461
|
root: {
|
|
6298
|
-
[`.${
|
|
6462
|
+
[`.${import_joy59.inputClasses.root}`]: {
|
|
6299
6463
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6300
6464
|
"font-family": "monospace"
|
|
6301
6465
|
}
|
|
@@ -6337,7 +6501,7 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6337
6501
|
outline: `${theme.palette.primary[500]} solid 2px`,
|
|
6338
6502
|
outlineOffset: "-2px"
|
|
6339
6503
|
},
|
|
6340
|
-
[`& .${
|
|
6504
|
+
[`& .${import_joy59.checkboxClasses.root}`]: {
|
|
6341
6505
|
verticalAlign: "middle"
|
|
6342
6506
|
}
|
|
6343
6507
|
})
|
|
@@ -6387,13 +6551,13 @@ var defaultTheme = (0, import_joy58.extendTheme)({
|
|
|
6387
6551
|
});
|
|
6388
6552
|
function ThemeProvider(props) {
|
|
6389
6553
|
const theme = props.theme || defaultTheme;
|
|
6390
|
-
return /* @__PURE__ */
|
|
6554
|
+
return /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null, /* @__PURE__ */ import_react49.default.createElement(import_joy59.CssVarsProvider, { theme }, /* @__PURE__ */ import_react49.default.createElement(import_joy59.CssBaseline, null), props.children));
|
|
6391
6555
|
}
|
|
6392
6556
|
ThemeProvider.displayName = "ThemeProvider";
|
|
6393
6557
|
|
|
6394
6558
|
// src/components/Uploader/Uploader.tsx
|
|
6395
|
-
var
|
|
6396
|
-
var
|
|
6559
|
+
var import_react50 = __toESM(require("react"));
|
|
6560
|
+
var import_joy60 = require("@mui/joy");
|
|
6397
6561
|
var import_CloudUploadRounded = __toESM(require("@mui/icons-material/CloudUploadRounded"));
|
|
6398
6562
|
var import_UploadFileRounded = __toESM(require("@mui/icons-material/UploadFileRounded"));
|
|
6399
6563
|
var import_ClearRounded = __toESM(require("@mui/icons-material/ClearRounded"));
|
|
@@ -6415,7 +6579,7 @@ var esmFiles = {
|
|
|
6415
6579
|
"@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js"
|
|
6416
6580
|
)
|
|
6417
6581
|
};
|
|
6418
|
-
var VisuallyHiddenInput = (0,
|
|
6582
|
+
var VisuallyHiddenInput = (0, import_joy60.styled)(import_joy60.Input)({
|
|
6419
6583
|
width: "1px",
|
|
6420
6584
|
height: "1px",
|
|
6421
6585
|
overflow: "hidden",
|
|
@@ -6424,18 +6588,18 @@ var VisuallyHiddenInput = (0, import_joy59.styled)(import_joy59.Input)({
|
|
|
6424
6588
|
clipPath: "inset(50%)",
|
|
6425
6589
|
position: "absolute"
|
|
6426
6590
|
});
|
|
6427
|
-
var PreviewRoot = (0,
|
|
6591
|
+
var PreviewRoot = (0, import_joy60.styled)(Stack_default, {
|
|
6428
6592
|
name: "Uploader",
|
|
6429
6593
|
slot: "PreviewRoot"
|
|
6430
6594
|
})({});
|
|
6431
|
-
var UploadCard = (0,
|
|
6595
|
+
var UploadCard = (0, import_joy60.styled)(Card, {
|
|
6432
6596
|
name: "Uploader",
|
|
6433
6597
|
slot: "UploadCard"
|
|
6434
6598
|
})(({ theme }) => ({
|
|
6435
6599
|
padding: theme.spacing(2.5),
|
|
6436
6600
|
border: `1px solid ${theme.palette.neutral.outlinedBorder}`
|
|
6437
6601
|
}));
|
|
6438
|
-
var UploadFileIcon = (0,
|
|
6602
|
+
var UploadFileIcon = (0, import_joy60.styled)(import_UploadFileRounded.default, {
|
|
6439
6603
|
name: "Uploader",
|
|
6440
6604
|
slot: "UploadFileIcon"
|
|
6441
6605
|
})(({ theme }) => ({
|
|
@@ -6443,7 +6607,7 @@ var UploadFileIcon = (0, import_joy59.styled)(import_UploadFileRounded.default,
|
|
|
6443
6607
|
width: "32px",
|
|
6444
6608
|
height: "32px"
|
|
6445
6609
|
}));
|
|
6446
|
-
var ClearIcon2 = (0,
|
|
6610
|
+
var ClearIcon2 = (0, import_joy60.styled)(import_ClearRounded.default, {
|
|
6447
6611
|
name: "Uploader",
|
|
6448
6612
|
slot: "ClearIcon"
|
|
6449
6613
|
})(({ theme }) => ({
|
|
@@ -6469,7 +6633,7 @@ var getFileSize = (n) => {
|
|
|
6469
6633
|
};
|
|
6470
6634
|
var Preview = (props) => {
|
|
6471
6635
|
const { files, uploaded, onDelete } = props;
|
|
6472
|
-
return /* @__PURE__ */
|
|
6636
|
+
return /* @__PURE__ */ import_react50.default.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ import_react50.default.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ import_react50.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ import_react50.default.createElement(UploadFileIcon, null), /* @__PURE__ */ import_react50.default.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ import_react50.default.createElement(
|
|
6473
6637
|
Typography_default,
|
|
6474
6638
|
{
|
|
6475
6639
|
level: "body-sm",
|
|
@@ -6481,15 +6645,15 @@ var Preview = (props) => {
|
|
|
6481
6645
|
}
|
|
6482
6646
|
},
|
|
6483
6647
|
file.name
|
|
6484
|
-
), !!file.size && /* @__PURE__ */
|
|
6648
|
+
), !!file.size && /* @__PURE__ */ import_react50.default.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ import_react50.default.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ import_react50.default.createElement(ClearIcon2, null))))));
|
|
6485
6649
|
};
|
|
6486
|
-
var UploaderRoot = (0,
|
|
6650
|
+
var UploaderRoot = (0, import_joy60.styled)(Stack_default, {
|
|
6487
6651
|
name: "Uploader",
|
|
6488
6652
|
slot: "root"
|
|
6489
6653
|
})(({ theme }) => ({
|
|
6490
6654
|
gap: theme.spacing(2)
|
|
6491
6655
|
}));
|
|
6492
|
-
var FileDropZone = (0,
|
|
6656
|
+
var FileDropZone = (0, import_joy60.styled)(Sheet_default, {
|
|
6493
6657
|
name: "Uploader",
|
|
6494
6658
|
slot: "dropZone",
|
|
6495
6659
|
shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
|
|
@@ -6510,7 +6674,7 @@ var FileDropZone = (0, import_joy59.styled)(Sheet_default, {
|
|
|
6510
6674
|
}
|
|
6511
6675
|
})
|
|
6512
6676
|
);
|
|
6513
|
-
var UploaderIcon = (0,
|
|
6677
|
+
var UploaderIcon = (0, import_joy60.styled)(import_CloudUploadRounded.default, {
|
|
6514
6678
|
name: "Uploader",
|
|
6515
6679
|
slot: "iconContainer",
|
|
6516
6680
|
shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
|
|
@@ -6524,7 +6688,7 @@ var UploaderIcon = (0, import_joy59.styled)(import_CloudUploadRounded.default, {
|
|
|
6524
6688
|
}
|
|
6525
6689
|
})
|
|
6526
6690
|
);
|
|
6527
|
-
var Uploader =
|
|
6691
|
+
var Uploader = import_react50.default.memo(
|
|
6528
6692
|
(props) => {
|
|
6529
6693
|
const {
|
|
6530
6694
|
accept,
|
|
@@ -6541,14 +6705,14 @@ var Uploader = import_react49.default.memo(
|
|
|
6541
6705
|
error: errorProp,
|
|
6542
6706
|
helperText: helperTextProp
|
|
6543
6707
|
} = props;
|
|
6544
|
-
const dropZoneRef = (0,
|
|
6545
|
-
const inputRef = (0,
|
|
6546
|
-
const [errorText, setErrorText] = (0,
|
|
6547
|
-
const [files, setFiles] = (0,
|
|
6548
|
-
const [uploaded, setUploaded] = (0,
|
|
6549
|
-
const [previewState, setPreviewState] = (0,
|
|
6550
|
-
const accepts = (0,
|
|
6551
|
-
const parsedAccepts = (0,
|
|
6708
|
+
const dropZoneRef = (0, import_react50.useRef)(null);
|
|
6709
|
+
const inputRef = (0, import_react50.useRef)(null);
|
|
6710
|
+
const [errorText, setErrorText] = (0, import_react50.useState)();
|
|
6711
|
+
const [files, setFiles] = (0, import_react50.useState)([]);
|
|
6712
|
+
const [uploaded, setUploaded] = (0, import_react50.useState)(props.uploaded || []);
|
|
6713
|
+
const [previewState, setPreviewState] = (0, import_react50.useState)("idle");
|
|
6714
|
+
const accepts = (0, import_react50.useMemo)(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
|
|
6715
|
+
const parsedAccepts = (0, import_react50.useMemo)(
|
|
6552
6716
|
() => accepts.flatMap((type) => {
|
|
6553
6717
|
if (["image/*", "video/*", "audio/*"].includes(type)) {
|
|
6554
6718
|
return ALL_EXTENSIONS_BY_TYPE[type];
|
|
@@ -6557,7 +6721,7 @@ var Uploader = import_react49.default.memo(
|
|
|
6557
6721
|
}),
|
|
6558
6722
|
[accepts]
|
|
6559
6723
|
);
|
|
6560
|
-
const helperText = (0,
|
|
6724
|
+
const helperText = (0, import_react50.useMemo)(() => {
|
|
6561
6725
|
if (helperTextProp) {
|
|
6562
6726
|
return helperTextProp;
|
|
6563
6727
|
}
|
|
@@ -6587,12 +6751,12 @@ var Uploader = import_react49.default.memo(
|
|
|
6587
6751
|
}
|
|
6588
6752
|
return helperTexts.join(", ");
|
|
6589
6753
|
}, [accepts, maxFileTotalSize, maxCount, helperTextProp]);
|
|
6590
|
-
const error = (0,
|
|
6591
|
-
const showDropZone = (0,
|
|
6754
|
+
const error = (0, import_react50.useMemo)(() => !!errorText || errorProp, [errorProp, errorText]);
|
|
6755
|
+
const showDropZone = (0, import_react50.useMemo)(
|
|
6592
6756
|
() => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
|
|
6593
6757
|
[files, maxCount, uploaded]
|
|
6594
6758
|
);
|
|
6595
|
-
const addFiles = (0,
|
|
6759
|
+
const addFiles = (0, import_react50.useCallback)(
|
|
6596
6760
|
(uploads) => {
|
|
6597
6761
|
try {
|
|
6598
6762
|
const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
|
|
@@ -6637,7 +6801,7 @@ var Uploader = import_react49.default.memo(
|
|
|
6637
6801
|
},
|
|
6638
6802
|
[files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
|
|
6639
6803
|
);
|
|
6640
|
-
(0,
|
|
6804
|
+
(0, import_react50.useEffect)(() => {
|
|
6641
6805
|
if (!dropZoneRef.current || disabled) {
|
|
6642
6806
|
return;
|
|
6643
6807
|
}
|
|
@@ -6675,7 +6839,7 @@ var Uploader = import_react49.default.memo(
|
|
|
6675
6839
|
);
|
|
6676
6840
|
return () => cleanup?.();
|
|
6677
6841
|
}, [disabled, addFiles]);
|
|
6678
|
-
(0,
|
|
6842
|
+
(0, import_react50.useEffect)(() => {
|
|
6679
6843
|
if (inputRef.current && minCount) {
|
|
6680
6844
|
if (files.length < minCount) {
|
|
6681
6845
|
inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
|
|
@@ -6684,14 +6848,14 @@ var Uploader = import_react49.default.memo(
|
|
|
6684
6848
|
}
|
|
6685
6849
|
}
|
|
6686
6850
|
}, [inputRef, files, minCount]);
|
|
6687
|
-
const handleFileChanged = (0,
|
|
6851
|
+
const handleFileChanged = (0, import_react50.useCallback)(
|
|
6688
6852
|
(event) => {
|
|
6689
6853
|
const files2 = Array.from(event.target.files || []);
|
|
6690
6854
|
addFiles(files2);
|
|
6691
6855
|
},
|
|
6692
6856
|
[addFiles]
|
|
6693
6857
|
);
|
|
6694
|
-
const handleDeleteFile = (0,
|
|
6858
|
+
const handleDeleteFile = (0, import_react50.useCallback)(
|
|
6695
6859
|
(deletedFile) => {
|
|
6696
6860
|
if (deletedFile instanceof File) {
|
|
6697
6861
|
setFiles((current) => {
|
|
@@ -6711,10 +6875,10 @@ var Uploader = import_react49.default.memo(
|
|
|
6711
6875
|
},
|
|
6712
6876
|
[name, onChange, onDelete]
|
|
6713
6877
|
);
|
|
6714
|
-
const handleUploaderButtonClick = (0,
|
|
6878
|
+
const handleUploaderButtonClick = (0, import_react50.useCallback)(() => {
|
|
6715
6879
|
inputRef.current?.click();
|
|
6716
6880
|
}, []);
|
|
6717
|
-
const uploader = /* @__PURE__ */
|
|
6881
|
+
const uploader = /* @__PURE__ */ import_react50.default.createElement(
|
|
6718
6882
|
FileDropZone,
|
|
6719
6883
|
{
|
|
6720
6884
|
state: previewState,
|
|
@@ -6723,8 +6887,8 @@ var Uploader = import_react49.default.memo(
|
|
|
6723
6887
|
ref: dropZoneRef,
|
|
6724
6888
|
onClick: handleUploaderButtonClick
|
|
6725
6889
|
},
|
|
6726
|
-
/* @__PURE__ */
|
|
6727
|
-
/* @__PURE__ */
|
|
6890
|
+
/* @__PURE__ */ import_react50.default.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react50.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
|
|
6891
|
+
/* @__PURE__ */ import_react50.default.createElement(
|
|
6728
6892
|
VisuallyHiddenInput,
|
|
6729
6893
|
{
|
|
6730
6894
|
disabled,
|
|
@@ -6747,7 +6911,7 @@ var Uploader = import_react49.default.memo(
|
|
|
6747
6911
|
}
|
|
6748
6912
|
)
|
|
6749
6913
|
);
|
|
6750
|
-
return /* @__PURE__ */
|
|
6914
|
+
return /* @__PURE__ */ import_react50.default.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ import_react50.default.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ import_react50.default.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ import_react50.default.createElement(FormHelperText_default, null, /* @__PURE__ */ import_react50.default.createElement(Stack_default, null, errorText && /* @__PURE__ */ import_react50.default.createElement("div", null, errorText), /* @__PURE__ */ import_react50.default.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ import_react50.default.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
|
|
6751
6915
|
}
|
|
6752
6916
|
);
|
|
6753
6917
|
Uploader.displayName = "Uploader";
|