@ceed/ads 1.15.0 → 1.16.0-next.10

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/index.cjs CHANGED
@@ -85,17 +85,17 @@ __export(index_exports, {
85
85
  AccordionSummary: () => AccordionSummary,
86
86
  Accordions: () => Accordions,
87
87
  Alert: () => Alert,
88
- AspectRatio: () => import_joy70.AspectRatio,
88
+ AspectRatio: () => import_joy71.AspectRatio,
89
89
  Autocomplete: () => Autocomplete,
90
- AutocompleteListbox: () => import_joy70.AutocompleteListbox,
91
- AutocompleteOption: () => import_joy70.AutocompleteOption,
90
+ AutocompleteListbox: () => import_joy71.AutocompleteListbox,
91
+ AutocompleteOption: () => import_joy71.AutocompleteOption,
92
92
  Avatar: () => Avatar,
93
93
  AvatarGroup: () => import_joy11.AvatarGroup,
94
- Badge: () => import_joy70.Badge,
94
+ Badge: () => import_joy71.Badge,
95
95
  Box: () => Box,
96
96
  Breadcrumbs: () => Breadcrumbs,
97
97
  Button: () => Button,
98
- ButtonGroup: () => import_joy70.ButtonGroup,
98
+ ButtonGroup: () => import_joy71.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: () => import_joy70.CircularProgress,
107
+ CircularProgress: () => import_joy71.CircularProgress,
108
108
  Container: () => Container,
109
- CssBaseline: () => import_joy69.CssBaseline,
109
+ CssBaseline: () => import_joy70.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: () => import_joy70.Drawer,
119
+ Drawer: () => import_joy71.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: () => import_joy55.Grid,
126
+ Grid: () => import_joy56.Grid,
126
127
  IconButton: () => IconButton,
127
128
  IconMenuButton: () => IconMenuButton,
128
129
  InfoSign: () => InfoSign,
129
130
  Input: () => Input,
130
131
  InsetDrawer: () => InsetDrawer,
131
- LinearProgress: () => import_joy70.LinearProgress,
132
- Link: () => import_joy70.Link,
133
- List: () => import_joy70.List,
134
- ListDivider: () => import_joy70.ListDivider,
135
- ListItem: () => import_joy70.ListItem,
136
- ListItemButton: () => import_joy70.ListItemButton,
137
- ListItemContent: () => import_joy70.ListItemContent,
138
- ListItemDecorator: () => import_joy70.ListItemDecorator,
139
- ListSubheader: () => import_joy70.ListSubheader,
132
+ LinearProgress: () => import_joy71.LinearProgress,
133
+ Link: () => import_joy71.Link,
134
+ List: () => import_joy71.List,
135
+ ListDivider: () => import_joy71.ListDivider,
136
+ ListItem: () => import_joy71.ListItem,
137
+ ListItemButton: () => import_joy71.ListItemButton,
138
+ ListItemContent: () => import_joy71.ListItemContent,
139
+ ListItemDecorator: () => import_joy71.ListItemDecorator,
140
+ ListSubheader: () => import_joy71.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: () => import_joy70.Skeleton,
165
- Slider: () => import_joy70.Slider,
165
+ Skeleton: () => import_joy71.Skeleton,
166
+ Slider: () => import_joy71.Slider,
166
167
  Stack: () => import_joy3.Stack,
167
168
  Step: () => Step,
168
- StepButton: () => import_joy70.StepButton,
169
+ StepButton: () => import_joy71.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: () => import_joy70.accordionClasses,
185
- accordionDetailsClasses: () => import_joy70.accordionDetailsClasses,
186
- accordionSummaryClasses: () => import_joy70.accordionSummaryClasses,
187
- accordionsClasses: () => import_joy70.accordionGroupClasses,
188
- alertClasses: () => import_joy70.alertClasses,
189
- aspectRatioClasses: () => import_joy70.aspectRatioClasses,
190
- autocompleteClasses: () => import_joy70.autocompleteClasses,
191
- autocompleteListboxClasses: () => import_joy70.autocompleteListboxClasses,
192
- autocompleteOptionClasses: () => import_joy70.autocompleteOptionClasses,
193
- avatarClasses: () => import_joy70.avatarClasses,
194
- avatarGroupClasses: () => import_joy70.avatarGroupClasses,
195
- badgeClasses: () => import_joy70.badgeClasses,
196
- boxClasses: () => import_joy70.boxClasses,
197
- breadcrumbsClasses: () => import_joy70.breadcrumbsClasses,
198
- buttonClasses: () => import_joy70.buttonClasses,
199
- cardActionsClasses: () => import_joy70.cardActionsClasses,
200
- cardClasses: () => import_joy70.cardClasses,
201
- cardContentClasses: () => import_joy70.cardContentClasses,
202
- cardCoverClasses: () => import_joy70.cardCoverClasses,
203
- cardOverflowClasses: () => import_joy70.cardOverflowClasses,
204
- checkboxClasses: () => import_joy70.checkboxClasses,
205
- chipClasses: () => import_joy70.chipClasses,
206
- circularProgressClasses: () => import_joy70.circularProgressClasses,
207
- dialogActionsClasses: () => import_joy70.dialogActionsClasses,
208
- dialogContentClasses: () => import_joy70.dialogContentClasses,
209
- dialogTitleClasses: () => import_joy70.dialogTitleClasses,
210
- dividerClasses: () => import_joy70.dividerClasses,
211
- drawerClasses: () => import_joy70.drawerClasses,
212
- extendTheme: () => import_joy69.extendTheme,
213
- formControlClasses: () => import_joy70.formControlClasses,
214
- formHelperTextClasses: () => import_joy70.formHelperTextClasses,
215
- formLabelClasses: () => import_joy70.formLabelClasses,
216
- gridClasses: () => import_joy70.gridClasses,
217
- iconButtonClasses: () => import_joy70.iconButtonClasses,
218
- inputClasses: () => import_joy70.inputClasses,
219
- linearProgressClasses: () => import_joy70.linearProgressClasses,
220
- linkClasses: () => import_joy70.linkClasses,
221
- listClasses: () => import_joy70.listClasses,
222
- listDividerClasses: () => import_joy70.listDividerClasses,
223
- listItemButtonClasses: () => import_joy70.listItemButtonClasses,
224
- listItemClasses: () => import_joy70.listItemClasses,
225
- listItemContentClasses: () => import_joy70.listItemContentClasses,
226
- listItemDecoratorClasses: () => import_joy70.listItemDecoratorClasses,
227
- listSubheaderClasses: () => import_joy70.listSubheaderClasses,
228
- menuButtonClasses: () => import_joy70.menuButtonClasses,
229
- menuClasses: () => import_joy70.menuClasses,
230
- menuItemClasses: () => import_joy70.menuItemClasses,
231
- modalClasses: () => import_joy70.modalClasses,
232
- modalCloseClasses: () => import_joy70.modalCloseClasses,
233
- modalDialogClasses: () => import_joy70.modalDialogClasses,
234
- modalOverflowClasses: () => import_joy70.modalOverflowClasses,
235
- optionClasses: () => import_joy70.optionClasses,
236
- radioClasses: () => import_joy70.radioClasses,
237
- radioGroupClasses: () => import_joy70.radioGroupClasses,
238
- selectClasses: () => import_joy70.selectClasses,
239
- sheetClasses: () => import_joy70.sheetClasses,
240
- skeletonClasses: () => import_joy70.skeletonClasses,
241
- sliderClasses: () => import_joy70.sliderClasses,
242
- stackClasses: () => import_joy70.stackClasses,
243
- stepButtonClasses: () => import_joy70.stepButtonClasses,
244
- stepClasses: () => import_joy70.stepClasses,
245
- stepperClasses: () => import_joy70.stepperClasses,
246
- styled: () => import_joy70.styled,
247
- switchClasses: () => import_joy70.switchClasses,
248
- tabListClasses: () => import_joy70.tabListClasses,
249
- tabPanelClasses: () => import_joy70.tabPanelClasses,
250
- tableClasses: () => import_joy70.tableClasses,
251
- tabsClasses: () => import_joy70.tabsClasses,
252
- textareaClasses: () => import_joy70.textareaClasses,
185
+ accordionClasses: () => import_joy71.accordionClasses,
186
+ accordionDetailsClasses: () => import_joy71.accordionDetailsClasses,
187
+ accordionSummaryClasses: () => import_joy71.accordionSummaryClasses,
188
+ accordionsClasses: () => import_joy71.accordionGroupClasses,
189
+ alertClasses: () => import_joy71.alertClasses,
190
+ aspectRatioClasses: () => import_joy71.aspectRatioClasses,
191
+ autocompleteClasses: () => import_joy71.autocompleteClasses,
192
+ autocompleteListboxClasses: () => import_joy71.autocompleteListboxClasses,
193
+ autocompleteOptionClasses: () => import_joy71.autocompleteOptionClasses,
194
+ avatarClasses: () => import_joy71.avatarClasses,
195
+ avatarGroupClasses: () => import_joy71.avatarGroupClasses,
196
+ badgeClasses: () => import_joy71.badgeClasses,
197
+ boxClasses: () => import_joy71.boxClasses,
198
+ breadcrumbsClasses: () => import_joy71.breadcrumbsClasses,
199
+ buttonClasses: () => import_joy71.buttonClasses,
200
+ cardActionsClasses: () => import_joy71.cardActionsClasses,
201
+ cardClasses: () => import_joy71.cardClasses,
202
+ cardContentClasses: () => import_joy71.cardContentClasses,
203
+ cardCoverClasses: () => import_joy71.cardCoverClasses,
204
+ cardOverflowClasses: () => import_joy71.cardOverflowClasses,
205
+ checkboxClasses: () => import_joy71.checkboxClasses,
206
+ chipClasses: () => import_joy71.chipClasses,
207
+ circularProgressClasses: () => import_joy71.circularProgressClasses,
208
+ dialogActionsClasses: () => import_joy71.dialogActionsClasses,
209
+ dialogContentClasses: () => import_joy71.dialogContentClasses,
210
+ dialogTitleClasses: () => import_joy71.dialogTitleClasses,
211
+ dividerClasses: () => import_joy71.dividerClasses,
212
+ drawerClasses: () => import_joy71.drawerClasses,
213
+ extendTheme: () => import_joy70.extendTheme,
214
+ formControlClasses: () => import_joy71.formControlClasses,
215
+ formHelperTextClasses: () => import_joy71.formHelperTextClasses,
216
+ formLabelClasses: () => import_joy71.formLabelClasses,
217
+ gridClasses: () => import_joy71.gridClasses,
218
+ iconButtonClasses: () => import_joy71.iconButtonClasses,
219
+ inputClasses: () => import_joy71.inputClasses,
220
+ linearProgressClasses: () => import_joy71.linearProgressClasses,
221
+ linkClasses: () => import_joy71.linkClasses,
222
+ listClasses: () => import_joy71.listClasses,
223
+ listDividerClasses: () => import_joy71.listDividerClasses,
224
+ listItemButtonClasses: () => import_joy71.listItemButtonClasses,
225
+ listItemClasses: () => import_joy71.listItemClasses,
226
+ listItemContentClasses: () => import_joy71.listItemContentClasses,
227
+ listItemDecoratorClasses: () => import_joy71.listItemDecoratorClasses,
228
+ listSubheaderClasses: () => import_joy71.listSubheaderClasses,
229
+ menuButtonClasses: () => import_joy71.menuButtonClasses,
230
+ menuClasses: () => import_joy71.menuClasses,
231
+ menuItemClasses: () => import_joy71.menuItemClasses,
232
+ modalClasses: () => import_joy71.modalClasses,
233
+ modalCloseClasses: () => import_joy71.modalCloseClasses,
234
+ modalDialogClasses: () => import_joy71.modalDialogClasses,
235
+ modalOverflowClasses: () => import_joy71.modalOverflowClasses,
236
+ optionClasses: () => import_joy71.optionClasses,
237
+ radioClasses: () => import_joy71.radioClasses,
238
+ radioGroupClasses: () => import_joy71.radioGroupClasses,
239
+ selectClasses: () => import_joy71.selectClasses,
240
+ sheetClasses: () => import_joy71.sheetClasses,
241
+ skeletonClasses: () => import_joy71.skeletonClasses,
242
+ sliderClasses: () => import_joy71.sliderClasses,
243
+ stackClasses: () => import_joy71.stackClasses,
244
+ stepButtonClasses: () => import_joy71.stepButtonClasses,
245
+ stepClasses: () => import_joy71.stepClasses,
246
+ stepperClasses: () => import_joy71.stepperClasses,
247
+ styled: () => import_joy71.styled,
248
+ switchClasses: () => import_joy71.switchClasses,
249
+ tabListClasses: () => import_joy71.tabListClasses,
250
+ tabPanelClasses: () => import_joy71.tabPanelClasses,
251
+ tableClasses: () => import_joy71.tableClasses,
252
+ tabsClasses: () => import_joy71.tabsClasses,
253
+ textareaClasses: () => import_joy71.textareaClasses,
253
254
  theme: () => defaultTheme,
254
- tooltipClasses: () => import_joy70.tooltipClasses,
255
- typographyClasses: () => import_joy70.typographyClasses,
256
- useColorScheme: () => import_joy70.useColorScheme,
257
- useTheme: () => import_joy70.useTheme,
258
- useThemeProps: () => import_joy70.useThemeProps
255
+ tooltipClasses: () => import_joy71.tooltipClasses,
256
+ typographyClasses: () => import_joy71.typographyClasses,
257
+ useColorScheme: () => import_joy71.useColorScheme,
258
+ useTheme: () => import_joy71.useTheme,
259
+ useThemeProps: () => import_joy71.useThemeProps
259
260
  });
260
261
  module.exports = __toCommonJS(index_exports);
261
- var import_joy70 = require("@mui/joy");
262
+ var import_joy71 = require("@mui/joy");
262
263
 
263
264
  // src/components/Accordions/Accordions.tsx
264
265
  var import_react = __toESM(require("react"));
@@ -3526,8 +3527,10 @@ TableBody.displayName = "TableBody";
3526
3527
 
3527
3528
  // src/components/Pagination/Pagination.tsx
3528
3529
  var import_react27 = __toESM(require("react"));
3529
- var import_ChevronLeft2 = __toESM(require("@mui/icons-material/ChevronLeft"));
3530
- var import_ChevronRight2 = __toESM(require("@mui/icons-material/ChevronRight"));
3530
+ var import_ChevronLeftRounded = __toESM(require("@mui/icons-material/ChevronLeftRounded"));
3531
+ var import_ChevronRightRounded = __toESM(require("@mui/icons-material/ChevronRightRounded"));
3532
+ var import_FirstPageRounded = __toESM(require("@mui/icons-material/FirstPageRounded"));
3533
+ var import_LastPageRounded = __toESM(require("@mui/icons-material/LastPageRounded"));
3531
3534
  var import_joy35 = require("@mui/joy");
3532
3535
  var PaginationButton = (0, import_joy35.styled)(Button_default, {
3533
3536
  name: "Pagination",
@@ -3586,6 +3589,7 @@ function Pagination(props) {
3586
3589
  onPageChange,
3587
3590
  rowCount,
3588
3591
  size = "md",
3592
+ variant = "standard",
3589
3593
  ...innerProps
3590
3594
  } = props;
3591
3595
  const [paginationModel, setPaginationModel] = useControlledState(
@@ -3612,6 +3616,87 @@ function Pagination(props) {
3612
3616
  setPaginationModel({ ...paginationModel, page: lastPage });
3613
3617
  }
3614
3618
  }, [rowCount, paginationModel, lastPage, setPaginationModel]);
3619
+ const pageOptions = Array.from({ length: lastPage }, (_, i) => ({
3620
+ label: `${i + 1}`,
3621
+ value: `${i + 1}`
3622
+ }));
3623
+ if (variant === "compact") {
3624
+ return /* @__PURE__ */ import_react27.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react27.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react27.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react27.default.createElement(
3625
+ PaginationIconButton,
3626
+ {
3627
+ size,
3628
+ variant: "plain",
3629
+ color: "neutral",
3630
+ onClick: () => handlePageChange(firstPage),
3631
+ disabled: paginationModel.page === firstPage,
3632
+ "aria-label": "First page"
3633
+ },
3634
+ /* @__PURE__ */ import_react27.default.createElement(import_FirstPageRounded.default, null)
3635
+ ), /* @__PURE__ */ import_react27.default.createElement(
3636
+ PaginationIconButton,
3637
+ {
3638
+ size,
3639
+ variant: "plain",
3640
+ color: "neutral",
3641
+ onClick: () => handlePageChange(paginationModel.page - 1),
3642
+ disabled: paginationModel.page === firstPage,
3643
+ "aria-label": "Previous page"
3644
+ },
3645
+ /* @__PURE__ */ import_react27.default.createElement(import_ChevronLeftRounded.default, null)
3646
+ )), /* @__PURE__ */ import_react27.default.createElement(
3647
+ Autocomplete_default,
3648
+ {
3649
+ size,
3650
+ value: `${paginationModel.page}`,
3651
+ onChange: (event) => {
3652
+ if (event.target.value) {
3653
+ handlePageChange(parseInt(event.target.value, 10));
3654
+ }
3655
+ },
3656
+ options: pageOptions,
3657
+ sx: {
3658
+ width: {
3659
+ sm: "80px",
3660
+ md: "100px",
3661
+ lg: "120px"
3662
+ }[size]
3663
+ }
3664
+ }
3665
+ ), /* @__PURE__ */ import_react27.default.createElement(
3666
+ Typography_default,
3667
+ {
3668
+ level: `body-${size}`,
3669
+ sx: (theme) => ({
3670
+ color: theme.palette.text.secondary,
3671
+ fontWeight: 500
3672
+ })
3673
+ },
3674
+ "/ ",
3675
+ lastPage
3676
+ ), /* @__PURE__ */ import_react27.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react27.default.createElement(
3677
+ PaginationIconButton,
3678
+ {
3679
+ size,
3680
+ variant: "plain",
3681
+ color: "neutral",
3682
+ onClick: () => handlePageChange(paginationModel.page + 1),
3683
+ disabled: paginationModel.page === lastPage,
3684
+ "aria-label": "Next page"
3685
+ },
3686
+ /* @__PURE__ */ import_react27.default.createElement(import_ChevronRightRounded.default, null)
3687
+ ), /* @__PURE__ */ import_react27.default.createElement(
3688
+ PaginationIconButton,
3689
+ {
3690
+ size,
3691
+ variant: "plain",
3692
+ color: "neutral",
3693
+ onClick: () => handlePageChange(lastPage),
3694
+ disabled: paginationModel.page === lastPage,
3695
+ "aria-label": "Last page"
3696
+ },
3697
+ /* @__PURE__ */ import_react27.default.createElement(import_LastPageRounded.default, null)
3698
+ ))));
3699
+ }
3615
3700
  return /* @__PURE__ */ import_react27.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react27.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react27.default.createElement(
3616
3701
  PaginationIconButton,
3617
3702
  {
@@ -3622,7 +3707,7 @@ function Pagination(props) {
3622
3707
  disabled: paginationModel.page === firstPage,
3623
3708
  "aria-label": "Previous page"
3624
3709
  },
3625
- /* @__PURE__ */ import_react27.default.createElement(import_ChevronLeft2.default, null)
3710
+ /* @__PURE__ */ import_react27.default.createElement(import_ChevronLeftRounded.default, null)
3626
3711
  ), paginationModel.page !== firstPage && /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(firstPage) }, firstPage), isMoreBeforePages && /* @__PURE__ */ import_react27.default.createElement(
3627
3712
  PaginationButton,
3628
3713
  {
@@ -3653,7 +3738,7 @@ function Pagination(props) {
3653
3738
  disabled: paginationModel.page === lastPage,
3654
3739
  "aria-label": "Next page"
3655
3740
  },
3656
- /* @__PURE__ */ import_react27.default.createElement(import_ChevronRight2.default, null)
3741
+ /* @__PURE__ */ import_react27.default.createElement(import_ChevronRightRounded.default, null)
3657
3742
  )));
3658
3743
  }
3659
3744
  Pagination.displayName = "Pagination";
@@ -4473,17 +4558,254 @@ var InsetDrawer = (0, import_joy42.styled)(import_joy42.Drawer)(({ theme }) => (
4473
4558
  }
4474
4559
  }));
4475
4560
 
4561
+ // src/components/FilterableCheckboxGroup/FilterableCheckboxGroup.tsx
4562
+ var import_react33 = __toESM(require("react"));
4563
+ var import_Search = __toESM(require("@mui/icons-material/Search"));
4564
+ var import_react_virtual3 = require("@tanstack/react-virtual");
4565
+ function LabelWithTooltip(props) {
4566
+ const { label, size } = props;
4567
+ const labelContentRef = (0, import_react33.useRef)(null);
4568
+ const [isOverflowing, setIsOverflowing] = (0, import_react33.useState)(false);
4569
+ const labelContent = /* @__PURE__ */ import_react33.default.createElement(
4570
+ "span",
4571
+ {
4572
+ ref: labelContentRef,
4573
+ style: {
4574
+ textOverflow: "ellipsis",
4575
+ overflow: "hidden",
4576
+ whiteSpace: "nowrap",
4577
+ display: "block",
4578
+ position: "relative",
4579
+ zIndex: 1,
4580
+ cursor: "pointer"
4581
+ }
4582
+ },
4583
+ label
4584
+ );
4585
+ (0, import_react33.useEffect)(() => {
4586
+ const element = labelContentRef.current;
4587
+ if (element) {
4588
+ setIsOverflowing(element.scrollWidth > element.clientWidth);
4589
+ }
4590
+ }, [label]);
4591
+ if (isOverflowing) {
4592
+ return /* @__PURE__ */ import_react33.default.createElement(Tooltip_default, { variant: "solid", size, title: label, placement: "bottom-start" }, labelContent);
4593
+ }
4594
+ return labelContent;
4595
+ }
4596
+ function FilterableCheckboxGroup(props) {
4597
+ const {
4598
+ value,
4599
+ options,
4600
+ label,
4601
+ placeholder,
4602
+ helperText,
4603
+ size = "md",
4604
+ required,
4605
+ onChange,
4606
+ maxHeight = 300,
4607
+ disabled
4608
+ } = props;
4609
+ const [searchTerm, setSearchTerm] = (0, import_react33.useState)("");
4610
+ const [sortedOptions, setSortedOptions] = (0, import_react33.useState)(options);
4611
+ const [internalValue, setInternalValue] = useControlledState(
4612
+ value,
4613
+ value ?? [],
4614
+ (0, import_react33.useCallback)((newValue) => onChange?.(newValue), [onChange])
4615
+ );
4616
+ const parentRef = (0, import_react33.useRef)(null);
4617
+ const isInitialSortRef = (0, import_react33.useRef)(false);
4618
+ const filteredOptions = (0, import_react33.useMemo)(() => {
4619
+ if (!searchTerm) return sortedOptions;
4620
+ return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
4621
+ }, [sortedOptions, searchTerm]);
4622
+ const itemSize = (0, import_react33.useMemo)(() => {
4623
+ switch (size) {
4624
+ case "sm":
4625
+ return 28;
4626
+ case "md":
4627
+ return 32;
4628
+ case "lg":
4629
+ return 36;
4630
+ }
4631
+ }, [size]);
4632
+ const noOptionsFontSize = (0, import_react33.useMemo)(() => {
4633
+ switch (size) {
4634
+ case "sm":
4635
+ return "14px";
4636
+ case "md":
4637
+ return "16px";
4638
+ case "lg":
4639
+ return "18px";
4640
+ }
4641
+ }, [size]);
4642
+ const virtualizer = (0, import_react_virtual3.useVirtualizer)({
4643
+ count: filteredOptions.length,
4644
+ estimateSize: () => itemSize,
4645
+ measureElement: (element) => element.clientHeight,
4646
+ getScrollElement: () => parentRef.current,
4647
+ overscan: 5
4648
+ });
4649
+ const items = virtualizer.getVirtualItems();
4650
+ (0, import_react33.useEffect)(() => {
4651
+ if (isInitialSortRef.current) return;
4652
+ const initialValue = value ?? [];
4653
+ const sorted = [...options].sort((a, b) => {
4654
+ const aSelected = initialValue.includes(a.value);
4655
+ const bSelected = initialValue.includes(b.value);
4656
+ if (aSelected !== bSelected) {
4657
+ return aSelected ? -1 : 1;
4658
+ }
4659
+ const aIsAlpha = /^[a-zA-Z]/.test(a.label);
4660
+ const bIsAlpha = /^[a-zA-Z]/.test(b.label);
4661
+ if (aIsAlpha !== bIsAlpha) {
4662
+ return aIsAlpha ? -1 : 1;
4663
+ }
4664
+ return a.label.localeCompare(b.label);
4665
+ });
4666
+ setSortedOptions(sorted);
4667
+ isInitialSortRef.current = true;
4668
+ }, [options, value]);
4669
+ (0, import_react33.useEffect)(() => {
4670
+ virtualizer.measure();
4671
+ }, [virtualizer, filteredOptions]);
4672
+ const handleSearchChange = (0, import_react33.useCallback)((event) => {
4673
+ setSearchTerm(event.target.value);
4674
+ }, []);
4675
+ const handleCheckboxChange = (0, import_react33.useCallback)(
4676
+ (optionValue) => (event) => {
4677
+ const checked = event.target.checked;
4678
+ const newValue = checked ? [...internalValue, optionValue] : internalValue.filter((v) => v !== optionValue);
4679
+ setInternalValue(newValue);
4680
+ },
4681
+ [internalValue, setInternalValue]
4682
+ );
4683
+ const handleSelectAll = (0, import_react33.useCallback)(
4684
+ (event) => {
4685
+ const checked = event.target.checked;
4686
+ const enabledOptions = filteredOptions.filter((option) => !option.disabled);
4687
+ const disabledSelectedValues = internalValue.filter(
4688
+ (v) => filteredOptions.some((opt) => opt.value === v && opt.disabled)
4689
+ );
4690
+ if (checked) {
4691
+ const enabledValues = enabledOptions.map((option) => option.value);
4692
+ setInternalValue([...disabledSelectedValues, ...enabledValues]);
4693
+ } else {
4694
+ setInternalValue(disabledSelectedValues);
4695
+ }
4696
+ },
4697
+ [filteredOptions, internalValue, setInternalValue]
4698
+ );
4699
+ const enabledFilteredOptions = (0, import_react33.useMemo)(() => filteredOptions.filter((option) => !option.disabled), [filteredOptions]);
4700
+ const isAllSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((option) => internalValue.includes(option.value));
4701
+ const isIndeterminate = !isAllSelected && enabledFilteredOptions.some((option) => internalValue.includes(option.value));
4702
+ return /* @__PURE__ */ import_react33.default.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ import_react33.default.createElement(
4703
+ Input_default,
4704
+ {
4705
+ label,
4706
+ helperText,
4707
+ required,
4708
+ variant: "outlined",
4709
+ color: "neutral",
4710
+ placeholder,
4711
+ value: searchTerm,
4712
+ onChange: handleSearchChange,
4713
+ size,
4714
+ disabled,
4715
+ endDecorator: /* @__PURE__ */ import_react33.default.createElement(import_Search.default, null)
4716
+ }
4717
+ ), filteredOptions.length === 0 ? /* @__PURE__ */ import_react33.default.createElement(
4718
+ Stack_default,
4719
+ {
4720
+ sx: (theme) => ({
4721
+ padding: "20px 12px",
4722
+ justifyContent: "center",
4723
+ alignItems: "center",
4724
+ fontSize: noOptionsFontSize,
4725
+ color: theme.palette.neutral.softDisabledColor
4726
+ })
4727
+ },
4728
+ "No options found."
4729
+ ) : /* @__PURE__ */ import_react33.default.createElement(
4730
+ "div",
4731
+ {
4732
+ ref: parentRef,
4733
+ style: {
4734
+ overflow: "auto",
4735
+ maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight,
4736
+ padding: "8px 0px",
4737
+ marginTop: "8px"
4738
+ }
4739
+ },
4740
+ !searchTerm && /* @__PURE__ */ import_react33.default.createElement(
4741
+ Checkbox_default,
4742
+ {
4743
+ label: "Select all",
4744
+ checked: isAllSelected,
4745
+ indeterminate: isIndeterminate,
4746
+ onChange: handleSelectAll,
4747
+ size,
4748
+ disabled,
4749
+ slotProps: {
4750
+ action: {
4751
+ sx: { top: 0, left: 0, bottom: 0, right: 0 }
4752
+ }
4753
+ },
4754
+ sx: { width: "100%", height: itemSize }
4755
+ }
4756
+ ),
4757
+ /* @__PURE__ */ import_react33.default.createElement(
4758
+ Stack_default,
4759
+ {
4760
+ sx: {
4761
+ height: `${virtualizer.getTotalSize()}px`,
4762
+ position: "relative"
4763
+ }
4764
+ },
4765
+ items.map((virtualRow) => {
4766
+ const option = filteredOptions[virtualRow.index];
4767
+ return /* @__PURE__ */ import_react33.default.createElement(
4768
+ Checkbox_default,
4769
+ {
4770
+ key: virtualRow.key,
4771
+ label: /* @__PURE__ */ import_react33.default.createElement(LabelWithTooltip, { label: option.label, size }),
4772
+ checked: internalValue.includes(option.value),
4773
+ onChange: handleCheckboxChange(option.value),
4774
+ size,
4775
+ disabled: disabled || option.disabled,
4776
+ slotProps: {
4777
+ action: {
4778
+ sx: { top: 0, left: 0, bottom: 0, right: 0 }
4779
+ // NOTE: 불필요한 좌우 스크롤 방지
4780
+ }
4781
+ },
4782
+ sx: {
4783
+ position: "absolute",
4784
+ top: 0,
4785
+ left: 0,
4786
+ width: "100%",
4787
+ height: `${virtualRow.size}px`,
4788
+ transform: `translateY(${virtualRow.start}px)`
4789
+ }
4790
+ }
4791
+ );
4792
+ })
4793
+ )
4794
+ ));
4795
+ }
4796
+ FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
4797
+
4476
4798
  // src/components/FilterMenu/FilterMenu.tsx
4477
- var import_react42 = __toESM(require("react"));
4478
- var import_joy53 = require("@mui/joy");
4799
+ var import_react44 = __toESM(require("react"));
4800
+ var import_joy54 = require("@mui/joy");
4479
4801
 
4480
4802
  // src/components/FilterMenu/components/CheckboxGroup.tsx
4481
- var import_react33 = __toESM(require("react"));
4803
+ var import_react34 = __toESM(require("react"));
4482
4804
  var import_joy43 = require("@mui/joy");
4483
4805
  function CheckboxGroup(props) {
4484
4806
  const { id, label, options, value, onChange, hidden } = props;
4485
4807
  const [internalValue, setInternalValue] = useControlledState(value, [], onChange);
4486
- const handleCheckboxChange = (0, import_react33.useCallback)(
4808
+ const handleCheckboxChange = (0, import_react34.useCallback)(
4487
4809
  (optionValue) => (event) => {
4488
4810
  const checked = event.target.checked;
4489
4811
  let newValue;
@@ -4499,7 +4821,7 @@ function CheckboxGroup(props) {
4499
4821
  if (hidden) {
4500
4822
  return null;
4501
4823
  }
4502
- return /* @__PURE__ */ import_react33.default.createElement(import_joy43.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react33.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), options.map((option) => /* @__PURE__ */ import_react33.default.createElement(
4824
+ return /* @__PURE__ */ import_react34.default.createElement(import_joy43.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
4825
  Checkbox_default,
4504
4826
  {
4505
4827
  key: `${id}-${option.value}`,
@@ -4511,25 +4833,54 @@ function CheckboxGroup(props) {
4511
4833
  }
4512
4834
  CheckboxGroup.displayName = "CheckboxGroup";
4513
4835
 
4836
+ // src/components/FilterMenu/components/FilterableCheckboxGroup.tsx
4837
+ var import_react35 = __toESM(require("react"));
4838
+ var import_joy44 = require("@mui/joy");
4839
+ function FilterableCheckboxGroup2(props) {
4840
+ const { id, label, options, value, onChange, hidden, placeholder, maxHeight } = props;
4841
+ const [internalValue, setInternalValue] = useControlledState(value, [], onChange);
4842
+ const handleChange = (0, import_react35.useCallback)(
4843
+ (newValue) => {
4844
+ setInternalValue(newValue);
4845
+ },
4846
+ [setInternalValue]
4847
+ );
4848
+ if (hidden) {
4849
+ return null;
4850
+ }
4851
+ return /* @__PURE__ */ import_react35.default.createElement(import_joy44.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(
4852
+ FilterableCheckboxGroup,
4853
+ {
4854
+ value: internalValue ?? [],
4855
+ onChange: handleChange,
4856
+ options,
4857
+ placeholder,
4858
+ maxHeight,
4859
+ size: "sm"
4860
+ }
4861
+ ));
4862
+ }
4863
+ FilterableCheckboxGroup2.displayName = "FilterableCheckboxGroup";
4864
+
4514
4865
  // src/components/FilterMenu/components/RadioGroup.tsx
4515
- var import_react34 = __toESM(require("react"));
4866
+ var import_react36 = __toESM(require("react"));
4516
4867
 
4517
4868
  // src/components/Radio/Radio.tsx
4518
- var import_joy44 = require("@mui/joy");
4869
+ var import_joy45 = require("@mui/joy");
4519
4870
  var import_framer_motion26 = require("framer-motion");
4520
- var MotionRadio = (0, import_framer_motion26.motion)(import_joy44.Radio);
4871
+ var MotionRadio = (0, import_framer_motion26.motion)(import_joy45.Radio);
4521
4872
  var Radio = MotionRadio;
4522
4873
  Radio.displayName = "Radio";
4523
- var MotionRadioGroup = (0, import_framer_motion26.motion)(import_joy44.RadioGroup);
4874
+ var MotionRadioGroup = (0, import_framer_motion26.motion)(import_joy45.RadioGroup);
4524
4875
  var RadioGroup = MotionRadioGroup;
4525
4876
  RadioGroup.displayName = "RadioGroup";
4526
4877
 
4527
4878
  // src/components/FilterMenu/components/RadioGroup.tsx
4528
- var import_joy45 = require("@mui/joy");
4879
+ var import_joy46 = require("@mui/joy");
4529
4880
  function RadioGroup2(props) {
4530
4881
  const { id, label, options, value, onChange, hidden } = props;
4531
4882
  const [internalValue, setInternalValue] = useControlledState(value, value ?? "", onChange);
4532
- const handleRadioChange = (0, import_react34.useCallback)(
4883
+ const handleRadioChange = (0, import_react36.useCallback)(
4533
4884
  (event) => {
4534
4885
  const newValue = event.target.value;
4535
4886
  const option = options.find((opt) => opt.value.toString() === newValue);
@@ -4541,13 +4892,13 @@ function RadioGroup2(props) {
4541
4892
  if (hidden) {
4542
4893
  return null;
4543
4894
  }
4544
- return /* @__PURE__ */ import_react34.default.createElement(import_joy45.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react34.default.createElement(import_joy45.Stack, { spacing: 1 }, /* @__PURE__ */ import_react34.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label)), /* @__PURE__ */ import_react34.default.createElement(RadioGroup, { name: id, value: internalValue?.toString(), onChange: handleRadioChange }, options.map((option) => /* @__PURE__ */ import_react34.default.createElement(Radio, { key: `${id}-${option.value}`, value: option.value.toString(), label: option.label }))));
4895
+ return /* @__PURE__ */ import_react36.default.createElement(import_joy46.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react36.default.createElement(import_joy46.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
4896
  }
4546
4897
  RadioGroup2.displayName = "RadioGroup";
4547
4898
 
4548
4899
  // src/components/FilterMenu/components/DateRange.tsx
4549
- var import_react35 = __toESM(require("react"));
4550
- var import_joy46 = require("@mui/joy");
4900
+ var import_react37 = __toESM(require("react"));
4901
+ var import_joy47 = require("@mui/joy");
4551
4902
  function DateRange(props) {
4552
4903
  const {
4553
4904
  id,
@@ -4559,14 +4910,13 @@ function DateRange(props) {
4559
4910
  maxDate,
4560
4911
  disableFuture,
4561
4912
  disablePast,
4562
- format = "YYYY/MM/DD",
4563
4913
  displayFormat,
4564
4914
  inputReadOnly,
4565
4915
  hideClearButton
4566
4916
  } = props;
4567
4917
  const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
4568
- const [selectedOption, setSelectedOption] = (0, import_react35.useState)("all-time");
4569
- const dateRangeOptions = (0, import_react35.useMemo)(
4918
+ const [selectedOption, setSelectedOption] = (0, import_react37.useState)("all-time");
4919
+ const dateRangeOptions = (0, import_react37.useMemo)(
4570
4920
  () => [
4571
4921
  { label: "All Time", value: "all-time" },
4572
4922
  { label: "This Month", value: "this-month" },
@@ -4576,7 +4926,7 @@ function DateRange(props) {
4576
4926
  ],
4577
4927
  []
4578
4928
  );
4579
- const getDateRangeForOption = (0, import_react35.useCallback)(
4929
+ const getDateRangeForOption = (0, import_react37.useCallback)(
4580
4930
  (option) => {
4581
4931
  const now = /* @__PURE__ */ new Date();
4582
4932
  const currentYear = now.getFullYear();
@@ -4615,7 +4965,7 @@ function DateRange(props) {
4615
4965
  },
4616
4966
  [internalValue]
4617
4967
  );
4618
- const determineOptionFromValue = (0, import_react35.useCallback)(
4968
+ const determineOptionFromValue = (0, import_react37.useCallback)(
4619
4969
  (value2) => {
4620
4970
  if (!value2) {
4621
4971
  return "all-time";
@@ -4631,17 +4981,17 @@ function DateRange(props) {
4631
4981
  },
4632
4982
  [getDateRangeForOption]
4633
4983
  );
4634
- const customDateRangeValue = (0, import_react35.useMemo)(() => {
4984
+ const customDateRangeValue = (0, import_react37.useMemo)(() => {
4635
4985
  if (selectedOption === "custom" && internalValue) {
4636
4986
  return `${internalValue[0]} - ${internalValue[1]}`;
4637
4987
  }
4638
4988
  return "";
4639
4989
  }, [selectedOption, internalValue]);
4640
- (0, import_react35.useEffect)(() => {
4990
+ (0, import_react37.useEffect)(() => {
4641
4991
  const newOption = determineOptionFromValue(internalValue);
4642
4992
  setSelectedOption(newOption);
4643
4993
  }, [internalValue, determineOptionFromValue]);
4644
- const handleOptionChange = (0, import_react35.useCallback)(
4994
+ const handleOptionChange = (0, import_react37.useCallback)(
4645
4995
  (event) => {
4646
4996
  const newOption = event.target.value;
4647
4997
  setSelectedOption(newOption);
@@ -4650,25 +5000,28 @@ function DateRange(props) {
4650
5000
  },
4651
5001
  [getDateRangeForOption, setInternalValue]
4652
5002
  );
4653
- const handleCustomDateChange = (0, import_react35.useCallback)(
5003
+ const handleCustomDateChange = (0, import_react37.useCallback)(
4654
5004
  (event) => {
4655
5005
  const dateRangeString = event.target.value;
4656
5006
  if (dateRangeString && dateRangeString.includes(" - ")) {
4657
5007
  const [startDate, endDate] = dateRangeString.split(" - ");
4658
5008
  if (startDate && endDate) {
4659
5009
  const newValue = [startDate, endDate];
4660
- setInternalValue(newValue);
5010
+ const hasChanged = !internalValue || internalValue[0] !== startDate || internalValue[1] !== endDate;
5011
+ if (hasChanged) {
5012
+ setInternalValue(newValue);
5013
+ }
4661
5014
  }
4662
5015
  } else if (!dateRangeString) {
4663
5016
  setInternalValue(null);
4664
5017
  }
4665
5018
  },
4666
- [setInternalValue]
5019
+ [setInternalValue, internalValue]
4667
5020
  );
4668
5021
  if (hidden) {
4669
5022
  return null;
4670
5023
  }
4671
- return /* @__PURE__ */ import_react35.default.createElement(import_joy46.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(RadioGroup, { name: `${id}-options`, value: selectedOption, onChange: handleOptionChange }, dateRangeOptions.map((option) => /* @__PURE__ */ import_react35.default.createElement(Radio, { key: `${id}-${option.value}`, value: option.value, label: option.label }))), selectedOption === "custom" && /* @__PURE__ */ import_react35.default.createElement(
5024
+ return /* @__PURE__ */ import_react37.default.createElement(import_joy47.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
5025
  DateRangePicker,
4673
5026
  {
4674
5027
  value: customDateRangeValue,
@@ -4677,7 +5030,7 @@ function DateRange(props) {
4677
5030
  maxDate,
4678
5031
  disableFuture,
4679
5032
  disablePast,
4680
- format,
5033
+ format: "YYYY-MM-DD",
4681
5034
  displayFormat,
4682
5035
  inputReadOnly,
4683
5036
  hideClearButton
@@ -4687,12 +5040,12 @@ function DateRange(props) {
4687
5040
  DateRange.displayName = "DateRange";
4688
5041
 
4689
5042
  // src/components/FilterMenu/components/CurrencyInput.tsx
4690
- var import_react36 = __toESM(require("react"));
4691
- var import_joy47 = require("@mui/joy");
5043
+ var import_react38 = __toESM(require("react"));
5044
+ var import_joy48 = require("@mui/joy");
4692
5045
  function CurrencyInput3(props) {
4693
5046
  const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
4694
5047
  const [internalValue, setInternalValue] = useControlledState(value, value, onChange);
4695
- const handleCurrencyChange = (0, import_react36.useCallback)(
5048
+ const handleCurrencyChange = (0, import_react38.useCallback)(
4696
5049
  (event) => {
4697
5050
  const newValue = event.target.value;
4698
5051
  setInternalValue(newValue);
@@ -4702,7 +5055,7 @@ function CurrencyInput3(props) {
4702
5055
  if (hidden) {
4703
5056
  return null;
4704
5057
  }
4705
- return /* @__PURE__ */ import_react36.default.createElement(import_joy47.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react36.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react36.default.createElement(
5058
+ return /* @__PURE__ */ import_react38.default.createElement(import_joy48.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
5059
  CurrencyInput,
4707
5060
  {
4708
5061
  value: internalValue,
@@ -4718,14 +5071,14 @@ function CurrencyInput3(props) {
4718
5071
  CurrencyInput3.displayName = "CurrencyInput";
4719
5072
 
4720
5073
  // src/components/FilterMenu/components/CurrencyRange.tsx
4721
- var import_react37 = __toESM(require("react"));
4722
- var import_joy48 = require("@mui/joy");
5074
+ var import_react39 = __toESM(require("react"));
5075
+ var import_joy49 = require("@mui/joy");
4723
5076
  function CurrencyRange(props) {
4724
5077
  const { id, label, value, onChange, hidden, max, placeholder, useMinorUnit, currency = "USD" } = props;
4725
5078
  const [internalValue, setInternalValue] = useControlledState(value, null, onChange);
4726
5079
  const minValue = internalValue?.[0];
4727
5080
  const maxValue = internalValue?.[1];
4728
- const handleMinChange = (0, import_react37.useCallback)(
5081
+ const handleMinChange = (0, import_react39.useCallback)(
4729
5082
  (event) => {
4730
5083
  const newMinValue = event.target.value;
4731
5084
  const currentMaxValue = maxValue;
@@ -4739,7 +5092,7 @@ function CurrencyRange(props) {
4739
5092
  },
4740
5093
  [maxValue, setInternalValue]
4741
5094
  );
4742
- const handleMaxChange = (0, import_react37.useCallback)(
5095
+ const handleMaxChange = (0, import_react39.useCallback)(
4743
5096
  (event) => {
4744
5097
  const newMaxValue = event.target.value;
4745
5098
  const currentMinValue = minValue;
@@ -4756,7 +5109,7 @@ function CurrencyRange(props) {
4756
5109
  if (hidden) {
4757
5110
  return null;
4758
5111
  }
4759
- 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(import_joy48.Stack, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ import_react37.default.createElement(
5112
+ return /* @__PURE__ */ import_react39.default.createElement(import_joy49.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_joy49.Stack, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ import_react39.default.createElement(
4760
5113
  CurrencyInput,
4761
5114
  {
4762
5115
  label: "Minimum",
@@ -4769,7 +5122,7 @@ function CurrencyRange(props) {
4769
5122
  "aria-labelledby": label ? id : void 0,
4770
5123
  "aria-label": "Minimum amount"
4771
5124
  }
4772
- ), /* @__PURE__ */ import_react37.default.createElement(
5125
+ ), /* @__PURE__ */ import_react39.default.createElement(
4773
5126
  CurrencyInput,
4774
5127
  {
4775
5128
  label: "Maximum",
@@ -4787,20 +5140,20 @@ function CurrencyRange(props) {
4787
5140
  CurrencyRange.displayName = "CurrencyRange";
4788
5141
 
4789
5142
  // src/components/FilterMenu/components/PercentageInput.tsx
4790
- var import_react39 = __toESM(require("react"));
4791
- var import_joy50 = require("@mui/joy");
5143
+ var import_react41 = __toESM(require("react"));
5144
+ var import_joy51 = require("@mui/joy");
4792
5145
 
4793
5146
  // src/components/PercentageInput/PercentageInput.tsx
4794
- var import_react38 = __toESM(require("react"));
5147
+ var import_react40 = __toESM(require("react"));
4795
5148
  var import_react_number_format2 = require("react-number-format");
4796
- var import_joy49 = require("@mui/joy");
5149
+ var import_joy50 = require("@mui/joy");
4797
5150
  var padDecimal = (value, decimalScale) => {
4798
5151
  const [integer, decimal = ""] = `${value}`.split(".");
4799
5152
  return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
4800
5153
  };
4801
- var TextMaskAdapter7 = import_react38.default.forwardRef(function TextMaskAdapter8(props, ref) {
5154
+ var TextMaskAdapter7 = import_react40.default.forwardRef(function TextMaskAdapter8(props, ref) {
4802
5155
  const { onChange, min, max, ...innerProps } = props;
4803
- return /* @__PURE__ */ import_react38.default.createElement(
5156
+ return /* @__PURE__ */ import_react40.default.createElement(
4804
5157
  import_react_number_format2.NumericFormat,
4805
5158
  {
4806
5159
  ...innerProps,
@@ -4820,14 +5173,14 @@ var TextMaskAdapter7 = import_react38.default.forwardRef(function TextMaskAdapte
4820
5173
  }
4821
5174
  );
4822
5175
  });
4823
- var PercentageInputRoot = (0, import_joy49.styled)(Input_default, {
5176
+ var PercentageInputRoot = (0, import_joy50.styled)(Input_default, {
4824
5177
  name: "PercentageInput",
4825
5178
  slot: "Root",
4826
5179
  overridesResolver: (props, styles) => styles.root
4827
5180
  })({});
4828
- var PercentageInput = import_react38.default.forwardRef(
5181
+ var PercentageInput = import_react40.default.forwardRef(
4829
5182
  function PercentageInput2(inProps, ref) {
4830
- const props = (0, import_joy49.useThemeProps)({ props: inProps, name: "PercentageInput" });
5183
+ const props = (0, import_joy50.useThemeProps)({ props: inProps, name: "PercentageInput" });
4831
5184
  const {
4832
5185
  name,
4833
5186
  onChange,
@@ -4848,18 +5201,18 @@ var PercentageInput = import_react38.default.forwardRef(
4848
5201
  const [_value, setValue] = useControlledState(
4849
5202
  props.value,
4850
5203
  props.defaultValue,
4851
- (0, import_react38.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
5204
+ (0, import_react40.useCallback)((value2) => onChange?.({ target: { name, value: value2 } }), [onChange, name])
4852
5205
  );
4853
- const [internalError, setInternalError] = (0, import_react38.useState)(
5206
+ const [internalError, setInternalError] = (0, import_react40.useState)(
4854
5207
  max && _value && _value > max || min && _value && _value < min
4855
5208
  );
4856
- const value = (0, import_react38.useMemo)(() => {
5209
+ const value = (0, import_react40.useMemo)(() => {
4857
5210
  if (_value && useMinorUnit) {
4858
5211
  return _value / Math.pow(10, maxDecimalScale);
4859
5212
  }
4860
5213
  return _value;
4861
5214
  }, [_value, useMinorUnit, maxDecimalScale]);
4862
- const handleChange = (0, import_react38.useCallback)(
5215
+ const handleChange = (0, import_react40.useCallback)(
4863
5216
  (event) => {
4864
5217
  if (event.target.value === "") {
4865
5218
  setValue(void 0);
@@ -4876,7 +5229,7 @@ var PercentageInput = import_react38.default.forwardRef(
4876
5229
  },
4877
5230
  [setValue, useMinorUnit, maxDecimalScale, min, max]
4878
5231
  );
4879
- return /* @__PURE__ */ import_react38.default.createElement(
5232
+ return /* @__PURE__ */ import_react40.default.createElement(
4880
5233
  PercentageInputRoot,
4881
5234
  {
4882
5235
  ...innerProps,
@@ -4923,7 +5276,7 @@ var PercentageInput3 = ({
4923
5276
  if (hidden) {
4924
5277
  return null;
4925
5278
  }
4926
- return /* @__PURE__ */ import_react39.default.createElement(import_joy50.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react39.default.createElement(import_joy50.Typography, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react39.default.createElement(
5279
+ return /* @__PURE__ */ import_react41.default.createElement(import_joy51.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react41.default.createElement(import_joy51.Typography, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react41.default.createElement(
4927
5280
  PercentageInput,
4928
5281
  {
4929
5282
  value: _value,
@@ -4938,8 +5291,8 @@ var PercentageInput3 = ({
4938
5291
  };
4939
5292
 
4940
5293
  // src/components/FilterMenu/components/PercentageRange.tsx
4941
- var import_react40 = __toESM(require("react"));
4942
- var import_joy51 = require("@mui/joy");
5294
+ var import_react42 = __toESM(require("react"));
5295
+ var import_joy52 = require("@mui/joy");
4943
5296
  function PercentageRange(props) {
4944
5297
  const { id, label, value, onChange, hidden, useMinorUnit, maxDecimalScale, min, max } = props;
4945
5298
  const [internalValue, setInternalValue] = useControlledState(
@@ -4949,7 +5302,7 @@ function PercentageRange(props) {
4949
5302
  );
4950
5303
  const minValue = internalValue?.[0];
4951
5304
  const maxValue = internalValue?.[1];
4952
- const handleMinChange = (0, import_react40.useCallback)(
5305
+ const handleMinChange = (0, import_react42.useCallback)(
4953
5306
  (event) => {
4954
5307
  const newMinValue = event.target.value;
4955
5308
  const currentMaxValue = maxValue;
@@ -4961,7 +5314,7 @@ function PercentageRange(props) {
4961
5314
  },
4962
5315
  [maxValue, setInternalValue]
4963
5316
  );
4964
- const handleMaxChange = (0, import_react40.useCallback)(
5317
+ const handleMaxChange = (0, import_react42.useCallback)(
4965
5318
  (event) => {
4966
5319
  const newMaxValue = event.target.value;
4967
5320
  const currentMinValue = minValue;
@@ -4976,7 +5329,7 @@ function PercentageRange(props) {
4976
5329
  if (hidden) {
4977
5330
  return null;
4978
5331
  }
4979
- return /* @__PURE__ */ import_react40.default.createElement(import_joy51.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react40.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react40.default.createElement(import_joy51.Stack, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ import_react40.default.createElement(
5332
+ return /* @__PURE__ */ import_react42.default.createElement(import_joy52.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_joy52.Stack, { direction: "row", spacing: 2, alignItems: "flex-end" }, /* @__PURE__ */ import_react42.default.createElement(
4980
5333
  PercentageInput,
4981
5334
  {
4982
5335
  label: "Minimum",
@@ -4990,7 +5343,7 @@ function PercentageRange(props) {
4990
5343
  "aria-label": "Minimum percentage",
4991
5344
  placeholder: "0%"
4992
5345
  }
4993
- ), /* @__PURE__ */ import_react40.default.createElement(
5346
+ ), /* @__PURE__ */ import_react42.default.createElement(
4994
5347
  PercentageInput,
4995
5348
  {
4996
5349
  label: "Maximum",
@@ -5009,13 +5362,13 @@ function PercentageRange(props) {
5009
5362
  PercentageRange.displayName = "PercentageRange";
5010
5363
 
5011
5364
  // src/components/FilterMenu/components/Autocomplete.tsx
5012
- var import_react41 = __toESM(require("react"));
5013
- var import_joy52 = require("@mui/joy");
5365
+ var import_react43 = __toESM(require("react"));
5366
+ var import_joy53 = require("@mui/joy");
5014
5367
  function Autocomplete2(props) {
5015
5368
  const { id, label, value, onChange, options, multiple, hidden, placeholder } = props;
5016
5369
  const [internalValue, setInternalValue] = useControlledState(value, void 0, onChange);
5017
5370
  const autocompleteValue = typeof internalValue === "string" || typeof internalValue === "number" ? String(internalValue) : void 0;
5018
- const handleChange = (0, import_react41.useCallback)(
5371
+ const handleChange = (0, import_react43.useCallback)(
5019
5372
  (event) => {
5020
5373
  const val = event.target.value;
5021
5374
  if (val) {
@@ -5030,7 +5383,7 @@ function Autocomplete2(props) {
5030
5383
  if (hidden) {
5031
5384
  return null;
5032
5385
  }
5033
- return /* @__PURE__ */ import_react41.default.createElement(import_joy52.Stack, { spacing: 3, role: "group", "aria-labelledby": id }, !!label && /* @__PURE__ */ import_react41.default.createElement(Typography_default, { id, level: "title-sm", component: "label", textColor: "text.tertiary" }, label), /* @__PURE__ */ import_react41.default.createElement(
5386
+ return /* @__PURE__ */ import_react43.default.createElement(import_joy53.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
5387
  Autocomplete,
5035
5388
  {
5036
5389
  value: autocompleteValue,
@@ -5047,6 +5400,7 @@ Autocomplete2.displayName = "Autocomplete";
5047
5400
  // src/components/FilterMenu/FilterMenu.tsx
5048
5401
  var componentMap = {
5049
5402
  "checkbox-group": CheckboxGroup,
5403
+ "filterable-checkbox-group": FilterableCheckboxGroup2,
5050
5404
  "radio-group": RadioGroup2,
5051
5405
  "date-range": DateRange,
5052
5406
  "currency-input": CurrencyInput3,
@@ -5063,7 +5417,7 @@ function FilterMenu(props) {
5063
5417
  void 0
5064
5418
  // onChange는 Apply 버튼에서만 호출
5065
5419
  );
5066
- const handleFilterChange = (0, import_react42.useCallback)(
5420
+ const handleFilterChange = (0, import_react44.useCallback)(
5067
5421
  (filterId, value) => {
5068
5422
  setInternalValues((prev) => ({
5069
5423
  ...prev,
@@ -5072,17 +5426,17 @@ function FilterMenu(props) {
5072
5426
  },
5073
5427
  [setInternalValues]
5074
5428
  );
5075
- const handleApply = (0, import_react42.useCallback)(() => {
5429
+ const handleApply = (0, import_react44.useCallback)(() => {
5076
5430
  onChange?.(internalValues);
5077
5431
  onClose?.();
5078
5432
  }, [onChange, onClose, internalValues]);
5079
- const handleClear = (0, import_react42.useCallback)(() => {
5433
+ const handleClear = (0, import_react44.useCallback)(() => {
5080
5434
  const clearedValues = resetValues || {};
5081
5435
  setInternalValues(clearedValues);
5082
5436
  onChange?.(clearedValues);
5083
5437
  onClose?.();
5084
5438
  }, [resetValues, setInternalValues, onChange, onClose]);
5085
- return /* @__PURE__ */ import_react42.default.createElement(
5439
+ return /* @__PURE__ */ import_react44.default.createElement(
5086
5440
  ModalDialog,
5087
5441
  {
5088
5442
  sx: {
@@ -5092,9 +5446,9 @@ function FilterMenu(props) {
5092
5446
  top: "initial"
5093
5447
  }
5094
5448
  },
5095
- /* @__PURE__ */ import_react42.default.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ import_react42.default.createElement(import_joy53.Stack, { spacing: 6 }, filters?.map((filter) => {
5449
+ /* @__PURE__ */ import_react44.default.createElement(DialogContent, { sx: { paddingTop: 5 } }, /* @__PURE__ */ import_react44.default.createElement(import_joy54.Stack, { spacing: 6 }, filters?.map((filter) => {
5096
5450
  const FilterComponent = componentMap[filter.type];
5097
- return FilterComponent ? /* @__PURE__ */ import_react42.default.createElement(
5451
+ return FilterComponent ? /* @__PURE__ */ import_react44.default.createElement(
5098
5452
  FilterComponent,
5099
5453
  {
5100
5454
  key: filter.id,
@@ -5106,14 +5460,14 @@ function FilterMenu(props) {
5106
5460
  }
5107
5461
  ) : null;
5108
5462
  }))),
5109
- /* @__PURE__ */ import_react42.default.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ import_react42.default.createElement(import_joy53.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), useReset && !useClear && /* @__PURE__ */ import_react42.default.createElement(import_joy53.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Reset"), /* @__PURE__ */ import_react42.default.createElement(import_joy53.Button, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
5463
+ /* @__PURE__ */ import_react44.default.createElement(DialogActions, { sx: { justifyContent: "space-between" } }, useClear && filters?.length === 1 && /* @__PURE__ */ import_react44.default.createElement(import_joy54.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Clear"), useReset && !useClear && /* @__PURE__ */ import_react44.default.createElement(import_joy54.Button, { variant: "plain", color: "neutral", size: "md", onClick: handleClear }, "Reset"), /* @__PURE__ */ import_react44.default.createElement(import_joy54.Button, { variant: "solid", color: "primary", size: "md", onClick: handleApply }, "Apply"))
5110
5464
  );
5111
5465
  }
5112
5466
  FilterMenu.displayName = "FilterMenu";
5113
5467
 
5114
5468
  // src/components/Uploader/Uploader.tsx
5115
- var import_react43 = __toESM(require("react"));
5116
- var import_joy54 = require("@mui/joy");
5469
+ var import_react45 = __toESM(require("react"));
5470
+ var import_joy55 = require("@mui/joy");
5117
5471
  var import_CloudUploadRounded = __toESM(require("@mui/icons-material/CloudUploadRounded"));
5118
5472
  var import_UploadFileRounded = __toESM(require("@mui/icons-material/UploadFileRounded"));
5119
5473
  var import_ClearRounded = __toESM(require("@mui/icons-material/ClearRounded"));
@@ -5135,7 +5489,7 @@ var esmFiles = {
5135
5489
  "@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js"
5136
5490
  )
5137
5491
  };
5138
- var VisuallyHiddenInput = (0, import_joy54.styled)(import_joy54.Input)({
5492
+ var VisuallyHiddenInput = (0, import_joy55.styled)(import_joy55.Input)({
5139
5493
  width: "1px",
5140
5494
  height: "1px",
5141
5495
  overflow: "hidden",
@@ -5144,18 +5498,18 @@ var VisuallyHiddenInput = (0, import_joy54.styled)(import_joy54.Input)({
5144
5498
  clipPath: "inset(50%)",
5145
5499
  position: "absolute"
5146
5500
  });
5147
- var PreviewRoot = (0, import_joy54.styled)(Stack_default, {
5501
+ var PreviewRoot = (0, import_joy55.styled)(Stack_default, {
5148
5502
  name: "Uploader",
5149
5503
  slot: "PreviewRoot"
5150
5504
  })({});
5151
- var UploadCard = (0, import_joy54.styled)(Card, {
5505
+ var UploadCard = (0, import_joy55.styled)(Card, {
5152
5506
  name: "Uploader",
5153
5507
  slot: "UploadCard"
5154
5508
  })(({ theme }) => ({
5155
5509
  padding: theme.spacing(2.5),
5156
5510
  border: `1px solid ${theme.palette.neutral.outlinedBorder}`
5157
5511
  }));
5158
- var UploadFileIcon = (0, import_joy54.styled)(import_UploadFileRounded.default, {
5512
+ var UploadFileIcon = (0, import_joy55.styled)(import_UploadFileRounded.default, {
5159
5513
  name: "Uploader",
5160
5514
  slot: "UploadFileIcon"
5161
5515
  })(({ theme }) => ({
@@ -5163,7 +5517,7 @@ var UploadFileIcon = (0, import_joy54.styled)(import_UploadFileRounded.default,
5163
5517
  width: "32px",
5164
5518
  height: "32px"
5165
5519
  }));
5166
- var ClearIcon2 = (0, import_joy54.styled)(import_ClearRounded.default, {
5520
+ var ClearIcon2 = (0, import_joy55.styled)(import_ClearRounded.default, {
5167
5521
  name: "Uploader",
5168
5522
  slot: "ClearIcon"
5169
5523
  })(({ theme }) => ({
@@ -5189,7 +5543,7 @@ var getFileSize = (n) => {
5189
5543
  };
5190
5544
  var Preview = (props) => {
5191
5545
  const { files, uploaded, onDelete } = props;
5192
- return /* @__PURE__ */ import_react43.default.createElement(PreviewRoot, { gap: 1 }, [...uploaded, ...files].map((file) => /* @__PURE__ */ import_react43.default.createElement(UploadCard, { key: file.name, size: "sm", color: "neutral" }, /* @__PURE__ */ import_react43.default.createElement(Stack_default, { direction: "row", alignItems: "center", gap: 2 }, /* @__PURE__ */ import_react43.default.createElement(UploadFileIcon, null), /* @__PURE__ */ import_react43.default.createElement(Stack_default, { flex: "1", sx: { overflow: "hidden" } }, /* @__PURE__ */ import_react43.default.createElement(
5546
+ 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
5547
  Typography_default,
5194
5548
  {
5195
5549
  level: "body-sm",
@@ -5201,15 +5555,15 @@ var Preview = (props) => {
5201
5555
  }
5202
5556
  },
5203
5557
  file.name
5204
- ), !!file.size && /* @__PURE__ */ import_react43.default.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ import_react43.default.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ import_react43.default.createElement(ClearIcon2, null))))));
5558
+ ), !!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
5559
  };
5206
- var UploaderRoot = (0, import_joy54.styled)(Stack_default, {
5560
+ var UploaderRoot = (0, import_joy55.styled)(Stack_default, {
5207
5561
  name: "Uploader",
5208
5562
  slot: "root"
5209
5563
  })(({ theme }) => ({
5210
5564
  gap: theme.spacing(2)
5211
5565
  }));
5212
- var FileDropZone = (0, import_joy54.styled)(Sheet_default, {
5566
+ var FileDropZone = (0, import_joy55.styled)(Sheet_default, {
5213
5567
  name: "Uploader",
5214
5568
  slot: "dropZone",
5215
5569
  shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
@@ -5230,7 +5584,7 @@ var FileDropZone = (0, import_joy54.styled)(Sheet_default, {
5230
5584
  }
5231
5585
  })
5232
5586
  );
5233
- var UploaderIcon = (0, import_joy54.styled)(import_CloudUploadRounded.default, {
5587
+ var UploaderIcon = (0, import_joy55.styled)(import_CloudUploadRounded.default, {
5234
5588
  name: "Uploader",
5235
5589
  slot: "iconContainer",
5236
5590
  shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
@@ -5244,7 +5598,7 @@ var UploaderIcon = (0, import_joy54.styled)(import_CloudUploadRounded.default, {
5244
5598
  }
5245
5599
  })
5246
5600
  );
5247
- var Uploader = import_react43.default.memo(
5601
+ var Uploader = import_react45.default.memo(
5248
5602
  (props) => {
5249
5603
  const {
5250
5604
  accept,
@@ -5261,14 +5615,14 @@ var Uploader = import_react43.default.memo(
5261
5615
  error: errorProp,
5262
5616
  helperText: helperTextProp
5263
5617
  } = props;
5264
- const dropZoneRef = (0, import_react43.useRef)(null);
5265
- const inputRef = (0, import_react43.useRef)(null);
5266
- const [errorText, setErrorText] = (0, import_react43.useState)();
5267
- const [files, setFiles] = (0, import_react43.useState)([]);
5268
- const [uploaded, setUploaded] = (0, import_react43.useState)(props.uploaded || []);
5269
- const [previewState, setPreviewState] = (0, import_react43.useState)("idle");
5270
- const accepts = (0, import_react43.useMemo)(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
5271
- const parsedAccepts = (0, import_react43.useMemo)(
5618
+ const dropZoneRef = (0, import_react45.useRef)(null);
5619
+ const inputRef = (0, import_react45.useRef)(null);
5620
+ const [errorText, setErrorText] = (0, import_react45.useState)();
5621
+ const [files, setFiles] = (0, import_react45.useState)([]);
5622
+ const [uploaded, setUploaded] = (0, import_react45.useState)(props.uploaded || []);
5623
+ const [previewState, setPreviewState] = (0, import_react45.useState)("idle");
5624
+ const accepts = (0, import_react45.useMemo)(() => accept.split(",").map((accept2) => accept2.trim()), [accept]);
5625
+ const parsedAccepts = (0, import_react45.useMemo)(
5272
5626
  () => accepts.flatMap((type) => {
5273
5627
  if (["image/*", "video/*", "audio/*"].includes(type)) {
5274
5628
  return ALL_EXTENSIONS_BY_TYPE[type];
@@ -5277,7 +5631,7 @@ var Uploader = import_react43.default.memo(
5277
5631
  }),
5278
5632
  [accepts]
5279
5633
  );
5280
- const helperText = (0, import_react43.useMemo)(() => {
5634
+ const helperText = (0, import_react45.useMemo)(() => {
5281
5635
  if (helperTextProp) {
5282
5636
  return helperTextProp;
5283
5637
  }
@@ -5307,12 +5661,12 @@ var Uploader = import_react43.default.memo(
5307
5661
  }
5308
5662
  return helperTexts.join(", ");
5309
5663
  }, [accepts, maxFileTotalSize, maxCount, helperTextProp]);
5310
- const error = (0, import_react43.useMemo)(() => !!errorText || errorProp, [errorProp, errorText]);
5311
- const showDropZone = (0, import_react43.useMemo)(
5664
+ const error = (0, import_react45.useMemo)(() => !!errorText || errorProp, [errorProp, errorText]);
5665
+ const showDropZone = (0, import_react45.useMemo)(
5312
5666
  () => !maxCount || maxCount && [...uploaded, ...files].length !== maxCount,
5313
5667
  [files, maxCount, uploaded]
5314
5668
  );
5315
- const addFiles = (0, import_react43.useCallback)(
5669
+ const addFiles = (0, import_react45.useCallback)(
5316
5670
  (uploads) => {
5317
5671
  try {
5318
5672
  const types = parsedAccepts.map((type) => type.replace(".", "")) || [];
@@ -5357,7 +5711,7 @@ var Uploader = import_react43.default.memo(
5357
5711
  },
5358
5712
  [files, uploaded, maxCount, parsedAccepts, maxFileSize, maxFileTotalSize, name, onChange]
5359
5713
  );
5360
- (0, import_react43.useEffect)(() => {
5714
+ (0, import_react45.useEffect)(() => {
5361
5715
  if (!dropZoneRef.current || disabled) {
5362
5716
  return;
5363
5717
  }
@@ -5395,7 +5749,7 @@ var Uploader = import_react43.default.memo(
5395
5749
  );
5396
5750
  return () => cleanup?.();
5397
5751
  }, [disabled, addFiles]);
5398
- (0, import_react43.useEffect)(() => {
5752
+ (0, import_react45.useEffect)(() => {
5399
5753
  if (inputRef.current && minCount) {
5400
5754
  if (files.length < minCount) {
5401
5755
  inputRef.current.setCustomValidity(`At least ${minCount} files are required.`);
@@ -5404,14 +5758,14 @@ var Uploader = import_react43.default.memo(
5404
5758
  }
5405
5759
  }
5406
5760
  }, [inputRef, files, minCount]);
5407
- const handleFileChanged = (0, import_react43.useCallback)(
5761
+ const handleFileChanged = (0, import_react45.useCallback)(
5408
5762
  (event) => {
5409
5763
  const files2 = Array.from(event.target.files || []);
5410
5764
  addFiles(files2);
5411
5765
  },
5412
5766
  [addFiles]
5413
5767
  );
5414
- const handleDeleteFile = (0, import_react43.useCallback)(
5768
+ const handleDeleteFile = (0, import_react45.useCallback)(
5415
5769
  (deletedFile) => {
5416
5770
  if (deletedFile instanceof File) {
5417
5771
  setFiles((current) => {
@@ -5431,10 +5785,10 @@ var Uploader = import_react43.default.memo(
5431
5785
  },
5432
5786
  [name, onChange, onDelete]
5433
5787
  );
5434
- const handleUploaderButtonClick = (0, import_react43.useCallback)(() => {
5788
+ const handleUploaderButtonClick = (0, import_react45.useCallback)(() => {
5435
5789
  inputRef.current?.click();
5436
5790
  }, []);
5437
- const uploader = /* @__PURE__ */ import_react43.default.createElement(
5791
+ const uploader = /* @__PURE__ */ import_react45.default.createElement(
5438
5792
  FileDropZone,
5439
5793
  {
5440
5794
  state: previewState,
@@ -5443,8 +5797,8 @@ var Uploader = import_react43.default.memo(
5443
5797
  ref: dropZoneRef,
5444
5798
  onClick: handleUploaderButtonClick
5445
5799
  },
5446
- /* @__PURE__ */ import_react43.default.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react43.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
5447
- /* @__PURE__ */ import_react43.default.createElement(
5800
+ /* @__PURE__ */ import_react45.default.createElement(Stack_default, { alignItems: "center", gap: 1 }, /* @__PURE__ */ import_react45.default.createElement(UploaderIcon, { state: previewState, error: !!(error || errorText), disabled })),
5801
+ /* @__PURE__ */ import_react45.default.createElement(
5448
5802
  VisuallyHiddenInput,
5449
5803
  {
5450
5804
  disabled,
@@ -5467,17 +5821,17 @@ var Uploader = import_react43.default.memo(
5467
5821
  }
5468
5822
  )
5469
5823
  );
5470
- return /* @__PURE__ */ import_react43.default.createElement(UploaderRoot, null, showDropZone && /* @__PURE__ */ import_react43.default.createElement(FormControl_default, { size, error: !!(error || errorText), disabled, required: !!minCount }, label && /* @__PURE__ */ import_react43.default.createElement(FormLabel_default, null, label), uploader, /* @__PURE__ */ import_react43.default.createElement(FormHelperText_default, null, /* @__PURE__ */ import_react43.default.createElement(Stack_default, null, errorText && /* @__PURE__ */ import_react43.default.createElement("div", null, errorText), /* @__PURE__ */ import_react43.default.createElement("div", null, helperText)))), [...uploaded, ...files].length > 0 && /* @__PURE__ */ import_react43.default.createElement(Preview, { files, uploaded, onDelete: handleDeleteFile }));
5824
+ 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
5825
  }
5472
5826
  );
5473
5827
  Uploader.displayName = "Uploader";
5474
5828
 
5475
5829
  // src/components/Grid/Grid.tsx
5476
- var import_joy55 = require("@mui/joy");
5830
+ var import_joy56 = require("@mui/joy");
5477
5831
 
5478
5832
  // src/components/IconMenuButton/IconMenuButton.tsx
5479
- var import_react44 = __toESM(require("react"));
5480
- var import_joy56 = require("@mui/joy");
5833
+ var import_react46 = __toESM(require("react"));
5834
+ var import_joy57 = require("@mui/joy");
5481
5835
  function IconMenuButton(props) {
5482
5836
  const {
5483
5837
  size,
@@ -5490,8 +5844,8 @@ function IconMenuButton(props) {
5490
5844
  placement = "bottom"
5491
5845
  } = props;
5492
5846
  if (!items.length) {
5493
- return /* @__PURE__ */ import_react44.default.createElement(
5494
- import_joy56.IconButton,
5847
+ return /* @__PURE__ */ import_react46.default.createElement(
5848
+ import_joy57.IconButton,
5495
5849
  {
5496
5850
  component: props.buttonComponent ?? "button",
5497
5851
  size,
@@ -5504,10 +5858,10 @@ function IconMenuButton(props) {
5504
5858
  icon
5505
5859
  );
5506
5860
  }
5507
- return /* @__PURE__ */ import_react44.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react44.default.createElement(
5508
- import_joy56.MenuButton,
5861
+ return /* @__PURE__ */ import_react46.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react46.default.createElement(
5862
+ import_joy57.MenuButton,
5509
5863
  {
5510
- slots: { root: import_joy56.IconButton },
5864
+ slots: { root: import_joy57.IconButton },
5511
5865
  slotProps: {
5512
5866
  root: {
5513
5867
  component: props.buttonComponent ?? "button",
@@ -5521,19 +5875,19 @@ function IconMenuButton(props) {
5521
5875
  }
5522
5876
  },
5523
5877
  icon
5524
- ), /* @__PURE__ */ import_react44.default.createElement(Menu, { placement, size }, items.map((i) => /* @__PURE__ */ import_react44.default.createElement(MenuItem, { key: i.text, component: i.component, ...i.componentProps ?? {} }, i.text))));
5878
+ ), /* @__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
5879
  }
5526
5880
  IconMenuButton.displayName = "IconMenuButton";
5527
5881
 
5528
5882
  // src/components/Markdown/Markdown.tsx
5529
- var import_react45 = __toESM(require("react"));
5530
- var import_joy57 = require("@mui/joy");
5883
+ var import_react47 = __toESM(require("react"));
5531
5884
  var import_joy58 = require("@mui/joy");
5885
+ var import_joy59 = require("@mui/joy");
5532
5886
  var import_remark_gfm = __toESM(require("remark-gfm"));
5533
- var LazyReactMarkdown = (0, import_react45.lazy)(() => import("react-markdown"));
5887
+ var LazyReactMarkdown = (0, import_react47.lazy)(() => import("react-markdown"));
5534
5888
  var Markdown = (props) => {
5535
- const [rehypeAccent2, setRehypeAccent] = (0, import_react45.useState)(null);
5536
- (0, import_react45.useEffect)(() => {
5889
+ const [rehypeAccent2, setRehypeAccent] = (0, import_react47.useState)(null);
5890
+ (0, import_react47.useEffect)(() => {
5537
5891
  const loadRehypeAccent = async () => {
5538
5892
  const module2 = await Promise.resolve().then(() => (init_rehype_accent(), rehype_accent_exports));
5539
5893
  setRehypeAccent(() => module2.rehypeAccent);
@@ -5555,12 +5909,12 @@ var Markdown = (props) => {
5555
5909
  if (!rehypeAccent2) {
5556
5910
  return null;
5557
5911
  }
5558
- return /* @__PURE__ */ import_react45.default.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ import_react45.default.createElement(
5559
- import_react45.Suspense,
5912
+ return /* @__PURE__ */ import_react47.default.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ import_react47.default.createElement(
5913
+ import_react47.Suspense,
5560
5914
  {
5561
- fallback: fallback || /* @__PURE__ */ import_react45.default.createElement(Typography, null, /* @__PURE__ */ import_react45.default.createElement(import_joy57.Skeleton, null, content || ""))
5915
+ fallback: fallback || /* @__PURE__ */ import_react47.default.createElement(Typography, null, /* @__PURE__ */ import_react47.default.createElement(import_joy58.Skeleton, null, content || ""))
5562
5916
  },
5563
- /* @__PURE__ */ import_react45.default.createElement(
5917
+ /* @__PURE__ */ import_react47.default.createElement(
5564
5918
  LazyReactMarkdown,
5565
5919
  {
5566
5920
  ...markdownOptions,
@@ -5568,15 +5922,15 @@ var Markdown = (props) => {
5568
5922
  rehypePlugins: [[rehypeAccent2, { accentColor }]],
5569
5923
  remarkPlugins: [import_remark_gfm.default],
5570
5924
  components: {
5571
- h1: ({ children }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { color, textColor, level: "h1" }, children),
5572
- h2: ({ children }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { color, textColor, level: "h2" }, children),
5573
- h3: ({ children }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { color, textColor, level: "h3" }, children),
5574
- h4: ({ children }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { color, textColor, level: "h4" }, children),
5575
- p: ({ children, node }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { color, textColor, level: defaultLevel, ...node?.properties }, children),
5576
- a: ({ children, href }) => /* @__PURE__ */ import_react45.default.createElement(import_joy58.Link, { href, target: defaultLinkAction }, children),
5577
- hr: () => /* @__PURE__ */ import_react45.default.createElement(Divider, null),
5578
- b: ({ children }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
5579
- strong: ({ children }) => /* @__PURE__ */ import_react45.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
5925
+ h1: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h1" }, children),
5926
+ h2: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h2" }, children),
5927
+ h3: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h3" }, children),
5928
+ h4: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: "h4" }, children),
5929
+ p: ({ children, node }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { color, textColor, level: defaultLevel, ...node?.properties }, children),
5930
+ a: ({ children, href }) => /* @__PURE__ */ import_react47.default.createElement(import_joy59.Link, { href, target: defaultLinkAction }, children),
5931
+ hr: () => /* @__PURE__ */ import_react47.default.createElement(Divider, null),
5932
+ b: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
5933
+ strong: ({ children }) => /* @__PURE__ */ import_react47.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
5580
5934
  ...markdownOptions?.components
5581
5935
  }
5582
5936
  }
@@ -5586,8 +5940,8 @@ var Markdown = (props) => {
5586
5940
  Markdown.displayName = "Markdown";
5587
5941
 
5588
5942
  // src/components/MenuButton/MenuButton.tsx
5589
- var import_react46 = __toESM(require("react"));
5590
- var import_joy59 = require("@mui/joy");
5943
+ var import_react48 = __toESM(require("react"));
5944
+ var import_joy60 = require("@mui/joy");
5591
5945
  var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
5592
5946
  function MenuButton(props) {
5593
5947
  const {
@@ -5604,8 +5958,8 @@ function MenuButton(props) {
5604
5958
  placement = "bottom"
5605
5959
  } = props;
5606
5960
  if (!items.length) {
5607
- return /* @__PURE__ */ import_react46.default.createElement(
5608
- import_joy59.Button,
5961
+ return /* @__PURE__ */ import_react48.default.createElement(
5962
+ import_joy60.Button,
5609
5963
  {
5610
5964
  component: props.buttonComponent ?? "button",
5611
5965
  size,
@@ -5615,13 +5969,13 @@ function MenuButton(props) {
5615
5969
  loading,
5616
5970
  startDecorator,
5617
5971
  ...props.buttonComponentProps ?? {},
5618
- endDecorator: showIcon ? /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react46.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, endDecorator)
5972
+ 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
5973
  },
5620
5974
  buttonText
5621
5975
  );
5622
5976
  }
5623
- return /* @__PURE__ */ import_react46.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react46.default.createElement(
5624
- import_joy59.MenuButton,
5977
+ return /* @__PURE__ */ import_react48.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react48.default.createElement(
5978
+ import_joy60.MenuButton,
5625
5979
  {
5626
5980
  component: props.buttonComponent ?? "button",
5627
5981
  size,
@@ -5631,25 +5985,25 @@ function MenuButton(props) {
5631
5985
  loading,
5632
5986
  startDecorator,
5633
5987
  ...props.buttonComponentProps ?? {},
5634
- endDecorator: showIcon ? /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, endDecorator, /* @__PURE__ */ import_react46.default.createElement(import_ExpandMore.default, null)) : /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, endDecorator)
5988
+ 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
5989
  },
5636
5990
  buttonText
5637
- ), /* @__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))));
5991
+ ), /* @__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
5992
  }
5639
5993
  MenuButton.displayName = "MenuButton";
5640
5994
 
5641
5995
  // src/components/MonthPicker/MonthPicker.tsx
5642
- var import_react47 = __toESM(require("react"));
5996
+ var import_react49 = __toESM(require("react"));
5643
5997
  var import_CalendarToday3 = __toESM(require("@mui/icons-material/CalendarToday"));
5644
- var import_joy60 = require("@mui/joy");
5998
+ var import_joy61 = require("@mui/joy");
5645
5999
  var import_base4 = require("@mui/base");
5646
- var StyledPopper3 = (0, import_joy60.styled)(import_base4.Popper, {
6000
+ var StyledPopper3 = (0, import_joy61.styled)(import_base4.Popper, {
5647
6001
  name: "MonthPicker",
5648
6002
  slot: "popper"
5649
6003
  })(({ theme }) => ({
5650
6004
  zIndex: theme.zIndex.tooltip
5651
6005
  }));
5652
- var CalendarSheet3 = (0, import_joy60.styled)(Sheet_default, {
6006
+ var CalendarSheet3 = (0, import_joy61.styled)(Sheet_default, {
5653
6007
  name: "MonthPicker",
5654
6008
  slot: "sheet",
5655
6009
  overridesResolver: (props, styles) => styles.root
@@ -5658,7 +6012,7 @@ var CalendarSheet3 = (0, import_joy60.styled)(Sheet_default, {
5658
6012
  boxShadow: theme.shadow.md,
5659
6013
  borderRadius: theme.radius.md
5660
6014
  }));
5661
- var MonthPickerRoot = (0, import_joy60.styled)("div", {
6015
+ var MonthPickerRoot = (0, import_joy61.styled)("div", {
5662
6016
  name: "MonthPicker",
5663
6017
  slot: "root",
5664
6018
  overridesResolver: (props, styles) => styles.root
@@ -5694,8 +6048,8 @@ function parseDate3(dateString, format) {
5694
6048
  const result = new Date(year, month, day);
5695
6049
  return result;
5696
6050
  }
5697
- var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5698
- const props = (0, import_joy60.useThemeProps)({ props: inProps, name: "MonthPicker" });
6051
+ var MonthPicker = (0, import_react49.forwardRef)((inProps, ref) => {
6052
+ const props = (0, import_joy61.useThemeProps)({ props: inProps, name: "MonthPicker" });
5699
6053
  const {
5700
6054
  onChange,
5701
6055
  disabled,
@@ -5721,14 +6075,14 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5721
6075
  locale,
5722
6076
  ...innerProps
5723
6077
  } = props;
5724
- const innerRef = (0, import_react47.useRef)(null);
5725
- const buttonRef = (0, import_react47.useRef)(null);
6078
+ const innerRef = (0, import_react49.useRef)(null);
6079
+ const buttonRef = (0, import_react49.useRef)(null);
5726
6080
  const [value, setValue, isControlled] = useControlledState(
5727
6081
  props.value,
5728
6082
  props.defaultValue || "",
5729
- (0, import_react47.useCallback)((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6083
+ (0, import_react49.useCallback)((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
5730
6084
  );
5731
- const getFormattedDisplayValue = (0, import_react47.useCallback)(
6085
+ const getFormattedDisplayValue = (0, import_react49.useCallback)(
5732
6086
  (inputValue) => {
5733
6087
  if (!inputValue) return "";
5734
6088
  try {
@@ -5739,19 +6093,19 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5739
6093
  },
5740
6094
  [format, displayFormat, locale]
5741
6095
  );
5742
- const [displayValue, setDisplayValue] = (0, import_react47.useState)(() => getFormattedDisplayValue(value));
5743
- const [anchorEl, setAnchorEl] = (0, import_react47.useState)(null);
6096
+ const [displayValue, setDisplayValue] = (0, import_react49.useState)(() => getFormattedDisplayValue(value));
6097
+ const [anchorEl, setAnchorEl] = (0, import_react49.useState)(null);
5744
6098
  const open = Boolean(anchorEl);
5745
- (0, import_react47.useEffect)(() => {
6099
+ (0, import_react49.useEffect)(() => {
5746
6100
  if (!anchorEl) {
5747
6101
  innerRef.current?.blur();
5748
6102
  }
5749
6103
  }, [anchorEl, innerRef]);
5750
- (0, import_react47.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
5751
- (0, import_react47.useEffect)(() => {
6104
+ (0, import_react49.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6105
+ (0, import_react49.useEffect)(() => {
5752
6106
  setDisplayValue(getFormattedDisplayValue(value));
5753
6107
  }, [value, getFormattedDisplayValue]);
5754
- const handleChange = (0, import_react47.useCallback)(
6108
+ const handleChange = (0, import_react49.useCallback)(
5755
6109
  (event) => {
5756
6110
  const newValue = event.target.value;
5757
6111
  setValue(newValue);
@@ -5761,21 +6115,21 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5761
6115
  },
5762
6116
  [setValue, getFormattedDisplayValue, isControlled]
5763
6117
  );
5764
- const handleCalendarToggle = (0, import_react47.useCallback)(
6118
+ const handleCalendarToggle = (0, import_react49.useCallback)(
5765
6119
  (event) => {
5766
6120
  setAnchorEl(anchorEl ? null : event.currentTarget);
5767
6121
  innerRef.current?.focus();
5768
6122
  },
5769
6123
  [anchorEl, setAnchorEl, innerRef]
5770
6124
  );
5771
- const handleInputMouseDown = (0, import_react47.useCallback)(
6125
+ const handleInputMouseDown = (0, import_react49.useCallback)(
5772
6126
  (event) => {
5773
6127
  event.preventDefault();
5774
6128
  buttonRef.current?.focus();
5775
6129
  },
5776
6130
  [buttonRef]
5777
6131
  );
5778
- return /* @__PURE__ */ import_react47.default.createElement(MonthPickerRoot, null, /* @__PURE__ */ import_react47.default.createElement(import_base4.FocusTrap, { open: true }, /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement(
6132
+ 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
6133
  Input_default,
5780
6134
  {
5781
6135
  ...innerProps,
@@ -5805,7 +6159,7 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5805
6159
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5806
6160
  fontFamily: "monospace"
5807
6161
  },
5808
- endDecorator: /* @__PURE__ */ import_react47.default.createElement(
6162
+ endDecorator: /* @__PURE__ */ import_react49.default.createElement(
5809
6163
  IconButton_default,
5810
6164
  {
5811
6165
  ref: buttonRef,
@@ -5817,12 +6171,12 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5817
6171
  "aria-expanded": open,
5818
6172
  disabled
5819
6173
  },
5820
- /* @__PURE__ */ import_react47.default.createElement(import_CalendarToday3.default, null)
6174
+ /* @__PURE__ */ import_react49.default.createElement(import_CalendarToday3.default, null)
5821
6175
  ),
5822
6176
  label,
5823
6177
  helperText
5824
6178
  }
5825
- ), open && /* @__PURE__ */ import_react47.default.createElement(import_base4.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react47.default.createElement(
6179
+ ), open && /* @__PURE__ */ import_react49.default.createElement(import_base4.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react49.default.createElement(
5826
6180
  StyledPopper3,
5827
6181
  {
5828
6182
  id: "month-picker-popper",
@@ -5841,7 +6195,7 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5841
6195
  "aria-label": "Calendar Tooltip",
5842
6196
  "aria-expanded": open
5843
6197
  },
5844
- /* @__PURE__ */ import_react47.default.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react47.default.createElement(
6198
+ /* @__PURE__ */ import_react49.default.createElement(CalendarSheet3, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react49.default.createElement(
5845
6199
  Calendar_default,
5846
6200
  {
5847
6201
  view: "month",
@@ -5862,14 +6216,14 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5862
6216
  disablePast,
5863
6217
  locale
5864
6218
  }
5865
- ), /* @__PURE__ */ import_react47.default.createElement(
6219
+ ), /* @__PURE__ */ import_react49.default.createElement(
5866
6220
  DialogActions_default,
5867
6221
  {
5868
6222
  sx: {
5869
6223
  p: 1
5870
6224
  }
5871
6225
  },
5872
- /* @__PURE__ */ import_react47.default.createElement(
6226
+ /* @__PURE__ */ import_react49.default.createElement(
5873
6227
  Button_default,
5874
6228
  {
5875
6229
  size,
@@ -5892,18 +6246,18 @@ var MonthPicker = (0, import_react47.forwardRef)((inProps, ref) => {
5892
6246
  });
5893
6247
 
5894
6248
  // src/components/MonthRangePicker/MonthRangePicker.tsx
5895
- var import_react48 = __toESM(require("react"));
6249
+ var import_react50 = __toESM(require("react"));
5896
6250
  var import_react_imask3 = require("react-imask");
5897
6251
  var import_CalendarToday4 = __toESM(require("@mui/icons-material/CalendarToday"));
5898
- var import_joy61 = require("@mui/joy");
6252
+ var import_joy62 = require("@mui/joy");
5899
6253
  var import_base5 = require("@mui/base");
5900
- var StyledPopper4 = (0, import_joy61.styled)(import_base5.Popper, {
6254
+ var StyledPopper4 = (0, import_joy62.styled)(import_base5.Popper, {
5901
6255
  name: "MonthRangePicker",
5902
6256
  slot: "popper"
5903
6257
  })(({ theme }) => ({
5904
6258
  zIndex: theme.zIndex.tooltip
5905
6259
  }));
5906
- var CalendarSheet4 = (0, import_joy61.styled)(Sheet_default, {
6260
+ var CalendarSheet4 = (0, import_joy62.styled)(Sheet_default, {
5907
6261
  name: "MonthRangePicker",
5908
6262
  slot: "sheet",
5909
6263
  overridesResolver: (props, styles) => styles.root
@@ -5913,7 +6267,7 @@ var CalendarSheet4 = (0, import_joy61.styled)(Sheet_default, {
5913
6267
  boxShadow: theme.shadow.md,
5914
6268
  borderRadius: theme.radius.md
5915
6269
  }));
5916
- var MonthRangePickerRoot = (0, import_joy61.styled)("div", {
6270
+ var MonthRangePickerRoot = (0, import_joy62.styled)("div", {
5917
6271
  name: "MonthRangePicker",
5918
6272
  slot: "root",
5919
6273
  overridesResolver: (props, styles) => styles.root
@@ -5950,9 +6304,9 @@ var parseDates2 = (str) => {
5950
6304
  var formatToPattern3 = (format) => {
5951
6305
  return `${format} - ${format}`.replace(/YYYY/g, "Y").replace(/MM/g, "m").replace(/[^YMm\s]/g, (match) => `${match}\``);
5952
6306
  };
5953
- var TextMaskAdapter9 = import_react48.default.forwardRef(function TextMaskAdapter10(props, ref) {
6307
+ var TextMaskAdapter9 = import_react50.default.forwardRef(function TextMaskAdapter10(props, ref) {
5954
6308
  const { onChange, format, ...other } = props;
5955
- return /* @__PURE__ */ import_react48.default.createElement(
6309
+ return /* @__PURE__ */ import_react50.default.createElement(
5956
6310
  import_react_imask3.IMaskInput,
5957
6311
  {
5958
6312
  ...other,
@@ -5980,8 +6334,8 @@ var TextMaskAdapter9 = import_react48.default.forwardRef(function TextMaskAdapte
5980
6334
  }
5981
6335
  );
5982
6336
  });
5983
- var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
5984
- const props = (0, import_joy61.useThemeProps)({ props: inProps, name: "MonthRangePicker" });
6337
+ var MonthRangePicker = (0, import_react50.forwardRef)((inProps, ref) => {
6338
+ const props = (0, import_joy62.useThemeProps)({ props: inProps, name: "MonthRangePicker" });
5985
6339
  const {
5986
6340
  onChange,
5987
6341
  disabled,
@@ -6000,35 +6354,35 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6000
6354
  size,
6001
6355
  ...innerProps
6002
6356
  } = props;
6003
- const innerRef = (0, import_react48.useRef)(null);
6357
+ const innerRef = (0, import_react50.useRef)(null);
6004
6358
  const [value, setValue] = useControlledState(
6005
6359
  props.value,
6006
6360
  props.defaultValue || "",
6007
- (0, import_react48.useCallback)((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6361
+ (0, import_react50.useCallback)((value2) => onChange?.({ target: { name: props.name, value: value2 } }), [props.name, onChange])
6008
6362
  );
6009
- const [anchorEl, setAnchorEl] = (0, import_react48.useState)(null);
6363
+ const [anchorEl, setAnchorEl] = (0, import_react50.useState)(null);
6010
6364
  const open = Boolean(anchorEl);
6011
- const calendarValue = (0, import_react48.useMemo)(() => value ? parseDates2(value) : void 0, [value]);
6012
- (0, import_react48.useEffect)(() => {
6365
+ const calendarValue = (0, import_react50.useMemo)(() => value ? parseDates2(value) : void 0, [value]);
6366
+ (0, import_react50.useEffect)(() => {
6013
6367
  if (!anchorEl) {
6014
6368
  innerRef.current?.blur();
6015
6369
  }
6016
6370
  }, [anchorEl, innerRef]);
6017
- (0, import_react48.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6018
- const handleChange = (0, import_react48.useCallback)(
6371
+ (0, import_react50.useImperativeHandle)(ref, () => innerRef.current, [innerRef]);
6372
+ const handleChange = (0, import_react50.useCallback)(
6019
6373
  (event) => {
6020
6374
  setValue(event.target.value);
6021
6375
  },
6022
6376
  [setValue]
6023
6377
  );
6024
- const handleCalendarToggle = (0, import_react48.useCallback)(
6378
+ const handleCalendarToggle = (0, import_react50.useCallback)(
6025
6379
  (event) => {
6026
6380
  setAnchorEl(anchorEl ? null : event.currentTarget);
6027
6381
  innerRef.current?.focus();
6028
6382
  },
6029
6383
  [anchorEl, setAnchorEl, innerRef]
6030
6384
  );
6031
- const handleCalendarChange = (0, import_react48.useCallback)(
6385
+ const handleCalendarChange = (0, import_react50.useCallback)(
6032
6386
  ([date1, date2]) => {
6033
6387
  if (!date1 || !date2) return;
6034
6388
  setValue(formatValueString4([date1, date2], format));
@@ -6036,7 +6390,7 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6036
6390
  },
6037
6391
  [setValue, setAnchorEl, format]
6038
6392
  );
6039
- return /* @__PURE__ */ import_react48.default.createElement(MonthRangePickerRoot, null, /* @__PURE__ */ import_react48.default.createElement(import_base5.FocusTrap, { open: true }, /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(
6393
+ 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
6394
  Input_default,
6041
6395
  {
6042
6396
  ...innerProps,
@@ -6058,7 +6412,7 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6058
6412
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6059
6413
  fontFamily: "monospace"
6060
6414
  },
6061
- endDecorator: /* @__PURE__ */ import_react48.default.createElement(
6415
+ endDecorator: /* @__PURE__ */ import_react50.default.createElement(
6062
6416
  IconButton_default,
6063
6417
  {
6064
6418
  variant: "plain",
@@ -6068,12 +6422,12 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6068
6422
  "aria-haspopup": "dialog",
6069
6423
  "aria-expanded": open
6070
6424
  },
6071
- /* @__PURE__ */ import_react48.default.createElement(import_CalendarToday4.default, null)
6425
+ /* @__PURE__ */ import_react50.default.createElement(import_CalendarToday4.default, null)
6072
6426
  ),
6073
6427
  label,
6074
6428
  helperText
6075
6429
  }
6076
- ), open && /* @__PURE__ */ import_react48.default.createElement(import_base5.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react48.default.createElement(
6430
+ ), open && /* @__PURE__ */ import_react50.default.createElement(import_base5.ClickAwayListener, { onClickAway: () => setAnchorEl(null) }, /* @__PURE__ */ import_react50.default.createElement(
6077
6431
  StyledPopper4,
6078
6432
  {
6079
6433
  id: "month-range-picker-popper",
@@ -6092,7 +6446,7 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6092
6446
  "aria-label": "Calendar Tooltip",
6093
6447
  "aria-expanded": open
6094
6448
  },
6095
- /* @__PURE__ */ import_react48.default.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react48.default.createElement(
6449
+ /* @__PURE__ */ import_react50.default.createElement(CalendarSheet4, { tabIndex: -1, role: "presentation" }, /* @__PURE__ */ import_react50.default.createElement(
6096
6450
  Calendar_default,
6097
6451
  {
6098
6452
  view: "month",
@@ -6105,14 +6459,14 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6105
6459
  disableFuture,
6106
6460
  disablePast
6107
6461
  }
6108
- ), /* @__PURE__ */ import_react48.default.createElement(
6462
+ ), /* @__PURE__ */ import_react50.default.createElement(
6109
6463
  DialogActions_default,
6110
6464
  {
6111
6465
  sx: {
6112
6466
  p: 1
6113
6467
  }
6114
6468
  },
6115
- /* @__PURE__ */ import_react48.default.createElement(
6469
+ /* @__PURE__ */ import_react50.default.createElement(
6116
6470
  Button_default,
6117
6471
  {
6118
6472
  size,
@@ -6131,22 +6485,22 @@ var MonthRangePicker = (0, import_react48.forwardRef)((inProps, ref) => {
6131
6485
  MonthRangePicker.displayName = "MonthRangePicker";
6132
6486
 
6133
6487
  // src/components/NavigationGroup/NavigationGroup.tsx
6134
- var import_react49 = __toESM(require("react"));
6135
- var import_joy62 = require("@mui/joy");
6136
- var AccordionSummary2 = (0, import_joy62.styled)(import_joy62.AccordionSummary, {
6488
+ var import_react51 = __toESM(require("react"));
6489
+ var import_joy63 = require("@mui/joy");
6490
+ var AccordionSummary2 = (0, import_joy63.styled)(import_joy63.AccordionSummary, {
6137
6491
  name: "NavigationGroup",
6138
6492
  slot: "Summary",
6139
6493
  shouldForwardProp: (prop) => prop !== "useIcon" && prop !== "level"
6140
6494
  })(({ theme, useIcon, level }) => ({
6141
- [`& .${import_joy62.accordionSummaryClasses.button}`]: {
6495
+ [`& .${import_joy63.accordionSummaryClasses.button}`]: {
6142
6496
  padding: theme.spacing(4, 6, 4, (useIcon ? 6 : 8) + (level || 0) * 8),
6143
- [`&.${import_joy62.accordionSummaryClasses.expanded}`]: {
6497
+ [`&.${import_joy63.accordionSummaryClasses.expanded}`]: {
6144
6498
  color: theme.palette.primary.plainColor,
6145
6499
  "--Icon-color": theme.palette.primary.plainColor
6146
6500
  }
6147
6501
  }
6148
6502
  }));
6149
- var AccordionDetails2 = (0, import_joy62.styled)(import_joy62.AccordionDetails, {
6503
+ var AccordionDetails2 = (0, import_joy63.styled)(import_joy63.AccordionDetails, {
6150
6504
  name: "NavigationGroup",
6151
6505
  slot: "Details"
6152
6506
  })(({ theme }) => ({
@@ -6155,13 +6509,13 @@ var AccordionDetails2 = (0, import_joy62.styled)(import_joy62.AccordionDetails,
6155
6509
  }));
6156
6510
  function NavigationGroup(props) {
6157
6511
  const { title, children, startDecorator, level, ...rest } = props;
6158
- return /* @__PURE__ */ import_react49.default.createElement(import_joy62.Accordion, { ...rest }, /* @__PURE__ */ import_react49.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react49.default.createElement(import_joy62.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react49.default.createElement(AccordionDetails2, null, children));
6512
+ return /* @__PURE__ */ import_react51.default.createElement(import_joy63.Accordion, { ...rest }, /* @__PURE__ */ import_react51.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react51.default.createElement(import_joy63.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react51.default.createElement(AccordionDetails2, null, children));
6159
6513
  }
6160
6514
 
6161
6515
  // src/components/NavigationItem/NavigationItem.tsx
6162
- var import_react50 = __toESM(require("react"));
6163
- var import_joy63 = require("@mui/joy");
6164
- var ListItemButton = (0, import_joy63.styled)(import_joy63.ListItemButton, {
6516
+ var import_react52 = __toESM(require("react"));
6517
+ var import_joy64 = require("@mui/joy");
6518
+ var ListItemButton = (0, import_joy64.styled)(import_joy64.ListItemButton, {
6165
6519
  name: "NavigationItem",
6166
6520
  slot: "Button",
6167
6521
  shouldForwardProp: (prop) => prop !== "useIcon" && prop !== "level"
@@ -6175,7 +6529,7 @@ var ListItemButton = (0, import_joy63.styled)(import_joy63.ListItemButton, {
6175
6529
  "&:active": {
6176
6530
  backgroundColor: theme.palette.neutral.plainActiveBg
6177
6531
  },
6178
- [`&.${import_joy63.listItemButtonClasses.selected}`]: {
6532
+ [`&.${import_joy64.listItemButtonClasses.selected}`]: {
6179
6533
  color: theme.palette.primary.plainColor,
6180
6534
  "--Icon-color": theme.palette.primary.plainColor,
6181
6535
  "&:not(:hover):not(:active)": {
@@ -6188,7 +6542,7 @@ function NavigationItem(props) {
6188
6542
  const handleClick = () => {
6189
6543
  onClick?.(id);
6190
6544
  };
6191
- return /* @__PURE__ */ import_react50.default.createElement(import_joy63.ListItem, { ...rest }, /* @__PURE__ */ import_react50.default.createElement(
6545
+ return /* @__PURE__ */ import_react52.default.createElement(import_joy64.ListItem, { ...rest }, /* @__PURE__ */ import_react52.default.createElement(
6192
6546
  ListItemButton,
6193
6547
  {
6194
6548
  level,
@@ -6197,21 +6551,21 @@ function NavigationItem(props) {
6197
6551
  "aria-current": selected,
6198
6552
  onClick: handleClick
6199
6553
  },
6200
- startDecorator && /* @__PURE__ */ import_react50.default.createElement(import_joy63.ListItemDecorator, null, startDecorator),
6554
+ startDecorator && /* @__PURE__ */ import_react52.default.createElement(import_joy64.ListItemDecorator, null, startDecorator),
6201
6555
  children
6202
6556
  ));
6203
6557
  }
6204
6558
 
6205
6559
  // src/components/Navigator/Navigator.tsx
6206
- var import_react51 = __toESM(require("react"));
6560
+ var import_react53 = __toESM(require("react"));
6207
6561
  function Navigator(props) {
6208
6562
  const { items, level = 0, onSelect } = props;
6209
6563
  const handleItemClick = (id) => {
6210
6564
  onSelect?.(id);
6211
6565
  };
6212
- return /* @__PURE__ */ import_react51.default.createElement("div", null, items.map((item, index) => {
6566
+ return /* @__PURE__ */ import_react53.default.createElement("div", null, items.map((item, index) => {
6213
6567
  if (item.type === "item") {
6214
- return /* @__PURE__ */ import_react51.default.createElement(
6568
+ return /* @__PURE__ */ import_react53.default.createElement(
6215
6569
  NavigationItem,
6216
6570
  {
6217
6571
  key: item.id,
@@ -6224,7 +6578,7 @@ function Navigator(props) {
6224
6578
  item.title
6225
6579
  );
6226
6580
  } else if (item.type === "group") {
6227
- return /* @__PURE__ */ import_react51.default.createElement(
6581
+ return /* @__PURE__ */ import_react53.default.createElement(
6228
6582
  NavigationGroup,
6229
6583
  {
6230
6584
  key: `${item.title}-${index}`,
@@ -6242,22 +6596,22 @@ function Navigator(props) {
6242
6596
  Navigator.displayName = "Navigator";
6243
6597
 
6244
6598
  // src/components/ProfileMenu/ProfileMenu.tsx
6245
- var import_react52 = __toESM(require("react"));
6246
- var import_joy64 = require("@mui/joy");
6599
+ var import_react54 = __toESM(require("react"));
6600
+ var import_joy65 = require("@mui/joy");
6247
6601
  var import_base6 = require("@mui/base");
6248
6602
  var import_ArrowDropDown = __toESM(require("@mui/icons-material/ArrowDropDown"));
6249
- var StyledProfileCard = (0, import_joy64.styled)(import_joy3.Stack, {
6603
+ var StyledProfileCard = (0, import_joy65.styled)(import_joy3.Stack, {
6250
6604
  name: "ProfileMenu",
6251
6605
  slot: "item"
6252
6606
  })({});
6253
6607
  function ProfileCard(props) {
6254
6608
  const { children, chip, caption, size } = props;
6255
- const captionLevel = (0, import_react52.useMemo)(() => size === "sm" ? "body-xs" : "body-sm", [size]);
6256
- const nameLevel = (0, import_react52.useMemo)(() => size === "sm" ? "body-sm" : "body-md", [size]);
6257
- return /* @__PURE__ */ import_react52.default.createElement(StyledProfileCard, { px: 4, py: 2 }, /* @__PURE__ */ import_react52.default.createElement(import_joy3.Stack, { direction: "row", gap: 2 }, /* @__PURE__ */ import_react52.default.createElement(Typography, { level: nameLevel, fontWeight: "bold", textColor: "text.primary" }, children), chip && /* @__PURE__ */ import_react52.default.createElement(Chip, { size, color: "neutral", variant: "outlined" }, chip)), caption && /* @__PURE__ */ import_react52.default.createElement(Typography, { level: captionLevel, textColor: "text.tertiary" }, caption));
6609
+ const captionLevel = (0, import_react54.useMemo)(() => size === "sm" ? "body-xs" : "body-sm", [size]);
6610
+ const nameLevel = (0, import_react54.useMemo)(() => size === "sm" ? "body-sm" : "body-md", [size]);
6611
+ 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
6612
  }
6259
6613
  ProfileCard.displayName = "ProfileCard";
6260
- var StyledProfileMenuButton = (0, import_joy64.styled)(import_joy64.MenuButton, {
6614
+ var StyledProfileMenuButton = (0, import_joy65.styled)(import_joy65.MenuButton, {
6261
6615
  name: "ProfileMenu",
6262
6616
  slot: "button"
6263
6617
  })(({ theme }) => ({
@@ -6266,26 +6620,26 @@ var StyledProfileMenuButton = (0, import_joy64.styled)(import_joy64.MenuButton,
6266
6620
  }));
6267
6621
  function ProfileMenuButton(props) {
6268
6622
  const { size = "md", src, alt, children, getInitial, ...innerProps } = props;
6269
- return /* @__PURE__ */ import_react52.default.createElement(
6623
+ return /* @__PURE__ */ import_react54.default.createElement(
6270
6624
  StyledProfileMenuButton,
6271
6625
  {
6272
6626
  variant: "plain",
6273
6627
  color: "neutral",
6274
6628
  size,
6275
- endDecorator: /* @__PURE__ */ import_react52.default.createElement(import_ArrowDropDown.default, null),
6629
+ endDecorator: /* @__PURE__ */ import_react54.default.createElement(import_ArrowDropDown.default, null),
6276
6630
  ...innerProps
6277
6631
  },
6278
- /* @__PURE__ */ import_react52.default.createElement(Avatar, { variant: "soft", color: "primary", size, src, alt, getInitial }, children)
6632
+ /* @__PURE__ */ import_react54.default.createElement(Avatar, { variant: "soft", color: "primary", size, src, alt, getInitial }, children)
6279
6633
  );
6280
6634
  }
6281
6635
  ProfileMenuButton.displayName = "ProfileMenuButton";
6282
- var ProfileMenuRoot = (0, import_joy64.styled)(Menu, {
6636
+ var ProfileMenuRoot = (0, import_joy65.styled)(Menu, {
6283
6637
  name: "ProfileMenu",
6284
6638
  slot: "root"
6285
6639
  })(({ theme }) => ({
6286
6640
  border: "none",
6287
6641
  "--ListItem-paddingX": theme.spacing(4),
6288
- [`.${import_joy64.menuItemClasses.root}`]: {
6642
+ [`.${import_joy65.menuItemClasses.root}`]: {
6289
6643
  border: "none"
6290
6644
  }
6291
6645
  }));
@@ -6294,9 +6648,9 @@ function ProfileMenu(props) {
6294
6648
  const [open, setOpen] = useControlledState(
6295
6649
  _open,
6296
6650
  defaultOpen ?? false,
6297
- (0, import_react52.useCallback)((value) => onOpenChange?.(value), [onOpenChange])
6651
+ (0, import_react54.useCallback)((value) => onOpenChange?.(value), [onOpenChange])
6298
6652
  );
6299
- return /* @__PURE__ */ import_react52.default.createElement(import_base6.ClickAwayListener, { onClickAway: () => setOpen(false) }, /* @__PURE__ */ import_react52.default.createElement("div", null, /* @__PURE__ */ import_react52.default.createElement(import_joy64.Dropdown, { open }, /* @__PURE__ */ import_react52.default.createElement(
6653
+ 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_joy65.Dropdown, { open }, /* @__PURE__ */ import_react54.default.createElement(
6300
6654
  ProfileMenuButton,
6301
6655
  {
6302
6656
  size,
@@ -6306,7 +6660,7 @@ function ProfileMenu(props) {
6306
6660
  getInitial
6307
6661
  },
6308
6662
  profile.name
6309
- ), /* @__PURE__ */ import_react52.default.createElement(ProfileMenuRoot, { size, placement: "bottom-end", ...innerProps, onClose: () => setOpen(false) }, /* @__PURE__ */ import_react52.default.createElement(ProfileCard, { size, caption: profile.caption, chip: profile.chip }, profile.name), !!menuItems.length && /* @__PURE__ */ import_react52.default.createElement(import_joy64.ListDivider, null), menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ import_react52.default.createElement(
6663
+ ), /* @__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_joy65.ListDivider, null), menuItems.map(({ label, ...menuProps }) => /* @__PURE__ */ import_react54.default.createElement(
6310
6664
  MenuItem,
6311
6665
  {
6312
6666
  key: label,
@@ -6322,9 +6676,9 @@ function ProfileMenu(props) {
6322
6676
  ProfileMenu.displayName = "ProfileMenu";
6323
6677
 
6324
6678
  // src/components/RadioTileGroup/RadioTileGroup.tsx
6325
- var import_react53 = __toESM(require("react"));
6326
- var import_joy65 = require("@mui/joy");
6327
- var RadioTileGroupRoot = (0, import_joy65.styled)(RadioGroup, {
6679
+ var import_react55 = __toESM(require("react"));
6680
+ var import_joy66 = require("@mui/joy");
6681
+ var RadioTileGroupRoot = (0, import_joy66.styled)(RadioGroup, {
6328
6682
  name: "RadioTileGroup",
6329
6683
  slot: "root",
6330
6684
  shouldForwardProp: (prop) => prop !== "flex" && prop !== "columns"
@@ -6336,28 +6690,28 @@ var RadioTileGroupRoot = (0, import_joy65.styled)(RadioGroup, {
6336
6690
  display: "grid",
6337
6691
  gridTemplateColumns: `repeat(${columns}, 1fr)`
6338
6692
  },
6339
- [`& .${import_joy65.sheetClasses.root}.${import_joy65.radioClasses.disabled}`]: {
6693
+ [`& .${import_joy66.sheetClasses.root}.${import_joy66.radioClasses.disabled}`]: {
6340
6694
  borderColor: theme.palette.neutral.outlinedDisabledBorder
6341
6695
  },
6342
- [`& .${import_joy65.radioClasses.root}`]: {
6343
- [`& .${import_joy65.radioClasses.action}`]: {
6696
+ [`& .${import_joy66.radioClasses.root}`]: {
6697
+ [`& .${import_joy66.radioClasses.action}`]: {
6344
6698
  borderRadius: theme.radius.md
6345
6699
  },
6346
- [`&.${import_joy65.radioClasses.checked}`]: {
6347
- [`& .${import_joy65.radioClasses.action}`]: {
6700
+ [`&.${import_joy66.radioClasses.checked}`]: {
6701
+ [`& .${import_joy66.radioClasses.action}`]: {
6348
6702
  inset: -1,
6349
6703
  border: "2px solid",
6350
6704
  borderColor: theme.palette.primary.outlinedColor
6351
6705
  },
6352
- [`&.${import_joy65.radioClasses.disabled}`]: {
6353
- [`& .${import_joy65.radioClasses.action}`]: {
6706
+ [`&.${import_joy66.radioClasses.disabled}`]: {
6707
+ [`& .${import_joy66.radioClasses.action}`]: {
6354
6708
  borderColor: theme.palette.neutral.outlinedBorder
6355
6709
  }
6356
6710
  }
6357
6711
  }
6358
6712
  }
6359
6713
  }));
6360
- var RadioTileSheet = (0, import_joy65.styled)(Sheet, {
6714
+ var RadioTileSheet = (0, import_joy66.styled)(Sheet, {
6361
6715
  name: "RadioTileGroup",
6362
6716
  slot: "tile",
6363
6717
  shouldForwardProp: (prop) => prop !== "disabled" && prop !== "size" && prop !== "flex" && prop !== "textAlign"
@@ -6410,7 +6764,7 @@ function RadioTileGroup(props) {
6410
6764
  error,
6411
6765
  required
6412
6766
  } = props;
6413
- const radioGroup = /* @__PURE__ */ import_react53.default.createElement(
6767
+ const radioGroup = /* @__PURE__ */ import_react55.default.createElement(
6414
6768
  RadioTileGroupRoot,
6415
6769
  {
6416
6770
  overlay: true,
@@ -6421,7 +6775,7 @@ function RadioTileGroup(props) {
6421
6775
  flex,
6422
6776
  columns
6423
6777
  },
6424
- options.map((option) => /* @__PURE__ */ import_react53.default.createElement(
6778
+ options.map((option) => /* @__PURE__ */ import_react55.default.createElement(
6425
6779
  RadioTileSheet,
6426
6780
  {
6427
6781
  key: option.value,
@@ -6431,7 +6785,7 @@ function RadioTileGroup(props) {
6431
6785
  flex,
6432
6786
  textAlign
6433
6787
  },
6434
- /* @__PURE__ */ import_react53.default.createElement(
6788
+ /* @__PURE__ */ import_react55.default.createElement(
6435
6789
  Radio,
6436
6790
  {
6437
6791
  id: `${option.value}`,
@@ -6459,7 +6813,7 @@ function RadioTileGroup(props) {
6459
6813
  }
6460
6814
  }
6461
6815
  ),
6462
- option.startDecorator && /* @__PURE__ */ import_react53.default.createElement(
6816
+ option.startDecorator && /* @__PURE__ */ import_react55.default.createElement(
6463
6817
  Box_default,
6464
6818
  {
6465
6819
  sx: {
@@ -6480,32 +6834,32 @@ function RadioTileGroup(props) {
6480
6834
  )
6481
6835
  ))
6482
6836
  );
6483
- return /* @__PURE__ */ import_react53.default.createElement(FormControl_default, { required, disabled: allDisabled, error, size, sx, className }, label && /* @__PURE__ */ import_react53.default.createElement(FormLabel_default, null, label), radioGroup, helperText && /* @__PURE__ */ import_react53.default.createElement(FormHelperText_default, null, helperText));
6837
+ 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
6838
  }
6485
6839
  RadioTileGroup.displayName = "RadioTileGroup";
6486
6840
 
6487
6841
  // src/components/RadioList/RadioList.tsx
6488
- var import_react54 = __toESM(require("react"));
6842
+ var import_react56 = __toESM(require("react"));
6489
6843
  function RadioList(props) {
6490
6844
  const { items, ...innerProps } = props;
6491
- return /* @__PURE__ */ import_react54.default.createElement(RadioGroup, { ...innerProps }, items.map((item) => /* @__PURE__ */ import_react54.default.createElement(Radio, { key: `${item.value}`, value: item.value, label: item.label })));
6845
+ 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
6846
  }
6493
6847
  RadioList.displayName = "RadioList";
6494
6848
 
6495
6849
  // src/components/Stepper/Stepper.tsx
6496
- var import_react55 = __toESM(require("react"));
6497
- var import_joy66 = require("@mui/joy");
6850
+ var import_react57 = __toESM(require("react"));
6851
+ var import_joy67 = require("@mui/joy");
6498
6852
  var import_Check = __toESM(require("@mui/icons-material/Check"));
6499
6853
  var import_framer_motion27 = require("framer-motion");
6500
- var Step = (0, import_joy66.styled)(import_joy66.Step)({});
6854
+ var Step = (0, import_joy67.styled)(import_joy67.Step)({});
6501
6855
  Step.displayName = "Step";
6502
- var StepIndicator = (0, import_joy66.styled)(import_joy66.StepIndicator)({});
6856
+ var StepIndicator = (0, import_joy67.styled)(import_joy67.StepIndicator)({});
6503
6857
  StepIndicator.displayName = "StepIndicator";
6504
- var StyledStepper = (0, import_joy66.styled)(import_joy66.Stepper)(({ theme }) => ({
6858
+ var StyledStepper = (0, import_joy67.styled)(import_joy67.Stepper)(({ theme }) => ({
6505
6859
  "--StepIndicator-size": "24px",
6506
6860
  "--Step-gap": theme.spacing(2),
6507
6861
  "--joy-palette-success-solidBg": "var(--joy-palette-success-400)",
6508
- [`& .${import_joy66.stepIndicatorClasses.root}`]: {
6862
+ [`& .${import_joy67.stepIndicatorClasses.root}`]: {
6509
6863
  fontSize: "var(--ceed-fontSize-xs)"
6510
6864
  }
6511
6865
  }));
@@ -6522,31 +6876,31 @@ function Stepper(props) {
6522
6876
  stepOrientation = "horizontal"
6523
6877
  } = props;
6524
6878
  const effectiveStepOrientation = orientation === "vertical" ? "horizontal" : stepOrientation;
6525
- return /* @__PURE__ */ import_react55.default.createElement(
6879
+ return /* @__PURE__ */ import_react57.default.createElement(
6526
6880
  MotionStepper,
6527
6881
  {
6528
6882
  orientation,
6529
6883
  sx: (theme) => ({
6530
6884
  "--StepIndicator-size": "24px",
6531
6885
  "--Step-gap": theme.spacing(2),
6532
- [`& .${import_joy66.stepIndicatorClasses.root}`]: {
6886
+ [`& .${import_joy67.stepIndicatorClasses.root}`]: {
6533
6887
  fontSize: "var(--ceed-fontSize-xs)"
6534
6888
  },
6535
- [`& .${import_joy66.stepClasses.completed}`]: {
6889
+ [`& .${import_joy67.stepClasses.completed}`]: {
6536
6890
  "&::after": { bgcolor: activeLineColor },
6537
- [`& .${import_joy66.stepIndicatorClasses.root}`]: {
6891
+ [`& .${import_joy67.stepIndicatorClasses.root}`]: {
6538
6892
  bgcolor: activeColor
6539
6893
  }
6540
6894
  },
6541
- [`& .${import_joy66.stepClasses.active}`]: {
6895
+ [`& .${import_joy67.stepClasses.active}`]: {
6542
6896
  "&::after": { bgcolor: inactiveLineColor },
6543
- [`& .${import_joy66.stepIndicatorClasses.root}`]: {
6897
+ [`& .${import_joy67.stepIndicatorClasses.root}`]: {
6544
6898
  bgcolor: activeColor
6545
6899
  }
6546
6900
  },
6547
- [`& .${import_joy66.stepClasses.disabled}`]: {
6901
+ [`& .${import_joy67.stepClasses.disabled}`]: {
6548
6902
  "&::after": { bgcolor: inactiveLineColor },
6549
- [`& .${import_joy66.stepIndicatorClasses.root}`]: {
6903
+ [`& .${import_joy67.stepIndicatorClasses.root}`]: {
6550
6904
  bgcolor: theme.vars.palette.background.surface,
6551
6905
  borderColor: theme.vars.palette.neutral.outlinedBorder,
6552
6906
  borderWidth: "1px",
@@ -6561,23 +6915,23 @@ function Stepper(props) {
6561
6915
  const completed = activeStep > i + 1;
6562
6916
  const disabled = activeStep < i + 1;
6563
6917
  const hasContent = step.label || step.extraContent;
6564
- return /* @__PURE__ */ import_react55.default.createElement(
6918
+ return /* @__PURE__ */ import_react57.default.createElement(
6565
6919
  Step,
6566
6920
  {
6567
6921
  key: `step-${i}`,
6568
- indicator: /* @__PURE__ */ import_react55.default.createElement(StepIndicator, { variant: disabled ? "outlined" : "solid", color: disabled ? "neutral" : "primary" }, completed ? /* @__PURE__ */ import_react55.default.createElement(import_Check.default, null) : step.indicatorContent),
6922
+ 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
6923
  active,
6570
6924
  completed,
6571
6925
  disabled,
6572
6926
  orientation: effectiveStepOrientation
6573
6927
  },
6574
- hasContent && /* @__PURE__ */ import_react55.default.createElement(
6928
+ hasContent && /* @__PURE__ */ import_react57.default.createElement(
6575
6929
  Stack_default,
6576
6930
  {
6577
6931
  sx: orientation === "horizontal" && effectiveStepOrientation === "vertical" ? { alignItems: "center" } : {}
6578
6932
  },
6579
- step.label && /* @__PURE__ */ import_react55.default.createElement(Typography_default, { level: "title-sm" }, step.label),
6580
- step.extraContent && /* @__PURE__ */ import_react55.default.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
6933
+ step.label && /* @__PURE__ */ import_react57.default.createElement(Typography_default, { level: "title-sm" }, step.label),
6934
+ step.extraContent && /* @__PURE__ */ import_react57.default.createElement(Typography_default, { level: "body-xs" }, step.extraContent)
6581
6935
  )
6582
6936
  );
6583
6937
  })
@@ -6586,11 +6940,11 @@ function Stepper(props) {
6586
6940
  Stepper.displayName = "Stepper";
6587
6941
 
6588
6942
  // src/components/Switch/Switch.tsx
6589
- var import_react56 = __toESM(require("react"));
6590
- var import_joy67 = require("@mui/joy");
6943
+ var import_react58 = __toESM(require("react"));
6944
+ var import_joy68 = require("@mui/joy");
6591
6945
  var import_framer_motion28 = require("framer-motion");
6592
- var MotionSwitch = (0, import_framer_motion28.motion)(import_joy67.Switch);
6593
- var StyledThumb = (0, import_joy67.styled)(import_framer_motion28.motion.div)({
6946
+ var MotionSwitch = (0, import_framer_motion28.motion)(import_joy68.Switch);
6947
+ var StyledThumb = (0, import_joy68.styled)(import_framer_motion28.motion.div)({
6594
6948
  "--Icon-fontSize": "calc(var(--Switch-thumbSize) * 0.75)",
6595
6949
  display: "inline-flex",
6596
6950
  justifyContent: "center",
@@ -6603,19 +6957,19 @@ var StyledThumb = (0, import_joy67.styled)(import_framer_motion28.motion.div)({
6603
6957
  boxShadow: "var(--Switch-thumbShadow)",
6604
6958
  color: "var(--Switch-thumbColor)",
6605
6959
  backgroundColor: "var(--Switch-thumbBackground)",
6606
- [`&.${import_joy67.switchClasses.checked}`]: {
6960
+ [`&.${import_joy68.switchClasses.checked}`]: {
6607
6961
  left: "unset",
6608
6962
  right: "var(--Switch-thumbOffset)"
6609
6963
  }
6610
6964
  });
6611
- var Thumb = (props) => /* @__PURE__ */ import_react56.default.createElement(StyledThumb, { ...props, layout: true, transition: spring });
6965
+ var Thumb = (props) => /* @__PURE__ */ import_react58.default.createElement(StyledThumb, { ...props, layout: true, transition: spring });
6612
6966
  var spring = {
6613
6967
  type: "spring",
6614
6968
  stiffness: 700,
6615
6969
  damping: 30
6616
6970
  };
6617
6971
  var Switch = (props) => {
6618
- return /* @__PURE__ */ import_react56.default.createElement(
6972
+ return /* @__PURE__ */ import_react58.default.createElement(
6619
6973
  MotionSwitch,
6620
6974
  {
6621
6975
  ...props,
@@ -6629,32 +6983,32 @@ var Switch = (props) => {
6629
6983
  Switch.displayName = "Switch";
6630
6984
 
6631
6985
  // src/components/Tabs/Tabs.tsx
6632
- var import_react57 = __toESM(require("react"));
6633
- var import_joy68 = require("@mui/joy");
6634
- var StyledTabs = (0, import_joy68.styled)(import_joy68.Tabs)(({ theme }) => ({
6986
+ var import_react59 = __toESM(require("react"));
6987
+ var import_joy69 = require("@mui/joy");
6988
+ var StyledTabs = (0, import_joy69.styled)(import_joy69.Tabs)(({ theme }) => ({
6635
6989
  backgroundColor: theme.palette.background.body
6636
6990
  }));
6637
6991
  var Tabs = StyledTabs;
6638
6992
  Tabs.displayName = "Tabs";
6639
- var StyledTab = (0, import_joy68.styled)(import_joy68.Tab)(({ theme }) => ({
6993
+ var StyledTab = (0, import_joy69.styled)(import_joy69.Tab)(({ theme }) => ({
6640
6994
  gap: theme.spacing(2),
6641
- [`&:not(.${import_joy68.tabClasses.selected})`]: {
6995
+ [`&:not(.${import_joy69.tabClasses.selected})`]: {
6642
6996
  color: theme.palette.neutral[700]
6643
6997
  },
6644
- [`&.${import_joy68.tabClasses.variantPlain}`]: {
6998
+ [`&.${import_joy69.tabClasses.variantPlain}`]: {
6645
6999
  backgroundColor: theme.palette.background.body
6646
7000
  }
6647
7001
  }));
6648
- var Tab = (0, import_react57.forwardRef)(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
6649
- return /* @__PURE__ */ import_react57.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
7002
+ var Tab = (0, import_react59.forwardRef)(function Tab2({ startDecorator, endDecorator, children, ...props }, ref) {
7003
+ return /* @__PURE__ */ import_react59.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
6650
7004
  });
6651
7005
  Tab.displayName = "Tab";
6652
- var TabList = import_joy68.TabList;
6653
- var TabPanel = import_joy68.TabPanel;
7006
+ var TabList = import_joy69.TabList;
7007
+ var TabPanel = import_joy69.TabPanel;
6654
7008
 
6655
7009
  // src/components/ThemeProvider/ThemeProvider.tsx
6656
- var import_react58 = __toESM(require("react"));
6657
- var import_joy69 = require("@mui/joy");
7010
+ var import_react60 = __toESM(require("react"));
7011
+ var import_joy70 = require("@mui/joy");
6658
7012
  var colorScheme = {
6659
7013
  palette: {
6660
7014
  danger: {
@@ -6707,7 +7061,7 @@ var colorScheme = {
6707
7061
  }
6708
7062
  }
6709
7063
  };
6710
- var defaultTheme = (0, import_joy69.extendTheme)({
7064
+ var defaultTheme = (0, import_joy70.extendTheme)({
6711
7065
  cssVarPrefix: "ceed",
6712
7066
  spacing: 4,
6713
7067
  breakpoints: {
@@ -6734,7 +7088,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6734
7088
  },
6735
7089
  styleOverrides: {
6736
7090
  root: {
6737
- [`.${import_joy69.inputClasses.root}`]: {
7091
+ [`.${import_joy70.inputClasses.root}`]: {
6738
7092
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6739
7093
  "font-family": "monospace"
6740
7094
  }
@@ -6747,7 +7101,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6747
7101
  },
6748
7102
  styleOverrides: {
6749
7103
  root: {
6750
- [`.${import_joy69.inputClasses.root}`]: {
7104
+ [`.${import_joy70.inputClasses.root}`]: {
6751
7105
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6752
7106
  "font-family": "monospace"
6753
7107
  }
@@ -6760,7 +7114,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6760
7114
  },
6761
7115
  styleOverrides: {
6762
7116
  root: {
6763
- [`.${import_joy69.inputClasses.root}`]: {
7117
+ [`.${import_joy70.inputClasses.root}`]: {
6764
7118
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6765
7119
  "font-family": "monospace"
6766
7120
  }
@@ -6773,7 +7127,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6773
7127
  },
6774
7128
  styleOverrides: {
6775
7129
  root: {
6776
- [`.${import_joy69.inputClasses.root}`]: {
7130
+ [`.${import_joy70.inputClasses.root}`]: {
6777
7131
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6778
7132
  "font-family": "monospace"
6779
7133
  }
@@ -6786,7 +7140,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6786
7140
  },
6787
7141
  styleOverrides: {
6788
7142
  root: {
6789
- [`.${import_joy69.inputClasses.root}`]: {
7143
+ [`.${import_joy70.inputClasses.root}`]: {
6790
7144
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6791
7145
  "font-family": "monospace"
6792
7146
  }
@@ -6799,7 +7153,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6799
7153
  },
6800
7154
  styleOverrides: {
6801
7155
  root: {
6802
- [`.${import_joy69.inputClasses.root}`]: {
7156
+ [`.${import_joy70.inputClasses.root}`]: {
6803
7157
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
6804
7158
  "font-family": "monospace"
6805
7159
  }
@@ -6877,7 +7231,7 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6877
7231
  outline: `${theme.palette.primary[500]} solid 2px`,
6878
7232
  outlineOffset: "-2px"
6879
7233
  },
6880
- [`& .${import_joy69.checkboxClasses.root}`]: {
7234
+ [`& .${import_joy70.checkboxClasses.root}`]: {
6881
7235
  verticalAlign: "middle"
6882
7236
  }
6883
7237
  })
@@ -6932,6 +7286,6 @@ var defaultTheme = (0, import_joy69.extendTheme)({
6932
7286
  });
6933
7287
  function ThemeProvider(props) {
6934
7288
  const theme = props.theme || defaultTheme;
6935
- return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, /* @__PURE__ */ import_react58.default.createElement(import_joy69.CssVarsProvider, { theme }, /* @__PURE__ */ import_react58.default.createElement(import_joy69.CssBaseline, null), props.children));
7289
+ return /* @__PURE__ */ import_react60.default.createElement(import_react60.default.Fragment, null, /* @__PURE__ */ import_react60.default.createElement(import_joy70.CssVarsProvider, { theme }, /* @__PURE__ */ import_react60.default.createElement(import_joy70.CssBaseline, null), props.children));
6936
7290
  }
6937
7291
  ThemeProvider.displayName = "ThemeProvider";