@ceed/ads 1.15.0 → 1.16.0-next.4
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/FilterMenu/components/FilterableCheckboxGroup.d.ts +11 -0
- package/dist/components/FilterMenu/types.d.ts +9 -1
- package/dist/components/FilterableCheckboxGroup/FilterableCheckboxGroup.d.ts +21 -0
- package/dist/components/FilterableCheckboxGroup/index.d.ts +3 -0
- package/dist/components/ProfileMenu/ProfileMenu.d.ts +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/inputs/FilterableCheckboxGroup.md +179 -0
- package/dist/components/inputs/llms.txt +1 -0
- package/dist/index.cjs +594 -381
- package/dist/index.d.ts +1 -1
- package/dist/index.js +404 -191
- package/dist/llms.txt +1 -0
- package/framer/index.js +42 -42
- package/package.json +4 -3
package/dist/index.cjs
CHANGED
|
@@ -85,17 +85,17 @@ __export(index_exports, {
|
|
|
85
85
|
AccordionSummary: () => AccordionSummary,
|
|
86
86
|
Accordions: () => Accordions,
|
|
87
87
|
Alert: () => Alert,
|
|
88
|
-
AspectRatio: () =>
|
|
88
|
+
AspectRatio: () => import_joy72.AspectRatio,
|
|
89
89
|
Autocomplete: () => Autocomplete,
|
|
90
|
-
AutocompleteListbox: () =>
|
|
91
|
-
AutocompleteOption: () =>
|
|
90
|
+
AutocompleteListbox: () => import_joy72.AutocompleteListbox,
|
|
91
|
+
AutocompleteOption: () => import_joy72.AutocompleteOption,
|
|
92
92
|
Avatar: () => Avatar,
|
|
93
93
|
AvatarGroup: () => import_joy11.AvatarGroup,
|
|
94
|
-
Badge: () =>
|
|
94
|
+
Badge: () => import_joy72.Badge,
|
|
95
95
|
Box: () => Box,
|
|
96
96
|
Breadcrumbs: () => Breadcrumbs,
|
|
97
97
|
Button: () => Button,
|
|
98
|
-
ButtonGroup: () =>
|
|
98
|
+
ButtonGroup: () => import_joy72.ButtonGroup,
|
|
99
99
|
Calendar: () => Calendar,
|
|
100
100
|
Card: () => Card,
|
|
101
101
|
CardActions: () => CardActions,
|
|
@@ -104,9 +104,9 @@ __export(index_exports, {
|
|
|
104
104
|
CardOverflow: () => CardOverflow,
|
|
105
105
|
Checkbox: () => Checkbox,
|
|
106
106
|
Chip: () => Chip,
|
|
107
|
-
CircularProgress: () =>
|
|
107
|
+
CircularProgress: () => import_joy72.CircularProgress,
|
|
108
108
|
Container: () => Container,
|
|
109
|
-
CssBaseline: () =>
|
|
109
|
+
CssBaseline: () => import_joy71.CssBaseline,
|
|
110
110
|
CurrencyInput: () => CurrencyInput,
|
|
111
111
|
DataTable: () => DataTable,
|
|
112
112
|
DatePicker: () => DatePicker,
|
|
@@ -116,27 +116,28 @@ __export(index_exports, {
|
|
|
116
116
|
DialogFrame: () => DialogFrame,
|
|
117
117
|
DialogTitle: () => DialogTitle,
|
|
118
118
|
Divider: () => Divider,
|
|
119
|
-
Drawer: () =>
|
|
119
|
+
Drawer: () => import_joy72.Drawer,
|
|
120
120
|
Dropdown: () => import_joy14.Dropdown,
|
|
121
121
|
FilterMenu: () => FilterMenu,
|
|
122
|
+
FilterableCheckboxGroup: () => FilterableCheckboxGroup,
|
|
122
123
|
FormControl: () => FormControl,
|
|
123
124
|
FormHelperText: () => FormHelperText,
|
|
124
125
|
FormLabel: () => FormLabel,
|
|
125
|
-
Grid: () =>
|
|
126
|
+
Grid: () => import_joy57.Grid,
|
|
126
127
|
IconButton: () => IconButton,
|
|
127
128
|
IconMenuButton: () => IconMenuButton,
|
|
128
129
|
InfoSign: () => InfoSign,
|
|
129
130
|
Input: () => Input,
|
|
130
131
|
InsetDrawer: () => InsetDrawer,
|
|
131
|
-
LinearProgress: () =>
|
|
132
|
-
Link: () =>
|
|
133
|
-
List: () =>
|
|
134
|
-
ListDivider: () =>
|
|
135
|
-
ListItem: () =>
|
|
136
|
-
ListItemButton: () =>
|
|
137
|
-
ListItemContent: () =>
|
|
138
|
-
ListItemDecorator: () =>
|
|
139
|
-
ListSubheader: () =>
|
|
132
|
+
LinearProgress: () => import_joy72.LinearProgress,
|
|
133
|
+
Link: () => import_joy72.Link,
|
|
134
|
+
List: () => import_joy72.List,
|
|
135
|
+
ListDivider: () => import_joy72.ListDivider,
|
|
136
|
+
ListItem: () => import_joy72.ListItem,
|
|
137
|
+
ListItemButton: () => import_joy72.ListItemButton,
|
|
138
|
+
ListItemContent: () => import_joy72.ListItemContent,
|
|
139
|
+
ListItemDecorator: () => import_joy72.ListItemDecorator,
|
|
140
|
+
ListSubheader: () => import_joy72.ListSubheader,
|
|
140
141
|
Markdown: () => Markdown,
|
|
141
142
|
Menu: () => Menu,
|
|
142
143
|
MenuButton: () => MenuButton,
|
|
@@ -161,11 +162,11 @@ __export(index_exports, {
|
|
|
161
162
|
RadioTileGroup: () => RadioTileGroup,
|
|
162
163
|
Select: () => Select,
|
|
163
164
|
Sheet: () => Sheet,
|
|
164
|
-
Skeleton: () =>
|
|
165
|
-
Slider: () =>
|
|
165
|
+
Skeleton: () => import_joy72.Skeleton,
|
|
166
|
+
Slider: () => import_joy72.Slider,
|
|
166
167
|
Stack: () => import_joy3.Stack,
|
|
167
168
|
Step: () => Step,
|
|
168
|
-
StepButton: () =>
|
|
169
|
+
StepButton: () => import_joy72.StepButton,
|
|
169
170
|
StepIndicator: () => StepIndicator,
|
|
170
171
|
Stepper: () => Stepper,
|
|
171
172
|
Switch: () => Switch,
|
|
@@ -181,84 +182,84 @@ __export(index_exports, {
|
|
|
181
182
|
Tooltip: () => Tooltip,
|
|
182
183
|
Typography: () => Typography,
|
|
183
184
|
Uploader: () => Uploader,
|
|
184
|
-
accordionClasses: () =>
|
|
185
|
-
accordionDetailsClasses: () =>
|
|
186
|
-
accordionSummaryClasses: () =>
|
|
187
|
-
accordionsClasses: () =>
|
|
188
|
-
alertClasses: () =>
|
|
189
|
-
aspectRatioClasses: () =>
|
|
190
|
-
autocompleteClasses: () =>
|
|
191
|
-
autocompleteListboxClasses: () =>
|
|
192
|
-
autocompleteOptionClasses: () =>
|
|
193
|
-
avatarClasses: () =>
|
|
194
|
-
avatarGroupClasses: () =>
|
|
195
|
-
badgeClasses: () =>
|
|
196
|
-
boxClasses: () =>
|
|
197
|
-
breadcrumbsClasses: () =>
|
|
198
|
-
buttonClasses: () =>
|
|
199
|
-
cardActionsClasses: () =>
|
|
200
|
-
cardClasses: () =>
|
|
201
|
-
cardContentClasses: () =>
|
|
202
|
-
cardCoverClasses: () =>
|
|
203
|
-
cardOverflowClasses: () =>
|
|
204
|
-
checkboxClasses: () =>
|
|
205
|
-
chipClasses: () =>
|
|
206
|
-
circularProgressClasses: () =>
|
|
207
|
-
dialogActionsClasses: () =>
|
|
208
|
-
dialogContentClasses: () =>
|
|
209
|
-
dialogTitleClasses: () =>
|
|
210
|
-
dividerClasses: () =>
|
|
211
|
-
drawerClasses: () =>
|
|
212
|
-
extendTheme: () =>
|
|
213
|
-
formControlClasses: () =>
|
|
214
|
-
formHelperTextClasses: () =>
|
|
215
|
-
formLabelClasses: () =>
|
|
216
|
-
gridClasses: () =>
|
|
217
|
-
iconButtonClasses: () =>
|
|
218
|
-
inputClasses: () =>
|
|
219
|
-
linearProgressClasses: () =>
|
|
220
|
-
linkClasses: () =>
|
|
221
|
-
listClasses: () =>
|
|
222
|
-
listDividerClasses: () =>
|
|
223
|
-
listItemButtonClasses: () =>
|
|
224
|
-
listItemClasses: () =>
|
|
225
|
-
listItemContentClasses: () =>
|
|
226
|
-
listItemDecoratorClasses: () =>
|
|
227
|
-
listSubheaderClasses: () =>
|
|
228
|
-
menuButtonClasses: () =>
|
|
229
|
-
menuClasses: () =>
|
|
230
|
-
menuItemClasses: () =>
|
|
231
|
-
modalClasses: () =>
|
|
232
|
-
modalCloseClasses: () =>
|
|
233
|
-
modalDialogClasses: () =>
|
|
234
|
-
modalOverflowClasses: () =>
|
|
235
|
-
optionClasses: () =>
|
|
236
|
-
radioClasses: () =>
|
|
237
|
-
radioGroupClasses: () =>
|
|
238
|
-
selectClasses: () =>
|
|
239
|
-
sheetClasses: () =>
|
|
240
|
-
skeletonClasses: () =>
|
|
241
|
-
sliderClasses: () =>
|
|
242
|
-
stackClasses: () =>
|
|
243
|
-
stepButtonClasses: () =>
|
|
244
|
-
stepClasses: () =>
|
|
245
|
-
stepperClasses: () =>
|
|
246
|
-
styled: () =>
|
|
247
|
-
switchClasses: () =>
|
|
248
|
-
tabListClasses: () =>
|
|
249
|
-
tabPanelClasses: () =>
|
|
250
|
-
tableClasses: () =>
|
|
251
|
-
tabsClasses: () =>
|
|
252
|
-
textareaClasses: () =>
|
|
185
|
+
accordionClasses: () => import_joy72.accordionClasses,
|
|
186
|
+
accordionDetailsClasses: () => import_joy72.accordionDetailsClasses,
|
|
187
|
+
accordionSummaryClasses: () => import_joy72.accordionSummaryClasses,
|
|
188
|
+
accordionsClasses: () => import_joy72.accordionGroupClasses,
|
|
189
|
+
alertClasses: () => import_joy72.alertClasses,
|
|
190
|
+
aspectRatioClasses: () => import_joy72.aspectRatioClasses,
|
|
191
|
+
autocompleteClasses: () => import_joy72.autocompleteClasses,
|
|
192
|
+
autocompleteListboxClasses: () => import_joy72.autocompleteListboxClasses,
|
|
193
|
+
autocompleteOptionClasses: () => import_joy72.autocompleteOptionClasses,
|
|
194
|
+
avatarClasses: () => import_joy72.avatarClasses,
|
|
195
|
+
avatarGroupClasses: () => import_joy72.avatarGroupClasses,
|
|
196
|
+
badgeClasses: () => import_joy72.badgeClasses,
|
|
197
|
+
boxClasses: () => import_joy72.boxClasses,
|
|
198
|
+
breadcrumbsClasses: () => import_joy72.breadcrumbsClasses,
|
|
199
|
+
buttonClasses: () => import_joy72.buttonClasses,
|
|
200
|
+
cardActionsClasses: () => import_joy72.cardActionsClasses,
|
|
201
|
+
cardClasses: () => import_joy72.cardClasses,
|
|
202
|
+
cardContentClasses: () => import_joy72.cardContentClasses,
|
|
203
|
+
cardCoverClasses: () => import_joy72.cardCoverClasses,
|
|
204
|
+
cardOverflowClasses: () => import_joy72.cardOverflowClasses,
|
|
205
|
+
checkboxClasses: () => import_joy72.checkboxClasses,
|
|
206
|
+
chipClasses: () => import_joy72.chipClasses,
|
|
207
|
+
circularProgressClasses: () => import_joy72.circularProgressClasses,
|
|
208
|
+
dialogActionsClasses: () => import_joy72.dialogActionsClasses,
|
|
209
|
+
dialogContentClasses: () => import_joy72.dialogContentClasses,
|
|
210
|
+
dialogTitleClasses: () => import_joy72.dialogTitleClasses,
|
|
211
|
+
dividerClasses: () => import_joy72.dividerClasses,
|
|
212
|
+
drawerClasses: () => import_joy72.drawerClasses,
|
|
213
|
+
extendTheme: () => import_joy71.extendTheme,
|
|
214
|
+
formControlClasses: () => import_joy72.formControlClasses,
|
|
215
|
+
formHelperTextClasses: () => import_joy72.formHelperTextClasses,
|
|
216
|
+
formLabelClasses: () => import_joy72.formLabelClasses,
|
|
217
|
+
gridClasses: () => import_joy72.gridClasses,
|
|
218
|
+
iconButtonClasses: () => import_joy72.iconButtonClasses,
|
|
219
|
+
inputClasses: () => import_joy72.inputClasses,
|
|
220
|
+
linearProgressClasses: () => import_joy72.linearProgressClasses,
|
|
221
|
+
linkClasses: () => import_joy72.linkClasses,
|
|
222
|
+
listClasses: () => import_joy72.listClasses,
|
|
223
|
+
listDividerClasses: () => import_joy72.listDividerClasses,
|
|
224
|
+
listItemButtonClasses: () => import_joy72.listItemButtonClasses,
|
|
225
|
+
listItemClasses: () => import_joy72.listItemClasses,
|
|
226
|
+
listItemContentClasses: () => import_joy72.listItemContentClasses,
|
|
227
|
+
listItemDecoratorClasses: () => import_joy72.listItemDecoratorClasses,
|
|
228
|
+
listSubheaderClasses: () => import_joy72.listSubheaderClasses,
|
|
229
|
+
menuButtonClasses: () => import_joy72.menuButtonClasses,
|
|
230
|
+
menuClasses: () => import_joy72.menuClasses,
|
|
231
|
+
menuItemClasses: () => import_joy72.menuItemClasses,
|
|
232
|
+
modalClasses: () => import_joy72.modalClasses,
|
|
233
|
+
modalCloseClasses: () => import_joy72.modalCloseClasses,
|
|
234
|
+
modalDialogClasses: () => import_joy72.modalDialogClasses,
|
|
235
|
+
modalOverflowClasses: () => import_joy72.modalOverflowClasses,
|
|
236
|
+
optionClasses: () => import_joy72.optionClasses,
|
|
237
|
+
radioClasses: () => import_joy72.radioClasses,
|
|
238
|
+
radioGroupClasses: () => import_joy72.radioGroupClasses,
|
|
239
|
+
selectClasses: () => import_joy72.selectClasses,
|
|
240
|
+
sheetClasses: () => import_joy72.sheetClasses,
|
|
241
|
+
skeletonClasses: () => import_joy72.skeletonClasses,
|
|
242
|
+
sliderClasses: () => import_joy72.sliderClasses,
|
|
243
|
+
stackClasses: () => import_joy72.stackClasses,
|
|
244
|
+
stepButtonClasses: () => import_joy72.stepButtonClasses,
|
|
245
|
+
stepClasses: () => import_joy72.stepClasses,
|
|
246
|
+
stepperClasses: () => import_joy72.stepperClasses,
|
|
247
|
+
styled: () => import_joy72.styled,
|
|
248
|
+
switchClasses: () => import_joy72.switchClasses,
|
|
249
|
+
tabListClasses: () => import_joy72.tabListClasses,
|
|
250
|
+
tabPanelClasses: () => import_joy72.tabPanelClasses,
|
|
251
|
+
tableClasses: () => import_joy72.tableClasses,
|
|
252
|
+
tabsClasses: () => import_joy72.tabsClasses,
|
|
253
|
+
textareaClasses: () => import_joy72.textareaClasses,
|
|
253
254
|
theme: () => defaultTheme,
|
|
254
|
-
tooltipClasses: () =>
|
|
255
|
-
typographyClasses: () =>
|
|
256
|
-
useColorScheme: () =>
|
|
257
|
-
useTheme: () =>
|
|
258
|
-
useThemeProps: () =>
|
|
255
|
+
tooltipClasses: () => import_joy72.tooltipClasses,
|
|
256
|
+
typographyClasses: () => import_joy72.typographyClasses,
|
|
257
|
+
useColorScheme: () => import_joy72.useColorScheme,
|
|
258
|
+
useTheme: () => import_joy72.useTheme,
|
|
259
|
+
useThemeProps: () => import_joy72.useThemeProps
|
|
259
260
|
});
|
|
260
261
|
module.exports = __toCommonJS(index_exports);
|
|
261
|
-
var
|
|
262
|
+
var import_joy72 = require("@mui/joy");
|
|
262
263
|
|
|
263
264
|
// src/components/Accordions/Accordions.tsx
|
|
264
265
|
var import_react = __toESM(require("react"));
|
|
@@ -4473,17 +4474,200 @@ var InsetDrawer = (0, import_joy42.styled)(import_joy42.Drawer)(({ theme }) => (
|
|
|
4473
4474
|
}
|
|
4474
4475
|
}));
|
|
4475
4476
|
|
|
4477
|
+
// src/components/FilterableCheckboxGroup/FilterableCheckboxGroup.tsx
|
|
4478
|
+
var import_react33 = __toESM(require("react"));
|
|
4479
|
+
var import_joy43 = require("@mui/joy");
|
|
4480
|
+
var import_Search = __toESM(require("@mui/icons-material/Search"));
|
|
4481
|
+
var import_react_virtual3 = require("@tanstack/react-virtual");
|
|
4482
|
+
function FilterableCheckboxGroup(props) {
|
|
4483
|
+
const { value, options, label, placeholder, helperText, size = "md", required, onChange, maxHeight = 300 } = props;
|
|
4484
|
+
const [searchTerm, setSearchTerm] = (0, import_react33.useState)("");
|
|
4485
|
+
const [sortedOptions, setSortedOptions] = (0, import_react33.useState)(options);
|
|
4486
|
+
const [internalValue, setInternalValue] = useControlledState(
|
|
4487
|
+
value,
|
|
4488
|
+
value ?? [],
|
|
4489
|
+
(0, import_react33.useCallback)((newValue) => onChange?.(newValue), [onChange])
|
|
4490
|
+
);
|
|
4491
|
+
const parentRef = (0, import_react33.useRef)(null);
|
|
4492
|
+
const isInitialSortRef = (0, import_react33.useRef)(false);
|
|
4493
|
+
const filteredOptions = (0, import_react33.useMemo)(() => {
|
|
4494
|
+
if (!searchTerm) return sortedOptions;
|
|
4495
|
+
return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
|
|
4496
|
+
}, [sortedOptions, searchTerm]);
|
|
4497
|
+
const itemSize = (0, import_react33.useMemo)(() => {
|
|
4498
|
+
switch (size) {
|
|
4499
|
+
case "sm":
|
|
4500
|
+
return 28;
|
|
4501
|
+
case "md":
|
|
4502
|
+
return 32;
|
|
4503
|
+
case "lg":
|
|
4504
|
+
return 36;
|
|
4505
|
+
}
|
|
4506
|
+
}, [size]);
|
|
4507
|
+
const noOptionsFontSize = (0, import_react33.useMemo)(() => {
|
|
4508
|
+
switch (size) {
|
|
4509
|
+
case "sm":
|
|
4510
|
+
return "14px";
|
|
4511
|
+
case "md":
|
|
4512
|
+
return "16px";
|
|
4513
|
+
case "lg":
|
|
4514
|
+
return "18px";
|
|
4515
|
+
}
|
|
4516
|
+
}, [size]);
|
|
4517
|
+
const virtualizer = (0, import_react_virtual3.useVirtualizer)({
|
|
4518
|
+
count: filteredOptions.length,
|
|
4519
|
+
estimateSize: () => itemSize,
|
|
4520
|
+
measureElement: (element) => element.clientHeight,
|
|
4521
|
+
getScrollElement: () => parentRef.current,
|
|
4522
|
+
overscan: 5
|
|
4523
|
+
});
|
|
4524
|
+
const items = virtualizer.getVirtualItems();
|
|
4525
|
+
(0, import_react33.useEffect)(() => {
|
|
4526
|
+
if (isInitialSortRef.current) return;
|
|
4527
|
+
const initialValue = value ?? [];
|
|
4528
|
+
const sorted = [...options].sort((a, b) => {
|
|
4529
|
+
const aSelected = initialValue.includes(a.value);
|
|
4530
|
+
const bSelected = initialValue.includes(b.value);
|
|
4531
|
+
if (aSelected !== bSelected) {
|
|
4532
|
+
return aSelected ? -1 : 1;
|
|
4533
|
+
}
|
|
4534
|
+
const aIsAlpha = /^[a-zA-Z]/.test(a.label);
|
|
4535
|
+
const bIsAlpha = /^[a-zA-Z]/.test(b.label);
|
|
4536
|
+
if (aIsAlpha !== bIsAlpha) {
|
|
4537
|
+
return aIsAlpha ? -1 : 1;
|
|
4538
|
+
}
|
|
4539
|
+
return a.label.localeCompare(b.label);
|
|
4540
|
+
});
|
|
4541
|
+
setSortedOptions(sorted);
|
|
4542
|
+
isInitialSortRef.current = true;
|
|
4543
|
+
}, [options, value]);
|
|
4544
|
+
(0, import_react33.useEffect)(() => {
|
|
4545
|
+
virtualizer.measure();
|
|
4546
|
+
}, [virtualizer, filteredOptions]);
|
|
4547
|
+
const handleSearchChange = (0, import_react33.useCallback)((event) => {
|
|
4548
|
+
setSearchTerm(event.target.value);
|
|
4549
|
+
}, []);
|
|
4550
|
+
const handleCheckboxChange = (0, import_react33.useCallback)(
|
|
4551
|
+
(optionValue) => (event) => {
|
|
4552
|
+
const checked = event.target.checked;
|
|
4553
|
+
const newValue = checked ? [...internalValue, optionValue] : internalValue.filter((v) => v !== optionValue);
|
|
4554
|
+
setInternalValue(newValue);
|
|
4555
|
+
},
|
|
4556
|
+
[internalValue, setInternalValue]
|
|
4557
|
+
);
|
|
4558
|
+
const handleSelectAll = (0, import_react33.useCallback)(
|
|
4559
|
+
(event) => {
|
|
4560
|
+
const checked = event.target.checked;
|
|
4561
|
+
if (checked) {
|
|
4562
|
+
setInternalValue(filteredOptions.map((option) => option.value));
|
|
4563
|
+
} else {
|
|
4564
|
+
setInternalValue([]);
|
|
4565
|
+
}
|
|
4566
|
+
},
|
|
4567
|
+
[filteredOptions, setInternalValue]
|
|
4568
|
+
);
|
|
4569
|
+
const isAllSelected = filteredOptions.length > 0 && filteredOptions.every((option) => internalValue.includes(option.value));
|
|
4570
|
+
const isIndeterminate = !isAllSelected && filteredOptions.some((option) => internalValue.includes(option.value));
|
|
4571
|
+
return /* @__PURE__ */ import_react33.default.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ import_react33.default.createElement(FormControl_default, { required, size }, label && /* @__PURE__ */ import_react33.default.createElement(FormLabel_default, null, label), /* @__PURE__ */ import_react33.default.createElement(
|
|
4572
|
+
import_joy43.Input,
|
|
4573
|
+
{
|
|
4574
|
+
variant: "outlined",
|
|
4575
|
+
color: "neutral",
|
|
4576
|
+
placeholder,
|
|
4577
|
+
value: searchTerm,
|
|
4578
|
+
onChange: handleSearchChange,
|
|
4579
|
+
size,
|
|
4580
|
+
endDecorator: /* @__PURE__ */ import_react33.default.createElement(import_Search.default, null)
|
|
4581
|
+
}
|
|
4582
|
+
), helperText && /* @__PURE__ */ import_react33.default.createElement(FormHelperText_default, null, helperText)), filteredOptions.length === 0 ? /* @__PURE__ */ import_react33.default.createElement(
|
|
4583
|
+
import_joy43.Stack,
|
|
4584
|
+
{
|
|
4585
|
+
sx: {
|
|
4586
|
+
padding: "20px 12px",
|
|
4587
|
+
justifyContent: "center",
|
|
4588
|
+
alignItems: "center",
|
|
4589
|
+
fontSize: noOptionsFontSize,
|
|
4590
|
+
color: "#A2AAB8"
|
|
4591
|
+
}
|
|
4592
|
+
},
|
|
4593
|
+
"No options found."
|
|
4594
|
+
) : /* @__PURE__ */ import_react33.default.createElement(
|
|
4595
|
+
"div",
|
|
4596
|
+
{
|
|
4597
|
+
ref: parentRef,
|
|
4598
|
+
style: {
|
|
4599
|
+
overflow: "auto",
|
|
4600
|
+
maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight,
|
|
4601
|
+
padding: "8px 0px",
|
|
4602
|
+
marginTop: "8px"
|
|
4603
|
+
}
|
|
4604
|
+
},
|
|
4605
|
+
!searchTerm && /* @__PURE__ */ import_react33.default.createElement(
|
|
4606
|
+
Checkbox_default,
|
|
4607
|
+
{
|
|
4608
|
+
label: "Select all",
|
|
4609
|
+
checked: isAllSelected,
|
|
4610
|
+
indeterminate: isIndeterminate,
|
|
4611
|
+
onChange: handleSelectAll,
|
|
4612
|
+
size,
|
|
4613
|
+
slotProps: {
|
|
4614
|
+
action: {
|
|
4615
|
+
sx: { top: 0, left: 0, bottom: 0, right: 0 }
|
|
4616
|
+
}
|
|
4617
|
+
},
|
|
4618
|
+
sx: { width: "100%", height: itemSize }
|
|
4619
|
+
}
|
|
4620
|
+
),
|
|
4621
|
+
/* @__PURE__ */ import_react33.default.createElement(
|
|
4622
|
+
import_joy43.Stack,
|
|
4623
|
+
{
|
|
4624
|
+
sx: {
|
|
4625
|
+
height: `${virtualizer.getTotalSize()}px`,
|
|
4626
|
+
position: "relative"
|
|
4627
|
+
}
|
|
4628
|
+
},
|
|
4629
|
+
items.map((virtualRow) => {
|
|
4630
|
+
const option = filteredOptions[virtualRow.index];
|
|
4631
|
+
return /* @__PURE__ */ import_react33.default.createElement(
|
|
4632
|
+
Checkbox_default,
|
|
4633
|
+
{
|
|
4634
|
+
key: virtualRow.key,
|
|
4635
|
+
label: option.label,
|
|
4636
|
+
checked: internalValue.includes(option.value),
|
|
4637
|
+
onChange: handleCheckboxChange(option.value),
|
|
4638
|
+
size,
|
|
4639
|
+
slotProps: {
|
|
4640
|
+
action: {
|
|
4641
|
+
sx: { top: 0, left: 0, bottom: 0, right: 0 }
|
|
4642
|
+
}
|
|
4643
|
+
},
|
|
4644
|
+
sx: {
|
|
4645
|
+
position: "absolute",
|
|
4646
|
+
top: 0,
|
|
4647
|
+
left: 0,
|
|
4648
|
+
width: "100%",
|
|
4649
|
+
height: `${virtualRow.size}px`,
|
|
4650
|
+
transform: `translateY(${virtualRow.start}px)`
|
|
4651
|
+
}
|
|
4652
|
+
}
|
|
4653
|
+
);
|
|
4654
|
+
})
|
|
4655
|
+
)
|
|
4656
|
+
));
|
|
4657
|
+
}
|
|
4658
|
+
FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
|
|
4659
|
+
|
|
4476
4660
|
// src/components/FilterMenu/FilterMenu.tsx
|
|
4477
|
-
var
|
|
4478
|
-
var
|
|
4661
|
+
var import_react44 = __toESM(require("react"));
|
|
4662
|
+
var import_joy55 = require("@mui/joy");
|
|
4479
4663
|
|
|
4480
4664
|
// src/components/FilterMenu/components/CheckboxGroup.tsx
|
|
4481
|
-
var
|
|
4482
|
-
var
|
|
4665
|
+
var import_react34 = __toESM(require("react"));
|
|
4666
|
+
var import_joy44 = require("@mui/joy");
|
|
4483
4667
|
function CheckboxGroup(props) {
|
|
4484
4668
|
const { id, label, options, value, onChange, hidden } = props;
|
|
4485
4669
|
const [internalValue, setInternalValue] = useControlledState(value, [], onChange);
|
|
4486
|
-
const handleCheckboxChange = (0,
|
|
4670
|
+
const handleCheckboxChange = (0, import_react34.useCallback)(
|
|
4487
4671
|
(optionValue) => (event) => {
|
|
4488
4672
|
const checked = event.target.checked;
|
|
4489
4673
|
let newValue;
|
|
@@ -4499,7 +4683,7 @@ function CheckboxGroup(props) {
|
|
|
4499
4683
|
if (hidden) {
|
|
4500
4684
|
return null;
|
|
4501
4685
|
}
|
|
4502
|
-
return /* @__PURE__ */
|
|
4686
|
+
return /* @__PURE__ */ import_react34.default.createElement(import_joy44.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react34.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), options.map((option) => /* @__PURE__ */ import_react34.default.createElement(
|
|
4503
4687
|
Checkbox_default,
|
|
4504
4688
|
{
|
|
4505
4689
|
key: `${id}-${option.value}`,
|
|
@@ -4511,25 +4695,53 @@ function CheckboxGroup(props) {
|
|
|
4511
4695
|
}
|
|
4512
4696
|
CheckboxGroup.displayName = "CheckboxGroup";
|
|
4513
4697
|
|
|
4698
|
+
// src/components/FilterMenu/components/FilterableCheckboxGroup.tsx
|
|
4699
|
+
var import_react35 = __toESM(require("react"));
|
|
4700
|
+
var import_joy45 = require("@mui/joy");
|
|
4701
|
+
function FilterableCheckboxGroup2(props) {
|
|
4702
|
+
const { id, label, options, value, onChange, hidden, placeholder, maxHeight } = props;
|
|
4703
|
+
const [internalValue, setInternalValue] = useControlledState(value, [], onChange);
|
|
4704
|
+
const handleChange = (0, import_react35.useCallback)(
|
|
4705
|
+
(newValue) => {
|
|
4706
|
+
setInternalValue(newValue);
|
|
4707
|
+
},
|
|
4708
|
+
[setInternalValue]
|
|
4709
|
+
);
|
|
4710
|
+
if (hidden) {
|
|
4711
|
+
return null;
|
|
4712
|
+
}
|
|
4713
|
+
return /* @__PURE__ */ import_react35.default.createElement(import_joy45.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react35.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react35.default.createElement(
|
|
4714
|
+
FilterableCheckboxGroup,
|
|
4715
|
+
{
|
|
4716
|
+
value: internalValue,
|
|
4717
|
+
onChange: handleChange,
|
|
4718
|
+
options,
|
|
4719
|
+
placeholder,
|
|
4720
|
+
maxHeight
|
|
4721
|
+
}
|
|
4722
|
+
));
|
|
4723
|
+
}
|
|
4724
|
+
FilterableCheckboxGroup2.displayName = "FilterableCheckboxGroup";
|
|
4725
|
+
|
|
4514
4726
|
// src/components/FilterMenu/components/RadioGroup.tsx
|
|
4515
|
-
var
|
|
4727
|
+
var import_react36 = __toESM(require("react"));
|
|
4516
4728
|
|
|
4517
4729
|
// src/components/Radio/Radio.tsx
|
|
4518
|
-
var
|
|
4730
|
+
var import_joy46 = require("@mui/joy");
|
|
4519
4731
|
var import_framer_motion26 = require("framer-motion");
|
|
4520
|
-
var MotionRadio = (0, import_framer_motion26.motion)(
|
|
4732
|
+
var MotionRadio = (0, import_framer_motion26.motion)(import_joy46.Radio);
|
|
4521
4733
|
var Radio = MotionRadio;
|
|
4522
4734
|
Radio.displayName = "Radio";
|
|
4523
|
-
var MotionRadioGroup = (0, import_framer_motion26.motion)(
|
|
4735
|
+
var MotionRadioGroup = (0, import_framer_motion26.motion)(import_joy46.RadioGroup);
|
|
4524
4736
|
var RadioGroup = MotionRadioGroup;
|
|
4525
4737
|
RadioGroup.displayName = "RadioGroup";
|
|
4526
4738
|
|
|
4527
4739
|
// src/components/FilterMenu/components/RadioGroup.tsx
|
|
4528
|
-
var
|
|
4740
|
+
var import_joy47 = require("@mui/joy");
|
|
4529
4741
|
function RadioGroup2(props) {
|
|
4530
4742
|
const { id, label, options, value, onChange, hidden } = props;
|
|
4531
4743
|
const [internalValue, setInternalValue] = useControlledState(value, value ?? "", onChange);
|
|
4532
|
-
const handleRadioChange = (0,
|
|
4744
|
+
const handleRadioChange = (0, import_react36.useCallback)(
|
|
4533
4745
|
(event) => {
|
|
4534
4746
|
const newValue = event.target.value;
|
|
4535
4747
|
const option = options.find((opt) => opt.value.toString() === newValue);
|
|
@@ -4541,13 +4753,13 @@ function RadioGroup2(props) {
|
|
|
4541
4753
|
if (hidden) {
|
|
4542
4754
|
return null;
|
|
4543
4755
|
}
|
|
4544
|
-
return /* @__PURE__ */
|
|
4756
|
+
return /* @__PURE__ */ import_react36.default.createElement(import_joy47.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react36.default.createElement(import_joy47.Stack, { spacing: 1 }, /* @__PURE__ */ import_react36.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label)), /* @__PURE__ */ import_react36.default.createElement(RadioGroup, { name: id, value: internalValue?.toString(), onChange: handleRadioChange }, options.map((option) => /* @__PURE__ */ import_react36.default.createElement(Radio, { key: `${id}-${option.value}`, value: option.value.toString(), label: option.label }))));
|
|
4545
4757
|
}
|
|
4546
4758
|
RadioGroup2.displayName = "RadioGroup";
|
|
4547
4759
|
|
|
4548
4760
|
// src/components/FilterMenu/components/DateRange.tsx
|
|
4549
|
-
var
|
|
4550
|
-
var
|
|
4761
|
+
var import_react37 = __toESM(require("react"));
|
|
4762
|
+
var import_joy48 = require("@mui/joy");
|
|
4551
4763
|
function DateRange(props) {
|
|
4552
4764
|
const {
|
|
4553
4765
|
id,
|
|
@@ -4565,8 +4777,8 @@ function DateRange(props) {
|
|
|
4565
4777
|
hideClearButton
|
|
4566
4778
|
} = props;
|
|
4567
4779
|
const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
|
|
4568
|
-
const [selectedOption, setSelectedOption] = (0,
|
|
4569
|
-
const dateRangeOptions = (0,
|
|
4780
|
+
const [selectedOption, setSelectedOption] = (0, import_react37.useState)("all-time");
|
|
4781
|
+
const dateRangeOptions = (0, import_react37.useMemo)(
|
|
4570
4782
|
() => [
|
|
4571
4783
|
{ label: "All Time", value: "all-time" },
|
|
4572
4784
|
{ label: "This Month", value: "this-month" },
|
|
@@ -4576,7 +4788,7 @@ function DateRange(props) {
|
|
|
4576
4788
|
],
|
|
4577
4789
|
[]
|
|
4578
4790
|
);
|
|
4579
|
-
const getDateRangeForOption = (0,
|
|
4791
|
+
const getDateRangeForOption = (0, import_react37.useCallback)(
|
|
4580
4792
|
(option) => {
|
|
4581
4793
|
const now = /* @__PURE__ */ new Date();
|
|
4582
4794
|
const currentYear = now.getFullYear();
|
|
@@ -4615,7 +4827,7 @@ function DateRange(props) {
|
|
|
4615
4827
|
},
|
|
4616
4828
|
[internalValue]
|
|
4617
4829
|
);
|
|
4618
|
-
const determineOptionFromValue = (0,
|
|
4830
|
+
const determineOptionFromValue = (0, import_react37.useCallback)(
|
|
4619
4831
|
(value2) => {
|
|
4620
4832
|
if (!value2) {
|
|
4621
4833
|
return "all-time";
|
|
@@ -4631,17 +4843,17 @@ function DateRange(props) {
|
|
|
4631
4843
|
},
|
|
4632
4844
|
[getDateRangeForOption]
|
|
4633
4845
|
);
|
|
4634
|
-
const customDateRangeValue = (0,
|
|
4846
|
+
const customDateRangeValue = (0, import_react37.useMemo)(() => {
|
|
4635
4847
|
if (selectedOption === "custom" && internalValue) {
|
|
4636
4848
|
return `${internalValue[0]} - ${internalValue[1]}`;
|
|
4637
4849
|
}
|
|
4638
4850
|
return "";
|
|
4639
4851
|
}, [selectedOption, internalValue]);
|
|
4640
|
-
(0,
|
|
4852
|
+
(0, import_react37.useEffect)(() => {
|
|
4641
4853
|
const newOption = determineOptionFromValue(internalValue);
|
|
4642
4854
|
setSelectedOption(newOption);
|
|
4643
4855
|
}, [internalValue, determineOptionFromValue]);
|
|
4644
|
-
const handleOptionChange = (0,
|
|
4856
|
+
const handleOptionChange = (0, import_react37.useCallback)(
|
|
4645
4857
|
(event) => {
|
|
4646
4858
|
const newOption = event.target.value;
|
|
4647
4859
|
setSelectedOption(newOption);
|
|
@@ -4650,7 +4862,7 @@ function DateRange(props) {
|
|
|
4650
4862
|
},
|
|
4651
4863
|
[getDateRangeForOption, setInternalValue]
|
|
4652
4864
|
);
|
|
4653
|
-
const handleCustomDateChange = (0,
|
|
4865
|
+
const handleCustomDateChange = (0, import_react37.useCallback)(
|
|
4654
4866
|
(event) => {
|
|
4655
4867
|
const dateRangeString = event.target.value;
|
|
4656
4868
|
if (dateRangeString && dateRangeString.includes(" - ")) {
|
|
@@ -4668,7 +4880,7 @@ function DateRange(props) {
|
|
|
4668
4880
|
if (hidden) {
|
|
4669
4881
|
return null;
|
|
4670
4882
|
}
|
|
4671
|
-
return /* @__PURE__ */
|
|
4883
|
+
return /* @__PURE__ */ import_react37.default.createElement(import_joy48.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react37.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react37.default.createElement(RadioGroup, { name: `${id}-options`, value: selectedOption, onChange: handleOptionChange }, dateRangeOptions.map((option) => /* @__PURE__ */ import_react37.default.createElement(Radio, { key: `${id}-${option.value}`, value: option.value, label: option.label }))), selectedOption === "custom" && /* @__PURE__ */ import_react37.default.createElement(
|
|
4672
4884
|
DateRangePicker,
|
|
4673
4885
|
{
|
|
4674
4886
|
value: customDateRangeValue,
|
|
@@ -4687,12 +4899,12 @@ function DateRange(props) {
|
|
|
4687
4899
|
DateRange.displayName = "DateRange";
|
|
4688
4900
|
|
|
4689
4901
|
// src/components/FilterMenu/components/CurrencyInput.tsx
|
|
4690
|
-
var
|
|
4691
|
-
var
|
|
4902
|
+
var import_react38 = __toESM(require("react"));
|
|
4903
|
+
var import_joy49 = require("@mui/joy");
|
|
4692
4904
|
function CurrencyInput3(props) {
|
|
4693
4905
|
const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
|
|
4694
4906
|
const [internalValue, setInternalValue] = useControlledState(value, value, onChange);
|
|
4695
|
-
const handleCurrencyChange = (0,
|
|
4907
|
+
const handleCurrencyChange = (0, import_react38.useCallback)(
|
|
4696
4908
|
(event) => {
|
|
4697
4909
|
const newValue = event.target.value;
|
|
4698
4910
|
setInternalValue(newValue);
|
|
@@ -4702,7 +4914,7 @@ function CurrencyInput3(props) {
|
|
|
4702
4914
|
if (hidden) {
|
|
4703
4915
|
return null;
|
|
4704
4916
|
}
|
|
4705
|
-
return /* @__PURE__ */
|
|
4917
|
+
return /* @__PURE__ */ import_react38.default.createElement(import_joy49.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react38.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react38.default.createElement(
|
|
4706
4918
|
CurrencyInput,
|
|
4707
4919
|
{
|
|
4708
4920
|
value: internalValue,
|
|
@@ -4718,14 +4930,14 @@ function CurrencyInput3(props) {
|
|
|
4718
4930
|
CurrencyInput3.displayName = "CurrencyInput";
|
|
4719
4931
|
|
|
4720
4932
|
// src/components/FilterMenu/components/CurrencyRange.tsx
|
|
4721
|
-
var
|
|
4722
|
-
var
|
|
4933
|
+
var import_react39 = __toESM(require("react"));
|
|
4934
|
+
var import_joy50 = require("@mui/joy");
|
|
4723
4935
|
function CurrencyRange(props) {
|
|
4724
4936
|
const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
|
|
4725
4937
|
const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
|
|
4726
4938
|
const minValue = internalValue?.[0];
|
|
4727
4939
|
const maxValue = internalValue?.[1];
|
|
4728
|
-
const handleMinChange = (0,
|
|
4940
|
+
const handleMinChange = (0, import_react39.useCallback)(
|
|
4729
4941
|
(event) => {
|
|
4730
4942
|
const newMinValue = event.target.value;
|
|
4731
4943
|
const currentMaxValue = maxValue;
|
|
@@ -4739,7 +4951,7 @@ function CurrencyRange(props) {
|
|
|
4739
4951
|
},
|
|
4740
4952
|
[maxValue, setInternalValue]
|
|
4741
4953
|
);
|
|
4742
|
-
const handleMaxChange = (0,
|
|
4954
|
+
const handleMaxChange = (0, import_react39.useCallback)(
|
|
4743
4955
|
(event) => {
|
|
4744
4956
|
const newMaxValue = event.target.value;
|
|
4745
4957
|
const currentMinValue = minValue;
|
|
@@ -4756,7 +4968,7 @@ function CurrencyRange(props) {
|
|
|
4756
4968
|
if (hidden) {
|
|
4757
4969
|
return null;
|
|
4758
4970
|
}
|
|
4759
|
-
return /* @__PURE__ */
|
|
4971
|
+
return /* @__PURE__ */ import_react39.default.createElement(import_joy50.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react39.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react39.default.createElement(import_joy50.Stack, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ import_react39.default.createElement(
|
|
4760
4972
|
CurrencyInput,
|
|
4761
4973
|
{
|
|
4762
4974
|
label: "Minimum",
|
|
@@ -4769,7 +4981,7 @@ function CurrencyRange(props) {
|
|
|
4769
4981
|
"aria-labelledby": label ? id : void 0,
|
|
4770
4982
|
"aria-label": "Minimum amount"
|
|
4771
4983
|
}
|
|
4772
|
-
), /* @__PURE__ */
|
|
4984
|
+
), /* @__PURE__ */ import_react39.default.createElement(
|
|
4773
4985
|
CurrencyInput,
|
|
4774
4986
|
{
|
|
4775
4987
|
label: "Maximum",
|
|
@@ -4787,20 +4999,20 @@ function CurrencyRange(props) {
|
|
|
4787
4999
|
CurrencyRange.displayName = "CurrencyRange";
|
|
4788
5000
|
|
|
4789
5001
|
// src/components/FilterMenu/components/PercentageInput.tsx
|
|
4790
|
-
var
|
|
4791
|
-
var
|
|
5002
|
+
var import_react41 = __toESM(require("react"));
|
|
5003
|
+
var import_joy52 = require("@mui/joy");
|
|
4792
5004
|
|
|
4793
5005
|
// src/components/PercentageInput/PercentageInput.tsx
|
|
4794
|
-
var
|
|
5006
|
+
var import_react40 = __toESM(require("react"));
|
|
4795
5007
|
var import_react_number_format2 = require("react-number-format");
|
|
4796
|
-
var
|
|
5008
|
+
var import_joy51 = require("@mui/joy");
|
|
4797
5009
|
var padDecimal = (value, decimalScale) => {
|
|
4798
5010
|
const [integer, decimal = ""] = `${value}`.split(".");
|
|
4799
5011
|
return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
|
|
4800
5012
|
};
|
|
4801
|
-
var TextMaskAdapter7 =
|
|
5013
|
+
var TextMaskAdapter7 = import_react40.default.forwardRef(function TextMaskAdapter8(props, ref) {
|
|
4802
5014
|
const { onChange, min, max, ...innerProps } = props;
|
|
4803
|
-
return /* @__PURE__ */
|
|
5015
|
+
return /* @__PURE__ */ import_react40.default.createElement(
|
|
4804
5016
|
import_react_number_format2.NumericFormat,
|
|
4805
5017
|
{
|
|
4806
5018
|
...innerProps,
|
|
@@ -4820,14 +5032,14 @@ var TextMaskAdapter7 = import_react38.default.forwardRef(function TextMaskAdapte
|
|
|
4820
5032
|
}
|
|
4821
5033
|
);
|
|
4822
5034
|
});
|
|
4823
|
-
var PercentageInputRoot = (0,
|
|
5035
|
+
var PercentageInputRoot = (0, import_joy51.styled)(Input_default, {
|
|
4824
5036
|
name: "PercentageInput",
|
|
4825
5037
|
slot: "Root",
|
|
4826
5038
|
overridesResolver: (props, styles) => styles.root
|
|
4827
5039
|
})({});
|
|
4828
|
-
var PercentageInput =
|
|
5040
|
+
var PercentageInput = import_react40.default.forwardRef(
|
|
4829
5041
|
function PercentageInput2(inProps, ref) {
|
|
4830
|
-
const props = (0,
|
|
5042
|
+
const props = (0, import_joy51.useThemeProps)({ props: inProps, name: "PercentageInput" });
|
|
4831
5043
|
const {
|
|
4832
5044
|
name,
|
|
4833
5045
|
onChange,
|
|
@@ -4848,18 +5060,18 @@ var PercentageInput = import_react38.default.forwardRef(
|
|
|
4848
5060
|
const [_value, setValue] = useControlledState(
|
|
4849
5061
|
props.value,
|
|
4850
5062
|
props.defaultValue,
|
|
4851
|
-
(0,
|
|
5063
|
+
(0, import_react40.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
|
|
4852
5064
|
);
|
|
4853
|
-
const [internalError, setInternalError] = (0,
|
|
5065
|
+
const [internalError, setInternalError] = (0, import_react40.useState)(
|
|
4854
5066
|
max && _value && _value > max || min && _value && _value < min
|
|
4855
5067
|
);
|
|
4856
|
-
const value = (0,
|
|
5068
|
+
const value = (0, import_react40.useMemo)(() => {
|
|
4857
5069
|
if (_value && useMinorUnit) {
|
|
4858
5070
|
return _value / Math.pow(10, maxDecimalScale);
|
|
4859
5071
|
}
|
|
4860
5072
|
return _value;
|
|
4861
5073
|
}, [_value, useMinorUnit, maxDecimalScale]);
|
|
4862
|
-
const handleChange = (0,
|
|
5074
|
+
const handleChange = (0, import_react40.useCallback)(
|
|
4863
5075
|
(event) => {
|
|
4864
5076
|
if (event.target.value === "") {
|
|
4865
5077
|
setValue(void 0);
|
|
@@ -4876,7 +5088,7 @@ var PercentageInput = import_react38.default.forwardRef(
|
|
|
4876
5088
|
},
|
|
4877
5089
|
[setValue, useMinorUnit, maxDecimalScale, min, max]
|
|
4878
5090
|
);
|
|
4879
|
-
return /* @__PURE__ */
|
|
5091
|
+
return /* @__PURE__ */ import_react40.default.createElement(
|
|
4880
5092
|
PercentageInputRoot,
|
|
4881
5093
|
{
|
|
4882
5094
|
...innerProps,
|
|
@@ -4923,7 +5135,7 @@ var PercentageInput3 = ({
|
|
|
4923
5135
|
if (hidden) {
|
|
4924
5136
|
return null;
|
|
4925
5137
|
}
|
|
4926
|
-
return /* @__PURE__ */
|
|
5138
|
+
return /* @__PURE__ */ import_react41.default.createElement(import_joy52.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react41.default.createElement(import_joy52.Typography, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react41.default.createElement(
|
|
4927
5139
|
PercentageInput,
|
|
4928
5140
|
{
|
|
4929
5141
|
value: _value,
|
|
@@ -4938,8 +5150,8 @@ var PercentageInput3 = ({
|
|
|
4938
5150
|
};
|
|
4939
5151
|
|
|
4940
5152
|
// src/components/FilterMenu/components/PercentageRange.tsx
|
|
4941
|
-
var
|
|
4942
|
-
var
|
|
5153
|
+
var import_react42 = __toESM(require("react"));
|
|
5154
|
+
var import_joy53 = require("@mui/joy");
|
|
4943
5155
|
function PercentageRange(props) {
|
|
4944
5156
|
const { id, label, value, onChange, hidden, useMinorUnit, maxDecimalScale, min, max } = props;
|
|
4945
5157
|
const [internalValue, setInternalValue] = useControlledState(
|
|
@@ -4949,7 +5161,7 @@ function PercentageRange(props) {
|
|
|
4949
5161
|
);
|
|
4950
5162
|
const minValue = internalValue?.[0];
|
|
4951
5163
|
const maxValue = internalValue?.[1];
|
|
4952
|
-
const handleMinChange = (0,
|
|
5164
|
+
const handleMinChange = (0, import_react42.useCallback)(
|
|
4953
5165
|
(event) => {
|
|
4954
5166
|
const newMinValue = event.target.value;
|
|
4955
5167
|
const currentMaxValue = maxValue;
|
|
@@ -4961,7 +5173,7 @@ function PercentageRange(props) {
|
|
|
4961
5173
|
},
|
|
4962
5174
|
[maxValue, setInternalValue]
|
|
4963
5175
|
);
|
|
4964
|
-
const handleMaxChange = (0,
|
|
5176
|
+
const handleMaxChange = (0, import_react42.useCallback)(
|
|
4965
5177
|
(event) => {
|
|
4966
5178
|
const newMaxValue = event.target.value;
|
|
4967
5179
|
const currentMinValue = minValue;
|
|
@@ -4976,7 +5188,7 @@ function PercentageRange(props) {
|
|
|
4976
5188
|
if (hidden) {
|
|
4977
5189
|
return null;
|
|
4978
5190
|
}
|
|
4979
|
-
return /* @__PURE__ */
|
|
5191
|
+
return /* @__PURE__ */ import_react42.default.createElement(import_joy53.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react42.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react42.default.createElement(import_joy53.Stack, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ import_react42.default.createElement(
|
|
4980
5192
|
PercentageInput,
|
|
4981
5193
|
{
|
|
4982
5194
|
label: "Minimum",
|
|
@@ -4990,7 +5202,7 @@ function PercentageRange(props) {
|
|
|
4990
5202
|
"aria-label": "Minimum percentage",
|
|
4991
5203
|
placeholder: "0%"
|
|
4992
5204
|
}
|
|
4993
|
-
), /* @__PURE__ */
|
|
5205
|
+
), /* @__PURE__ */ import_react42.default.createElement(
|
|
4994
5206
|
PercentageInput,
|
|
4995
5207
|
{
|
|
4996
5208
|
label: "Maximum",
|
|
@@ -5009,13 +5221,13 @@ function PercentageRange(props) {
|
|
|
5009
5221
|
PercentageRange.displayName = "PercentageRange";
|
|
5010
5222
|
|
|
5011
5223
|
// src/components/FilterMenu/components/Autocomplete.tsx
|
|
5012
|
-
var
|
|
5013
|
-
var
|
|
5224
|
+
var import_react43 = __toESM(require("react"));
|
|
5225
|
+
var import_joy54 = require("@mui/joy");
|
|
5014
5226
|
function Autocomplete2(props) {
|
|
5015
5227
|
const { id, label, value, onChange, options, multiple, hidden, placeholder } = props;
|
|
5016
5228
|
const [internalValue, setInternalValue] = useControlledState(value, void 0, onChange);
|
|
5017
5229
|
const autocompleteValue = typeof internalValue === "string" || typeof internalValue === "number" ? String(internalValue) : void 0;
|
|
5018
|
-
const handleChange = (0,
|
|
5230
|
+
const handleChange = (0, import_react43.useCallback)(
|
|
5019
5231
|
(event) => {
|
|
5020
5232
|
const val = event.target.value;
|
|
5021
5233
|
if (val) {
|
|
@@ -5030,7 +5242,7 @@ function Autocomplete2(props) {
|
|
|
5030
5242
|
if (hidden) {
|
|
5031
5243
|
return null;
|
|
5032
5244
|
}
|
|
5033
|
-
return /* @__PURE__ */
|
|
5245
|
+
return /* @__PURE__ */ import_react43.default.createElement(import_joy54.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react43.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react43.default.createElement(
|
|
5034
5246
|
Autocomplete,
|
|
5035
5247
|
{
|
|
5036
5248
|
value: autocompleteValue,
|
|
@@ -5047,6 +5259,7 @@ Autocomplete2.displayName = "Autocomplete";
|
|
|
5047
5259
|
// src/components/FilterMenu/FilterMenu.tsx
|
|
5048
5260
|
var componentMap = {
|
|
5049
5261
|
"checkbox-group": CheckboxGroup,
|
|
5262
|
+
"filterable-checkbox-group": FilterableCheckboxGroup2,
|
|
5050
5263
|
"radio-group": RadioGroup2,
|
|
5051
5264
|
"date-range": DateRange,
|
|
5052
5265
|
"currency-input": CurrencyInput3,
|
|
@@ -5063,7 +5276,7 @@ function FilterMenu(props) {
|
|
|
5063
5276
|
void 0
|
|
5064
5277
|
// onChange는 Apply 버튼에서만 호출
|
|
5065
5278
|
);
|
|
5066
|
-
const handleFilterChange = (0,
|
|
5279
|
+
const handleFilterChange = (0, import_react44.useCallback)(
|
|
5067
5280
|
(filterId, value) => {
|
|
5068
5281
|
setInternalValues((prev) => ({
|
|
5069
5282
|
...prev,
|
|
@@ -5072,17 +5285,17 @@ function FilterMenu(props) {
|
|
|
5072
5285
|
},
|
|
5073
5286
|
[setInternalValues]
|
|
5074
5287
|
);
|
|
5075
|
-
const handleApply = (0,
|
|
5288
|
+
const handleApply = (0, import_react44.useCallback)(() => {
|
|
5076
5289
|
onChange?.(internalValues);
|
|
5077
5290
|
onClose?.();
|
|
5078
5291
|
}, [onChange, onClose, internalValues]);
|
|
5079
|
-
const handleClear = (0,
|
|
5292
|
+
const handleClear = (0, import_react44.useCallback)(() => {
|
|
5080
5293
|
const clearedValues = resetValues || {};
|
|
5081
5294
|
setInternalValues(clearedValues);
|
|
5082
5295
|
onChange?.(clearedValues);
|
|
5083
5296
|
onClose?.();
|
|
5084
5297
|
}, [resetValues, setInternalValues, onChange, onClose]);
|
|
5085
|
-
return /* @__PURE__ */
|
|
5298
|
+
return /* @__PURE__ */ import_react44.default.createElement(
|
|
5086
5299
|
ModalDialog,
|
|
5087
5300
|
{
|
|
5088
5301
|
sx: {
|
|
@@ -5092,9 +5305,9 @@ function FilterMenu(props) {
|
|
|
5092
5305
|
top: "initial"
|
|
5093
5306
|
}
|
|
5094
5307
|
},
|
|
5095
|
-
/* @__PURE__ */
|
|
5308
|
+
/* @__PURE__ */ import_react44.default.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ import_react44.default.createElement(import_joy55.Stack, { spacing: 6 }, filters?.map((filter) => {
|
|
5096
5309
|
const FilterComponent = componentMap[filter.type];
|
|
5097
|
-
return FilterComponent ? /* @__PURE__ */
|
|
5310
|
+
return FilterComponent ? /* @__PURE__ */ import_react44.default.createElement(
|
|
5098
5311
|
FilterComponent,
|
|
5099
5312
|
{
|
|
5100
5313
|
key: filter.id,
|
|
@@ -5106,14 +5319,14 @@ function FilterMenu(props) {
|
|
|
5106
5319
|
}
|
|
5107
5320
|
) : null;
|
|
5108
5321
|
}))),
|
|
5109
|
-
/* @__PURE__ */
|
|
5322
|
+
/* @__PURE__ */ import_react44.default.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ import_react44.default.createElement(import_joy55.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), useReset && !useClear && /* @__PURE__ */ import_react44.default.createElement(import_joy55.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Reset"), /* @__PURE__ */ import_react44.default.createElement(import_joy55.Button, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
|
|
5110
5323
|
);
|
|
5111
5324
|
}
|
|
5112
5325
|
FilterMenu.displayName = "FilterMenu";
|
|
5113
5326
|
|
|
5114
5327
|
// src/components/Uploader/Uploader.tsx
|
|
5115
|
-
var
|
|
5116
|
-
var
|
|
5328
|
+
var import_react45 = __toESM(require("react"));
|
|
5329
|
+
var import_joy56 = require("@mui/joy");
|
|
5117
5330
|
var import_CloudUploadRounded = __toESM(require("@mui/icons-material/CloudUploadRounded"));
|
|
5118
5331
|
var import_UploadFileRounded = __toESM(require("@mui/icons-material/UploadFileRounded"));
|
|
5119
5332
|
var import_ClearRounded = __toESM(require("@mui/icons-material/ClearRounded"));
|
|
@@ -5135,7 +5348,7 @@ var esmFiles = {
|
|
|
5135
5348
|
"@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js"
|
|
5136
5349
|
)
|
|
5137
5350
|
};
|
|
5138
|
-
var VisuallyHiddenInput = (0,
|
|
5351
|
+
var VisuallyHiddenInput = (0, import_joy56.styled)(import_joy56.Input)({
|
|
5139
5352
|
width: "1px",
|
|
5140
5353
|
height: "1px",
|
|
5141
5354
|
overflow: "hidden",
|
|
@@ -5144,18 +5357,18 @@ var VisuallyHiddenInput = (0, import_joy54.styled)(import_joy54.Input)({
|
|
|
5144
5357
|
clipPath: "inset(50%)",
|
|
5145
5358
|
position: "absolute"
|
|
5146
5359
|
});
|
|
5147
|
-
var PreviewRoot = (0,
|
|
5360
|
+
var PreviewRoot = (0, import_joy56.styled)(Stack_default, {
|
|
5148
5361
|
name: "Uploader",
|
|
5149
5362
|
slot: "PreviewRoot"
|
|
5150
5363
|
})({});
|
|
5151
|
-
var UploadCard = (0,
|
|
5364
|
+
var UploadCard = (0, import_joy56.styled)(Card, {
|
|
5152
5365
|
name: "Uploader",
|
|
5153
5366
|
slot: "UploadCard"
|
|
5154
5367
|
})(({ theme }) => ({
|
|
5155
5368
|
padding: theme.spacing(2.5),
|
|
5156
5369
|
border: `1px solid ${theme.palette.neutral.outlinedBorder}`
|
|
5157
5370
|
}));
|
|
5158
|
-
var UploadFileIcon = (0,
|
|
5371
|
+
var UploadFileIcon = (0, import_joy56.styled)(import_UploadFileRounded.default, {
|
|
5159
5372
|
name: "Uploader",
|
|
5160
5373
|
slot: "UploadFileIcon"
|
|
5161
5374
|
})(({ theme }) => ({
|
|
@@ -5163,7 +5376,7 @@ var UploadFileIcon = (0, import_joy54.styled)(import_UploadFileRounded.default,
|
|
|
5163
5376
|
width: "32px",
|
|
5164
5377
|
height: "32px"
|
|
5165
5378
|
}));
|
|
5166
|
-
var ClearIcon2 = (0,
|
|
5379
|
+
var ClearIcon2 = (0, import_joy56.styled)(import_ClearRounded.default, {
|
|
5167
5380
|
name: "Uploader",
|
|
5168
5381
|
slot: "ClearIcon"
|
|
5169
5382
|
})(({ theme }) => ({
|
|
@@ -5189,7 +5402,7 @@ var getFileSize = (n) => {
|
|
|
5189
5402
|
};
|
|
5190
5403
|
var Preview = (props) => {
|
|
5191
5404
|
const { files, uploaded, onDelete } = props;
|
|
5192
|
-
return /* @__PURE__ */
|
|
5405
|
+
return /* @__PURE__ */ import_react45.default.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ import_react45.default.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ import_react45.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ import_react45.default.createElement(UploadFileIcon, null), /* @__PURE__ */ import_react45.default.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ import_react45.default.createElement(
|
|
5193
5406
|
Typography_default,
|
|
5194
5407
|
{
|
|
5195
5408
|
level: "body-sm",
|
|
@@ -5201,15 +5414,15 @@ var Preview = (props) => {
|
|
|
5201
5414
|
}
|
|
5202
5415
|
},
|
|
5203
5416
|
file.name
|
|
5204
|
-
), !!file.size && /* @__PURE__ */
|
|
5417
|
+
), !!file.size && /* @__PURE__ */ import_react45.default.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ import_react45.default.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ import_react45.default.createElement(ClearIcon2, null))))));
|
|
5205
5418
|
};
|
|
5206
|
-
var UploaderRoot = (0,
|
|
5419
|
+
var UploaderRoot = (0, import_joy56.styled)(Stack_default, {
|
|
5207
5420
|
name: "Uploader",
|
|
5208
5421
|
slot: "root"
|
|
5209
5422
|
})(({ theme }) => ({
|
|
5210
5423
|
gap: theme.spacing(2)
|
|
5211
5424
|
}));
|
|
5212
|
-
var FileDropZone = (0,
|
|
5425
|
+
var FileDropZone = (0, import_joy56.styled)(Sheet_default, {
|
|
5213
5426
|
name: "Uploader",
|
|
5214
5427
|
slot: "dropZone",
|
|
5215
5428
|
shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
|
|
@@ -5230,7 +5443,7 @@ var FileDropZone = (0, import_joy54.styled)(Sheet_default, {
|
|
|
5230
5443
|
}
|
|
5231
5444
|
})
|
|
5232
5445
|
);
|
|
5233
|
-
var UploaderIcon = (0,
|
|
5446
|
+
var UploaderIcon = (0, import_joy56.styled)(import_CloudUploadRounded.default, {
|
|
5234
5447
|
name: "Uploader",
|
|
5235
5448
|
slot: "iconContainer",
|
|
5236
5449
|
shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
|
|
@@ -5244,7 +5457,7 @@ var UploaderIcon = (0, import_joy54.styled)(import_CloudUploadRounded.default, {
|
|
|
5244
5457
|
}
|
|
5245
5458
|
})
|
|
5246
5459
|
);
|
|
5247
|
-
var Uploader =
|
|
5460
|
+
var Uploader = import_react45.default.memo(
|
|
5248
5461
|
(props) => {
|
|
5249
5462
|
const {
|
|
5250
5463
|
accept,
|
|
@@ -5261,14 +5474,14 @@ var Uploader = import_react43.default.memo(
|
|
|
5261
5474
|
error: errorProp,
|
|
5262
5475
|
helperText: helperTextProp
|
|
5263
5476
|
} = props;
|
|
5264
|
-
const dropZoneRef = (0,
|
|
5265
|
-
const inputRef = (0,
|
|
5266
|
-
const [errorText, setErrorText] = (0,
|
|
5267
|
-
const [files, setFiles] = (0,
|
|
5268
|
-
const [uploaded, setUploaded] = (0,
|
|
5269
|
-
const [previewState, setPreviewState] = (0,
|
|
5270
|
-
const accepts = (0,
|
|
5271
|
-
const parsedAccepts = (0,
|
|
5477
|
+
const dropZoneRef = (0, import_react45.useRef)(null);
|
|
5478
|
+
const inputRef = (0, import_react45.useRef)(null);
|
|
5479
|
+
const [errorText, setErrorText] = (0, import_react45.useState)();
|
|
5480
|
+
const [files, setFiles] = (0, import_react45.useState)([]);
|
|
5481
|
+
const [uploaded, setUploaded] = (0, import_react45.useState)(props.uploaded || []);
|
|
5482
|
+
const [previewState, setPreviewState] = (0, import_react45.useState)("idle");
|
|
5483
|
+
const accepts = (0, import_react45.useMemo)(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
|
|
5484
|
+
const parsedAccepts = (0, import_react45.useMemo)(
|
|
5272
5485
|
() => accepts.flatMap((type) => {
|
|
5273
5486
|
if (["image/*", "video/*", "audio/*"].includes(type)) {
|
|
5274
5487
|
return ALL_EXTENSIONS_BY_TYPE[type];
|
|
@@ -5277,7 +5490,7 @@ var Uploader = import_react43.default.memo(
|
|
|
5277
5490
|
}),
|
|
5278
5491
|
[accepts]
|
|
5279
5492
|
);
|
|
5280
|
-
const helperText = (0,
|
|
5493
|
+
const helperText = (0, import_react45.useMemo)(() => {
|
|
5281
5494
|
if (helperTextProp) {
|
|
5282
5495
|
return helperTextProp;
|
|
5283
5496
|
}
|
|
@@ -5307,12 +5520,12 @@ var Uploader = import_react43.default.memo(
|
|
|
5307
5520
|
}
|
|
5308
5521
|
return helperTexts.join(", ");
|
|
5309
5522
|
}, [accepts, maxFileTotalSize, maxCount, helperTextProp]);
|
|
5310
|
-
const error = (0,
|
|
5311
|
-
const showDropZone = (0,
|
|
5523
|
+
const error = (0, import_react45.useMemo)(() => !!errorText || errorProp, [errorProp, errorText]);
|
|
5524
|
+
const showDropZone = (0, import_react45.useMemo)(
|
|
5312
5525
|
() => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
|
|
5313
5526
|
[files, maxCount, uploaded]
|
|
5314
5527
|
);
|
|
5315
|
-
const addFiles = (0,
|
|
5528
|
+
const addFiles = (0, import_react45.useCallback)(
|
|
5316
5529
|
(uploads) => {
|
|
5317
5530
|
try {
|
|
5318
5531
|
const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
|
|
@@ -5357,7 +5570,7 @@ var Uploader = import_react43.default.memo(
|
|
|
5357
5570
|
},
|
|
5358
5571
|
[files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
|
|
5359
5572
|
);
|
|
5360
|
-
(0,
|
|
5573
|
+
(0, import_react45.useEffect)(() => {
|
|
5361
5574
|
if (!dropZoneRef.current || disabled) {
|
|
5362
5575
|
return;
|
|
5363
5576
|
}
|
|
@@ -5395,7 +5608,7 @@ var Uploader = import_react43.default.memo(
|
|
|
5395
5608
|
);
|
|
5396
5609
|
return () => cleanup?.();
|
|
5397
5610
|
}, [disabled, addFiles]);
|
|
5398
|
-
(0,
|
|
5611
|
+
(0, import_react45.useEffect)(() => {
|
|
5399
5612
|
if (inputRef.current && minCount) {
|
|
5400
5613
|
if (files.length < minCount) {
|
|
5401
5614
|
inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
|
|
@@ -5404,14 +5617,14 @@ var Uploader = import_react43.default.memo(
|
|
|
5404
5617
|
}
|
|
5405
5618
|
}
|
|
5406
5619
|
}, [inputRef, files, minCount]);
|
|
5407
|
-
const handleFileChanged = (0,
|
|
5620
|
+
const handleFileChanged = (0, import_react45.useCallback)(
|
|
5408
5621
|
(event) => {
|
|
5409
5622
|
const files2 = Array.from(event.target.files || []);
|
|
5410
5623
|
addFiles(files2);
|
|
5411
5624
|
},
|
|
5412
5625
|
[addFiles]
|
|
5413
5626
|
);
|
|
5414
|
-
const handleDeleteFile = (0,
|
|
5627
|
+
const handleDeleteFile = (0, import_react45.useCallback)(
|
|
5415
5628
|
(deletedFile) => {
|
|
5416
5629
|
if (deletedFile instanceof File) {
|
|
5417
5630
|
setFiles((current) => {
|
|
@@ -5431,10 +5644,10 @@ var Uploader = import_react43.default.memo(
|
|
|
5431
5644
|
},
|
|
5432
5645
|
[name, onChange, onDelete]
|
|
5433
5646
|
);
|
|
5434
|
-
const handleUploaderButtonClick = (0,
|
|
5647
|
+
const handleUploaderButtonClick = (0, import_react45.useCallback)(() => {
|
|
5435
5648
|
inputRef.current?.click();
|
|
5436
5649
|
}, []);
|
|
5437
|
-
const uploader = /* @__PURE__ */
|
|
5650
|
+
const uploader = /* @__PURE__ */ import_react45.default.createElement(
|
|
5438
5651
|
FileDropZone,
|
|
5439
5652
|
{
|
|
5440
5653
|
state: previewState,
|
|
@@ -5443,8 +5656,8 @@ var Uploader = import_react43.default.memo(
|
|
|
5443
5656
|
ref: dropZoneRef,
|
|
5444
5657
|
onClick: handleUploaderButtonClick
|
|
5445
5658
|
},
|
|
5446
|
-
/* @__PURE__ */
|
|
5447
|
-
/* @__PURE__ */
|
|
5659
|
+
/* @__PURE__ */ import_react45.default.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react45.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
|
|
5660
|
+
/* @__PURE__ */ import_react45.default.createElement(
|
|
5448
5661
|
VisuallyHiddenInput,
|
|
5449
5662
|
{
|
|
5450
5663
|
disabled,
|
|
@@ -5467,17 +5680,17 @@ var Uploader = import_react43.default.memo(
|
|
|
5467
5680
|
}
|
|
5468
5681
|
)
|
|
5469
5682
|
);
|
|
5470
|
-
return /* @__PURE__ */
|
|
5683
|
+
return /* @__PURE__ */ import_react45.default.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ import_react45.default.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ import_react45.default.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ import_react45.default.createElement(FormHelperText_default, null, /* @__PURE__ */ import_react45.default.createElement(Stack_default, null, errorText && /* @__PURE__ */ import_react45.default.createElement("div", null, errorText), /* @__PURE__ */ import_react45.default.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ import_react45.default.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
|
|
5471
5684
|
}
|
|
5472
5685
|
);
|
|
5473
5686
|
Uploader.displayName = "Uploader";
|
|
5474
5687
|
|
|
5475
5688
|
// src/components/Grid/Grid.tsx
|
|
5476
|
-
var
|
|
5689
|
+
var import_joy57 = require("@mui/joy");
|
|
5477
5690
|
|
|
5478
5691
|
// src/components/IconMenuButton/IconMenuButton.tsx
|
|
5479
|
-
var
|
|
5480
|
-
var
|
|
5692
|
+
var import_react46 = __toESM(require("react"));
|
|
5693
|
+
var import_joy58 = require("@mui/joy");
|
|
5481
5694
|
function IconMenuButton(props) {
|
|
5482
5695
|
const {
|
|
5483
5696
|
size,
|
|
@@ -5490,8 +5703,8 @@ function IconMenuButton(props) {
|
|
|
5490
5703
|
placement = "bottom"
|
|
5491
5704
|
} = props;
|
|
5492
5705
|
if (!items.length) {
|
|
5493
|
-
return /* @__PURE__ */
|
|
5494
|
-
|
|
5706
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
5707
|
+
import_joy58.IconButton,
|
|
5495
5708
|
{
|
|
5496
5709
|
component: props.buttonComponent ?? "button",
|
|
5497
5710
|
size,
|
|
@@ -5504,10 +5717,10 @@ function IconMenuButton(props) {
|
|
|
5504
5717
|
icon
|
|
5505
5718
|
);
|
|
5506
5719
|
}
|
|
5507
|
-
return /* @__PURE__ */
|
|
5508
|
-
|
|
5720
|
+
return /* @__PURE__ */ import_react46.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react46.default.createElement(
|
|
5721
|
+
import_joy58.MenuButton,
|
|
5509
5722
|
{
|
|
5510
|
-
slots: { root:
|
|
5723
|
+
slots: { root: import_joy58.IconButton },
|
|
5511
5724
|
slotProps: {
|
|
5512
5725
|
root: {
|
|
5513
5726
|
component: props.buttonComponent ?? "button",
|
|
@@ -5521,19 +5734,19 @@ function IconMenuButton(props) {
|
|
|
5521
5734
|
}
|
|
5522
5735
|
},
|
|
5523
5736
|
icon
|
|
5524
|
-
), /* @__PURE__ */
|
|
5737
|
+
), /* @__PURE__ */ import_react46.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react46.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
|
|
5525
5738
|
}
|
|
5526
5739
|
IconMenuButton.displayName = "IconMenuButton";
|
|
5527
5740
|
|
|
5528
5741
|
// src/components/Markdown/Markdown.tsx
|
|
5529
|
-
var
|
|
5530
|
-
var
|
|
5531
|
-
var
|
|
5742
|
+
var import_react47 = __toESM(require("react"));
|
|
5743
|
+
var import_joy59 = require("@mui/joy");
|
|
5744
|
+
var import_joy60 = require("@mui/joy");
|
|
5532
5745
|
var import_remark_gfm = __toESM(require("remark-gfm"));
|
|
5533
|
-
var LazyReactMarkdown = (0,
|
|
5746
|
+
var LazyReactMarkdown = (0, import_react47.lazy)(() => import("react-markdown"));
|
|
5534
5747
|
var Markdown = (props) => {
|
|
5535
|
-
const [rehypeAccent2, setRehypeAccent] = (0,
|
|
5536
|
-
(0,
|
|
5748
|
+
const [rehypeAccent2, setRehypeAccent] = (0, import_react47.useState)(null);
|
|
5749
|
+
(0, import_react47.useEffect)(() => {
|
|
5537
5750
|
const loadRehypeAccent = async () => {
|
|
5538
5751
|
const module2 = await Promise.resolve().then(() => (init_rehype_accent(), rehype_accent_exports));
|
|
5539
5752
|
setRehypeAccent(() => module2.rehypeAccent);
|
|
@@ -5555,12 +5768,12 @@ var Markdown = (props) => {
|
|
|
5555
5768
|
if (!rehypeAccent2) {
|
|
5556
5769
|
return null;
|
|
5557
5770
|
}
|
|
5558
|
-
return /* @__PURE__ */
|
|
5559
|
-
|
|
5771
|
+
return /* @__PURE__ */ import_react47.default.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ import_react47.default.createElement(
|
|
5772
|
+
import_react47.Suspense,
|
|
5560
5773
|
{
|
|
5561
|
-
fallback: fallback || /* @__PURE__ */
|
|
5774
|
+
fallback: fallback || /* @__PURE__ */ import_react47.default.createElement(Typography, null, /* @__PURE__ */ import_react47.default.createElement(import_joy59.Skeleton, null, content || ""))
|
|
5562
5775
|
},
|
|
5563
|
-
/* @__PURE__ */
|
|
5776
|
+
/* @__PURE__ */ import_react47.default.createElement(
|
|
5564
5777
|
LazyReactMarkdown,
|
|
5565
5778
|
{
|
|
5566
5779
|
...markdownOptions,
|
|
@@ -5568,15 +5781,15 @@ var Markdown = (props) => {
|
|
|
5568
5781
|
rehypePlugins: [[rehypeAccent2, { accentColor }]],
|
|
5569
5782
|
remarkPlugins: [import_remark_gfm.default],
|
|
5570
5783
|
components: {
|
|
5571
|
-
h1: ({ children }) => /* @__PURE__ */
|
|
5572
|
-
h2: ({ children }) => /* @__PURE__ */
|
|
5573
|
-
h3: ({ children }) => /* @__PURE__ */
|
|
5574
|
-
h4: ({ children }) => /* @__PURE__ */
|
|
5575
|
-
p: ({ children, node }) => /* @__PURE__ */
|
|
5576
|
-
a: ({ children, href }) => /* @__PURE__ */
|
|
5577
|
-
hr: () => /* @__PURE__ */
|
|
5578
|
-
b: ({ children }) => /* @__PURE__ */
|
|
5579
|
-
strong: ({ children }) => /* @__PURE__ */
|
|
5784
|
+
h1: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h1" }, children),
|
|
5785
|
+
h2: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h2" }, children),
|
|
5786
|
+
h3: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h3" }, children),
|
|
5787
|
+
h4: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h4" }, children),
|
|
5788
|
+
p: ({ children, node }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: defaultLevel, ...node?.properties }, children),
|
|
5789
|
+
a: ({ children, href }) => /* @__PURE__ */ import_react47.default.createElement(import_joy60.Link, { href, target: defaultLinkAction }, children),
|
|
5790
|
+
hr: () => /* @__PURE__ */ import_react47.default.createElement(Divider, null),
|
|
5791
|
+
b: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
|
|
5792
|
+
strong: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
|
|
5580
5793
|
...markdownOptions?.components
|
|
5581
5794
|
}
|
|
5582
5795
|
}
|
|
@@ -5586,8 +5799,8 @@ var Markdown = (props) => {
|
|
|
5586
5799
|
Markdown.displayName = "Markdown";
|
|
5587
5800
|
|
|
5588
5801
|
// src/components/MenuButton/MenuButton.tsx
|
|
5589
|
-
var
|
|
5590
|
-
var
|
|
5802
|
+
var import_react48 = __toESM(require("react"));
|
|
5803
|
+
var import_joy61 = require("@mui/joy");
|
|
5591
5804
|
var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
|
|
5592
5805
|
function MenuButton(props) {
|
|
5593
5806
|
const {
|
|
@@ -5604,8 +5817,8 @@ function MenuButton(props) {
|
|
|
5604
5817
|
placement = "bottom"
|
|
5605
5818
|
} = props;
|
|
5606
5819
|
if (!items.length) {
|
|
5607
|
-
return /* @__PURE__ */
|
|
5608
|
-
|
|
5820
|
+
return /* @__PURE__ */ import_react48.default.createElement(
|
|
5821
|
+
import_joy61.Button,
|
|
5609
5822
|
{
|
|
5610
5823
|
component: props.buttonComponent ?? "button",
|
|
5611
5824
|
size,
|
|
@@ -5615,13 +5828,13 @@ function MenuButton(props) {
|
|
|
5615
5828
|
loading,
|
|
5616
5829
|
startDecorator,
|
|
5617
5830
|
...props.buttonComponentProps ?? {},
|
|
5618
|
-
endDecorator: showIcon ? /* @__PURE__ */
|
|
5831
|
+
endDecorator: showIcon ? /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react48.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, endDecorator)
|
|
5619
5832
|
},
|
|
5620
5833
|
buttonText
|
|
5621
5834
|
);
|
|
5622
5835
|
}
|
|
5623
|
-
return /* @__PURE__ */
|
|
5624
|
-
|
|
5836
|
+
return /* @__PURE__ */ import_react48.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react48.default.createElement(
|
|
5837
|
+
import_joy61.MenuButton,
|
|
5625
5838
|
{
|
|
5626
5839
|
component: props.buttonComponent ?? "button",
|
|
5627
5840
|
size,
|
|
@@ -5631,25 +5844,25 @@ function MenuButton(props) {
|
|
|
5631
5844
|
loading,
|
|
5632
5845
|
startDecorator,
|
|
5633
5846
|
...props.buttonComponentProps ?? {},
|
|
5634
|
-
endDecorator: showIcon ? /* @__PURE__ */
|
|
5847
|
+
endDecorator: showIcon ? /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react48.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, endDecorator)
|
|
5635
5848
|
},
|
|
5636
5849
|
buttonText
|
|
5637
|
-
), /* @__PURE__ */
|
|
5850
|
+
), /* @__PURE__ */ import_react48.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react48.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
|
|
5638
5851
|
}
|
|
5639
5852
|
MenuButton.displayName = "MenuButton";
|
|
5640
5853
|
|
|
5641
5854
|
// src/components/MonthPicker/MonthPicker.tsx
|
|
5642
|
-
var
|
|
5855
|
+
var import_react49 = __toESM(require("react"));
|
|
5643
5856
|
var import_CalendarToday3 = __toESM(require("@mui/icons-material/CalendarToday"));
|
|
5644
|
-
var
|
|
5857
|
+
var import_joy62 = require("@mui/joy");
|
|
5645
5858
|
var import_base4 = require("@mui/base");
|
|
5646
|
-
var StyledPopper3 = (0,
|
|
5859
|
+
var StyledPopper3 = (0, import_joy62.styled)(import_base4.Popper, {
|
|
5647
5860
|
name: "MonthPicker",
|
|
5648
5861
|
slot: "popper"
|
|
5649
5862
|
})(({ theme }) => ({
|
|
5650
5863
|
zIndex: theme.zIndex.tooltip
|
|
5651
5864
|
}));
|
|
5652
|
-
var CalendarSheet3 = (0,
|
|
5865
|
+
var CalendarSheet3 = (0, import_joy62.styled)(Sheet_default, {
|
|
5653
5866
|
name: "MonthPicker",
|
|
5654
5867
|
slot: "sheet",
|
|
5655
5868
|
overridesResolver: (props, styles) => styles.root
|
|
@@ -5658,7 +5871,7 @@ var CalendarSheet3 = (0, import_joy60.styled)(Sheet_default, {
|
|
|
5658
5871
|
boxShadow: theme.shadow.md,
|
|
5659
5872
|
borderRadius: theme.radius.md
|
|
5660
5873
|
}));
|
|
5661
|
-
var MonthPickerRoot = (0,
|
|
5874
|
+
var MonthPickerRoot = (0, import_joy62.styled)("div", {
|
|
5662
5875
|
name: "MonthPicker",
|
|
5663
5876
|
slot: "root",
|
|
5664
5877
|
overridesResolver: (props, styles) => styles.root
|
|
@@ -5694,8 +5907,8 @@ function parseDate3(dateString, format) {
|
|
|
5694
5907
|
const result = new Date(year, month, day);
|
|
5695
5908
|
return result;
|
|
5696
5909
|
}
|
|
5697
|
-
var MonthPicker = (0,
|
|
5698
|
-
const props = (0,
|
|
5910
|
+
var MonthPicker = (0, import_react49.forwardRef)((inProps, ref) => {
|
|
5911
|
+
const props = (0, import_joy62.useThemeProps)({ props: inProps, name: "MonthPicker" });
|
|
5699
5912
|
const {
|
|
5700
5913
|
onChange,
|
|
5701
5914
|
disabled,
|
|
@@ -5721,14 +5934,14 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5721
5934
|
locale,
|
|
5722
5935
|
...innerProps
|
|
5723
5936
|
} = props;
|
|
5724
|
-
const innerRef = (0,
|
|
5725
|
-
const buttonRef = (0,
|
|
5937
|
+
const innerRef = (0, import_react49.useRef)(null);
|
|
5938
|
+
const buttonRef = (0, import_react49.useRef)(null);
|
|
5726
5939
|
const [value, setValue, isControlled] = useControlledState(
|
|
5727
5940
|
props.value,
|
|
5728
5941
|
props.defaultValue || "",
|
|
5729
|
-
(0,
|
|
5942
|
+
(0, import_react49.useCallback)((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
|
|
5730
5943
|
);
|
|
5731
|
-
const getFormattedDisplayValue = (0,
|
|
5944
|
+
const getFormattedDisplayValue = (0, import_react49.useCallback)(
|
|
5732
5945
|
(inputValue) => {
|
|
5733
5946
|
if (!inputValue) return "";
|
|
5734
5947
|
try {
|
|
@@ -5739,19 +5952,19 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5739
5952
|
},
|
|
5740
5953
|
[format, displayFormat, locale]
|
|
5741
5954
|
);
|
|
5742
|
-
const [displayValue, setDisplayValue] = (0,
|
|
5743
|
-
const [anchorEl, setAnchorEl] = (0,
|
|
5955
|
+
const [displayValue, setDisplayValue] = (0, import_react49.useState)(() => getFormattedDisplayValue(value));
|
|
5956
|
+
const [anchorEl, setAnchorEl] = (0, import_react49.useState)(null);
|
|
5744
5957
|
const open = Boolean(anchorEl);
|
|
5745
|
-
(0,
|
|
5958
|
+
(0, import_react49.useEffect)(() => {
|
|
5746
5959
|
if (!anchorEl) {
|
|
5747
5960
|
innerRef.current?.blur();
|
|
5748
5961
|
}
|
|
5749
5962
|
}, [anchorEl, innerRef]);
|
|
5750
|
-
(0,
|
|
5751
|
-
(0,
|
|
5963
|
+
(0, import_react49.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
|
|
5964
|
+
(0, import_react49.useEffect)(() => {
|
|
5752
5965
|
setDisplayValue(getFormattedDisplayValue(value));
|
|
5753
5966
|
}, [value, getFormattedDisplayValue]);
|
|
5754
|
-
const handleChange = (0,
|
|
5967
|
+
const handleChange = (0, import_react49.useCallback)(
|
|
5755
5968
|
(event) => {
|
|
5756
5969
|
const newValue = event.target.value;
|
|
5757
5970
|
setValue(newValue);
|
|
@@ -5761,21 +5974,21 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5761
5974
|
},
|
|
5762
5975
|
[setValue, getFormattedDisplayValue, isControlled]
|
|
5763
5976
|
);
|
|
5764
|
-
const handleCalendarToggle = (0,
|
|
5977
|
+
const handleCalendarToggle = (0, import_react49.useCallback)(
|
|
5765
5978
|
(event) => {
|
|
5766
5979
|
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
5767
5980
|
innerRef.current?.focus();
|
|
5768
5981
|
},
|
|
5769
5982
|
[anchorEl, setAnchorEl, innerRef]
|
|
5770
5983
|
);
|
|
5771
|
-
const handleInputMouseDown = (0,
|
|
5984
|
+
const handleInputMouseDown = (0, import_react49.useCallback)(
|
|
5772
5985
|
(event) => {
|
|
5773
5986
|
event.preventDefault();
|
|
5774
5987
|
buttonRef.current?.focus();
|
|
5775
5988
|
},
|
|
5776
5989
|
[buttonRef]
|
|
5777
5990
|
);
|
|
5778
|
-
return /* @__PURE__ */
|
|
5991
|
+
return /* @__PURE__ */ import_react49.default.createElement(MonthPickerRoot, null, /* @__PURE__ */ import_react49.default.createElement(import_base4.FocusTrap, { open: true }, /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null, /* @__PURE__ */ import_react49.default.createElement(
|
|
5779
5992
|
Input_default,
|
|
5780
5993
|
{
|
|
5781
5994
|
...innerProps,
|
|
@@ -5805,7 +6018,7 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5805
6018
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
5806
6019
|
fontFamily: "monospace"
|
|
5807
6020
|
},
|
|
5808
|
-
endDecorator: /* @__PURE__ */
|
|
6021
|
+
endDecorator: /* @__PURE__ */ import_react49.default.createElement(
|
|
5809
6022
|
IconButton_default,
|
|
5810
6023
|
{
|
|
5811
6024
|
ref: buttonRef,
|
|
@@ -5817,12 +6030,12 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5817
6030
|
"aria-expanded": open,
|
|
5818
6031
|
disabled
|
|
5819
6032
|
},
|
|
5820
|
-
/* @__PURE__ */
|
|
6033
|
+
/* @__PURE__ */ import_react49.default.createElement(import_CalendarToday3.default, null)
|
|
5821
6034
|
),
|
|
5822
6035
|
label,
|
|
5823
6036
|
helperText
|
|
5824
6037
|
}
|
|
5825
|
-
), open && /* @__PURE__ */
|
|
6038
|
+
), open && /* @__PURE__ */ import_react49.default.createElement(import_base4.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react49.default.createElement(
|
|
5826
6039
|
StyledPopper3,
|
|
5827
6040
|
{
|
|
5828
6041
|
id: "month-picker-popper",
|
|
@@ -5841,7 +6054,7 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5841
6054
|
"aria-label": "Calendar Tooltip",
|
|
5842
6055
|
"aria-expanded": open
|
|
5843
6056
|
},
|
|
5844
|
-
/* @__PURE__ */
|
|
6057
|
+
/* @__PURE__ */ import_react49.default.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react49.default.createElement(
|
|
5845
6058
|
Calendar_default,
|
|
5846
6059
|
{
|
|
5847
6060
|
view: "month",
|
|
@@ -5862,14 +6075,14 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5862
6075
|
disablePast,
|
|
5863
6076
|
locale
|
|
5864
6077
|
}
|
|
5865
|
-
), /* @__PURE__ */
|
|
6078
|
+
), /* @__PURE__ */ import_react49.default.createElement(
|
|
5866
6079
|
DialogActions_default,
|
|
5867
6080
|
{
|
|
5868
6081
|
sx: {
|
|
5869
6082
|
p: 1
|
|
5870
6083
|
}
|
|
5871
6084
|
},
|
|
5872
|
-
/* @__PURE__ */
|
|
6085
|
+
/* @__PURE__ */ import_react49.default.createElement(
|
|
5873
6086
|
Button_default,
|
|
5874
6087
|
{
|
|
5875
6088
|
size,
|
|
@@ -5892,18 +6105,18 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
|
|
|
5892
6105
|
});
|
|
5893
6106
|
|
|
5894
6107
|
// src/components/MonthRangePicker/MonthRangePicker.tsx
|
|
5895
|
-
var
|
|
6108
|
+
var import_react50 = __toESM(require("react"));
|
|
5896
6109
|
var import_react_imask3 = require("react-imask");
|
|
5897
6110
|
var import_CalendarToday4 = __toESM(require("@mui/icons-material/CalendarToday"));
|
|
5898
|
-
var
|
|
6111
|
+
var import_joy63 = require("@mui/joy");
|
|
5899
6112
|
var import_base5 = require("@mui/base");
|
|
5900
|
-
var StyledPopper4 = (0,
|
|
6113
|
+
var StyledPopper4 = (0, import_joy63.styled)(import_base5.Popper, {
|
|
5901
6114
|
name: "MonthRangePicker",
|
|
5902
6115
|
slot: "popper"
|
|
5903
6116
|
})(({ theme }) => ({
|
|
5904
6117
|
zIndex: theme.zIndex.tooltip
|
|
5905
6118
|
}));
|
|
5906
|
-
var CalendarSheet4 = (0,
|
|
6119
|
+
var CalendarSheet4 = (0, import_joy63.styled)(Sheet_default, {
|
|
5907
6120
|
name: "MonthRangePicker",
|
|
5908
6121
|
slot: "sheet",
|
|
5909
6122
|
overridesResolver: (props, styles) => styles.root
|
|
@@ -5913,7 +6126,7 @@ var CalendarSheet4 = (0, import_joy61.styled)(Sheet_default, {
|
|
|
5913
6126
|
boxShadow: theme.shadow.md,
|
|
5914
6127
|
borderRadius: theme.radius.md
|
|
5915
6128
|
}));
|
|
5916
|
-
var MonthRangePickerRoot = (0,
|
|
6129
|
+
var MonthRangePickerRoot = (0, import_joy63.styled)("div", {
|
|
5917
6130
|
name: "MonthRangePicker",
|
|
5918
6131
|
slot: "root",
|
|
5919
6132
|
overridesResolver: (props, styles) => styles.root
|
|
@@ -5950,9 +6163,9 @@ var parseDates2 = (str) => {
|
|
|
5950
6163
|
var formatToPattern3 = (format) => {
|
|
5951
6164
|
return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
|
|
5952
6165
|
};
|
|
5953
|
-
var TextMaskAdapter9 =
|
|
6166
|
+
var TextMaskAdapter9 = import_react50.default.forwardRef(function TextMaskAdapter10(props, ref) {
|
|
5954
6167
|
const { onChange, format, ...other } = props;
|
|
5955
|
-
return /* @__PURE__ */
|
|
6168
|
+
return /* @__PURE__ */ import_react50.default.createElement(
|
|
5956
6169
|
import_react_imask3.IMaskInput,
|
|
5957
6170
|
{
|
|
5958
6171
|
...other,
|
|
@@ -5980,8 +6193,8 @@ var TextMaskAdapter9 = import_react48.default.forwardRef(function TextMaskAdapte
|
|
|
5980
6193
|
}
|
|
5981
6194
|
);
|
|
5982
6195
|
});
|
|
5983
|
-
var MonthRangePicker = (0,
|
|
5984
|
-
const props = (0,
|
|
6196
|
+
var MonthRangePicker = (0, import_react50.forwardRef)((inProps, ref) => {
|
|
6197
|
+
const props = (0, import_joy63.useThemeProps)({ props: inProps, name: "MonthRangePicker" });
|
|
5985
6198
|
const {
|
|
5986
6199
|
onChange,
|
|
5987
6200
|
disabled,
|
|
@@ -6000,35 +6213,35 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6000
6213
|
size,
|
|
6001
6214
|
...innerProps
|
|
6002
6215
|
} = props;
|
|
6003
|
-
const innerRef = (0,
|
|
6216
|
+
const innerRef = (0, import_react50.useRef)(null);
|
|
6004
6217
|
const [value, setValue] = useControlledState(
|
|
6005
6218
|
props.value,
|
|
6006
6219
|
props.defaultValue || "",
|
|
6007
|
-
(0,
|
|
6220
|
+
(0, import_react50.useCallback)((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
|
|
6008
6221
|
);
|
|
6009
|
-
const [anchorEl, setAnchorEl] = (0,
|
|
6222
|
+
const [anchorEl, setAnchorEl] = (0, import_react50.useState)(null);
|
|
6010
6223
|
const open = Boolean(anchorEl);
|
|
6011
|
-
const calendarValue = (0,
|
|
6012
|
-
(0,
|
|
6224
|
+
const calendarValue = (0, import_react50.useMemo)(() => value ? parseDates2(value) : void 0, [value]);
|
|
6225
|
+
(0, import_react50.useEffect)(() => {
|
|
6013
6226
|
if (!anchorEl) {
|
|
6014
6227
|
innerRef.current?.blur();
|
|
6015
6228
|
}
|
|
6016
6229
|
}, [anchorEl, innerRef]);
|
|
6017
|
-
(0,
|
|
6018
|
-
const handleChange = (0,
|
|
6230
|
+
(0, import_react50.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
|
|
6231
|
+
const handleChange = (0, import_react50.useCallback)(
|
|
6019
6232
|
(event) => {
|
|
6020
6233
|
setValue(event.target.value);
|
|
6021
6234
|
},
|
|
6022
6235
|
[setValue]
|
|
6023
6236
|
);
|
|
6024
|
-
const handleCalendarToggle = (0,
|
|
6237
|
+
const handleCalendarToggle = (0, import_react50.useCallback)(
|
|
6025
6238
|
(event) => {
|
|
6026
6239
|
setAnchorEl(anchorEl ? null : event.currentTarget);
|
|
6027
6240
|
innerRef.current?.focus();
|
|
6028
6241
|
},
|
|
6029
6242
|
[anchorEl, setAnchorEl, innerRef]
|
|
6030
6243
|
);
|
|
6031
|
-
const handleCalendarChange = (0,
|
|
6244
|
+
const handleCalendarChange = (0, import_react50.useCallback)(
|
|
6032
6245
|
([date1, date2]) => {
|
|
6033
6246
|
if (!date1 || !date2) return;
|
|
6034
6247
|
setValue(formatValueString4([date1, date2], format));
|
|
@@ -6036,7 +6249,7 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6036
6249
|
},
|
|
6037
6250
|
[setValue, setAnchorEl, format]
|
|
6038
6251
|
);
|
|
6039
|
-
return /* @__PURE__ */
|
|
6252
|
+
return /* @__PURE__ */ import_react50.default.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ import_react50.default.createElement(import_base5.FocusTrap, { open: true }, /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(
|
|
6040
6253
|
Input_default,
|
|
6041
6254
|
{
|
|
6042
6255
|
...innerProps,
|
|
@@ -6058,7 +6271,7 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6058
6271
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6059
6272
|
fontFamily: "monospace"
|
|
6060
6273
|
},
|
|
6061
|
-
endDecorator: /* @__PURE__ */
|
|
6274
|
+
endDecorator: /* @__PURE__ */ import_react50.default.createElement(
|
|
6062
6275
|
IconButton_default,
|
|
6063
6276
|
{
|
|
6064
6277
|
variant: "plain",
|
|
@@ -6068,12 +6281,12 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6068
6281
|
"aria-haspopup": "dialog",
|
|
6069
6282
|
"aria-expanded": open
|
|
6070
6283
|
},
|
|
6071
|
-
/* @__PURE__ */
|
|
6284
|
+
/* @__PURE__ */ import_react50.default.createElement(import_CalendarToday4.default, null)
|
|
6072
6285
|
),
|
|
6073
6286
|
label,
|
|
6074
6287
|
helperText
|
|
6075
6288
|
}
|
|
6076
|
-
), open && /* @__PURE__ */
|
|
6289
|
+
), open && /* @__PURE__ */ import_react50.default.createElement(import_base5.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react50.default.createElement(
|
|
6077
6290
|
StyledPopper4,
|
|
6078
6291
|
{
|
|
6079
6292
|
id: "month-range-picker-popper",
|
|
@@ -6092,7 +6305,7 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6092
6305
|
"aria-label": "Calendar Tooltip",
|
|
6093
6306
|
"aria-expanded": open
|
|
6094
6307
|
},
|
|
6095
|
-
/* @__PURE__ */
|
|
6308
|
+
/* @__PURE__ */ import_react50.default.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react50.default.createElement(
|
|
6096
6309
|
Calendar_default,
|
|
6097
6310
|
{
|
|
6098
6311
|
view: "month",
|
|
@@ -6105,14 +6318,14 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6105
6318
|
disableFuture,
|
|
6106
6319
|
disablePast
|
|
6107
6320
|
}
|
|
6108
|
-
), /* @__PURE__ */
|
|
6321
|
+
), /* @__PURE__ */ import_react50.default.createElement(
|
|
6109
6322
|
DialogActions_default,
|
|
6110
6323
|
{
|
|
6111
6324
|
sx: {
|
|
6112
6325
|
p: 1
|
|
6113
6326
|
}
|
|
6114
6327
|
},
|
|
6115
|
-
/* @__PURE__ */
|
|
6328
|
+
/* @__PURE__ */ import_react50.default.createElement(
|
|
6116
6329
|
Button_default,
|
|
6117
6330
|
{
|
|
6118
6331
|
size,
|
|
@@ -6131,22 +6344,22 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
|
|
|
6131
6344
|
MonthRangePicker.displayName = "MonthRangePicker";
|
|
6132
6345
|
|
|
6133
6346
|
// src/components/NavigationGroup/NavigationGroup.tsx
|
|
6134
|
-
var
|
|
6135
|
-
var
|
|
6136
|
-
var AccordionSummary2 = (0,
|
|
6347
|
+
var import_react51 = __toESM(require("react"));
|
|
6348
|
+
var import_joy64 = require("@mui/joy");
|
|
6349
|
+
var AccordionSummary2 = (0, import_joy64.styled)(import_joy64.AccordionSummary, {
|
|
6137
6350
|
name: "NavigationGroup",
|
|
6138
6351
|
slot: "Summary",
|
|
6139
6352
|
shouldForwardProp: (prop) => prop !== "useIcon" && prop !== "level"
|
|
6140
6353
|
})(({ theme, useIcon, level }) => ({
|
|
6141
|
-
[`& .${
|
|
6354
|
+
[`& .${import_joy64.accordionSummaryClasses.button}`]: {
|
|
6142
6355
|
padding: theme.spacing(4, 6, 4, (useIcon ? 6 : 8) + (level || 0) * 8),
|
|
6143
|
-
[`&.${
|
|
6356
|
+
[`&.${import_joy64.accordionSummaryClasses.expanded}`]: {
|
|
6144
6357
|
color: theme.palette.primary.plainColor,
|
|
6145
6358
|
"--Icon-color": theme.palette.primary.plainColor
|
|
6146
6359
|
}
|
|
6147
6360
|
}
|
|
6148
6361
|
}));
|
|
6149
|
-
var AccordionDetails2 = (0,
|
|
6362
|
+
var AccordionDetails2 = (0, import_joy64.styled)(import_joy64.AccordionDetails, {
|
|
6150
6363
|
name: "NavigationGroup",
|
|
6151
6364
|
slot: "Details"
|
|
6152
6365
|
})(({ theme }) => ({
|
|
@@ -6155,13 +6368,13 @@ var AccordionDetails2 = (0, import_joy62.styled)(import_joy62.AccordionDetails,
|
|
|
6155
6368
|
}));
|
|
6156
6369
|
function NavigationGroup(props) {
|
|
6157
6370
|
const { title, children, startDecorator, level, ...rest } = props;
|
|
6158
|
-
return /* @__PURE__ */
|
|
6371
|
+
return /* @__PURE__ */ import_react51.default.createElement(import_joy64.Accordion, { ...rest }, /* @__PURE__ */ import_react51.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react51.default.createElement(import_joy64.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react51.default.createElement(AccordionDetails2, null, children));
|
|
6159
6372
|
}
|
|
6160
6373
|
|
|
6161
6374
|
// src/components/NavigationItem/NavigationItem.tsx
|
|
6162
|
-
var
|
|
6163
|
-
var
|
|
6164
|
-
var ListItemButton = (0,
|
|
6375
|
+
var import_react52 = __toESM(require("react"));
|
|
6376
|
+
var import_joy65 = require("@mui/joy");
|
|
6377
|
+
var ListItemButton = (0, import_joy65.styled)(import_joy65.ListItemButton, {
|
|
6165
6378
|
name: "NavigationItem",
|
|
6166
6379
|
slot: "Button",
|
|
6167
6380
|
shouldForwardProp: (prop) => prop !== "useIcon" && prop !== "level"
|
|
@@ -6175,7 +6388,7 @@ var ListItemButton = (0, import_joy63.styled)(import_joy63.ListItemButton, {
|
|
|
6175
6388
|
"&:active": {
|
|
6176
6389
|
backgroundColor: theme.palette.neutral.plainActiveBg
|
|
6177
6390
|
},
|
|
6178
|
-
[`&.${
|
|
6391
|
+
[`&.${import_joy65.listItemButtonClasses.selected}`]: {
|
|
6179
6392
|
color: theme.palette.primary.plainColor,
|
|
6180
6393
|
"--Icon-color": theme.palette.primary.plainColor,
|
|
6181
6394
|
"&:not(:hover):not(:active)": {
|
|
@@ -6188,7 +6401,7 @@ function NavigationItem(props) {
|
|
|
6188
6401
|
const handleClick = () => {
|
|
6189
6402
|
onClick?.(id);
|
|
6190
6403
|
};
|
|
6191
|
-
return /* @__PURE__ */
|
|
6404
|
+
return /* @__PURE__ */ import_react52.default.createElement(import_joy65.ListItem, { ...rest }, /* @__PURE__ */ import_react52.default.createElement(
|
|
6192
6405
|
ListItemButton,
|
|
6193
6406
|
{
|
|
6194
6407
|
level,
|
|
@@ -6197,21 +6410,21 @@ function NavigationItem(props) {
|
|
|
6197
6410
|
"aria-current": selected,
|
|
6198
6411
|
onClick: handleClick
|
|
6199
6412
|
},
|
|
6200
|
-
startDecorator && /* @__PURE__ */
|
|
6413
|
+
startDecorator && /* @__PURE__ */ import_react52.default.createElement(import_joy65.ListItemDecorator, null, startDecorator),
|
|
6201
6414
|
children
|
|
6202
6415
|
));
|
|
6203
6416
|
}
|
|
6204
6417
|
|
|
6205
6418
|
// src/components/Navigator/Navigator.tsx
|
|
6206
|
-
var
|
|
6419
|
+
var import_react53 = __toESM(require("react"));
|
|
6207
6420
|
function Navigator(props) {
|
|
6208
6421
|
const { items, level = 0, onSelect } = props;
|
|
6209
6422
|
const handleItemClick = (id) => {
|
|
6210
6423
|
onSelect?.(id);
|
|
6211
6424
|
};
|
|
6212
|
-
return /* @__PURE__ */
|
|
6425
|
+
return /* @__PURE__ */ import_react53.default.createElement("div", null, items.map((item, index) => {
|
|
6213
6426
|
if (item.type === "item") {
|
|
6214
|
-
return /* @__PURE__ */
|
|
6427
|
+
return /* @__PURE__ */ import_react53.default.createElement(
|
|
6215
6428
|
NavigationItem,
|
|
6216
6429
|
{
|
|
6217
6430
|
key: item.id,
|
|
@@ -6224,7 +6437,7 @@ function Navigator(props) {
|
|
|
6224
6437
|
item.title
|
|
6225
6438
|
);
|
|
6226
6439
|
} else if (item.type === "group") {
|
|
6227
|
-
return /* @__PURE__ */
|
|
6440
|
+
return /* @__PURE__ */ import_react53.default.createElement(
|
|
6228
6441
|
NavigationGroup,
|
|
6229
6442
|
{
|
|
6230
6443
|
key: `${item.title}-${index}`,
|
|
@@ -6242,22 +6455,22 @@ function Navigator(props) {
|
|
|
6242
6455
|
Navigator.displayName = "Navigator";
|
|
6243
6456
|
|
|
6244
6457
|
// src/components/ProfileMenu/ProfileMenu.tsx
|
|
6245
|
-
var
|
|
6246
|
-
var
|
|
6458
|
+
var import_react54 = __toESM(require("react"));
|
|
6459
|
+
var import_joy66 = require("@mui/joy");
|
|
6247
6460
|
var import_base6 = require("@mui/base");
|
|
6248
6461
|
var import_ArrowDropDown = __toESM(require("@mui/icons-material/ArrowDropDown"));
|
|
6249
|
-
var StyledProfileCard = (0,
|
|
6462
|
+
var StyledProfileCard = (0, import_joy66.styled)(import_joy3.Stack, {
|
|
6250
6463
|
name: "ProfileMenu",
|
|
6251
6464
|
slot: "item"
|
|
6252
6465
|
})({});
|
|
6253
6466
|
function ProfileCard(props) {
|
|
6254
6467
|
const { children, chip, caption, size } = props;
|
|
6255
|
-
const captionLevel = (0,
|
|
6256
|
-
const nameLevel = (0,
|
|
6257
|
-
return /* @__PURE__ */
|
|
6468
|
+
const captionLevel = (0, import_react54.useMemo)(() => size === "sm" ? "body-xs" : "body-sm", [size]);
|
|
6469
|
+
const nameLevel = (0, import_react54.useMemo)(() => size === "sm" ? "body-sm" : "body-md", [size]);
|
|
6470
|
+
return /* @__PURE__ */ import_react54.default.createElement(StyledProfileCard, { px: 4, py: 2 }, /* @__PURE__ */ import_react54.default.createElement(import_joy3.Stack, { direction: "row", gap: 2 }, /* @__PURE__ */ import_react54.default.createElement(Typography, { level: nameLevel, fontWeight: "bold", textColor: "text.primary" }, children), chip && /* @__PURE__ */ import_react54.default.createElement(Chip, { size, color: "neutral", variant: "outlined" }, chip)), caption && /* @__PURE__ */ import_react54.default.createElement(Typography, { level: captionLevel, textColor: "text.tertiary" }, caption));
|
|
6258
6471
|
}
|
|
6259
6472
|
ProfileCard.displayName = "ProfileCard";
|
|
6260
|
-
var StyledProfileMenuButton = (0,
|
|
6473
|
+
var StyledProfileMenuButton = (0, import_joy66.styled)(import_joy66.MenuButton, {
|
|
6261
6474
|
name: "ProfileMenu",
|
|
6262
6475
|
slot: "button"
|
|
6263
6476
|
})(({ theme }) => ({
|
|
@@ -6266,26 +6479,26 @@ var StyledProfileMenuButton = (0, import_joy64.styled)(import_joy64.MenuButton,
|
|
|
6266
6479
|
}));
|
|
6267
6480
|
function ProfileMenuButton(props) {
|
|
6268
6481
|
const { size = "md", src, alt, children, getInitial, ...innerProps } = props;
|
|
6269
|
-
return /* @__PURE__ */
|
|
6482
|
+
return /* @__PURE__ */ import_react54.default.createElement(
|
|
6270
6483
|
StyledProfileMenuButton,
|
|
6271
6484
|
{
|
|
6272
6485
|
variant: "plain",
|
|
6273
6486
|
color: "neutral",
|
|
6274
6487
|
size,
|
|
6275
|
-
endDecorator: /* @__PURE__ */
|
|
6488
|
+
endDecorator: /* @__PURE__ */ import_react54.default.createElement(import_ArrowDropDown.default, null),
|
|
6276
6489
|
...innerProps
|
|
6277
6490
|
},
|
|
6278
|
-
/* @__PURE__ */
|
|
6491
|
+
/* @__PURE__ */ import_react54.default.createElement(Avatar, { variant: "soft", color: "primary", size, src, alt, getInitial }, children)
|
|
6279
6492
|
);
|
|
6280
6493
|
}
|
|
6281
6494
|
ProfileMenuButton.displayName = "ProfileMenuButton";
|
|
6282
|
-
var ProfileMenuRoot = (0,
|
|
6495
|
+
var ProfileMenuRoot = (0, import_joy66.styled)(Menu, {
|
|
6283
6496
|
name: "ProfileMenu",
|
|
6284
6497
|
slot: "root"
|
|
6285
6498
|
})(({ theme }) => ({
|
|
6286
6499
|
border: "none",
|
|
6287
6500
|
"--ListItem-paddingX": theme.spacing(4),
|
|
6288
|
-
[`.${
|
|
6501
|
+
[`.${import_joy66.menuItemClasses.root}`]: {
|
|
6289
6502
|
border: "none"
|
|
6290
6503
|
}
|
|
6291
6504
|
}));
|
|
@@ -6294,9 +6507,9 @@ function ProfileMenu(props) {
|
|
|
6294
6507
|
const [open, setOpen] = useControlledState(
|
|
6295
6508
|
_open,
|
|
6296
6509
|
defaultOpen ?? false,
|
|
6297
|
-
(0,
|
|
6510
|
+
(0, import_react54.useCallback)((value) => onOpenChange?.(value), [onOpenChange])
|
|
6298
6511
|
);
|
|
6299
|
-
return /* @__PURE__ */
|
|
6512
|
+
return /* @__PURE__ */ import_react54.default.createElement(import_base6.ClickAwayListener, { onClickAway: () => setOpen(false) }, /* @__PURE__ */ import_react54.default.createElement("div", null, /* @__PURE__ */ import_react54.default.createElement(import_joy66.Dropdown, { open }, /* @__PURE__ */ import_react54.default.createElement(
|
|
6300
6513
|
ProfileMenuButton,
|
|
6301
6514
|
{
|
|
6302
6515
|
size,
|
|
@@ -6306,7 +6519,7 @@ function ProfileMenu(props) {
|
|
|
6306
6519
|
getInitial
|
|
6307
6520
|
},
|
|
6308
6521
|
profile.name
|
|
6309
|
-
), /* @__PURE__ */
|
|
6522
|
+
), /* @__PURE__ */ import_react54.default.createElement(ProfileMenuRoot, { size, placement: "bottom-end", ...innerProps, onClose: () => setOpen(false) }, /* @__PURE__ */ import_react54.default.createElement(ProfileCard, { size, caption: profile.caption, chip: profile.chip }, profile.name), !!menuItems.length && /* @__PURE__ */ import_react54.default.createElement(import_joy66.ListDivider, null), menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ import_react54.default.createElement(
|
|
6310
6523
|
MenuItem,
|
|
6311
6524
|
{
|
|
6312
6525
|
key: label,
|
|
@@ -6322,9 +6535,9 @@ function ProfileMenu(props) {
|
|
|
6322
6535
|
ProfileMenu.displayName = "ProfileMenu";
|
|
6323
6536
|
|
|
6324
6537
|
// src/components/RadioTileGroup/RadioTileGroup.tsx
|
|
6325
|
-
var
|
|
6326
|
-
var
|
|
6327
|
-
var RadioTileGroupRoot = (0,
|
|
6538
|
+
var import_react55 = __toESM(require("react"));
|
|
6539
|
+
var import_joy67 = require("@mui/joy");
|
|
6540
|
+
var RadioTileGroupRoot = (0, import_joy67.styled)(RadioGroup, {
|
|
6328
6541
|
name: "RadioTileGroup",
|
|
6329
6542
|
slot: "root",
|
|
6330
6543
|
shouldForwardProp: (prop) => prop !== "flex" && prop !== "columns"
|
|
@@ -6336,28 +6549,28 @@ var RadioTileGroupRoot = (0, import_joy65.styled)(RadioGroup, {
|
|
|
6336
6549
|
display: "grid",
|
|
6337
6550
|
gridTemplateColumns: `repeat(${columns}, 1fr)`
|
|
6338
6551
|
},
|
|
6339
|
-
[`& .${
|
|
6552
|
+
[`& .${import_joy67.sheetClasses.root}.${import_joy67.radioClasses.disabled}`]: {
|
|
6340
6553
|
borderColor: theme.palette.neutral.outlinedDisabledBorder
|
|
6341
6554
|
},
|
|
6342
|
-
[`& .${
|
|
6343
|
-
[`& .${
|
|
6555
|
+
[`& .${import_joy67.radioClasses.root}`]: {
|
|
6556
|
+
[`& .${import_joy67.radioClasses.action}`]: {
|
|
6344
6557
|
borderRadius: theme.radius.md
|
|
6345
6558
|
},
|
|
6346
|
-
[`&.${
|
|
6347
|
-
[`& .${
|
|
6559
|
+
[`&.${import_joy67.radioClasses.checked}`]: {
|
|
6560
|
+
[`& .${import_joy67.radioClasses.action}`]: {
|
|
6348
6561
|
inset: -1,
|
|
6349
6562
|
border: "2px solid",
|
|
6350
6563
|
borderColor: theme.palette.primary.outlinedColor
|
|
6351
6564
|
},
|
|
6352
|
-
[`&.${
|
|
6353
|
-
[`& .${
|
|
6565
|
+
[`&.${import_joy67.radioClasses.disabled}`]: {
|
|
6566
|
+
[`& .${import_joy67.radioClasses.action}`]: {
|
|
6354
6567
|
borderColor: theme.palette.neutral.outlinedBorder
|
|
6355
6568
|
}
|
|
6356
6569
|
}
|
|
6357
6570
|
}
|
|
6358
6571
|
}
|
|
6359
6572
|
}));
|
|
6360
|
-
var RadioTileSheet = (0,
|
|
6573
|
+
var RadioTileSheet = (0, import_joy67.styled)(Sheet, {
|
|
6361
6574
|
name: "RadioTileGroup",
|
|
6362
6575
|
slot: "tile",
|
|
6363
6576
|
shouldForwardProp: (prop) => prop !== "disabled" && prop !== "size" && prop !== "flex" && prop !== "textAlign"
|
|
@@ -6410,7 +6623,7 @@ function RadioTileGroup(props) {
|
|
|
6410
6623
|
error,
|
|
6411
6624
|
required
|
|
6412
6625
|
} = props;
|
|
6413
|
-
const radioGroup = /* @__PURE__ */
|
|
6626
|
+
const radioGroup = /* @__PURE__ */ import_react55.default.createElement(
|
|
6414
6627
|
RadioTileGroupRoot,
|
|
6415
6628
|
{
|
|
6416
6629
|
overlay: true,
|
|
@@ -6421,7 +6634,7 @@ function RadioTileGroup(props) {
|
|
|
6421
6634
|
flex,
|
|
6422
6635
|
columns
|
|
6423
6636
|
},
|
|
6424
|
-
options.map((option) => /* @__PURE__ */
|
|
6637
|
+
options.map((option) => /* @__PURE__ */ import_react55.default.createElement(
|
|
6425
6638
|
RadioTileSheet,
|
|
6426
6639
|
{
|
|
6427
6640
|
key: option.value,
|
|
@@ -6431,7 +6644,7 @@ function RadioTileGroup(props) {
|
|
|
6431
6644
|
flex,
|
|
6432
6645
|
textAlign
|
|
6433
6646
|
},
|
|
6434
|
-
/* @__PURE__ */
|
|
6647
|
+
/* @__PURE__ */ import_react55.default.createElement(
|
|
6435
6648
|
Radio,
|
|
6436
6649
|
{
|
|
6437
6650
|
id: `${option.value}`,
|
|
@@ -6459,7 +6672,7 @@ function RadioTileGroup(props) {
|
|
|
6459
6672
|
}
|
|
6460
6673
|
}
|
|
6461
6674
|
),
|
|
6462
|
-
option.startDecorator && /* @__PURE__ */
|
|
6675
|
+
option.startDecorator && /* @__PURE__ */ import_react55.default.createElement(
|
|
6463
6676
|
Box_default,
|
|
6464
6677
|
{
|
|
6465
6678
|
sx: {
|
|
@@ -6480,32 +6693,32 @@ function RadioTileGroup(props) {
|
|
|
6480
6693
|
)
|
|
6481
6694
|
))
|
|
6482
6695
|
);
|
|
6483
|
-
return /* @__PURE__ */
|
|
6696
|
+
return /* @__PURE__ */ import_react55.default.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ import_react55.default.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ import_react55.default.createElement(FormHelperText_default, null, helperText));
|
|
6484
6697
|
}
|
|
6485
6698
|
RadioTileGroup.displayName = "RadioTileGroup";
|
|
6486
6699
|
|
|
6487
6700
|
// src/components/RadioList/RadioList.tsx
|
|
6488
|
-
var
|
|
6701
|
+
var import_react56 = __toESM(require("react"));
|
|
6489
6702
|
function RadioList(props) {
|
|
6490
6703
|
const { items, ...innerProps } = props;
|
|
6491
|
-
return /* @__PURE__ */
|
|
6704
|
+
return /* @__PURE__ */ import_react56.default.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ import_react56.default.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
|
|
6492
6705
|
}
|
|
6493
6706
|
RadioList.displayName = "RadioList";
|
|
6494
6707
|
|
|
6495
6708
|
// src/components/Stepper/Stepper.tsx
|
|
6496
|
-
var
|
|
6497
|
-
var
|
|
6709
|
+
var import_react57 = __toESM(require("react"));
|
|
6710
|
+
var import_joy68 = require("@mui/joy");
|
|
6498
6711
|
var import_Check = __toESM(require("@mui/icons-material/Check"));
|
|
6499
6712
|
var import_framer_motion27 = require("framer-motion");
|
|
6500
|
-
var Step = (0,
|
|
6713
|
+
var Step = (0, import_joy68.styled)(import_joy68.Step)({});
|
|
6501
6714
|
Step.displayName = "Step";
|
|
6502
|
-
var StepIndicator = (0,
|
|
6715
|
+
var StepIndicator = (0, import_joy68.styled)(import_joy68.StepIndicator)({});
|
|
6503
6716
|
StepIndicator.displayName = "StepIndicator";
|
|
6504
|
-
var StyledStepper = (0,
|
|
6717
|
+
var StyledStepper = (0, import_joy68.styled)(import_joy68.Stepper)(({ theme }) => ({
|
|
6505
6718
|
"--StepIndicator-size": "24px",
|
|
6506
6719
|
"--Step-gap": theme.spacing(2),
|
|
6507
6720
|
"--joy-palette-success-solidBg": "var(--joy-palette-success-400)",
|
|
6508
|
-
[`& .${
|
|
6721
|
+
[`& .${import_joy68.stepIndicatorClasses.root}`]: {
|
|
6509
6722
|
fontSize: "var(--ceed-fontSize-xs)"
|
|
6510
6723
|
}
|
|
6511
6724
|
}));
|
|
@@ -6522,31 +6735,31 @@ function Stepper(props) {
|
|
|
6522
6735
|
stepOrientation = "horizontal"
|
|
6523
6736
|
} = props;
|
|
6524
6737
|
const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
|
|
6525
|
-
return /* @__PURE__ */
|
|
6738
|
+
return /* @__PURE__ */ import_react57.default.createElement(
|
|
6526
6739
|
MotionStepper,
|
|
6527
6740
|
{
|
|
6528
6741
|
orientation,
|
|
6529
6742
|
sx: (theme) => ({
|
|
6530
6743
|
"--StepIndicator-size": "24px",
|
|
6531
6744
|
"--Step-gap": theme.spacing(2),
|
|
6532
|
-
[`& .${
|
|
6745
|
+
[`& .${import_joy68.stepIndicatorClasses.root}`]: {
|
|
6533
6746
|
fontSize: "var(--ceed-fontSize-xs)"
|
|
6534
6747
|
},
|
|
6535
|
-
[`& .${
|
|
6748
|
+
[`& .${import_joy68.stepClasses.completed}`]: {
|
|
6536
6749
|
"&::after": { bgcolor: activeLineColor },
|
|
6537
|
-
[`& .${
|
|
6750
|
+
[`& .${import_joy68.stepIndicatorClasses.root}`]: {
|
|
6538
6751
|
bgcolor: activeColor
|
|
6539
6752
|
}
|
|
6540
6753
|
},
|
|
6541
|
-
[`& .${
|
|
6754
|
+
[`& .${import_joy68.stepClasses.active}`]: {
|
|
6542
6755
|
"&::after": { bgcolor: inactiveLineColor },
|
|
6543
|
-
[`& .${
|
|
6756
|
+
[`& .${import_joy68.stepIndicatorClasses.root}`]: {
|
|
6544
6757
|
bgcolor: activeColor
|
|
6545
6758
|
}
|
|
6546
6759
|
},
|
|
6547
|
-
[`& .${
|
|
6760
|
+
[`& .${import_joy68.stepClasses.disabled}`]: {
|
|
6548
6761
|
"&::after": { bgcolor: inactiveLineColor },
|
|
6549
|
-
[`& .${
|
|
6762
|
+
[`& .${import_joy68.stepIndicatorClasses.root}`]: {
|
|
6550
6763
|
bgcolor: theme.vars.palette.background.surface,
|
|
6551
6764
|
borderColor: theme.vars.palette.neutral.outlinedBorder,
|
|
6552
6765
|
borderWidth: "1px",
|
|
@@ -6561,23 +6774,23 @@ function Stepper(props) {
|
|
|
6561
6774
|
const completed = activeStep > i + 1;
|
|
6562
6775
|
const disabled = activeStep < i + 1;
|
|
6563
6776
|
const hasContent = step.label || step.extraContent;
|
|
6564
|
-
return /* @__PURE__ */
|
|
6777
|
+
return /* @__PURE__ */ import_react57.default.createElement(
|
|
6565
6778
|
Step,
|
|
6566
6779
|
{
|
|
6567
6780
|
key: `step-${i}`,
|
|
6568
|
-
indicator: /* @__PURE__ */
|
|
6781
|
+
indicator: /* @__PURE__ */ import_react57.default.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ import_react57.default.createElement(import_Check.default, null) : step.indicatorContent),
|
|
6569
6782
|
active,
|
|
6570
6783
|
completed,
|
|
6571
6784
|
disabled,
|
|
6572
6785
|
orientation: effectiveStepOrientation
|
|
6573
6786
|
},
|
|
6574
|
-
hasContent && /* @__PURE__ */
|
|
6787
|
+
hasContent && /* @__PURE__ */ import_react57.default.createElement(
|
|
6575
6788
|
Stack_default,
|
|
6576
6789
|
{
|
|
6577
6790
|
sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
|
|
6578
6791
|
},
|
|
6579
|
-
step.label && /* @__PURE__ */
|
|
6580
|
-
step.extraContent && /* @__PURE__ */
|
|
6792
|
+
step.label && /* @__PURE__ */ import_react57.default.createElement(Typography_default, { level: "title-sm" }, step.label),
|
|
6793
|
+
step.extraContent && /* @__PURE__ */ import_react57.default.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
|
|
6581
6794
|
)
|
|
6582
6795
|
);
|
|
6583
6796
|
})
|
|
@@ -6586,11 +6799,11 @@ function Stepper(props) {
|
|
|
6586
6799
|
Stepper.displayName = "Stepper";
|
|
6587
6800
|
|
|
6588
6801
|
// src/components/Switch/Switch.tsx
|
|
6589
|
-
var
|
|
6590
|
-
var
|
|
6802
|
+
var import_react58 = __toESM(require("react"));
|
|
6803
|
+
var import_joy69 = require("@mui/joy");
|
|
6591
6804
|
var import_framer_motion28 = require("framer-motion");
|
|
6592
|
-
var MotionSwitch = (0, import_framer_motion28.motion)(
|
|
6593
|
-
var StyledThumb = (0,
|
|
6805
|
+
var MotionSwitch = (0, import_framer_motion28.motion)(import_joy69.Switch);
|
|
6806
|
+
var StyledThumb = (0, import_joy69.styled)(import_framer_motion28.motion.div)({
|
|
6594
6807
|
"--Icon-fontSize": "calc(var(--Switch-thumbSize) * 0.75)",
|
|
6595
6808
|
display: "inline-flex",
|
|
6596
6809
|
justifyContent: "center",
|
|
@@ -6603,19 +6816,19 @@ var StyledThumb = (0, import_joy67.styled)(import_framer_motion28.motion.div)({
|
|
|
6603
6816
|
boxShadow: "var(--Switch-thumbShadow)",
|
|
6604
6817
|
color: "var(--Switch-thumbColor)",
|
|
6605
6818
|
backgroundColor: "var(--Switch-thumbBackground)",
|
|
6606
|
-
[`&.${
|
|
6819
|
+
[`&.${import_joy69.switchClasses.checked}`]: {
|
|
6607
6820
|
left: "unset",
|
|
6608
6821
|
right: "var(--Switch-thumbOffset)"
|
|
6609
6822
|
}
|
|
6610
6823
|
});
|
|
6611
|
-
var Thumb = (props) => /* @__PURE__ */
|
|
6824
|
+
var Thumb = (props) => /* @__PURE__ */ import_react58.default.createElement(StyledThumb, { ...props, layout: true, transition: spring });
|
|
6612
6825
|
var spring = {
|
|
6613
6826
|
type: "spring",
|
|
6614
6827
|
stiffness: 700,
|
|
6615
6828
|
damping: 30
|
|
6616
6829
|
};
|
|
6617
6830
|
var Switch = (props) => {
|
|
6618
|
-
return /* @__PURE__ */
|
|
6831
|
+
return /* @__PURE__ */ import_react58.default.createElement(
|
|
6619
6832
|
MotionSwitch,
|
|
6620
6833
|
{
|
|
6621
6834
|
...props,
|
|
@@ -6629,32 +6842,32 @@ var Switch = (props) => {
|
|
|
6629
6842
|
Switch.displayName = "Switch";
|
|
6630
6843
|
|
|
6631
6844
|
// src/components/Tabs/Tabs.tsx
|
|
6632
|
-
var
|
|
6633
|
-
var
|
|
6634
|
-
var StyledTabs = (0,
|
|
6845
|
+
var import_react59 = __toESM(require("react"));
|
|
6846
|
+
var import_joy70 = require("@mui/joy");
|
|
6847
|
+
var StyledTabs = (0, import_joy70.styled)(import_joy70.Tabs)(({ theme }) => ({
|
|
6635
6848
|
backgroundColor: theme.palette.background.body
|
|
6636
6849
|
}));
|
|
6637
6850
|
var Tabs = StyledTabs;
|
|
6638
6851
|
Tabs.displayName = "Tabs";
|
|
6639
|
-
var StyledTab = (0,
|
|
6852
|
+
var StyledTab = (0, import_joy70.styled)(import_joy70.Tab)(({ theme }) => ({
|
|
6640
6853
|
gap: theme.spacing(2),
|
|
6641
|
-
[`&:not(.${
|
|
6854
|
+
[`&:not(.${import_joy70.tabClasses.selected})`]: {
|
|
6642
6855
|
color: theme.palette.neutral[700]
|
|
6643
6856
|
},
|
|
6644
|
-
[`&.${
|
|
6857
|
+
[`&.${import_joy70.tabClasses.variantPlain}`]: {
|
|
6645
6858
|
backgroundColor: theme.palette.background.body
|
|
6646
6859
|
}
|
|
6647
6860
|
}));
|
|
6648
|
-
var Tab = (0,
|
|
6649
|
-
return /* @__PURE__ */
|
|
6861
|
+
var Tab = (0, import_react59.forwardRef)(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
|
|
6862
|
+
return /* @__PURE__ */ import_react59.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
|
|
6650
6863
|
});
|
|
6651
6864
|
Tab.displayName = "Tab";
|
|
6652
|
-
var TabList =
|
|
6653
|
-
var TabPanel =
|
|
6865
|
+
var TabList = import_joy70.TabList;
|
|
6866
|
+
var TabPanel = import_joy70.TabPanel;
|
|
6654
6867
|
|
|
6655
6868
|
// src/components/ThemeProvider/ThemeProvider.tsx
|
|
6656
|
-
var
|
|
6657
|
-
var
|
|
6869
|
+
var import_react60 = __toESM(require("react"));
|
|
6870
|
+
var import_joy71 = require("@mui/joy");
|
|
6658
6871
|
var colorScheme = {
|
|
6659
6872
|
palette: {
|
|
6660
6873
|
danger: {
|
|
@@ -6707,7 +6920,7 @@ var colorScheme = {
|
|
|
6707
6920
|
}
|
|
6708
6921
|
}
|
|
6709
6922
|
};
|
|
6710
|
-
var defaultTheme = (0,
|
|
6923
|
+
var defaultTheme = (0, import_joy71.extendTheme)({
|
|
6711
6924
|
cssVarPrefix: "ceed",
|
|
6712
6925
|
spacing: 4,
|
|
6713
6926
|
breakpoints: {
|
|
@@ -6734,7 +6947,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6734
6947
|
},
|
|
6735
6948
|
styleOverrides: {
|
|
6736
6949
|
root: {
|
|
6737
|
-
[`.${
|
|
6950
|
+
[`.${import_joy71.inputClasses.root}`]: {
|
|
6738
6951
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6739
6952
|
"font-family": "monospace"
|
|
6740
6953
|
}
|
|
@@ -6747,7 +6960,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6747
6960
|
},
|
|
6748
6961
|
styleOverrides: {
|
|
6749
6962
|
root: {
|
|
6750
|
-
[`.${
|
|
6963
|
+
[`.${import_joy71.inputClasses.root}`]: {
|
|
6751
6964
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6752
6965
|
"font-family": "monospace"
|
|
6753
6966
|
}
|
|
@@ -6760,7 +6973,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6760
6973
|
},
|
|
6761
6974
|
styleOverrides: {
|
|
6762
6975
|
root: {
|
|
6763
|
-
[`.${
|
|
6976
|
+
[`.${import_joy71.inputClasses.root}`]: {
|
|
6764
6977
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6765
6978
|
"font-family": "monospace"
|
|
6766
6979
|
}
|
|
@@ -6773,7 +6986,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6773
6986
|
},
|
|
6774
6987
|
styleOverrides: {
|
|
6775
6988
|
root: {
|
|
6776
|
-
[`.${
|
|
6989
|
+
[`.${import_joy71.inputClasses.root}`]: {
|
|
6777
6990
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6778
6991
|
"font-family": "monospace"
|
|
6779
6992
|
}
|
|
@@ -6786,7 +6999,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6786
6999
|
},
|
|
6787
7000
|
styleOverrides: {
|
|
6788
7001
|
root: {
|
|
6789
|
-
[`.${
|
|
7002
|
+
[`.${import_joy71.inputClasses.root}`]: {
|
|
6790
7003
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6791
7004
|
"font-family": "monospace"
|
|
6792
7005
|
}
|
|
@@ -6799,7 +7012,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6799
7012
|
},
|
|
6800
7013
|
styleOverrides: {
|
|
6801
7014
|
root: {
|
|
6802
|
-
[`.${
|
|
7015
|
+
[`.${import_joy71.inputClasses.root}`]: {
|
|
6803
7016
|
// NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
|
|
6804
7017
|
"font-family": "monospace"
|
|
6805
7018
|
}
|
|
@@ -6877,7 +7090,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6877
7090
|
outline: `${theme.palette.primary[500]} solid 2px`,
|
|
6878
7091
|
outlineOffset: "-2px"
|
|
6879
7092
|
},
|
|
6880
|
-
[`& .${
|
|
7093
|
+
[`& .${import_joy71.checkboxClasses.root}`]: {
|
|
6881
7094
|
verticalAlign: "middle"
|
|
6882
7095
|
}
|
|
6883
7096
|
})
|
|
@@ -6932,6 +7145,6 @@ var defaultTheme = (0, import_joy69.extendTheme)({
|
|
|
6932
7145
|
});
|
|
6933
7146
|
function ThemeProvider(props) {
|
|
6934
7147
|
const theme = props.theme || defaultTheme;
|
|
6935
|
-
return /* @__PURE__ */
|
|
7148
|
+
return /* @__PURE__ */ import_react60.default.createElement(import_react60.default.Fragment, null, /* @__PURE__ */ import_react60.default.createElement(import_joy71.CssVarsProvider, { theme }, /* @__PURE__ */ import_react60.default.createElement(import_joy71.CssBaseline, null), props.children));
|
|
6936
7149
|
}
|
|
6937
7150
|
ThemeProvider.displayName = "ThemeProvider";
|