@ceed/cds 1.15.0-next.8 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -85,26 +85,26 @@ __export(index_exports, {
85
85
  AccordionSummary: () => AccordionSummary,
86
86
  Accordions: () => Accordions,
87
87
  Alert: () => Alert,
88
- AspectRatio: () => import_joy61.AspectRatio,
88
+ AspectRatio: () => import_joy60.AspectRatio,
89
89
  Autocomplete: () => Autocomplete,
90
- AutocompleteListbox: () => import_joy61.AutocompleteListbox,
91
- AutocompleteOption: () => import_joy61.AutocompleteOption,
90
+ AutocompleteListbox: () => import_joy60.AutocompleteListbox,
91
+ AutocompleteOption: () => import_joy60.AutocompleteOption,
92
92
  Avatar: () => Avatar,
93
93
  AvatarGroup: () => import_joy11.AvatarGroup,
94
- Badge: () => import_joy61.Badge,
94
+ Badge: () => import_joy60.Badge,
95
95
  Box: () => Box,
96
96
  Breadcrumbs: () => Breadcrumbs,
97
97
  Button: () => Button,
98
- ButtonGroup: () => import_joy61.ButtonGroup,
98
+ ButtonGroup: () => import_joy60.ButtonGroup,
99
99
  Calendar: () => Calendar,
100
- Card: () => import_joy61.Card,
101
- CardActions: () => import_joy61.CardActions,
102
- CardContent: () => import_joy61.CardContent,
103
- CardCover: () => import_joy61.CardCover,
104
- CardOverflow: () => import_joy61.CardOverflow,
100
+ Card: () => import_joy60.Card,
101
+ CardActions: () => import_joy60.CardActions,
102
+ CardContent: () => import_joy60.CardContent,
103
+ CardCover: () => import_joy60.CardCover,
104
+ CardOverflow: () => import_joy60.CardOverflow,
105
105
  Checkbox: () => Checkbox,
106
- Chip: () => import_joy61.Chip,
107
- CircularProgress: () => import_joy61.CircularProgress,
106
+ Chip: () => import_joy60.Chip,
107
+ CircularProgress: () => import_joy60.CircularProgress,
108
108
  Container: () => Container,
109
109
  CurrencyInput: () => CurrencyInput,
110
110
  DataTable: () => DataTable,
@@ -121,21 +121,21 @@ __export(index_exports, {
121
121
  FormControl: () => FormControl,
122
122
  FormHelperText: () => FormHelperText,
123
123
  FormLabel: () => FormLabel,
124
- Grid: () => import_joy45.Grid,
124
+ Grid: () => import_joy44.Grid,
125
125
  IconButton: () => IconButton,
126
126
  IconMenuButton: () => IconMenuButton,
127
127
  InfoSign: () => InfoSign,
128
128
  Input: () => Input,
129
129
  InsetDrawer: () => InsetDrawer,
130
- LinearProgress: () => import_joy61.LinearProgress,
131
- Link: () => import_joy61.Link,
132
- List: () => import_joy61.List,
133
- ListDivider: () => import_joy61.ListDivider,
134
- ListItem: () => import_joy61.ListItem,
135
- ListItemButton: () => import_joy61.ListItemButton,
136
- ListItemContent: () => import_joy61.ListItemContent,
137
- ListItemDecorator: () => import_joy61.ListItemDecorator,
138
- ListSubheader: () => import_joy61.ListSubheader,
130
+ LinearProgress: () => import_joy60.LinearProgress,
131
+ Link: () => import_joy60.Link,
132
+ List: () => import_joy60.List,
133
+ ListDivider: () => import_joy60.ListDivider,
134
+ ListItem: () => import_joy60.ListItem,
135
+ ListItemButton: () => import_joy60.ListItemButton,
136
+ ListItemContent: () => import_joy60.ListItemContent,
137
+ ListItemDecorator: () => import_joy60.ListItemDecorator,
138
+ ListSubheader: () => import_joy60.ListSubheader,
139
139
  Markdown: () => Markdown,
140
140
  Menu: () => Menu,
141
141
  MenuButton: () => MenuButton,
@@ -158,11 +158,11 @@ __export(index_exports, {
158
158
  RadioList: () => RadioList,
159
159
  Select: () => Select,
160
160
  Sheet: () => Sheet,
161
- Skeleton: () => import_joy61.Skeleton,
162
- Slider: () => import_joy61.Slider,
161
+ Skeleton: () => import_joy60.Skeleton,
162
+ Slider: () => import_joy60.Slider,
163
163
  Stack: () => import_joy3.Stack,
164
164
  Step: () => Step,
165
- StepButton: () => import_joy61.StepButton,
165
+ StepButton: () => import_joy60.StepButton,
166
166
  StepIndicator: () => StepIndicator,
167
167
  Stepper: () => Stepper,
168
168
  Switch: () => Switch,
@@ -178,84 +178,84 @@ __export(index_exports, {
178
178
  Tooltip: () => Tooltip,
179
179
  Typography: () => Typography,
180
180
  Uploader: () => Uploader,
181
- accordionClasses: () => import_joy61.accordionClasses,
182
- accordionDetailsClasses: () => import_joy61.accordionDetailsClasses,
183
- accordionSummaryClasses: () => import_joy61.accordionSummaryClasses,
184
- accordionsClasses: () => import_joy61.accordionGroupClasses,
185
- alertClasses: () => import_joy61.alertClasses,
186
- aspectRatioClasses: () => import_joy61.aspectRatioClasses,
187
- autocompleteClasses: () => import_joy61.autocompleteClasses,
188
- autocompleteListboxClasses: () => import_joy61.autocompleteListboxClasses,
189
- autocompleteOptionClasses: () => import_joy61.autocompleteOptionClasses,
190
- avatarClasses: () => import_joy61.avatarClasses,
191
- avatarGroupClasses: () => import_joy61.avatarGroupClasses,
192
- badgeClasses: () => import_joy61.badgeClasses,
193
- boxClasses: () => import_joy61.boxClasses,
194
- breadcrumbsClasses: () => import_joy61.breadcrumbsClasses,
195
- buttonClasses: () => import_joy61.buttonClasses,
196
- cardActionsClasses: () => import_joy61.cardActionsClasses,
197
- cardClasses: () => import_joy61.cardClasses,
198
- cardContentClasses: () => import_joy61.cardContentClasses,
199
- cardCoverClasses: () => import_joy61.cardCoverClasses,
200
- cardOverflowClasses: () => import_joy61.cardOverflowClasses,
201
- checkboxClasses: () => import_joy61.checkboxClasses,
202
- chipClasses: () => import_joy61.chipClasses,
203
- circularProgressClasses: () => import_joy61.circularProgressClasses,
204
- dialogActionsClasses: () => import_joy61.dialogActionsClasses,
205
- dialogContentClasses: () => import_joy61.dialogContentClasses,
206
- dialogTitleClasses: () => import_joy61.dialogTitleClasses,
207
- dividerClasses: () => import_joy61.dividerClasses,
208
- drawerClasses: () => import_joy61.drawerClasses,
209
- extendTheme: () => import_joy59.extendTheme,
210
- formControlClasses: () => import_joy61.formControlClasses,
211
- formHelperTextClasses: () => import_joy61.formHelperTextClasses,
212
- formLabelClasses: () => import_joy61.formLabelClasses,
213
- gridClasses: () => import_joy61.gridClasses,
214
- iconButtonClasses: () => import_joy61.iconButtonClasses,
215
- inputClasses: () => import_joy61.inputClasses,
216
- linearProgressClasses: () => import_joy61.linearProgressClasses,
217
- linkClasses: () => import_joy61.linkClasses,
218
- listClasses: () => import_joy61.listClasses,
219
- listDividerClasses: () => import_joy61.listDividerClasses,
220
- listItemButtonClasses: () => import_joy61.listItemButtonClasses,
221
- listItemClasses: () => import_joy61.listItemClasses,
222
- listItemContentClasses: () => import_joy61.listItemContentClasses,
223
- listItemDecoratorClasses: () => import_joy61.listItemDecoratorClasses,
224
- listSubheaderClasses: () => import_joy61.listSubheaderClasses,
225
- menuButtonClasses: () => import_joy61.menuButtonClasses,
226
- menuClasses: () => import_joy61.menuClasses,
227
- menuItemClasses: () => import_joy61.menuItemClasses,
228
- modalClasses: () => import_joy61.modalClasses,
229
- modalCloseClasses: () => import_joy61.modalCloseClasses,
230
- modalDialogClasses: () => import_joy61.modalDialogClasses,
231
- modalOverflowClasses: () => import_joy61.modalOverflowClasses,
232
- optionClasses: () => import_joy61.optionClasses,
233
- radioClasses: () => import_joy61.radioClasses,
234
- radioGroupClasses: () => import_joy61.radioGroupClasses,
235
- selectClasses: () => import_joy61.selectClasses,
236
- sheetClasses: () => import_joy61.sheetClasses,
237
- skeletonClasses: () => import_joy61.skeletonClasses,
238
- sliderClasses: () => import_joy61.sliderClasses,
239
- stackClasses: () => import_joy61.stackClasses,
240
- stepButtonClasses: () => import_joy61.stepButtonClasses,
241
- stepClasses: () => import_joy61.stepClasses,
242
- stepperClasses: () => import_joy61.stepperClasses,
243
- styled: () => import_joy61.styled,
244
- switchClasses: () => import_joy61.switchClasses,
245
- tabListClasses: () => import_joy61.tabListClasses,
246
- tabPanelClasses: () => import_joy61.tabPanelClasses,
247
- tableClasses: () => import_joy61.tableClasses,
248
- tabsClasses: () => import_joy61.tabsClasses,
249
- textareaClasses: () => import_joy61.textareaClasses,
181
+ accordionClasses: () => import_joy60.accordionClasses,
182
+ accordionDetailsClasses: () => import_joy60.accordionDetailsClasses,
183
+ accordionSummaryClasses: () => import_joy60.accordionSummaryClasses,
184
+ accordionsClasses: () => import_joy60.accordionGroupClasses,
185
+ alertClasses: () => import_joy60.alertClasses,
186
+ aspectRatioClasses: () => import_joy60.aspectRatioClasses,
187
+ autocompleteClasses: () => import_joy60.autocompleteClasses,
188
+ autocompleteListboxClasses: () => import_joy60.autocompleteListboxClasses,
189
+ autocompleteOptionClasses: () => import_joy60.autocompleteOptionClasses,
190
+ avatarClasses: () => import_joy60.avatarClasses,
191
+ avatarGroupClasses: () => import_joy60.avatarGroupClasses,
192
+ badgeClasses: () => import_joy60.badgeClasses,
193
+ boxClasses: () => import_joy60.boxClasses,
194
+ breadcrumbsClasses: () => import_joy60.breadcrumbsClasses,
195
+ buttonClasses: () => import_joy60.buttonClasses,
196
+ cardActionsClasses: () => import_joy60.cardActionsClasses,
197
+ cardClasses: () => import_joy60.cardClasses,
198
+ cardContentClasses: () => import_joy60.cardContentClasses,
199
+ cardCoverClasses: () => import_joy60.cardCoverClasses,
200
+ cardOverflowClasses: () => import_joy60.cardOverflowClasses,
201
+ checkboxClasses: () => import_joy60.checkboxClasses,
202
+ chipClasses: () => import_joy60.chipClasses,
203
+ circularProgressClasses: () => import_joy60.circularProgressClasses,
204
+ dialogActionsClasses: () => import_joy60.dialogActionsClasses,
205
+ dialogContentClasses: () => import_joy60.dialogContentClasses,
206
+ dialogTitleClasses: () => import_joy60.dialogTitleClasses,
207
+ dividerClasses: () => import_joy60.dividerClasses,
208
+ drawerClasses: () => import_joy60.drawerClasses,
209
+ extendTheme: () => import_joy58.extendTheme,
210
+ formControlClasses: () => import_joy60.formControlClasses,
211
+ formHelperTextClasses: () => import_joy60.formHelperTextClasses,
212
+ formLabelClasses: () => import_joy60.formLabelClasses,
213
+ gridClasses: () => import_joy60.gridClasses,
214
+ iconButtonClasses: () => import_joy60.iconButtonClasses,
215
+ inputClasses: () => import_joy60.inputClasses,
216
+ linearProgressClasses: () => import_joy60.linearProgressClasses,
217
+ linkClasses: () => import_joy60.linkClasses,
218
+ listClasses: () => import_joy60.listClasses,
219
+ listDividerClasses: () => import_joy60.listDividerClasses,
220
+ listItemButtonClasses: () => import_joy60.listItemButtonClasses,
221
+ listItemClasses: () => import_joy60.listItemClasses,
222
+ listItemContentClasses: () => import_joy60.listItemContentClasses,
223
+ listItemDecoratorClasses: () => import_joy60.listItemDecoratorClasses,
224
+ listSubheaderClasses: () => import_joy60.listSubheaderClasses,
225
+ menuButtonClasses: () => import_joy60.menuButtonClasses,
226
+ menuClasses: () => import_joy60.menuClasses,
227
+ menuItemClasses: () => import_joy60.menuItemClasses,
228
+ modalClasses: () => import_joy60.modalClasses,
229
+ modalCloseClasses: () => import_joy60.modalCloseClasses,
230
+ modalDialogClasses: () => import_joy60.modalDialogClasses,
231
+ modalOverflowClasses: () => import_joy60.modalOverflowClasses,
232
+ optionClasses: () => import_joy60.optionClasses,
233
+ radioClasses: () => import_joy60.radioClasses,
234
+ radioGroupClasses: () => import_joy60.radioGroupClasses,
235
+ selectClasses: () => import_joy60.selectClasses,
236
+ sheetClasses: () => import_joy60.sheetClasses,
237
+ skeletonClasses: () => import_joy60.skeletonClasses,
238
+ sliderClasses: () => import_joy60.sliderClasses,
239
+ stackClasses: () => import_joy60.stackClasses,
240
+ stepButtonClasses: () => import_joy60.stepButtonClasses,
241
+ stepClasses: () => import_joy60.stepClasses,
242
+ stepperClasses: () => import_joy60.stepperClasses,
243
+ styled: () => import_joy60.styled,
244
+ switchClasses: () => import_joy60.switchClasses,
245
+ tabListClasses: () => import_joy60.tabListClasses,
246
+ tabPanelClasses: () => import_joy60.tabPanelClasses,
247
+ tableClasses: () => import_joy60.tableClasses,
248
+ tabsClasses: () => import_joy60.tabsClasses,
249
+ textareaClasses: () => import_joy60.textareaClasses,
250
250
  theme: () => defaultTheme,
251
- tooltipClasses: () => import_joy61.tooltipClasses,
252
- typographyClasses: () => import_joy61.typographyClasses,
253
- useColorScheme: () => import_joy61.useColorScheme,
254
- useTheme: () => import_joy61.useTheme,
255
- useThemeProps: () => import_joy61.useThemeProps
251
+ tooltipClasses: () => import_joy60.tooltipClasses,
252
+ typographyClasses: () => import_joy60.typographyClasses,
253
+ useColorScheme: () => import_joy60.useColorScheme,
254
+ useTheme: () => import_joy60.useTheme,
255
+ useThemeProps: () => import_joy60.useThemeProps
256
256
  });
257
257
  module.exports = __toCommonJS(index_exports);
258
- var import_joy61 = require("@mui/joy");
258
+ var import_joy60 = require("@mui/joy");
259
259
 
260
260
  // src/components/Accordions/Accordions.tsx
261
261
  var import_react = __toESM(require("react"));
@@ -3528,10 +3528,8 @@ TableBody.displayName = "TableBody";
3528
3528
 
3529
3529
  // src/components/Pagination/Pagination.tsx
3530
3530
  var import_react27 = __toESM(require("react"));
3531
- var import_ChevronLeftRounded = __toESM(require("@mui/icons-material/ChevronLeftRounded"));
3532
- var import_ChevronRightRounded = __toESM(require("@mui/icons-material/ChevronRightRounded"));
3533
- var import_FirstPageRounded = __toESM(require("@mui/icons-material/FirstPageRounded"));
3534
- var import_LastPageRounded = __toESM(require("@mui/icons-material/LastPageRounded"));
3531
+ var import_ChevronLeft2 = __toESM(require("@mui/icons-material/ChevronLeft"));
3532
+ var import_ChevronRight2 = __toESM(require("@mui/icons-material/ChevronRight"));
3535
3533
  var import_joy35 = require("@mui/joy");
3536
3534
  var PaginationButton = (0, import_joy35.styled)(Button_default, {
3537
3535
  name: "Pagination",
@@ -3590,7 +3588,6 @@ function Pagination(props) {
3590
3588
  onPageChange,
3591
3589
  rowCount,
3592
3590
  size = "md",
3593
- variant = "standard",
3594
3591
  ...innerProps
3595
3592
  } = props;
3596
3593
  const [paginationModel, setPaginationModel] = useControlledState(
@@ -3617,87 +3614,6 @@ function Pagination(props) {
3617
3614
  setPaginationModel({ ...paginationModel, page: lastPage });
3618
3615
  }
3619
3616
  }, [rowCount, paginationModel, lastPage, setPaginationModel]);
3620
- const pageOptions = Array.from({ length: lastPage }, (_, i) => ({
3621
- label: `${i + 1}`,
3622
- value: `${i + 1}`
3623
- }));
3624
- if (variant === "compact") {
3625
- 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(
3626
- PaginationIconButton,
3627
- {
3628
- size,
3629
- variant: "plain",
3630
- color: "neutral",
3631
- onClick: () => handlePageChange(firstPage),
3632
- disabled: paginationModel.page === firstPage,
3633
- "aria-label": "First page"
3634
- },
3635
- /* @__PURE__ */ import_react27.default.createElement(import_FirstPageRounded.default, null)
3636
- ), /* @__PURE__ */ import_react27.default.createElement(
3637
- PaginationIconButton,
3638
- {
3639
- size,
3640
- variant: "plain",
3641
- color: "neutral",
3642
- onClick: () => handlePageChange(paginationModel.page - 1),
3643
- disabled: paginationModel.page === firstPage,
3644
- "aria-label": "Previous page"
3645
- },
3646
- /* @__PURE__ */ import_react27.default.createElement(import_ChevronLeftRounded.default, null)
3647
- )), /* @__PURE__ */ import_react27.default.createElement(
3648
- Autocomplete_default,
3649
- {
3650
- size,
3651
- value: `${paginationModel.page}`,
3652
- onChange: (event) => {
3653
- if (event.target.value) {
3654
- handlePageChange(parseInt(event.target.value, 10));
3655
- }
3656
- },
3657
- options: pageOptions,
3658
- sx: {
3659
- width: {
3660
- sm: "80px",
3661
- md: "100px",
3662
- lg: "120px"
3663
- }[size]
3664
- }
3665
- }
3666
- ), /* @__PURE__ */ import_react27.default.createElement(
3667
- Typography_default,
3668
- {
3669
- level: `body-${size}`,
3670
- sx: (theme) => ({
3671
- color: theme.palette.text.secondary,
3672
- fontWeight: 500
3673
- })
3674
- },
3675
- "/ ",
3676
- lastPage
3677
- ), /* @__PURE__ */ import_react27.default.createElement(Stack_default, { direction: "row" }, /* @__PURE__ */ import_react27.default.createElement(
3678
- PaginationIconButton,
3679
- {
3680
- size,
3681
- variant: "plain",
3682
- color: "neutral",
3683
- onClick: () => handlePageChange(paginationModel.page + 1),
3684
- disabled: paginationModel.page === lastPage,
3685
- "aria-label": "Next page"
3686
- },
3687
- /* @__PURE__ */ import_react27.default.createElement(import_ChevronRightRounded.default, null)
3688
- ), /* @__PURE__ */ import_react27.default.createElement(
3689
- PaginationIconButton,
3690
- {
3691
- size,
3692
- variant: "plain",
3693
- color: "neutral",
3694
- onClick: () => handlePageChange(lastPage),
3695
- disabled: paginationModel.page === lastPage,
3696
- "aria-label": "Last page"
3697
- },
3698
- /* @__PURE__ */ import_react27.default.createElement(import_LastPageRounded.default, null)
3699
- ))));
3700
- }
3701
3617
  return /* @__PURE__ */ import_react27.default.createElement(PaginationRoot, { ...innerProps }, /* @__PURE__ */ import_react27.default.createElement(PaginationContainer, { direction: "row", size, alignItems: "center" }, /* @__PURE__ */ import_react27.default.createElement(
3702
3618
  PaginationIconButton,
3703
3619
  {
@@ -3708,7 +3624,7 @@ function Pagination(props) {
3708
3624
  disabled: paginationModel.page === firstPage,
3709
3625
  "aria-label": "Previous page"
3710
3626
  },
3711
- /* @__PURE__ */ import_react27.default.createElement(import_ChevronLeftRounded.default, null)
3627
+ /* @__PURE__ */ import_react27.default.createElement(import_ChevronLeft2.default, null)
3712
3628
  ), paginationModel.page !== firstPage && /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { size, variant: "plain", color: "neutral", onClick: () => handlePageChange(firstPage) }, firstPage), isMoreBeforePages && /* @__PURE__ */ import_react27.default.createElement(
3713
3629
  PaginationButton,
3714
3630
  {
@@ -3719,7 +3635,7 @@ function Pagination(props) {
3719
3635
  "aria-label": "More previous pages"
3720
3636
  },
3721
3637
  "..."
3722
- ), beforePages.map((p) => /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { active: "true", size, "aria-current": "page" }, paginationModel.page), afterPages.map((p) => /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), isMoreAfterPages && /* @__PURE__ */ import_react27.default.createElement(
3638
+ ), beforePages.map((p) => /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { active: "active", size, "aria-current": "page" }, paginationModel.page), afterPages.map((p) => /* @__PURE__ */ import_react27.default.createElement(PaginationButton, { key: p, size, variant: "plain", color: "neutral", onClick: () => handlePageChange(p) }, p)), isMoreAfterPages && /* @__PURE__ */ import_react27.default.createElement(
3723
3639
  PaginationButton,
3724
3640
  {
3725
3641
  size,
@@ -3739,7 +3655,7 @@ function Pagination(props) {
3739
3655
  disabled: paginationModel.page === lastPage,
3740
3656
  "aria-label": "Next page"
3741
3657
  },
3742
- /* @__PURE__ */ import_react27.default.createElement(import_ChevronRightRounded.default, null)
3658
+ /* @__PURE__ */ import_react27.default.createElement(import_ChevronRight2.default, null)
3743
3659
  )));
3744
3660
  }
3745
3661
  Pagination.displayName = "Pagination";
@@ -4584,11 +4500,52 @@ var InsetDrawer = (0, import_joy43.styled)(import_joy43.Drawer)(({ theme }) => (
4584
4500
 
4585
4501
  // src/components/FilterableCheckboxGroup/FilterableCheckboxGroup.tsx
4586
4502
  var import_react34 = __toESM(require("react"));
4587
- var import_joy44 = require("@mui/joy");
4588
4503
  var import_Search = __toESM(require("@mui/icons-material/Search"));
4589
4504
  var import_react_virtual3 = require("@tanstack/react-virtual");
4505
+ function LabelWithTooltip(props) {
4506
+ const { label, size } = props;
4507
+ const labelContentRef = (0, import_react34.useRef)(null);
4508
+ const [isOverflowing, setIsOverflowing] = (0, import_react34.useState)(false);
4509
+ const labelContent = /* @__PURE__ */ import_react34.default.createElement(
4510
+ "span",
4511
+ {
4512
+ ref: labelContentRef,
4513
+ style: {
4514
+ textOverflow: "ellipsis",
4515
+ overflow: "hidden",
4516
+ whiteSpace: "nowrap",
4517
+ display: "block",
4518
+ position: "relative",
4519
+ zIndex: 1,
4520
+ cursor: "pointer"
4521
+ }
4522
+ },
4523
+ label
4524
+ );
4525
+ (0, import_react34.useEffect)(() => {
4526
+ const element = labelContentRef.current;
4527
+ if (element) {
4528
+ setIsOverflowing(element.scrollWidth > element.clientWidth);
4529
+ }
4530
+ }, [label]);
4531
+ if (isOverflowing) {
4532
+ return /* @__PURE__ */ import_react34.default.createElement(Tooltip_default, { variant: "solid", size, title: label, placement: "bottom-start" }, labelContent);
4533
+ }
4534
+ return labelContent;
4535
+ }
4590
4536
  function FilterableCheckboxGroup(props) {
4591
- const { value, options, label, placeholder, helperText, size = "md", required, onChange, maxHeight = 300 } = props;
4537
+ const {
4538
+ value,
4539
+ options,
4540
+ label,
4541
+ placeholder,
4542
+ helperText,
4543
+ size = "md",
4544
+ required,
4545
+ onChange,
4546
+ maxHeight = 300,
4547
+ disabled
4548
+ } = props;
4592
4549
  const [searchTerm, setSearchTerm] = (0, import_react34.useState)("");
4593
4550
  const [sortedOptions, setSortedOptions] = (0, import_react34.useState)(options);
4594
4551
  const [internalValue, setInternalValue] = useControlledState(
@@ -4598,6 +4555,7 @@ function FilterableCheckboxGroup(props) {
4598
4555
  );
4599
4556
  const parentRef = (0, import_react34.useRef)(null);
4600
4557
  const isInitialSortRef = (0, import_react34.useRef)(false);
4558
+ const prevOptionsRef = (0, import_react34.useRef)([...options]);
4601
4559
  const filteredOptions = (0, import_react34.useMemo)(() => {
4602
4560
  if (!searchTerm) return sortedOptions;
4603
4561
  return sortedOptions.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));
@@ -4612,16 +4570,6 @@ function FilterableCheckboxGroup(props) {
4612
4570
  return 36;
4613
4571
  }
4614
4572
  }, [size]);
4615
- const noOptionsFontSize = (0, import_react34.useMemo)(() => {
4616
- switch (size) {
4617
- case "sm":
4618
- return "14px";
4619
- case "md":
4620
- return "16px";
4621
- case "lg":
4622
- return "18px";
4623
- }
4624
- }, [size]);
4625
4573
  const virtualizer = (0, import_react_virtual3.useVirtualizer)({
4626
4574
  count: filteredOptions.length,
4627
4575
  estimateSize: () => itemSize,
@@ -4631,27 +4579,34 @@ function FilterableCheckboxGroup(props) {
4631
4579
  });
4632
4580
  const items = virtualizer.getVirtualItems();
4633
4581
  (0, import_react34.useEffect)(() => {
4634
- if (isInitialSortRef.current) return;
4635
- const initialValue = value ?? [];
4636
- const sorted = [...options].sort((a, b) => {
4637
- const aSelected = initialValue.includes(a.value);
4638
- const bSelected = initialValue.includes(b.value);
4639
- if (aSelected !== bSelected) {
4640
- return aSelected ? -1 : 1;
4641
- }
4642
- const aIsAlpha = /^[a-zA-Z]/.test(a.label);
4643
- const bIsAlpha = /^[a-zA-Z]/.test(b.label);
4644
- if (aIsAlpha !== bIsAlpha) {
4645
- return aIsAlpha ? -1 : 1;
4582
+ const optionsChanged = prevOptionsRef.current.length !== options.length || prevOptionsRef.current.some(
4583
+ (prevOption, index) => prevOption.value !== options[index]?.value || prevOption.label !== options[index]?.label || prevOption.disabled !== options[index]?.disabled
4584
+ );
4585
+ if (!isInitialSortRef.current || optionsChanged) {
4586
+ const initialValue = value ?? [];
4587
+ const sorted = [...options].sort((a, b) => {
4588
+ const aSelected = initialValue.includes(a.value);
4589
+ const bSelected = initialValue.includes(b.value);
4590
+ if (aSelected !== bSelected) {
4591
+ return aSelected ? -1 : 1;
4592
+ }
4593
+ const aIsAlpha = /^[a-zA-Z]/.test(a.label);
4594
+ const bIsAlpha = /^[a-zA-Z]/.test(b.label);
4595
+ if (aIsAlpha !== bIsAlpha) {
4596
+ return aIsAlpha ? -1 : 1;
4597
+ }
4598
+ return a.label.localeCompare(b.label);
4599
+ });
4600
+ setSortedOptions(sorted);
4601
+ prevOptionsRef.current = [...options];
4602
+ if (!isInitialSortRef.current) {
4603
+ isInitialSortRef.current = true;
4646
4604
  }
4647
- return a.label.localeCompare(b.label);
4648
- });
4649
- setSortedOptions(sorted);
4650
- isInitialSortRef.current = true;
4605
+ }
4651
4606
  }, [options, value]);
4652
4607
  (0, import_react34.useEffect)(() => {
4653
4608
  virtualizer.measure();
4654
- }, [virtualizer, filteredOptions]);
4609
+ }, [virtualizer, filteredOptions, size]);
4655
4610
  const handleSearchChange = (0, import_react34.useCallback)((event) => {
4656
4611
  setSearchTerm(event.target.value);
4657
4612
  }, []);
@@ -4666,40 +4621,38 @@ function FilterableCheckboxGroup(props) {
4666
4621
  const handleSelectAll = (0, import_react34.useCallback)(
4667
4622
  (event) => {
4668
4623
  const checked = event.target.checked;
4624
+ const enabledOptions = filteredOptions.filter((option) => !option.disabled);
4625
+ const disabledSelectedValues = internalValue.filter(
4626
+ (v) => filteredOptions.some((opt) => opt.value === v && opt.disabled)
4627
+ );
4669
4628
  if (checked) {
4670
- setInternalValue(filteredOptions.map((option) => option.value));
4629
+ const enabledValues = enabledOptions.map((option) => option.value);
4630
+ setInternalValue([...disabledSelectedValues, ...enabledValues]);
4671
4631
  } else {
4672
- setInternalValue([]);
4632
+ setInternalValue(disabledSelectedValues);
4673
4633
  }
4674
4634
  },
4675
- [filteredOptions, setInternalValue]
4635
+ [filteredOptions, internalValue, setInternalValue]
4676
4636
  );
4677
- const isAllSelected = filteredOptions.length > 0 && filteredOptions.every((option) => internalValue.includes(option.value));
4678
- const isIndeterminate = !isAllSelected && filteredOptions.some((option) => internalValue.includes(option.value));
4679
- return /* @__PURE__ */ import_react34.default.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ import_react34.default.createElement(FormControl_default, { required, size }, label && /* @__PURE__ */ import_react34.default.createElement(FormLabel_default, null, label), /* @__PURE__ */ import_react34.default.createElement(
4680
- import_joy44.Input,
4637
+ const enabledFilteredOptions = (0, import_react34.useMemo)(() => filteredOptions.filter((option) => !option.disabled), [filteredOptions]);
4638
+ const isAllSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((option) => internalValue.includes(option.value));
4639
+ const isIndeterminate = !isAllSelected && enabledFilteredOptions.some((option) => internalValue.includes(option.value));
4640
+ return /* @__PURE__ */ import_react34.default.createElement("div", { style: { width: "100%" } }, /* @__PURE__ */ import_react34.default.createElement(
4641
+ Input_default,
4681
4642
  {
4643
+ label,
4644
+ helperText,
4645
+ required,
4682
4646
  variant: "outlined",
4683
4647
  color: "neutral",
4684
4648
  placeholder,
4685
4649
  value: searchTerm,
4686
4650
  onChange: handleSearchChange,
4687
4651
  size,
4652
+ disabled,
4688
4653
  endDecorator: /* @__PURE__ */ import_react34.default.createElement(import_Search.default, null)
4689
4654
  }
4690
- ), helperText && /* @__PURE__ */ import_react34.default.createElement(FormHelperText_default, null, helperText)), filteredOptions.length === 0 ? /* @__PURE__ */ import_react34.default.createElement(
4691
- import_joy44.Stack,
4692
- {
4693
- sx: {
4694
- padding: "20px 12px",
4695
- justifyContent: "center",
4696
- alignItems: "center",
4697
- fontSize: noOptionsFontSize,
4698
- color: "#A2AAB8"
4699
- }
4700
- },
4701
- "No options found."
4702
- ) : /* @__PURE__ */ import_react34.default.createElement(
4655
+ ), filteredOptions.length === 0 ? /* @__PURE__ */ import_react34.default.createElement(Typography_default, { level: `body-${size}`, textColor: "neutral.softDisabledColor", padding: "20px 12px", textAlign: "center" }, "No options found.") : /* @__PURE__ */ import_react34.default.createElement(
4703
4656
  "div",
4704
4657
  {
4705
4658
  ref: parentRef,
@@ -4718,6 +4671,7 @@ function FilterableCheckboxGroup(props) {
4718
4671
  indeterminate: isIndeterminate,
4719
4672
  onChange: handleSelectAll,
4720
4673
  size,
4674
+ disabled,
4721
4675
  slotProps: {
4722
4676
  action: {
4723
4677
  sx: { top: 0, left: 0, bottom: 0, right: 0 }
@@ -4727,7 +4681,7 @@ function FilterableCheckboxGroup(props) {
4727
4681
  }
4728
4682
  ),
4729
4683
  /* @__PURE__ */ import_react34.default.createElement(
4730
- import_joy44.Stack,
4684
+ Stack_default,
4731
4685
  {
4732
4686
  sx: {
4733
4687
  height: `${virtualizer.getTotalSize()}px`,
@@ -4740,13 +4694,15 @@ function FilterableCheckboxGroup(props) {
4740
4694
  Checkbox_default,
4741
4695
  {
4742
4696
  key: virtualRow.key,
4743
- label: option.label,
4697
+ label: /* @__PURE__ */ import_react34.default.createElement(LabelWithTooltip, { label: option.label, size }),
4744
4698
  checked: internalValue.includes(option.value),
4745
4699
  onChange: handleCheckboxChange(option.value),
4746
4700
  size,
4701
+ disabled: disabled || option.disabled,
4747
4702
  slotProps: {
4748
4703
  action: {
4749
4704
  sx: { top: 0, left: 0, bottom: 0, right: 0 }
4705
+ // NOTE: 불필요한 좌우 스크롤 방지
4750
4706
  }
4751
4707
  },
4752
4708
  sx: {
@@ -4766,11 +4722,11 @@ function FilterableCheckboxGroup(props) {
4766
4722
  FilterableCheckboxGroup.displayName = "FilterableCheckboxGroup";
4767
4723
 
4768
4724
  // src/components/Grid/Grid.tsx
4769
- var import_joy45 = require("@mui/joy");
4725
+ var import_joy44 = require("@mui/joy");
4770
4726
 
4771
4727
  // src/components/IconMenuButton/IconMenuButton.tsx
4772
4728
  var import_react35 = __toESM(require("react"));
4773
- var import_joy46 = require("@mui/joy");
4729
+ var import_joy45 = require("@mui/joy");
4774
4730
  function IconMenuButton(props) {
4775
4731
  const {
4776
4732
  size,
@@ -4784,7 +4740,7 @@ function IconMenuButton(props) {
4784
4740
  } = props;
4785
4741
  if (!items.length) {
4786
4742
  return /* @__PURE__ */ import_react35.default.createElement(
4787
- import_joy46.IconButton,
4743
+ import_joy45.IconButton,
4788
4744
  {
4789
4745
  component: props.buttonComponent ?? "button",
4790
4746
  size,
@@ -4798,9 +4754,9 @@ function IconMenuButton(props) {
4798
4754
  );
4799
4755
  }
4800
4756
  return /* @__PURE__ */ import_react35.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react35.default.createElement(
4801
- import_joy46.MenuButton,
4757
+ import_joy45.MenuButton,
4802
4758
  {
4803
- slots: { root: import_joy46.IconButton },
4759
+ slots: { root: import_joy45.IconButton },
4804
4760
  slotProps: {
4805
4761
  root: {
4806
4762
  component: props.buttonComponent ?? "button",
@@ -4820,8 +4776,8 @@ IconMenuButton.displayName = "IconMenuButton";
4820
4776
 
4821
4777
  // src/components/Markdown/Markdown.tsx
4822
4778
  var import_react36 = __toESM(require("react"));
4779
+ var import_joy46 = require("@mui/joy");
4823
4780
  var import_joy47 = require("@mui/joy");
4824
- var import_joy48 = require("@mui/joy");
4825
4781
  var import_remark_gfm = __toESM(require("remark-gfm"));
4826
4782
  var LazyReactMarkdown = (0, import_react36.lazy)(() => import("react-markdown"));
4827
4783
  var Markdown = (props) => {
@@ -4851,7 +4807,7 @@ var Markdown = (props) => {
4851
4807
  return /* @__PURE__ */ import_react36.default.createElement(Typography, { component: "div", color, textColor, level: defaultLevel, ...innerProps }, /* @__PURE__ */ import_react36.default.createElement(
4852
4808
  import_react36.Suspense,
4853
4809
  {
4854
- fallback: fallback || /* @__PURE__ */ import_react36.default.createElement(Typography, null, /* @__PURE__ */ import_react36.default.createElement(import_joy47.Skeleton, null, content || ""))
4810
+ fallback: fallback || /* @__PURE__ */ import_react36.default.createElement(Typography, null, /* @__PURE__ */ import_react36.default.createElement(import_joy46.Skeleton, null, content || ""))
4855
4811
  },
4856
4812
  /* @__PURE__ */ import_react36.default.createElement(
4857
4813
  LazyReactMarkdown,
@@ -4866,7 +4822,7 @@ var Markdown = (props) => {
4866
4822
  h3: ({ children }) => /* @__PURE__ */ import_react36.default.createElement(Typography, { color, textColor, level: "h3" }, children),
4867
4823
  h4: ({ children }) => /* @__PURE__ */ import_react36.default.createElement(Typography, { color, textColor, level: "h4" }, children),
4868
4824
  p: ({ children, node }) => /* @__PURE__ */ import_react36.default.createElement(Typography, { color, textColor, level: defaultLevel, ...node?.properties }, children),
4869
- a: ({ children, href }) => /* @__PURE__ */ import_react36.default.createElement(import_joy48.Link, { href, target: defaultLinkAction }, children),
4825
+ a: ({ children, href }) => /* @__PURE__ */ import_react36.default.createElement(import_joy47.Link, { href, target: defaultLinkAction }, children),
4870
4826
  hr: () => /* @__PURE__ */ import_react36.default.createElement(Divider, null),
4871
4827
  b: ({ children }) => /* @__PURE__ */ import_react36.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
4872
4828
  strong: ({ children }) => /* @__PURE__ */ import_react36.default.createElement(Typography, { fontWeight: boldFontWeight }, children),
@@ -4880,7 +4836,7 @@ Markdown.displayName = "Markdown";
4880
4836
 
4881
4837
  // src/components/MenuButton/MenuButton.tsx
4882
4838
  var import_react37 = __toESM(require("react"));
4883
- var import_joy49 = require("@mui/joy");
4839
+ var import_joy48 = require("@mui/joy");
4884
4840
  var import_ExpandMore = __toESM(require("@mui/icons-material/ExpandMore"));
4885
4841
  function MenuButton(props) {
4886
4842
  const {
@@ -4898,7 +4854,7 @@ function MenuButton(props) {
4898
4854
  } = props;
4899
4855
  if (!items.length) {
4900
4856
  return /* @__PURE__ */ import_react37.default.createElement(
4901
- import_joy49.Button,
4857
+ import_joy48.Button,
4902
4858
  {
4903
4859
  component: props.buttonComponent ?? "button",
4904
4860
  size,
@@ -4914,7 +4870,7 @@ function MenuButton(props) {
4914
4870
  );
4915
4871
  }
4916
4872
  return /* @__PURE__ */ import_react37.default.createElement(Dropdown_default, null, /* @__PURE__ */ import_react37.default.createElement(
4917
- import_joy49.MenuButton,
4873
+ import_joy48.MenuButton,
4918
4874
  {
4919
4875
  component: props.buttonComponent ?? "button",
4920
4876
  size,
@@ -4934,15 +4890,15 @@ MenuButton.displayName = "MenuButton";
4934
4890
  // src/components/MonthPicker/MonthPicker.tsx
4935
4891
  var import_react38 = __toESM(require("react"));
4936
4892
  var import_CalendarToday3 = __toESM(require("@mui/icons-material/CalendarToday"));
4937
- var import_joy50 = require("@mui/joy");
4893
+ var import_joy49 = require("@mui/joy");
4938
4894
  var import_base4 = require("@mui/base");
4939
- var StyledPopper3 = (0, import_joy50.styled)(import_base4.Popper, {
4895
+ var StyledPopper3 = (0, import_joy49.styled)(import_base4.Popper, {
4940
4896
  name: "MonthPicker",
4941
4897
  slot: "popper"
4942
4898
  })(({ theme }) => ({
4943
4899
  zIndex: theme.zIndex.tooltip
4944
4900
  }));
4945
- var CalendarSheet3 = (0, import_joy50.styled)(Sheet_default, {
4901
+ var CalendarSheet3 = (0, import_joy49.styled)(Sheet_default, {
4946
4902
  name: "MonthPicker",
4947
4903
  slot: "sheet",
4948
4904
  overridesResolver: (props, styles) => styles.root
@@ -4951,7 +4907,7 @@ var CalendarSheet3 = (0, import_joy50.styled)(Sheet_default, {
4951
4907
  boxShadow: theme.shadow.md,
4952
4908
  borderRadius: theme.radius.md
4953
4909
  }));
4954
- var MonthPickerRoot = (0, import_joy50.styled)("div", {
4910
+ var MonthPickerRoot = (0, import_joy49.styled)("div", {
4955
4911
  name: "MonthPicker",
4956
4912
  slot: "root",
4957
4913
  overridesResolver: (props, styles) => styles.root
@@ -4988,7 +4944,7 @@ function parseDate3(dateString, format) {
4988
4944
  return result;
4989
4945
  }
4990
4946
  var MonthPicker = (0, import_react38.forwardRef)((inProps, ref) => {
4991
- const props = (0, import_joy50.useThemeProps)({ props: inProps, name: "MonthPicker" });
4947
+ const props = (0, import_joy49.useThemeProps)({ props: inProps, name: "MonthPicker" });
4992
4948
  const {
4993
4949
  onChange,
4994
4950
  disabled,
@@ -5188,15 +5144,15 @@ var MonthPicker = (0, import_react38.forwardRef)((inProps, ref) => {
5188
5144
  var import_react39 = __toESM(require("react"));
5189
5145
  var import_react_imask3 = require("react-imask");
5190
5146
  var import_CalendarToday4 = __toESM(require("@mui/icons-material/CalendarToday"));
5191
- var import_joy51 = require("@mui/joy");
5147
+ var import_joy50 = require("@mui/joy");
5192
5148
  var import_base5 = require("@mui/base");
5193
- var StyledPopper4 = (0, import_joy51.styled)(import_base5.Popper, {
5149
+ var StyledPopper4 = (0, import_joy50.styled)(import_base5.Popper, {
5194
5150
  name: "MonthRangePicker",
5195
5151
  slot: "popper"
5196
5152
  })(({ theme }) => ({
5197
5153
  zIndex: theme.zIndex.tooltip
5198
5154
  }));
5199
- var CalendarSheet4 = (0, import_joy51.styled)(Sheet_default, {
5155
+ var CalendarSheet4 = (0, import_joy50.styled)(Sheet_default, {
5200
5156
  name: "MonthRangePicker",
5201
5157
  slot: "sheet",
5202
5158
  overridesResolver: (props, styles) => styles.root
@@ -5206,7 +5162,7 @@ var CalendarSheet4 = (0, import_joy51.styled)(Sheet_default, {
5206
5162
  boxShadow: theme.shadow.md,
5207
5163
  borderRadius: theme.radius.md
5208
5164
  }));
5209
- var MonthRangePickerRoot = (0, import_joy51.styled)("div", {
5165
+ var MonthRangePickerRoot = (0, import_joy50.styled)("div", {
5210
5166
  name: "MonthRangePicker",
5211
5167
  slot: "root",
5212
5168
  overridesResolver: (props, styles) => styles.root
@@ -5274,7 +5230,7 @@ var TextMaskAdapter7 = import_react39.default.forwardRef(function TextMaskAdapte
5274
5230
  );
5275
5231
  });
5276
5232
  var MonthRangePicker = (0, import_react39.forwardRef)((inProps, ref) => {
5277
- const props = (0, import_joy51.useThemeProps)({ props: inProps, name: "MonthRangePicker" });
5233
+ const props = (0, import_joy50.useThemeProps)({ props: inProps, name: "MonthRangePicker" });
5278
5234
  const {
5279
5235
  onChange,
5280
5236
  disabled,
@@ -5425,21 +5381,21 @@ MonthRangePicker.displayName = "MonthRangePicker";
5425
5381
 
5426
5382
  // src/components/NavigationGroup/NavigationGroup.tsx
5427
5383
  var import_react40 = __toESM(require("react"));
5428
- var import_joy52 = require("@mui/joy");
5429
- var AccordionSummary2 = (0, import_joy52.styled)(import_joy52.AccordionSummary, {
5384
+ var import_joy51 = require("@mui/joy");
5385
+ var AccordionSummary2 = (0, import_joy51.styled)(import_joy51.AccordionSummary, {
5430
5386
  name: "NavigationGroup",
5431
5387
  slot: "Summary",
5432
5388
  shouldForwardProp: (prop) => prop !== "useIcon" && prop !== "level"
5433
5389
  })(({ theme, useIcon, level }) => ({
5434
- [`& .${import_joy52.accordionSummaryClasses.button}`]: {
5390
+ [`& .${import_joy51.accordionSummaryClasses.button}`]: {
5435
5391
  padding: theme.spacing(4, 6, 4, (useIcon ? 6 : 8) + (level || 0) * 8),
5436
- [`&.${import_joy52.accordionSummaryClasses.expanded}`]: {
5392
+ [`&.${import_joy51.accordionSummaryClasses.expanded}`]: {
5437
5393
  color: theme.palette.primary.plainColor,
5438
5394
  "--Icon-color": theme.palette.primary.plainColor
5439
5395
  }
5440
5396
  }
5441
5397
  }));
5442
- var AccordionDetails2 = (0, import_joy52.styled)(import_joy52.AccordionDetails, {
5398
+ var AccordionDetails2 = (0, import_joy51.styled)(import_joy51.AccordionDetails, {
5443
5399
  name: "NavigationGroup",
5444
5400
  slot: "Details"
5445
5401
  })(({ theme }) => ({
@@ -5448,13 +5404,13 @@ var AccordionDetails2 = (0, import_joy52.styled)(import_joy52.AccordionDetails,
5448
5404
  }));
5449
5405
  function NavigationGroup(props) {
5450
5406
  const { title, children, startDecorator, level, ...rest } = props;
5451
- return /* @__PURE__ */ import_react40.default.createElement(import_joy52.Accordion, { ...rest }, /* @__PURE__ */ import_react40.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react40.default.createElement(import_joy52.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react40.default.createElement(AccordionDetails2, null, children));
5407
+ return /* @__PURE__ */ import_react40.default.createElement(import_joy51.Accordion, { ...rest }, /* @__PURE__ */ import_react40.default.createElement(AccordionSummary2, { useIcon: !!startDecorator, level }, /* @__PURE__ */ import_react40.default.createElement(import_joy51.Stack, { direction: "row", gap: 4 }, startDecorator, title)), /* @__PURE__ */ import_react40.default.createElement(AccordionDetails2, null, children));
5452
5408
  }
5453
5409
 
5454
5410
  // src/components/NavigationItem/NavigationItem.tsx
5455
5411
  var import_react41 = __toESM(require("react"));
5456
- var import_joy53 = require("@mui/joy");
5457
- var ListItemButton = (0, import_joy53.styled)(import_joy53.ListItemButton, {
5412
+ var import_joy52 = require("@mui/joy");
5413
+ var ListItemButton = (0, import_joy52.styled)(import_joy52.ListItemButton, {
5458
5414
  name: "NavigationItem",
5459
5415
  slot: "Button",
5460
5416
  shouldForwardProp: (prop) => prop !== "useIcon" && prop !== "level"
@@ -5468,7 +5424,7 @@ var ListItemButton = (0, import_joy53.styled)(import_joy53.ListItemButton, {
5468
5424
  "&:active": {
5469
5425
  backgroundColor: theme.palette.neutral.plainActiveBg
5470
5426
  },
5471
- [`&.${import_joy53.listItemButtonClasses.selected}`]: {
5427
+ [`&.${import_joy52.listItemButtonClasses.selected}`]: {
5472
5428
  color: theme.palette.primary.plainColor,
5473
5429
  "--Icon-color": theme.palette.primary.plainColor,
5474
5430
  "&:not(:hover):not(:active)": {
@@ -5481,7 +5437,7 @@ function NavigationItem(props) {
5481
5437
  const handleClick = () => {
5482
5438
  onClick?.(id);
5483
5439
  };
5484
- return /* @__PURE__ */ import_react41.default.createElement(import_joy53.ListItem, { ...rest }, /* @__PURE__ */ import_react41.default.createElement(
5440
+ return /* @__PURE__ */ import_react41.default.createElement(import_joy52.ListItem, { ...rest }, /* @__PURE__ */ import_react41.default.createElement(
5485
5441
  ListItemButton,
5486
5442
  {
5487
5443
  level,
@@ -5490,7 +5446,7 @@ function NavigationItem(props) {
5490
5446
  "aria-current": selected,
5491
5447
  onClick: handleClick
5492
5448
  },
5493
- startDecorator && /* @__PURE__ */ import_react41.default.createElement(import_joy53.ListItemDecorator, null, startDecorator),
5449
+ startDecorator && /* @__PURE__ */ import_react41.default.createElement(import_joy52.ListItemDecorator, null, startDecorator),
5494
5450
  children
5495
5451
  ));
5496
5452
  }
@@ -5537,7 +5493,7 @@ Navigator.displayName = "Navigator";
5537
5493
  // src/components/PercentageInput/PercentageInput.tsx
5538
5494
  var import_react43 = __toESM(require("react"));
5539
5495
  var import_react_number_format2 = require("react-number-format");
5540
- var import_joy54 = require("@mui/joy");
5496
+ var import_joy53 = require("@mui/joy");
5541
5497
  var padDecimal = (value, decimalScale) => {
5542
5498
  const [integer, decimal = ""] = `${value}`.split(".");
5543
5499
  return Number(`${integer}${decimal.padEnd(decimalScale, "0")}`);
@@ -5564,14 +5520,14 @@ var TextMaskAdapter9 = import_react43.default.forwardRef(function TextMaskAdapte
5564
5520
  }
5565
5521
  );
5566
5522
  });
5567
- var PercentageInputRoot = (0, import_joy54.styled)(Input_default, {
5523
+ var PercentageInputRoot = (0, import_joy53.styled)(Input_default, {
5568
5524
  name: "PercentageInput",
5569
5525
  slot: "Root",
5570
5526
  overridesResolver: (props, styles) => styles.root
5571
5527
  })({});
5572
5528
  var PercentageInput = import_react43.default.forwardRef(
5573
5529
  function PercentageInput2(inProps, ref) {
5574
- const props = (0, import_joy54.useThemeProps)({ props: inProps, name: "PercentageInput" });
5530
+ const props = (0, import_joy53.useThemeProps)({ props: inProps, name: "PercentageInput" });
5575
5531
  const {
5576
5532
  name,
5577
5533
  onChange,
@@ -5651,12 +5607,12 @@ var PercentageInput = import_react43.default.forwardRef(
5651
5607
  PercentageInput.displayName = "PercentageInput";
5652
5608
 
5653
5609
  // src/components/Radio/Radio.tsx
5654
- var import_joy55 = require("@mui/joy");
5610
+ var import_joy54 = require("@mui/joy");
5655
5611
  var import_framer_motion27 = require("framer-motion");
5656
- var MotionRadio = (0, import_framer_motion27.motion)(import_joy55.Radio);
5612
+ var MotionRadio = (0, import_framer_motion27.motion)(import_joy54.Radio);
5657
5613
  var Radio = MotionRadio;
5658
5614
  Radio.displayName = "Radio";
5659
- var MotionRadioGroup = (0, import_framer_motion27.motion)(import_joy55.RadioGroup);
5615
+ var MotionRadioGroup = (0, import_framer_motion27.motion)(import_joy54.RadioGroup);
5660
5616
  var RadioGroup = MotionRadioGroup;
5661
5617
  RadioGroup.displayName = "RadioGroup";
5662
5618
 
@@ -5670,18 +5626,18 @@ RadioList.displayName = "RadioList";
5670
5626
 
5671
5627
  // src/components/Stepper/Stepper.tsx
5672
5628
  var import_react45 = __toESM(require("react"));
5673
- var import_joy56 = require("@mui/joy");
5629
+ var import_joy55 = require("@mui/joy");
5674
5630
  var import_Check = __toESM(require("@mui/icons-material/Check"));
5675
5631
  var import_framer_motion28 = require("framer-motion");
5676
- var Step = (0, import_joy56.styled)(import_joy56.Step)({});
5632
+ var Step = (0, import_joy55.styled)(import_joy55.Step)({});
5677
5633
  Step.displayName = "Step";
5678
- var StepIndicator = (0, import_joy56.styled)(import_joy56.StepIndicator)({});
5634
+ var StepIndicator = (0, import_joy55.styled)(import_joy55.StepIndicator)({});
5679
5635
  StepIndicator.displayName = "StepIndicator";
5680
- var StyledStepper = (0, import_joy56.styled)(import_joy56.Stepper)(({ theme }) => ({
5636
+ var StyledStepper = (0, import_joy55.styled)(import_joy55.Stepper)(({ theme }) => ({
5681
5637
  "--StepIndicator-size": "24px",
5682
5638
  "--Step-gap": theme.spacing(2),
5683
5639
  "--joy-palette-success-solidBg": "var(--joy-palette-success-400)",
5684
- [`& .${import_joy56.stepIndicatorClasses.root}`]: {
5640
+ [`& .${import_joy55.stepIndicatorClasses.root}`]: {
5685
5641
  fontSize: "var(--ceed-fontSize-xs)"
5686
5642
  }
5687
5643
  }));
@@ -5705,24 +5661,24 @@ function Stepper(props) {
5705
5661
  sx: (theme) => ({
5706
5662
  "--StepIndicator-size": "24px",
5707
5663
  "--Step-gap": theme.spacing(2),
5708
- [`& .${import_joy56.stepIndicatorClasses.root}`]: {
5664
+ [`& .${import_joy55.stepIndicatorClasses.root}`]: {
5709
5665
  fontSize: "var(--ceed-fontSize-xs)"
5710
5666
  },
5711
- [`& .${import_joy56.stepClasses.completed}`]: {
5667
+ [`& .${import_joy55.stepClasses.completed}`]: {
5712
5668
  "&::after": { bgcolor: activeLineColor },
5713
- [`& .${import_joy56.stepIndicatorClasses.root}`]: {
5669
+ [`& .${import_joy55.stepIndicatorClasses.root}`]: {
5714
5670
  bgcolor: activeColor
5715
5671
  }
5716
5672
  },
5717
- [`& .${import_joy56.stepClasses.active}`]: {
5673
+ [`& .${import_joy55.stepClasses.active}`]: {
5718
5674
  "&::after": { bgcolor: inactiveLineColor },
5719
- [`& .${import_joy56.stepIndicatorClasses.root}`]: {
5675
+ [`& .${import_joy55.stepIndicatorClasses.root}`]: {
5720
5676
  bgcolor: activeColor
5721
5677
  }
5722
5678
  },
5723
- [`& .${import_joy56.stepClasses.disabled}`]: {
5679
+ [`& .${import_joy55.stepClasses.disabled}`]: {
5724
5680
  "&::after": { bgcolor: inactiveLineColor },
5725
- [`& .${import_joy56.stepIndicatorClasses.root}`]: {
5681
+ [`& .${import_joy55.stepIndicatorClasses.root}`]: {
5726
5682
  bgcolor: theme.vars.palette.background.surface,
5727
5683
  borderColor: theme.vars.palette.neutral.outlinedBorder,
5728
5684
  borderWidth: "1px",
@@ -5763,10 +5719,10 @@ Stepper.displayName = "Stepper";
5763
5719
 
5764
5720
  // src/components/Switch/Switch.tsx
5765
5721
  var import_react46 = __toESM(require("react"));
5766
- var import_joy57 = require("@mui/joy");
5722
+ var import_joy56 = require("@mui/joy");
5767
5723
  var import_framer_motion29 = require("framer-motion");
5768
- var MotionSwitch = (0, import_framer_motion29.motion)(import_joy57.Switch);
5769
- var StyledThumb = (0, import_joy57.styled)(import_framer_motion29.motion.div)({
5724
+ var MotionSwitch = (0, import_framer_motion29.motion)(import_joy56.Switch);
5725
+ var StyledThumb = (0, import_joy56.styled)(import_framer_motion29.motion.div)({
5770
5726
  "--Icon-fontSize": "calc(var(--Switch-thumbSize) * 0.75)",
5771
5727
  display: "inline-flex",
5772
5728
  justifyContent: "center",
@@ -5779,7 +5735,7 @@ var StyledThumb = (0, import_joy57.styled)(import_framer_motion29.motion.div)({
5779
5735
  boxShadow: "var(--Switch-thumbShadow)",
5780
5736
  color: "var(--Switch-thumbColor)",
5781
5737
  backgroundColor: "var(--Switch-thumbBackground)",
5782
- [`&.${import_joy57.switchClasses.checked}`]: {
5738
+ [`&.${import_joy56.switchClasses.checked}`]: {
5783
5739
  left: "unset",
5784
5740
  right: "var(--Switch-thumbOffset)"
5785
5741
  }
@@ -5806,18 +5762,18 @@ Switch.displayName = "Switch";
5806
5762
 
5807
5763
  // src/components/Tabs/Tabs.tsx
5808
5764
  var import_react47 = __toESM(require("react"));
5809
- var import_joy58 = require("@mui/joy");
5810
- var StyledTabs = (0, import_joy58.styled)(import_joy58.Tabs)(({ theme }) => ({
5765
+ var import_joy57 = require("@mui/joy");
5766
+ var StyledTabs = (0, import_joy57.styled)(import_joy57.Tabs)(({ theme }) => ({
5811
5767
  backgroundColor: theme.palette.background.body
5812
5768
  }));
5813
5769
  var Tabs = StyledTabs;
5814
5770
  Tabs.displayName = "Tabs";
5815
- var StyledTab = (0, import_joy58.styled)(import_joy58.Tab)(({ theme }) => ({
5771
+ var StyledTab = (0, import_joy57.styled)(import_joy57.Tab)(({ theme }) => ({
5816
5772
  gap: theme.spacing(2),
5817
- [`&:not(.${import_joy58.tabClasses.selected})`]: {
5773
+ [`&:not(.${import_joy57.tabClasses.selected})`]: {
5818
5774
  color: theme.palette.neutral[700]
5819
5775
  },
5820
- [`&.${import_joy58.tabClasses.variantPlain}`]: {
5776
+ [`&.${import_joy57.tabClasses.variantPlain}`]: {
5821
5777
  backgroundColor: theme.palette.background.body
5822
5778
  }
5823
5779
  }));
@@ -5825,12 +5781,12 @@ var Tab = (0, import_react47.forwardRef)(function Tab2({ startDecorator, endDeco
5825
5781
  return /* @__PURE__ */ import_react47.default.createElement(StyledTab, { ...props, ref }, startDecorator, children, endDecorator);
5826
5782
  });
5827
5783
  Tab.displayName = "Tab";
5828
- var TabList = import_joy58.TabList;
5829
- var TabPanel = import_joy58.TabPanel;
5784
+ var TabList = import_joy57.TabList;
5785
+ var TabPanel = import_joy57.TabPanel;
5830
5786
 
5831
5787
  // src/components/ThemeProvider/ThemeProvider.tsx
5832
5788
  var import_react48 = __toESM(require("react"));
5833
- var import_joy59 = require("@mui/joy");
5789
+ var import_joy58 = require("@mui/joy");
5834
5790
  var colorScheme = {
5835
5791
  palette: {
5836
5792
  danger: {
@@ -5883,7 +5839,7 @@ var colorScheme = {
5883
5839
  }
5884
5840
  }
5885
5841
  };
5886
- var defaultTheme = (0, import_joy59.extendTheme)({
5842
+ var defaultTheme = (0, import_joy58.extendTheme)({
5887
5843
  cssVarPrefix: "ceed",
5888
5844
  spacing: 4,
5889
5845
  breakpoints: {
@@ -5935,7 +5891,7 @@ var defaultTheme = (0, import_joy59.extendTheme)({
5935
5891
  },
5936
5892
  styleOverrides: {
5937
5893
  root: {
5938
- [`.${import_joy59.inputClasses.root}`]: {
5894
+ [`.${import_joy58.inputClasses.root}`]: {
5939
5895
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5940
5896
  "font-family": "monospace"
5941
5897
  }
@@ -5948,7 +5904,7 @@ var defaultTheme = (0, import_joy59.extendTheme)({
5948
5904
  },
5949
5905
  styleOverrides: {
5950
5906
  root: {
5951
- [`.${import_joy59.inputClasses.root}`]: {
5907
+ [`.${import_joy58.inputClasses.root}`]: {
5952
5908
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5953
5909
  "font-family": "monospace"
5954
5910
  }
@@ -5961,7 +5917,7 @@ var defaultTheme = (0, import_joy59.extendTheme)({
5961
5917
  },
5962
5918
  styleOverrides: {
5963
5919
  root: {
5964
- [`.${import_joy59.inputClasses.root}`]: {
5920
+ [`.${import_joy58.inputClasses.root}`]: {
5965
5921
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5966
5922
  "font-family": "monospace"
5967
5923
  }
@@ -5974,7 +5930,7 @@ var defaultTheme = (0, import_joy59.extendTheme)({
5974
5930
  },
5975
5931
  styleOverrides: {
5976
5932
  root: {
5977
- [`.${import_joy59.inputClasses.root}`]: {
5933
+ [`.${import_joy58.inputClasses.root}`]: {
5978
5934
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5979
5935
  "font-family": "monospace"
5980
5936
  }
@@ -5987,7 +5943,7 @@ var defaultTheme = (0, import_joy59.extendTheme)({
5987
5943
  },
5988
5944
  styleOverrides: {
5989
5945
  root: {
5990
- [`.${import_joy59.inputClasses.root}`]: {
5946
+ [`.${import_joy58.inputClasses.root}`]: {
5991
5947
  // NOTE: placeholder char 를 텍스트로 표시하므로 동일한 너비를 가지는 mono font 를 사용해야 이질감이 없다.
5992
5948
  "font-family": "monospace"
5993
5949
  }
@@ -6029,7 +5985,7 @@ var defaultTheme = (0, import_joy59.extendTheme)({
6029
5985
  outline: `${theme.palette.primary[500]} solid 2px`,
6030
5986
  outlineOffset: "-2px"
6031
5987
  },
6032
- [`& .${import_joy59.checkboxClasses.root}`]: {
5988
+ [`& .${import_joy58.checkboxClasses.root}`]: {
6033
5989
  verticalAlign: "middle"
6034
5990
  }
6035
5991
  })
@@ -6079,13 +6035,13 @@ var defaultTheme = (0, import_joy59.extendTheme)({
6079
6035
  });
6080
6036
  function ThemeProvider(props) {
6081
6037
  const theme = props.theme || defaultTheme;
6082
- return /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(import_joy59.CssVarsProvider, { theme }, /* @__PURE__ */ import_react48.default.createElement(import_joy59.CssBaseline, null), props.children));
6038
+ return /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(import_joy58.CssVarsProvider, { theme }, /* @__PURE__ */ import_react48.default.createElement(import_joy58.CssBaseline, null), props.children));
6083
6039
  }
6084
6040
  ThemeProvider.displayName = "ThemeProvider";
6085
6041
 
6086
6042
  // src/components/Uploader/Uploader.tsx
6087
6043
  var import_react49 = __toESM(require("react"));
6088
- var import_joy60 = require("@mui/joy");
6044
+ var import_joy59 = require("@mui/joy");
6089
6045
  var import_CloudUploadRounded = __toESM(require("@mui/icons-material/CloudUploadRounded"));
6090
6046
  var import_UploadFileRounded = __toESM(require("@mui/icons-material/UploadFileRounded"));
6091
6047
  var import_ClearRounded = __toESM(require("@mui/icons-material/ClearRounded"));
@@ -6107,7 +6063,7 @@ var esmFiles = {
6107
6063
  "@atlaskit/pragmatic-drag-and-drop/dist/esm/entry-point/prevent-unhandled.js"
6108
6064
  )
6109
6065
  };
6110
- var VisuallyHiddenInput = (0, import_joy60.styled)(import_joy60.Input)({
6066
+ var VisuallyHiddenInput = (0, import_joy59.styled)(import_joy59.Input)({
6111
6067
  width: "1px",
6112
6068
  height: "1px",
6113
6069
  overflow: "hidden",
@@ -6116,18 +6072,18 @@ var VisuallyHiddenInput = (0, import_joy60.styled)(import_joy60.Input)({
6116
6072
  clipPath: "inset(50%)",
6117
6073
  position: "absolute"
6118
6074
  });
6119
- var PreviewRoot = (0, import_joy60.styled)(Stack_default, {
6075
+ var PreviewRoot = (0, import_joy59.styled)(Stack_default, {
6120
6076
  name: "Uploader",
6121
6077
  slot: "PreviewRoot"
6122
6078
  })({});
6123
- var UploadCard = (0, import_joy60.styled)(Card, {
6079
+ var UploadCard = (0, import_joy59.styled)(Card, {
6124
6080
  name: "Uploader",
6125
6081
  slot: "UploadCard"
6126
6082
  })(({ theme }) => ({
6127
6083
  padding: theme.spacing(2.5),
6128
6084
  border: `1px solid ${theme.palette.neutral.outlinedBorder}`
6129
6085
  }));
6130
- var UploadFileIcon = (0, import_joy60.styled)(import_UploadFileRounded.default, {
6086
+ var UploadFileIcon = (0, import_joy59.styled)(import_UploadFileRounded.default, {
6131
6087
  name: "Uploader",
6132
6088
  slot: "UploadFileIcon"
6133
6089
  })(({ theme }) => ({
@@ -6135,7 +6091,7 @@ var UploadFileIcon = (0, import_joy60.styled)(import_UploadFileRounded.default,
6135
6091
  width: "32px",
6136
6092
  height: "32px"
6137
6093
  }));
6138
- var ClearIcon2 = (0, import_joy60.styled)(import_ClearRounded.default, {
6094
+ var ClearIcon2 = (0, import_joy59.styled)(import_ClearRounded.default, {
6139
6095
  name: "Uploader",
6140
6096
  slot: "ClearIcon"
6141
6097
  })(({ theme }) => ({
@@ -6175,13 +6131,13 @@ var Preview = (props) => {
6175
6131
  file.name
6176
6132
  ), !!file.size && /* @__PURE__ */ import_react49.default.createElement(Typography_default, { level: "body-xs", fontWeight: "300", lineHeight: "1.33", textColor: "text.tertiary" }, getFileSize(file.size))), /* @__PURE__ */ import_react49.default.createElement(IconButton_default, { onClick: () => onDelete?.(file) }, /* @__PURE__ */ import_react49.default.createElement(ClearIcon2, null))))));
6177
6133
  };
6178
- var UploaderRoot = (0, import_joy60.styled)(Stack_default, {
6134
+ var UploaderRoot = (0, import_joy59.styled)(Stack_default, {
6179
6135
  name: "Uploader",
6180
6136
  slot: "root"
6181
6137
  })(({ theme }) => ({
6182
6138
  gap: theme.spacing(2)
6183
6139
  }));
6184
- var FileDropZone = (0, import_joy60.styled)(Sheet_default, {
6140
+ var FileDropZone = (0, import_joy59.styled)(Sheet_default, {
6185
6141
  name: "Uploader",
6186
6142
  slot: "dropZone",
6187
6143
  shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"
@@ -6202,7 +6158,7 @@ var FileDropZone = (0, import_joy60.styled)(Sheet_default, {
6202
6158
  }
6203
6159
  })
6204
6160
  );
6205
- var UploaderIcon = (0, import_joy60.styled)(import_CloudUploadRounded.default, {
6161
+ var UploaderIcon = (0, import_joy59.styled)(import_CloudUploadRounded.default, {
6206
6162
  name: "Uploader",
6207
6163
  slot: "iconContainer",
6208
6164
  shouldForwardProp: (prop) => prop !== "error" && prop !== "disabled"